Memo:

アイデアや気づきとかが雑に書き殴られる

MD5は簡単に衝突させられる

MD5 (Message Digest 5) は暗号学的ハッシュ関数で、電子署名やパスワードのハッシュ化のような暗号的な用途に利用されていた(が、今は暗号用途で使ってはいけない)。 暗号学的ハッシュ関数はこの性質を満たさなければいけないとされている。 一方向性: ハ…

2D空間のある範囲にあるオブジェクトを高速に取得する npm package 作ってみた

趣味で開発しているシミュレーションゲーム的なもので当たり判定っぽいものが必要になった。 ゲームでは何匹もの虫がいる。虫1匹毎に周囲の情報を集めてそれを Neural Network のモデルに渡してから次の移動方向を決定する...、みたいな流れになっている。(…

docker build の RUN npm ci が進まなくなり network read ETIMEDOUT が出た

ミニPC vs 埃ラズパイ 最近ミニPCを買いました。趣味で CPUをそこそこ使う処理を一日中動かしたいなぁという状況になったのですが VPS だと費用がバカにならないので自宅サーバーとして手頃なミニPCにしてみました。 TRIGKEY 製の安価な物で、CPUコアが8個も…

Z3で疑似乱数生成器(xorshift)の出力を予測する

1年以上昔にこんな記事を書いた。 burion.net 久しぶりに読み返してみると、疑似乱数が決定的・周期的なことまではなんとなく示せているものの具体的な予測方法は全然書いてないじゃん!!!と内なる声に突っ込まれた。「予測できるか試したい」なんてタイト…

なぜUUIDはハイフンで8-4-4-4-12に区切られているか?

UUID が16進数がハイフンで分けられた特徴的なフォーマットをしているのはなぜだろう?

Tensorflow.js の学習時(fit)に出てくるログを無効化したい

デフォルトで tensorflow の model.fit() を実行すると以下のようなログが出てくる。見たいログが埋もれてしまい邪魔なので消そうと思ったがすぐ見つからなかったので残しておく。 Epoch 1 / 8 31ms 122us/step - loss=0.150 verbose (ModelLoggingVerbosity…

乱数生成器の気持ちになって、キーボードをたたきまくるゲームを作ってみた

誰しも一度くらいは、乱数生成器を疑似体験1してみたいと思ったことがあるのではないでしょうか? あなたは乱数が好きですか?私はどちらかと言えば好きよりの人間です。どれくらいかと言えば、三度は思うほどに。飯の代わりになるほどに。 乱数を疑似体験し…

数学が苦手でも、強化学習の仕組みを理解したいなんて

数学や数式をなるべく使わずに半年前の俺に話すならこんな感じかな~と強化学習をイメージできるように頑張って説明してようと思う。

XSSのエスケープだけで防げないケース、その対策とテスト方法

エスケープだけではXSSを防げないケースをまとめてみる。最後にテスト方法も紹介する。

失敗した場合に安全に処理を中断するためのbash内での環境変数export方法(ShellCheck に教えてもらう)

例えば以下のようなスクリプトがあって、その結果を bash 内で実行し標準出力を環境変数として export したい。しかも、そのスクリプトは失敗する可能性があると仮定する(インターネット接続が必要なのに繋がってない環境で実行された。設定ミスによって権…

node-postgres の query_timeout でタイムアウトした後、DB のプロセスが残り続ける。

Node.js で PostgreSQL にアクセスするために node-postgres を使っている。設定で query_timeout を設定すると、実行時間が長いクエリをタイムアウトさせることができる。 しかし、タイムアウト後に DB 内のプロセスが残ったままになってリソースを圧迫し続…

PythonのJinjaを使って環境毎の設定をシンプルに管理したい

ある OSS を使いたい。そして、テスト環境と本番環境ではもちろん異なる config ファイルを使う必要がある。 そういった状況での一番単純な方法として、test-config.yaml, prod-config.yaml のように環境毎の設定ファイルを作ることがまず思い浮かぶが、以下…

ブラウザで Tensorflow.js を動かすと GPU メモリが増加し続けてクラッシュした

Tensorflor.js をブラウザで動かし、モデルをループで推論(predict)させていると GPU のメモリがジワジワと増え続け最終的にクラッシュしてしまうという現象があった。結論としては tf.Tensor オブジェクトは状況によっては(WebGL バックエンドが自動的に…

CSRF攻撃の具体例と、SameSite(Cookie) での対策

Web アプリケーションの脆弱性、特に有名なものに3つあるが CSRF だけはピンと来なかった。色々調べて理解できたので具体的な例でまとめてみる。 XSS SQL Injection CSRF CSRF の脆弱性 CSRF (Cross-Site Request Forgeries)脆弱性があると、利用している…

1月から12月までの英語を覚えたい

私は、1月~12月までの英語名 January ~ December を覚えるのが苦手です。 なぜ 1~12 の数字にこのような無規則な文字列が対応しているのか、そして学校や私生活ではなぜその順番を覚えること必要とされるのかが理解できません(意地が悪いのだとしか思えな…