Tech & Logic

Tech & Logic

現場で泥水をすすってきたフルスタックエンジニアの実践記録。AWS、WordPress、生成AI、開発環境構築、トラブルシュートなど、実務で得た知見を中心にまとめています。映画やアニメを技術者視点で分析する記事も掲載。机上の理論ではなく、自分で試して検証した結果を重視しています。

スポンサーリンク
Tech & Logic

Suicaの「0.2秒」判定を支える分散オフライン処理:改札機が中央サーバーに通信しない究極の自律設計

朝の新宿駅や池袋駅。怒涛の勢いで押し寄せる数千、数万の通勤客が、立ち止まることもなく改札機を駆け抜けていく。ICカードやスマートフォンをリーダーにかざした瞬間、「ピッ」という澄んだ電子音とともに扉が開く。その間、わずか0.2秒以内。歩行者が...
Tech & Logic

WebSocket運用の地獄:数万のコネクション維持とスケールアウトを阻むステートフルの壁

「Node.jsは非同期イベント駆動だから、そのままWebサーバーとして外に公開すれば最速ですよ」数年前、ある現場のアーキテクチャレビューでジュニアエンジニアが放ったその一言を、今でも苦々しく思い出す。画面共有された構成図には、インターネッ...
Tech & Logic

ドメイン駆動設計(DDD)のアンチパターン:値オブジェクトだらけで業務が1ミリも進まない罠

「このプロジェクトはDDD(ドメイン駆動設計)を採用しているので、エンティティと値オブジェクトを厳密に分離し、ユビキタス言語でドメインモデルを構築します」気取ったアーキテクトや、技術書を斜め読みしただけの若手がドヤ顔でこう語り始めた瞬間、そ...
スポンサーリンク
Tech & Logic

CI/CDパイプラインの肥大化とテスト並列化:1回のPushで30分待たされる組織の生産性崩壊

「GitにPushすれば、自動でテストが走り、ビルドされ、本番環境までデプロイされます」昨今の開発現場では、CI/CD(継続的インテグレーション/継続的デリバリー)を導入していること自体が、さも先進的で優秀なエンジニア組織であるかのような免...
Tech & Logic

ディスクI/Oのボトルネック:iopsとスループットの罠、NVMeを活かしきれないカーネル設定

「最新の高速NVMe SSDを積んだし、クラウドのインスタンスも最上位にした。なのに、なぜかDBのI/Oが詰まって夜中にアラートが鳴り止まない」インフラの現場で、顔を青ざめさせたエンジニアからこんな泣きつきをされることが定期的にある。コンソ...
Tech & Logic

CDNのキャッシュ事故:他人の個人情報を全ユーザーへ配信したキャッシュキー設計の悲劇

「CDN(Contents Delivery Network)を入れれば、サイトの表示速度が劇的に上がりますよ」インフラの基礎もキャッシュの力学も理解していない人間が、マネジメント層やクライアントにこう囁く瞬間ほど恐ろしいものはない。CDN...
Tech & Logic

ゼロトラストの冷酷な思想:社内LAN神話を解体し社員全員を疑うアーキテクチャ

「社内ネットワークの中にいるから安全」「社員が使うPCだから信頼できる」いまだにこんな寝言を信じている情シスや経営者がいるなら、今すぐその役職を降りたほうがいい。社内LANという生ぬるい結界の内側にいれば無条件でアクセスを許す「境界型セキュ...
Tech & Logic

パスワードハッシュ化の進化史:MD5からbcrypt、Argon2へ至る計算コストの持久戦

「パスワードはハッシュ化してDBに入れているから安全」「通信はSSL/TLSで暗号化されているから問題ない」現場でこうした言葉を無邪気に口にするエンジニアに出会うたび、強烈な危機感を覚える。「暗号化」や「ハッシュ化」という言葉を唱えれば、魔...
Tech & Logic

コンパイラ最適化の魔境:プログラマの意図すら改変するインライン展開と投機的実行

「人間が書いたソースコードなど、ただの参考意見に過ぎない」現代のソフトウェア開発において、エンジニアが手元で打ち込むC言語やRustのコードは、そのままCPUが実行しているわけではない。人間が読み書きできる高水準なテキストを、機械が理解でき...
Tech & Logic

外部キー制約をつけるべきか否か:DB整合性と水平スケール(シャーディング)の血みどろの抗争

「外部キー制約(Foreign Key)を張ったので、親レコードが消えても子レコードの整合性は完璧に保たれます😁」ER図を綺麗に清書し、テーブル定義書に色とりどりのリレーション矢印を引っ張りながらドヤ顔をする若手を見るたび、頭痛を通り越して...
スポンサーリンク
タイトルとURLをコピーしました