ken1flanのブログ

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

Software Design 2025/05 メモ

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

gihyo.jp

表紙

  • チーターさんですかね?鼻の脇の黒い模様がそんなふうにも…。
  • 凛々しくて好き!
  • 今年度は…ネコ科
  • あと…なんか、数字のフォントがかわいいですね…。

第1特集 オブザーバビリティの最前線 可観測性の基本とOpenTelemetry入門

第1章:オブザーバビリティの基本と考え方 実現までのフローとテレメトリーデータを押さえる……池添 明宏

  • そもそもメトリクス、ログ、トレースがなんなのかわかってない…!
    • メトリクス…数値そのもの。Elastic Beanstalkコンソールのグラフとか、Cloud Watchのグラフとか。
    • ログ…テキスト情報のログですかね。
    • トレース…サービス間の情報の流れを追跡するためのデータ…らしいです。X-Rayがそれにあたりそうですが…使ってないのでちょっとよくわからないです…。railsのアプリケーションのログも、トレースログ?
  • Open Telemetryというプロトコルがあるのを初めて知りました…!
  • オブザーバビリティを育てる……わかる…。そもそもなんたるかがわかってないときにどどーんと設置しても、見れないですもんね…。
  • サンプリングの方法、なるほどです。
    • ランダムと、状態に応じたサンプリング
    • あんまりたくさんだと、ディスクがいくらあっても足りないですからね…。

第2章:メトリクス,ログ,トレースの分析 Grafanaを活用したオブザーバビリティの実践……池添 明宏

第3章:OpenTelemetry入門 サンプリング戦略と計装の実践……岩見 彰太

  • ベンダーニュートラルなのは、めちゃくちゃいいですね…。
  • 状態に応じたのサンプリングは…たしかにリソースを使いますね…。
  • 実際に使うときにもう少し詳しく読みます…。

第4章:オブザーバビリティの組織への導入と目指すゴール 成熟度モデルによる現状把握と改善で徐々にレベルアップ……小林 良太郎

第2特集 クラス設計の鉄則 堅牢で変更に強いコードを作り上げる技術……増田 亨

第1章:クラス設計再入門 モジュール性・関心の分離・依存関係を意識する

  • 「関心の分離の失敗パターンと改善方法」がわかりやすい気がしました。
  • トランザクションスクリプト、テーブルモジュール…名前に覚えがないですが…言ってることはわかりますね。
  • 「アプリケーション独自のデータ型を作る」…言い方が平易で好きですね。
    • Value Objectのこと…だと思ったら、もっと広かった…。
    • 最後まで読んだら、Value Objectのことも出てきました。
  • アプリケーション独自のデータ型をいきなり作らなくても、仮のクラスを作ってとりあえずまとめよう、というのは現実的でいいですね…。ちょっとやる気になりました。
  • クラスの関係図を出力する道具がある…と書かれてたのでRubyになんかあったっけ?と思ったら…
    • RubyMineにそういう機能があったりするらしいし、rbsをメンテしてればそういう情報の元になるじゃないか…!
      • でも、メソッド内で突然使っているものは…出せそうにないですね。
    • AST解析して…というのがいいのかも。
    • いろいろできそうだけど、いろいろありすぎてどうしたらいいのかしら…。

第2章:迷わないクラス設計の指針 アプリケーション開発の実践例から考える現代的な設計方針

  • 計算判断、アプリケーションサービス、プレゼンテーション、データソースを観点に分けるのはいいかも。
    • Railsだと、モデルがデータソース、ビューとかコントローラがプレゼンテーション?
      • Fat ControllerとかFat Modelになるのは計算判断やアプリケーションサービスがまとめられちゃうからですよね。
    • ウチはまだ全然使えてないんですが…よさそうに感じます。
  • 可変より不変が計算や記憶のリソースが安くなったからだとは…まぁ、たしかに。
  • 継承よりコンポジション、サブタイピング…確かに継承が密結合なのはわかる…。密結合は変更が困難ですもんね。
  • まとめがわかりやすすぎる…。。

第3章:設計の落とし穴対策 コードから問題を検知する着眼点と改善方法

  • 「乱雑なコードは整頓する」
    • www.oreilly.co.jp
      • 乱雑なコードをちょっとずつ整頓……!気になります…。
    • ここの手順、めっちゃいいですね…。動作の変わらない小さなことからできるのがいいです。
    • ふと…ですね、乱雑なコードにはテストない、とかないスか……?乱雑なコードのテストって……書けるのかなぁ……。
      • 乱雑なコードの一部を切り出し、そこだけテストを書く…みたいなことを繰り返すか…。
  • まとめ、いいこと書いてありますね…。
    • 乱雑なコードを見つけたときには、実地訓練に出会えたと思って、修正を試み、活きた知識への変換を図っていこうと思います…!

短期連載 ローコード開発ツール「プリザンター」

【3】バックエンドのカスタマイズと独自のAPIの追加……内田 太志

  • バックエンド、jsなんですね。
    • ClearScript、初めて知りました。.NETなんでもありますねぇ…。

短期連載 乱数のひみつ

【3】安全な乱数の生成方法……荒木 誠

連載

ITエンジニア必須の最新用語解説 【197】AIエージェント……杉山 貴章

  • 無料版しか使ってないからよくわからないんですよね…。
  • github copilotもエージェントが出てきましたね。
    • github.blog
    • エディタを占有されるんですかね…。間に合ったら試したいところですが…。
    • GitHubなら、Workspaceでできそうなので、手元の環境は使わなくてもいいかも…?
  • macOSのChatGPTとVSCodeを連携して、修正提案を出してもらうのをやってみました。
    • 小さいコミットログを積む感じでやるなら、イケそう感あります。

万能IT技術研究所 【36】過去も未来も星座も超えるスペースコロニーXR体験——君を街ごと宇宙世紀に連れてゆく……平林 純

  • ガンダムが続いてますねw
  • あっ!なるほど、市街地の写真をそのまま貼ってみると…わかり易すぎますw

FE/AP試験問題に挑戦 【7】基礎理論&コンピュータシステム……石田 宏実

ドメイン解体新書 【16】ドメインを取得すると公開される情報……谷口 元紀

  • ドメインの権威………調査している会社があることはアクセスログから知っていましたが……。
    • ついいろいろ調べてしまいました…。
      • Mozなどで測るSEOの権威の値はすぐには反映されないので、定期的に覗いてじわじわ変わっていることを確認するために使うんだそうです。
      • 競合を決めて、相対的な評価を比べるのもよいとのこと。
    • moz.com

ハピネスチームビルディング 【38】中途入社や異動で来た新メンバーに対するアンチパターンを回避(前編)……小島 優介

  • 迎え方次第で活躍できるかどうか変わる … わかります…。
  • 「自由にやって」はダメ、やったあとにダメ出しはダメ!…ですよね。
  • 開発者だけじゃないですね、これ。いつもながらよい話でした!

【新連載】Ruby×静的型付け戦略 【1】Steepを使った型検査……松本 宗太郎

  • 型の話を聴く/読むたびに入れたいって思うのですが……現行のプロジェクトに入れるにはどうしたもんかと二の足をじゃいます…。
  • でも、スモールスタートもできるはずなので…導入の足がかりくらいやっちゃいたいなぁ…。
    • 今調べたら、Elastic Beanstalkが最新のRuby3.4にできるので…やらない理由がなくなってきました…。AL2023になって、バージョンアップに追従できるようになったんですね、たぶん。

プログラミング×AIの最前線 【2】プログラミング分野における大規模言語モデルの最新動向……木下 雄一朗

  • ありすぎてわからんし、バージョンアップが早すぎて難しい…。
  • それぞれに特色がまとまってて、たすかります🙏

RAGアプリケーション評価・改善の極意 【5】RAGの構築と評価への組み込み……佐藤 陽

  • 長文を扱うときに、チャンク化するとトークン量を減らせるのか…なるほどです。

ソフトウェアテスト探検隊 【8】従来のソフトウェアテストの課題とその一歩先の技術……Kuniwak

  • パラメタライズドテスト…テストであんまりプログラミングしちゃうのもなぁ…と思っていますが、単体テストとかならアリかも。件数多いときありますもんね。
    • eachで回して、contextとitを生成してたりするときもあるので、これもパラメタライズのひとつかも…。

実践データベースリファクタリング 【16】終わらないリファクタリングプロジェクト……曽根 壮大

  • うっ…終わらないプロジェクトってアンチパターン💦
    • これが理由で始められないのもありますね><
  • スコープ、やりきる覚悟、撤退タイミング、期限、破壊的変更なし、可視化の順に大事…かと思いかけましたが、どれも大事ですね。揃わないと始められそうにありません。

実践LLMアプリケーション開発 【20】LangGraphアプリケーションにMCPサーバ連携を組み込む……西見 公宏

  • MCPが便利そうすぎる…。触ってみたいが…今読んでる本が終わったらしばらく読書会の主催は休みにすべきかなぁ…ううむ…。

AWS活用ジャーニー 【31】AWS Trusted Advisor……杉金 晋

  • これかぁ…ちょっと入れてみたい…。
  • 見たら、使えるようになってました!よさそう!
    • やることがリストになってるの、マヂありがたい!
  • ちょっとずつ対応していきます…!

メールシステムトラブルバスターズ 【2】送信ドメイン認証で身を守る(前編)……古賀 勇

  • そうそう…Googleがやるぞ!って言ったときにがんばりました。
    • そういえばこのあたり、研修やったほうがいいかなぁ…。
    • SPF/DKIM/DMARK PASS
  • 説明と、確認方法を書いてくれていたところが、わかりやすかったです!

インターネットの姿をとらえる 【9】時代によって移り変わるインターネットの階層構造……土屋 太二

  • こんなふうに変わっていったんですね…。
  • 自分がインターネットとともに生きてきてるのがわかってしまう…。

魅惑の自作シェルの世界 【30】パス名展開(後編)……上田 隆一

  • ルートを超えるように..を使っても、ルートが帰って来るの、知りませんでした。
  • いくら親ディレクトリを要求されてもルートの親はない

【最終回】一歩踏み出すための技術広報戦略の立て方 【5】技術広報プロジェクトの計測とふりかえり……玉田 大輔

  • 参加したカンファレンスで、自社ブース以外の感想を残すの、いいですね。
  • 大変戦略的で…よい連載でした。
  • なんかあったときには取り出してまた読ませてもらいます!

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~ 【160】Project PLATEAUを通じて見えたシビックテックの可能性……小島 友将

  • あっ都市の3Dモデルのプロジェクト…!
  • 太陽光発電の予測…なるほど。
  • ドローンで弁当なんかの荷物の配達のシミュレーションとか、なんか確かにいろいろ使えそう…。

その他

SD BOOK REVIEW

  • ストリートコーダー
  • データプラットフォーム技術バイブル
    • book.mynavi.jp
    • データ基盤、なんとかしたいなあ…と思いつつ、放置しちゃってます><
    • 読んだら変わるかなぁ…。

SD NEWS & PRODUCTS

  • ロリポップ!固定IPアクセス byGMOペパボ
    • vpn.lolipop.jp
    • む…これいいな…。
    • だれかに手伝ってもらうときに払い出したりしたら、結構いいかも。
  • NECの個別化がんワクチン製造ワークフローをセキュアに実現する技術
    • こういうのが揃ってくると、ちゃんと安くなってくるので……たのしみ🙏
    • jpn.nec.com