雑多な記録

"webアプリ"を作りたいと見切り発車で製作に取り掛かったものの、 環境構築を終えて満足したのがこのサイトです。
せっかく作ったので管理者の個人的なメモ帳として利用します。 もしかしたら他の誰かにとっても有益な情報が載るかもしれません。


プレイ候補のゲームまとめ

友達と遊ぶのにちょうどいいゲームを探しています。

Alchemy Factory

発売日:2025年12月12日
マルチプレイ最大人数:不明
リンク:Steam
説明:錬金術師の自動化経営シム。 ベルトコンベアを並べて錬金グッズを大量生産、売りさばいて利益を上げよう...みたいなゲームだと思います。

公式トレーラーより

技術の話

備忘録です。

俺的ブラウザキャッシュ設定

Webサーバーにおけるキャッシュ設定のお話です。
HTTPで配信するコンテンツは、 Cache-Controlヘッダーを適切に設定してあげることでブラウザがキャッシュしてくれます。 サイトで配布する静的コンテンツについて、その設定方法を調べたので記事に残しておきます。

画像がブラウザにキャッシュされている様子

まずこのドキュメントを読みます。 さすがMDN、なんて読みやすくて面白いドキュメントを作ってくれるのでしょう。
今回は静的コンテンツについての設定です。 ガンガンにキャッシュを効かせたいと思ったので次のようなヘッダーを設定することにしました。 Cache-Control: public, max-age=31536000, immutable これで31536000秒=1年間キャッシュを保持してくれることでしょう。

ですが、逆にキャッシュが効きすぎてコンテンツが更新されないというトラブルが発生し得ります。
同ドキュメントでは対策としてcache-bustingなるテクニックを紹介しています。 ファイル名にバージョン文字列を含める...パラメータに固有の文字列を追加する...など、 要はURLそのものが変わればキャッシュは効きませんよねということです。 <script src="https://example.com/style.css?v=1234567890"></script> 上の例ではパラメータを付与することでキャッシュを避けています。パラメータ名は仮に「v」としていますがなんでもいいです。

このサイトではデプロイスクリプトを走らせたときに、その日時を固有バージョンとして環境変数にセットしています。
後はテンプレート内で固有バージョンを静的ファイルのパラメータにくっつけてあげればOKです。

あと余談ですが、これってどの程度効果がある話なのでしょうか。
サイトの機能が増えてくると静的コンテンツのキャッシュ以外の部分がネックになりそうですし、 実際にトラフィックを測ったわけでもないので負荷軽減に役立っているのかも不明です。
チューニングをしている間は楽しいですし、DevToolsでキャッシュされている様子を眺めるのは気持ちがいいんですけどね。

ハッシュアルゴリズム年表

ハッシュ関数の発表年次まとめ、MD系とSHA系についてWikipediaからの引用です。


メモ

絶対に憶えられないことです。

FFmpegで〇〇するコマンドまとめ

ビットレートを制限する

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:v h264_nvenc -vb 10000k output.mp4


時間指定でトリミングする①

ffmpeg -ss hh:mm:ss -t 300 -i input.mp4 -c copy -map 0:v -map 0:a output.mp4


時間指定でトリミングする②

ffmpeg -ss hh:mm:ss -to hh:mm:ss -i input.mp4 -c copy -map 0:v -map 0:a output.mp4


音声トラック1を抽出する

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -map 0:1? -vn -acodec copy ./audio1.mp3


フレームレートを下げる

ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -r 30 output.mp4


リサイズする

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:v h264_nvenc -vf scale=-1:1080 output.mp4


複数の音声トラックを持つファイルをトラックごとの音声と動画のファイルに分割する

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mkv -map 0:0? -vcodec copy output.mp4 -map 0:1? -vn -acodec copy ./audio1.m4a -map 0:2? -vn -acodec copy ./audio2.m4a -map 0:3? -vn -acodec copy ./audio3.m4a


音声と動画を結合する

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -i input.m4a -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4


h264でエンコードする

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v h264_nvenc output.mp4


動画を結合する

ffmpeg -hwaccel cuda -hwaccel_output_format cuda -f concat -i list.txt -c copy cat_output.mp4

↓list.txt file /home/hoge/0.mp4 file /home/hoge/1.mp4 file /home/hoge/2.mp4


GoProの動画をいい感じのサイズに変換するときに使うやつ(1080p, 20mbps, h264)

ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -c:a copy -vb 20000k -vf scale=-1:1080 output.mp4

俺的Visual Studio Code設定

Ctrl+Shift+Pでコマンドパレットを開き、「user settings json」などで検索して設定ファイルを開きます。 { "workbench.startupEditor": "none", "extensions.ignoreRecommendations": true, "workbench.secondarySideBar.defaultVisibility": "hidden", "workbench.statusBar.visible": true, "files.autoSave": "onFocusChange", "workbench.editor.empty.hint": "hidden", "editor.acceptSuggestionOnEnter": "off", "git.confirmSync": false, "explorer.confirmDragAndDrop": false, "explorer.confirmPasteNative": false, "update.showReleaseNotes": false }

同じくコマンドパレットで「keyboard shortcuts json」などで検索してショートカット割り当ての設定ファイルを開きます。 [ { "key": "ctrl+shift+n", "command": "workbench.action.quickOpen" }, { "key": "ctrl+shift+n", "command": "-workbench.action.newWindow" } ] これはJetBrainsのIDEAと同じCtrl+Shift+Nでファイルを検索するための設定です。

あなたは1154人目の訪問者です。