「誰かがやるだろう」をやめた記事の取り組みを前提環境から分解する
カケハシのテックブログ「誰かがやるだろう」をやめた1年間の記録を読んで、取り組みの中身よりその取り組みが成立した前提環境が気になったので整理する。 記事の取り組みサマリー 記事では以下の改善が紹介されている。 取り組み 成果 レポート機能テンプレート化 実装工数 半日 → 1時間 ...
カケハシのテックブログ「誰かがやるだろう」をやめた1年間の記録を読んで、取り組みの中身よりその取り組みが成立した前提環境が気になったので整理する。 記事の取り組みサマリー 記事では以下の改善が紹介されている。 取り組み 成果 レポート機能テンプレート化 実装工数 半日 → 1時間 ...
AWS WAF の scope-down statement で Content-Type: multipart/form-data をマッチさせる際、text_transformation に LOWERCASE を使うべきか NONE のままでよいかを調査した。 結論 ブラウザからのファイルアップロードが対象であれば NONE(大文字小文字を区別する)で問題ない。 さらに、WAF の...
ESP8266 で CO2 モニターを作っていたが、I2C 通信が不安定で悩んでいた。調べたことをまとめておく。 ESP8266 の I2C が不安定になる原因 しばらく動いていると CO2 センサーや BMP280 からエラーが返ってくる症状。考えられる原因は以下。 原因 説明 プルアップ抵抗の問題...
Ubuntu の apt でインストールした gh は古いバージョン(例: 2.45.0)のままになりがちで、gh pr edit が Projects Classic の deprecation エラーで失敗することがある。GitHub CLI 公式リポジトリを追加することで最新版に更新できる。 手順 # 1. GPG キーを追加 curl -fsSL https://cli.gith...
現象 ユーザーが PDF ファイルをアップロードすると「問題が発生しました」エラーが表示される。別のファイルは正常にアップロードでき、時間をおいても解消しない。サポート担当が同じファイルをアップロードすると成功する場合もある。 調査 S3 に保存されている WAF ログを確認すると、該当リクエストが BLOCK されていた。 { "action": "BLOCK", "ter...
Rails 8でデフォルトのジョブバックエンドがSolid Queueになった。長年Sidekiqがデファクトスタンダードだったが、今後の新規プロジェクトではSolid Queueが標準になりつつある。 Sidekiq → Solid Queue の最大の動機: Redis不要 バックエンド 依存 特徴 ...
AWSアカウント分離でstaging環境を別アカウントに移す際、サブドメイン(例: stg.example.com)のDNS管理をどう扱うかで設計の複雑さが大きく変わる。 問題: 親ゾーンが本番アカウントにある example.com のRoute53ホステッドゾーンが本番アカウントに存在する場合、staging用のDNSレコードを追加するたびに本番アカウントを操作することになる。 N...
TL;DR Homebrew で個別にインストールした pyenv, rbenv, nodenv, goenv, tfenv を anyenv に統合する。シェル設定がスッキリし、brew upgrade による依存関係破壊(expat 問題など)も回避できる。 背景: なぜ anyenv に移行するのか Homebrew の brew upgrade で Python が壊れた。原因...
現象 CloudWatch Logs のログ配信チェックで、nginx の access.log が数日間 0 bytes のままだった。実際にはアクセスがあるのにログが記録されていない状態。 調査 lsof で nginx のファイルディスクリプタを確認すると、access.log ではなくローテート済みの access.log.1 を掴んでいた。 $ sudo lsof -p $...
「エンジニアみんなでスカウトメール打ちましょう」をやって、成果ゼロだった経験がある。なぜ失敗したのか、構造的に整理する。 スカウトを打っても返信が来ない理由 候補者の行動を考えると明確になる。 スカウトが届く 「どんな会社だろう」と調べる テックブログもない、エンジニアの発信もない、中が見えない 「よく分からないから返信しない」 スカウトの数を増やしても、着地先(...
現象 apt update 実行時に以下のようなエラーが出る。 W: GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ...
TL;DR brew upgrade で Python 3.14 に上がった後、aws コマンドが Symbol not found: _XML_SetAllocTrackerActivationThreshold で死ぬ brew reinstall --build-from-source python@3.14 でソースビルドすれば直る 再発防止に brew pin py...
staging と production で同じ VPC CIDR(例: 10.0.0.0/16)を使っていると、普段は問題なくても将来的にハマるポイントがある。 同一 CIDR で起きる問題 VPC Peering / Transit Gateway が張れない — AWS は重複 CIDR 同士の接続を拒否する VPN 接続時の混乱 — ローカルから両環境に同時接続すると ...
Claude Code はプロジェクトの指示書として CLAUDE.md を読み込むが、配置場所によってスコープと優先順位が異なる。 配置場所一覧 優先度 ファイル スコープ Git管理 1(最高) .claude/CLAUDE.local.md ローカル...
ElastiCache Redis のパッチ(service update)適用時にどの程度のダウンタイムが発生するのか、公式ドキュメントと実測結果をまとめる。 結論 Redis 5.0.6 以降 + Multi-AZ + レプリカありの構成では、計画されたパッチ適用時に書き込み中断は発生しない。これは公式ドキュメントに明記されている。 公式ドキュメントの記載 Minimizing ...