ブラウザ上で動作するウェブアプリ内のデータは、 基本的に RAM 上で管理されるだけで不揮発には保持されない。 不揮発にデータを保持するには、次の 3 つの方法がある。 Cookie データの本体をサーバ側で記録しておき、 サーバ側で管理しているデータへのアクセスキーをブラウザ側で不揮発に管理する方法。 Web Storage API Key-value 方式の簡易的な DB で、 比較的に小さいサイズのデータをブラウザ側で不揮発に管理する方法。 File System API ブラウザ側のファイルシステムを
ブラウザ(Firefox)の拡張機能は、 通常の Web のクライアントサイドプログラム(JavaScript + wasm) では出来ないことが 実現可能になっている。 例えば、拡張機能は表示中の全てのタブ内の情報にアクセスできる。 とはいえ、何でも出来てしまうと、それはそれでセキュリティ上問題になる。 そのため、セキュリティ問題となるようなことはそもそも実現できない。 例えば、ブラウザを実行している環境内のネットワークへの TCP,UDP で
Firefox の拡張機能をインストール可能な状態にするには署名が必要で、 この署名には addons.mozilla.org のレビューが必要になる。 レビューとはいえ基本的には機械的に処理され、 署名処理自体は数分程度で終了する。 しかし中には例外があり、機械的なレビューではなく、 追加レビュー(additional review)が必要なケースが存在する。 では、どんなときに additional review が必要になるか? それは、 manifest.json の項目に依存するらしい。 manifest.json の項目だけでなく、 JS コード
昨年終盤から Firefox の拡張機能開発に手を出し始めた。 折角作った拡張機能なので PC 版だけでなく、 android 版 Firefox でも動かそうと思い Android 版 Firefox でのデバッグ方法を調べたので、 備忘録として載せておく。 なお、基本は次の公式ドキュメント通りだが、 躓いたところもあるので改めてここに設定手順を残す。 <https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-android-over-wi-fi> Wireless debug Android 版 Firefox の拡張機能のデバッグを行なうには、 Android 版 Firefox とそれをデバッグする PC 版 Firefox を接続する必要がある。 そしてその接続方法には、次の 2 つある。
最近 ML(Machine Learning)を勉強しています。 その勉強でよく参考にするのが、 YouTube の解説動画です。 解説動画をパワポにまとめる この解説動画は、スライドを再生しながら内容を解説する動画になっています。 動画での解説は文字よりも情報が頭に入ってくる、というメリットはありますが、 動画を後で見返すのは時間がかかるし、 どの再生時間だったかを探すのも面倒です。 そのため、自分の理解を深めるため & 後で見返したときに確認したい
前回は、ML 勉強環境を構築するための rye セットアップ方法についてでした。 今回は、 rye で jupyter notebook をセットアップするところです。 rye をセットアップしておけば、あとは普通にコマンドを叩くだけで、 特に躓くところはないです。 jupyter notebook セットアップ 以下を実行します。 1 2 3 4 5 6 7 # project 作成 $ rye init ntbk # ここで指定する project 名は、 pypi でインストールするパッケージ名と被らないようにする $ cd ntbk # project 設定 $ rye pin 3.10 $ rye add notebook $ rye sync 上記コメントに書いて
※以下の内奥は古い情報です。 新しい rye のセットアップ方法は、../../2024/2024-06-01-rye-setup-2/ を参照。 ML (Machine Learning) の開発環境で利用する Python の仮想環境管理に rye を使ってみようと思ってかなり悪戦苦闘した記録。 重い腰を上げてようやく ML 系の学習を初めようと、 学習用の開発環境を準備しました。 そして、せっかくだから Python の仮想環境管理に比較的評判の良い rye を使ってみたのが全ての始まりでした。 実
LuneScript セルフホストビルド時の go スレッドの状態について調べてみました。 グラフの説明 次の図は、 go ランタイムのトレース機能(GODEBUG=schedtrace=5)を使って取得した go のスレッドスケジューリング情報と、 セルフホストビルドのモジュールの Meta 情報解析進捗状態を示したグラフです。 それぞれの値は次の通りです。 ready meta セルフホストビルドにおける Meta 情報解析が終了したモジュール数 threads go のスレッド数 active threads go のスレッド
LuneScript のソースコード規模まとめをやったのが、3年前の 2020/10/1。 ../../2020/2020-10-01-lunescript-codesize/ 3年経ったのでそろそろ振り返りをやっても良い頃だろう、ということで、 今回はソースコード規模とついでにビルド時間の推移についてのネタ。 ソースコード規模とビルド時間の推移 以下は、 2020/11/8 から現在までのソースコード規模とビルド時間の推移を示す図である。 このグラフは、以下の 4 つの値の推移を表わしている。 セルフホストビルドの実時間 .lns から .lua, .go への
そろそろ Windows12 が出ると噂されている。 自分の PC 環境は win10 が現役で、 win11 を入れる前にもう win12 なのかと、 なんとも微妙な気持ちがある。 Windows が普及し始めた時代 ところで、今はデスクトップ PC 向け OS といえば、ほぼ windows 一択の状況である。 もちろん、 Mac 派や Linux 派の方がいるのは分っているが、 一旦ここではそれらを取り上げない。 そんな windows がここまで勢力を強めたのは、 自分が知る限り win95 あるいは win98 辺りだ。 そして、今思うと不思議なことだが、何故か PC の