ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

Software Design 2024/06 メモ

Software Design 2024年06月号を読んで、ちょこっとずつ感想を書いてます。

gihyo.jp

表紙

  • どなたさんでしょう、このかわいらしいねずみさんは…?

第1特集 SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ RDBMSの性能を引き出すための基礎 ......奥野 幹也

第1章:RDBMSSQLの基礎概念 リレーショナルモデル理論から理解するSQLの性質

  • 普段ほとんど触れる必要がないし、必要になったときは逼迫してるからて…
  • リレーショナルモデルにはNULLがない…?真偽値が3値になって大変なのに、どうして導入されたんでしょう…。
  • こういった読む機会がとても貴重です。

第2章:SQL実行のしくみと実行計画 効率的にクエリを実行できているか見極める

  • 実行計画のツリー型、結構よさそうですね。
  • なんとなく追っかけ方がわかった気がします…。
  • 困ったら読み直してみます。

第3章:インデックスの機能とアルゴリズム 検索処理を高速化させるしくみを理解する

  • マルチカラムインデックスの一方だけが含まれるときの挙動が書かれているのを初めて読みました。想像はしていた通りでホッとしました。
  • こちらも参考にさせていただきます!

第2特集 気になる機能は?性能は?[実証]Bun 次世代JavaScriptランタイムの実体に迫る

第1章:Bunの全体像をつかむ 誕生の背景、特徴、機能を押さえよう ......鈴木 正樹

  • ziglang.org
  • Bunって中華まんなのか…知りませんでした。
  • Nodeの問題点を解決している点ではDenoと同じだけど、Denoは互換性がないから…ということなんですね…。
  • 各種トランスパイラを内包しているみたいですが…プロジェクトのサイズ的にどうなんでしょう?大変じゃないのかな?
  • shellはおもろいw

第2章:Bunを使ってみよう 追加設定不要! 標準機能で始める快適開発 ......近藤 正裕

  • いろいろ内包してるので、メンテナンスが大変そう…とは思いましたが、使う側としてはラクでいいですよね。

第3章:BunとNode.jsの徹底比較 どちらがどれくらい速いのか、性能の違いを見よう ......鈴木 正樹

  • ja.wikipedia.org

  • !テストが速いだと?!
    • いいなぁ…。
  • Lambda関数をTypeScriptのままデプロイできるのはいいですね…。
    • あ…でも実行前にトランスパイルするから遅いのか…。

一般記事

[特別企画]DI―依存性の注入―はなぜやるの? 「コンポーネント間の結合度を下げる」とは ......成瀬 允宣

  • あんまり意識してませんでしたが…なにげに使ったりもしてますね…。
  • ただメリットをしっかりわかっていなかったので、これからはちゃんと使っていこうと思います…!
  • めちゃくちゃわかりやすかったので、困ったときにまた読み直そうと思います。

連載:Column

万能IT技術研究所【25】人類の歩みを眺めるために、過去の世界に行ってみる――昭和初期から最終氷期まで、時代の水辺にダイブする ......万能IT技術研究所

  • 過去の地形データじゃなくても、海水面を上下させるだけで過去の地形が想像できる……なるほど、確かに地形は変わりにくいですもんね。
  • おお…水面を下げると、擬似的に氷河期の地形が……面白い……。

ハピネスチームビルディング【27】会議で主体的に発言してもらえるようにする ......小島 優介

  • 発言したくない理由、めっちゃわかります……。
  • 問いかけちゃっても負担じゃないかなぁ…。勉強会でちょっとやってみてもいいかも…?
  • ポジティブフィードバックは自分もそう思ってるので、してる……つもりです。できてるといいなぁ…。
  • あとで感想を書いてね!は…仕事ならありかも。勉強会ではその場ですが、次回予告をしている間に書いてもらって、戻って見直す、みたいなことしてます。
  • とにかく、発言しやすいポイントをたくさん設けるようにしてはいますが……うまくいってるといいなぁ。

エンジニアのためのやる気UPエクササイズ【22】継続率と生産性を高めるエンジニア向けグループエクササイズ ......えくろプロテイン

  • グループエクササイズ…!
    • 運動に限らず、集団で集まるといろいろ長続きするのはなんとなく体験でわかります…!
  • フロント・リバース・サイドプランクとスクワット30回…たしかにバランスよさそう…。
  • 10分かからなそうなので、割とよさそう。やってみます!

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【150】能登半島地震におけるIT DARTの支援活動~IT技術者ができる災害支援~ .....大菊 健太

  • こういう活動もあるんですね。
  • たしかに専門家集団が現地とネットワークの両方を駆使してあたってくれるのは、とても助かりそうです。
  • こういう場で協力団体を紹介してくれるのもいいですね。
  • itdart.org

連載:Development

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

  • タイトルを見て、(´;ω;`)ウッ…となりました…。
  • 本来持っていない役割を担ってしまってるってことですか…。これ、やっちゃいますね…。
  • 消さなくても困らないし。いったんそのままに …やっちゃうなぁ…。
    • これ、万事でそうですよね…。
  • 名前を変えたりして、使われなくなったことを確認してからちゃんと消そう…として、忘れ去ってしまう…
  • いついつ以降は消消すぞというコメントを残すようにします…!

Google Cloud流クラウドネイティブなシステムデザインパターン【5】CI/CDシステム ......北野 敦資、監修:阿部 正平

  • クラウドベンダー謹製のだと、セキュアにできそうでいいかも…。
    • コンテナにしたら、そっちでビルドするようにしよう…。

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

  • 段階的にWebアプリケーションからネイティブアプリケーションに近づける…この考え方は結構いいかも…。
  • Service Worker、ようやく何者かわかってきました…。
  • Project Fugu、扱いを間違えると猛毒の意だったとは…。たしかに危ういところを扱ってますもんね…。
  • ちょっとPWAが気になってきました…!

レガシーシステム攻略のプロセス【2】ZOZOTOWNリプレイスにおけるIaCやCI/CD関連の取り組み ......籏野 光輝、堀口 真

  • IaCは…すべての始まりですね…。うちはまだここがやっと…。
  • Canary Releaseは…Elastic Beanstalkもデフォルトでついてて、助かっています…!
    • ナシとかもう、考えられませんね…。
    • アクセス数とか考えたりしなくてもよいので、心理的負担がめっちゃ軽くなりました。
  • Progressive Delivery…これもElastic Beanstalkもデフォルトでついてて、助かっています…!
    • テストを定義しておけば、自動でロールバックしてくれるし、これも心理的負担がめっちゃ軽くなりました。
  • 普段使っているCI/CDの便利機能の名前を再確認できてよかったです。これでうちもこのあたりの置き換えをするときに、要件をまとめやすくなった気がします。

Databricksで勝つデータ活用【3】機械学習の実運用をサポートする機能 ......志賀 優毅

  • なにげにAI Playground、楽しそう。同じプロンプトを同時にいろいろなLLMに投げられるなんて。
  • うーん、時前でこういったことを構築し切るのはかなり大変そう…。
  • 機械学習の開発をするときには、従量課金だし、入れたほうがよさそうです。

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

  • アーキテクチャ特性…こういう先人の分類をサッと取り出せるようになるにはどうしたらいいんでしょう… 🤔
  • BFF…そういうのがあると統一しやすいんですね…。
    • うちがfrontendをがんばってないのでわからなかったのですが…frontendとbackendでフォーマットをお互いちゃんとするのは大事そうなので…気に留めておきます。
  • せっかくその環境にあったアーキテクチャを考えても…
    • 「やってみた」になっていたバッチシステムをついこの間、普通のActive Jobに移行しました。
      • 野心的だったと今でも思いますが…いかんせん、監視しづらいし、リリース作業がしづらくて…。
  • SLOを可視化できる、New Relicの柔軟なNRQL…。
    • うちは…数が少ないからですが、まだ狼少年なんですよね…。
  • 活動を共有すると助けてくれるひとが増える…これは今めちゃくちゃ実感してます。
  • 生産性を可視化するのにこういうのもあるんですね…。
  • 今回もよい記事でした 🙏

Cloudflare Workersへの招待【7】RustとCloudflare Workers ......井手 優太

  • Rustのin-source testing、知りませんでした…。
  • キャッシュを制御するVary、記憶しときます…。まだCloudflareで対応してないそうですが、そのうちに使うこともありそうですし。
  • Cloudflare Workersの記事のはずなのに、Rustええな!って思えた記事でした。

実践LLMアプリケーション開発【9】LangGraphで開発するリサーチエージェント ......西見 公宏

  • 自律的の情報収集・分析・レポート生成を行う、「リサーチエージェント」…なんかスゴイな…。
  • LLMアプリケーションは、LLMを使ってどんな風に調査とか調べ物をするのかという手順をプログラム化したものっぽく見えます。なるほど…。

AWS活用ジャーニー【21】Amazon CodeWhisperer ......杉金 晋

  • あるとは思っていましたが、github copilotを入れて満足しちゃって探してませんでした…。
  • コマンドラインの補完ができるのは結構いいかも…。
    • AWS CLIとか難しいですもんね…。
    • これのためだけにアカウントを作ってみるのもアリ…?
  • Amazon CodeGuruとかと組み合わせられるのは結構いいのかも…と思いました。
  • …ここまでいいなぁ!と思って読んできたのですが…Rubyがない!ダメだああああ💦
    • プロジェクトに入れるのは断念かなぁ…。
  • 輪読会で、AWSで知りたい機能あります?と訊かれても、いい提案が出てきませんでしたが…全容を知らないからですね…。
    • 今回も存在自体を知らないので、「知りたい!」と言えなかった感じですね…。

連載:OS/Network/Security

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

  • 前回はホント読んでるだけで縮こまるないようでしたが…今回は運営者向け…。
  • とはいえ、そこをやられたらかなりヤバいので…どういうものかをざっくりとでも知っておきたい気持ちです。
  • キャッシュポイズニング
    • 長期TTLのAレコードで…えええ💦
      • 防ぐ方法としても使ってますね…。
    • トランザクションID
      • xtech.nikkei.com
        • なるほど…本当に実装が古いための問題ですね…。
        • UDPだし、認証しないのかあ…。
        • DNSSECに期待…。
  • SSL/TLSの証明書をうまく使うのはありがたい…。
  • 自社のドメインを確保するときに業者を選定する条件に足してもよさそう…。

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

  • セキュリティ専任の人数の出し方というのがあるんですね…。
  • 普通の会社はCSIRTだけでいいけど、SaaS的なWebサービスを提供しているなら、それ向けのPSIRTがほしい…ということかしら。
  • あっ…障害訓練をしていた記事が以前出てましたね……。
  • 常にしていることの中に「協力への感謝」と「未然に対処することの素晴らしさを知らしめる」があって、納得。大事ですね。
  • 全体を俯瞰するこの回は、保存版かも。

魅惑の自作シェルの世界【19】whileコマンドの実装 ......上田 隆一

  • 毎回ながら、bashの構文について勉強になっています…。
  • リファレンスとかで見る文法の書き方、構文解析のものっぽく見えますね…。
  • Ctrl+Cで止まらないとは…wこういうのが現れるから、手を動かすといいんですよね…と思いました。
    • 次回も楽しみですw

アラカルト

ITエンジニア必須の最新用語解説【186】WinterJS ......杉山 貴章

  • JSランタイムだけど、V8じゃなくて、MozillaSpiderMonkeyのフォーク…!
    • V8ばっかじゃ…と思ってたら、よかったです。
  • W3CのWinterCG仕様のサポート…安心感がありますね…。
  • 結構いいかも。

SD BOOK REVIEW

  • 生成AIの教科書
    • 推進計画やリスクについて書いてあるのはよさそう…!
  • エンジニアが最初に読むべきLinuxサーバの教科書
    • 500ページ…!多いのか少ないのか…。
    • ただ、知識を網羅的に扱ってくれているのはありがたそうです。
  • Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門
    • LLMと検索の連携とか、アプリサポートとか…例が面白そうです。
  • Tailwind CSS実装入門
    • 気になってるんですよね…。使ってみたいと思いつつ、まだ触ってない…。
    • Twitter Bootstrapからの移住先、どうしようかなぁ…。

SD NEWS & PRODUCTS

  • U-22プログラミング・コンテスト
  • バグバウンティプラットフォーム…?!
  • Fastlyのボット管理ソリューション
    • パッチを当ててもらう…みたいなことが期待できないから、どうしたらいいもんかと思っていましたが…。
    • CDNは多様なサービスで使われているし、ボットを判断するネタを持っていそうですね。

次号のお知らせ