Software Design 2024年6月号

Software Design 2024年6月号

https://gihyo.jp/magazine/SD/archive/2024/202406

ドメイン解体新書 【5】DNSへの攻撃とセキュリティ

DNSキャッシュポイズニングとかDNS水責め攻撃とかはセキュリティの本でも見かけるので, あえてこれで勉強する必要はないかな. DNSを守る技術とかで具体的にどうやった対策があるか書かれているのが良い.

第1特集 SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ

正直さっと読んだだけだとあまりよくわからなかった. 「第2章:SQL実行のしくみと実行計画」で紹介されている EXPLAIN コマンドとか「第3章:インデックスの機能とアルゴリズム」の内容はそれぞれためになるけど, それがRDBMSの理論とどう繋がっているのかがよくわからない. [Software Design連動企画] 実践クエリチューニング | gihyo.jp を読めばいいのかもしれない.

第2特集 [実証]Bun 次世代JavaScriptランタイムの実体に迫る

Bun.sh はいいぞ.

移行難易度が高いということもあり、「Denoを使えば解決!」とはいきませんでした。そこで、Node.jsと互換性を持ち、なおかつNode.jsの問題を解決するようなJavaScriptランタイムの登場が望まれていました。まさにそのランタイムが「Bun」というわけです。

これ.

各コマンドの説明とかはすでに知っているし, 公式読めばわかることではと思ってしまった. チュートリアルっぽく Node.js との違いを説明しながら動かせるようにできると嬉しかった. とはいえコラムに Node.js とのコマンドの比較があるのでよし.

特に面白いのが「第3章:BunとNode.jsの徹底比較」で, パッケージのインストールとか単体テストの実行にかかる時間が比較されていて, なかなかこういう情報は手に入らないのでありがたい. 個人的には Storybook の立ち上げがめっちゃ速いので試してほしい.

DI―依存性の注入―はなぜやるの? 「コンポーネント間の結合度を下げる」とは

こういう基礎的な内容があるの本当にいい. Spring Framework のセッターインジェクションとかの説明は余計だと思う. Service Locator パターンは初めて聞いた. DI避けようとして逆にこういうコードを書いてしまうのもありそうなので, アンチパターンとして覚えておくのが良さそう.

【新連載】成功するPSIRTの極意 【1】PSIRTってどんなもの?/PSIRTの始め方

セキュリティも初めにとりあえず設定して終わりみたいなのはやっぱりだめなんだなあ. データをきちんと読み解いてフィードバックしていくのが大事だし, それを組織としてできるのは強いよなあと思った.

実践データベースリファクタリング 【7】意図を忘れ去られたテーブル

使っていないテーブルを削除するのはビジネスサイドの「なにかのために残しておいて」もあるのでなかなか実施するのも難しい. 対策を取るのは当然として信頼を得るとかも重要だなと思います.

あなたの知らないChromeの世界 【5】Progressive Web Appのしくみ

流行ってない. からかあまり詳しい説明を見たことがなかったので, こういうの助かる.

レガシーシステム攻略のプロセス 【2】ZOZOTOWNリプレイスにおけるIaCやCI/CD関連の取り組み

具体的な内容が書かれていてとても勉強になる.

ぼくらの「開発者体験」改善クエスト 【6】アーキテクチャ特性からみるWeb開発基盤の改善

具体的な課題感とアプローチが書かれていてとても良い記事. ただアーキテクチャ決定要因とその実現方法との繋がりがあまりピンとこなかった. 構成容易性について複数の項目があって, 完全に直行していないのでトレードオフスライダーみたいなものがあるんじゃないか. 単に決めて実行するだけではなく, きちんとふりかえりによってさらにフィードバックしていくプロセスもいい.

Cloudflare Workersへの招待 【7】RustとCloudflare Workers

Rust/axum のサンプルコードはあればあるだけ良いとされている.