Gitのステージングエリアとは何か — git add と git commit の間に何が起きているか
ファイルを編集したら git add . して git commit -m “…” する——多くの人がこの2つのコマンドを、実質1セットの操作として覚えている。しかし git add と git commit はなぜ …
WP Maintenance Manager の開発・運用で得た技術ノート
ファイルを編集したら git add . して git commit -m “…” する——多くの人がこの2つのコマンドを、実質1セットの操作として覚えている。しかし git add と git commit はなぜ …
requirements.txt に依存パッケージを書くとき、flask の後ろに何を書くかで迷ったことがある人は多いはずだ。何も付けない、==3.0.0 で固定する、>=3.0.0 で下限だけ決める、~=3.0. …
「Macでは問題なく動くのに、Windowsに渡した途端にクラッシュする」という報告を受けたことがある人は少なくないはずだ。原因の多くは文字コードの不一致にある。今回は文字エンコーディングの基本を整理した上で、実際に自社 …
一時的な失敗にどう再試行するかは、ネットワーク越しの処理を書くたびに向き合う設計判断だ。定番として語られるのが「指数バックオフ(exponential backoff)」— リトライのたびに待機時間を2倍・4倍と伸ばして …
正規表現の * や + は「直前の文字が何回続いてもいい」という意味だが、実際にマッチする範囲は「できるだけ長く」なのか「できるだけ短く」なのかで挙動が変わる。これが greedy(貪欲)と non-greedy(非貪欲 …
アプリのログを見ていると、同じ「記録」なのに DEBUG INFO WARNING ERROR という別々のラベルが付いていることに気づく。なぜ単純に「起きたことを全部書く」のではなく、わざわざ段階を分けているのか。今回 …
SSH の秘密鍵を扱っていると、「600 にしてください」という指示によく出会います。逆に設定ファイルには 644、実行可能なスクリプトには 755 が使われる場面もあります。これらの3桁の数字は何を表していて、なぜファ …
保守ツールのテストスイートを見ていると、ひとつの疑問にぶつかることがあります。すでにその関数のテストがあるのに、なぜ別のファイルにもう一本テストを追加するのか。同じ機能を検証しているように見えて、実は目的がまったく違う2 …
デスクトップアプリを終了ボタンで閉じたはずなのに、タスクマネージャーやアクティビティモニタを見るとプロセスが残っている——という状態に遭遇したことがある人は多いはずだ。この記事では、起動時に「前回終わり損ねたプロセス」を …
ソフトウェアのバージョン番号を見ると、多くの場合「1.6.11」のように数字が3つ並んでいる。これは思いつきの命名ではなく、セマンティックバージョニング(Semantic Versioning、通称SemVer)という広 …