人気ブログランキング | 話題のタグを見る

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ
Lua言語も試してみた。

今度はPC側。
今回はLinuxのFirefox上で。

まず、サンプルを取得。
Lua言語を選んだあとに、左サイドメニューからサンプルを選ぶと、適当な例がポップアップでいくつか表示。
一番上のを選ぶ。
するとこんな感じに。
[Replit] Web共有IDE (2) Lua言語 [スマホ] (1/27)_a0034780_12440284.png
あと、GitHubアカウントでログインしてると、デフォルトで二段階認証が付いてて、GitHubをGoogle認証で作ったユーザなので、認証のワンタイムキーも、Google認証アプリで一発。
スマホには認証アプリのグループに、Google、MS、Steam、スクエニ、dアカウント等いくつも使い分けてるが、Google認証がほぼメイン。
(Google Authenticator 認証アプリはスマホ上でスクリーンショット禁止)

またスマホの画像をPCと行ったり来たりしてやり取りするのも、Windowsなら共有だが、Linuxなら標準のFTPがあるので、これもスマホの「ファイルエクスプローラー+」で「ネットワーク」から、FTPサーバを起動して、gFTPでやり取り。

スマホ側スクリーンショットはVolum減+電源ボタン。
スマホ側FTPサーバは「ファイルエクスプローラー+」。
[Replit] Web共有IDE (2) Lua言語 [スマホ] (1/27)_a0034780_13112407.png
Linux側FTPクライアントはgFTP。
画像はスマホのPictures/ScreenShots/の下にある。
[Replit] Web共有IDE (2) Lua言語 [スマホ] (1/27)_a0034780_13120853.png
Linux側スクリーンショットはPrintScreenキーでShutterが起動。
Linux側画像編集はAzPaint2で、「ツール」の不透明範囲で、消去。
[Replit] Web共有IDE (2) Lua言語 [スマホ] (1/27)_a0034780_13124021.png
Linux側ファイルマネージャーはThunarファイルマネージャ。

この辺まではブログ用。

あと、シェルも動く。
PCならではだが、キーボードが打ちやすいので、Luaをshell上でも起動。
[Replit] Web共有IDE (2) Lua言語 [スマホ] (1/27)_a0034780_13385428.png
shellタグを選択し、Linuxのコマンドを実行できる。
コマンドプロンプトがLuatest$なのは、プロジェクト名(全画面の左上で簡単に変更可能)。

こういうプログラマーが便利だと思う機能が、さっと用意されていてすぐに操作できる位置にあるのが、受けているのだと思う。

もちろん、わざわざPCにもスマホにも言語毎にアプリを入れて、そのUIを別々に習得する必要もなく、Webブラウザだけで、同じ操作方法で、いつでもどこでも、実行速度も速く、軽い負荷で出来るのが素晴らしい。VS Studioのような重いツールや、Android StudioやPython IDEなども習得するためには環境構築などがあり、気軽には試せないのが、これでかなり敷居が下がる。

これによってAI全盛の今、言語の習得が簡単に出来て、色々操れる人材が増えると、安心して開発が出来る。

# by k1segawa | 2024-01-27 12:28 | パソコン | Comments(0)
VLC(Video LAN)で、Extention をLua言語で作ろうと画策しているのだが、VLCが15年以上も続くプロジェクトなため、ドキュメントも膨大で、なおかつ最近のネットに適応してない部分もあり、仕様変更もあったりして読むのが大変。
例えばサンプルがLuaフォルダなのかExtentionフォルダなのか、http://で書いてあってhttps://でないとか。

なので、ChatGPTにサンプルを作ってもらったが、動いているようには見えない。

15年以上も昔からあるので、学習効果も古くなっており、サンプルが古い仕様を参照しているようだ。

なので、あきらめて最近2年ほどさかのぼった例をGoogleで期間指定で探して英語翻訳しながら勉強していた。
Luaコンパイラを通したほうがいい(拡張子.luac)のか、Luaフォルダなのかはわかってきて、
Extentioフォルダに.luaでも.luacでもLuaのソースを置けばよく、バイナリの.luacならなお良い程度のよう。

と、なんだかんだ取っ掛かりはなんとか掴んだが、まだまだExtentionフォルダにあるVSub.luaはコンパイル済みだし、.luaファイルは文字エンコードがISOっぽいしで、疑問は残る。

まずはスマホのLua言語で基本的な学習をしようと、Luadroid実行環境をインストール。
関連アプリで、今回の表題の「Replit」という共有コーディング環境が目に止まる。

ユーザ評価はアプリよりWeb上のほうが軽くて使いやすいようだ。

なのでWeb上のReplitにアカウントを作成してC言語が動くか確認。

動くわ〜〜
[Replit] Web共有IDE C言語 [スマホ] (1/27)_a0034780_02075561.png
どうやらサーバサイド(クラウド)に送ってその結果を返してるようで、コンパイル後に実行時に経過時間が刻一刻とカウントされる。
あー、IBMのBlueなんとかという時間貸しのサーバ借りた時に120時間経って使えなくなったのを思い出した。
フリープランなら容量は少ないが時間制限なく、その代わりプロジェクト非公開が制限されるみたい。

C98あたりのlintチェックもしてくれて、コンパイルから実行までのターンアラウンドタイムがいい。
インタープリタかと思ったがちゃんとコンパイルしているようだ。

画面もスマホの縦画面のUIに合わせた上下にメニューやタブを配置し横幅をできるだけ消費しないように作られている。

スマホの入力をフルキーにしてるので、そこそこ入力しやすい。

すぐにWebで調べられるし、Replit IDE自体、Chromeブラウザの1つのタブにして切り替えながらコーディングできる。

C言語のスマホ環境としては、IDEとしても、学習環境としても、今までにない使い勝手の良さ。

AIがジェネレートしてくれたり、予測入力候補が薄い文字で入力エリアに下書き表示されたりして、なかなか省力化している。

スマホで思いついた時入力して、帰ったらPCに向かってしっかり入力する。こんな使い分けをシームレスにWeb上で出来る。

アプリではスマホとPCでは使い勝手も違い、一々同期しないとソースに当たれない。

その点ブラウザなら、ソースを開いたページをブックマークしておいて、開き直せばスリープから回復したようなスムーズさでアクセス出来る。

GUIはC言語だけでは作れないから、そこは別になるが、アルゴリズムや数値処理を、ちょっとした時間に直したりするにはとても優れた入力・実行環境だと思う。

もちろん50以上の言語に対応しているようで、PythonやJavaScript、Goなども使える。

最近古いノートに軽いLinuxで最新Firefoxが動いたので、活用に良さげ。

Replit: The software creation platform. IDE, AI, and Deployments - Replit

# by k1segawa | 2024-01-27 01:50 | パソコン | Comments(0)
CSSによる機能ボタンを配置しているサイトのボタンがただの文字になり、場所もずれていた問題はFirefox 121以前のCSSプロパティが機能しないためだった。

そのため例えばエキサイトブログで、新エディタのアイコンが化けて使い物にならなかった。

しかし、Firefox 122できちんと対応したため新エディタがGoogle Chromeで表示したのと同じになり、乗り換えられそうだ。

だいぶ時間がかかったが無事対応したようでなにより。

これでFirefoxだと化けていたページも、わざわざChromeで開かなくてもよくなった。

よかった~

[Firefox 122] エキサイトブログ 新エディタ 正常動作 [CSSプロパティ改善] (1/24)_a0034780_15230406.jpg

# by k1segawa | 2024-01-24 15:19 | パソコン | Comments(0)
Pingの実行時にサーバを指定するのだが、どれくらいのスピード(応答)が出ているのかは、実際の使ってるサーバを指定したい。

ping -n 200 www.yahoo.co.jp > test.txt(■これが5分以上かかる)

これはyahooのサーバまでのping値なので、例えばブラウザで任意のサイトを開くのに、応答が遅い場合そのサイトのドメイン名もしくはIPアドレスが必要だ。

なので、Wiresharkで自分のネットワークカード(NIC)を指定してやるのだが、あまり使ってないので環境変数とか設定するようなので面倒。

このサイト様のWireshark以外の方法でキャプチャする。

「補足 : netsh でのトレース取得方法」という項目までスクロール。


このnetsh traceで行なうのだが、管理者権限のコマンドプロンプトではnetsh にそのようなコマンドは無い、と出る。
仕方ないので、netsh単独で実行する。
$netsh
netsh>trace
netsh trace>start capture=yes maxSize=200MB

トレース構成:
-------------------------------------------------------------------
ステータス: 実行中
トレース ファイル: C:\Users\k1segawa\AppData\Local\Temp\NetTraces\NetTrace.etl
追加: オフ
循環: オン
最大サイズ: 200 MB
レポート: オフ

(■ここで、このサイト様のページのブラウザの再読み込み(F5)を、データとした)

トレース停止。

netsh trace>stop
トレースの結合中... 完了(■ここが長い)
データ収集を生成しています ... 完了
トレース ファイルと追加のトラブルシューティング情報は、"C:\Users\k1segawa\AppData\Local\Temp\NetTraces\NetTrace.cab" と してコンパイルされました。
ファイルの場所 = C:\Users\k1segawa\AppData\Local\Temp\NetTraces\NetTrace.etl
トレース セッションは正常に停止しました。

netsh trace>exit

これで、トレースログが出力された。
あとは、サイト様の書いてある通りに、ログの場所に行って、etl2pcapng NetTrace.etl out.pcapng するだけ。(■ファイル名はNetTrace.etl)

変換ツールも落としておく(サイト様にリンクもある)。

ログの場所はここ。
C:\Windows\system32>cd C:\Users\k1segawa\AppData\Local\Temp\NetTraces

変換ツールの実行。
C:\Users\k1segawa\AppData\Local\Temp\NetTraces>etl2pcapng NetTrace.etl out.pcapng
IF: medium=eth ID=0 IfIndex=15 VlanID=0
Wrote 1533 frames to out.pcapng

C:\Users\k1segawa\AppData\Local\Temp\NetTraces>

出来たout.pcapngをWiresharkのファイルを開くで指定するだけ。
[Wireshark] Ping の相手先アドレスを取得 [netsh] (12/28)_a0034780_17531492.png
ちゃんと見えた。
あとは、HTTPの一番アクセスの多いIPアドレスを探して、そこにpingすればよい。

ping出力結果は" =1ms"などとなっているので、数字をsedやviで抽出し、Excelに貼り付けてヒストグラムや中央値(=MEDIAN(B27:B220)など)を表示させる。

最初のwww.yahoo.co.jpでは、中央値 48.5となった。ヒストグラムは、X軸をクリックし、軸の書式設定(棒グラフアイコン)>ピン幅=1にしたものがこれ。(突出した場所が複数あってそれの中央値なのかな)

参考サイト様はここ。
[Wireshark] Ping の相手先アドレスを取得 [netsh] (12/28)_a0034780_18012717.png

yahooで ping = 48.5ms とか遅いにもほどがある(年末28日の夜6時の混雑期)。


# by k1segawa | 2023-12-28 18:04 | パソコン | Comments(0)
microSDカード(SDXC) 64GB 100MB/s UHS-Iを、コンパクトなUSBカードリーダで、PCの簡易外部メディアとして使っている。

※ 64GB 100MB/sは6年位前なので、今なら128GB 100MB/s UHS-II (SDUC)辺りが1,280円で買えるのでそちらを使うといい。

■規格
容量 - スピード
SDHC・・・32GB - 10MB/s
SDXC・・・2TB - 100MB/s
SDUC・・・128TB - 300MB/s
なので4~8TBくらいが今の基準だろう。
スピードもSDUCでも300MB/s程度なので、安いSSDの1000~3000MB/sと比べても遅い。



■用途
用途としては画像や動画の読み込み専用(編集後)として使う。
決して圧縮したり、書き換え(編集)や、PCのワーク(頻繁な書込み)用に使ってはいけない。

■問題点
このmicroSDカードをWindows PCに刺しっぱなしにしてPCの電源ON/OFFすると、昔は格納デバイス(USBメモリ・microSDカード)のマウント・アンマウント(USBメモリの取り外し)をしなければならなかったが、今はしなくて良くなった。しかし、アプリが格納デバイス上のファイルを読み込み専用(書込みは問答無用)で開いたまま、スリープや休止もしくはシャットダウンすると、まれに結構そのファイルが読めなくなる。

■解決法
そのため、VHDという仮想(ハード)ディスク化する事で、Windowsが仮想化を終了するタイミングで、ディスクとの接続をOSが自動切断してくれる機能を利用して、microSDカードを保護しようというのが今回の主旨だ。

拡張子は.vhdとなる。
最大容量は2TBで、Windows10からはVHDX(.vhdx)という64TBまで拡張されているフォーマットがSDUC規格には適しているだろう。


メディア全体を.vhdファイルにするので、使用時には.vhdファイルをダブルクリックする。
それが面倒なら、前の記事の「体重と今日食べたもの」を参照の事。

■結論
これによって、USB(フラッシュ)メモリやmicroSDカードを単なるファイル交換用としてだけでなく比較的安全に、固定外部格納メディアとして使用できる。

特に下記の小さいUSBメモリのように出っ張らないカードリーダーだと、よく参照するちょっとしたデータを、コンパクトにノートPCへ容量を圧迫せずに拡張できるので、128GB 1,280円+コンパクトカードリーダー370円が便利でUSB2.0でも使える。

3000円出せば256GBにも出来るが、それなら安いSSDの方が速い(USB3.0が必要)が、出っ張るし、電源も大きくUSBから取る事になる。
スマートさを生かすか、速さを取るか。

P.S.
上記商品は容量は8GBとなっているが、NTFSでフォーマットすれば使えるはず。とりあえず64GBは使えてる。

# by k1segawa | 2023-12-24 01:35 | パソコン | Comments(0)

by k1segawa