ken1flanのブログ

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

Software Design 2026/01 メモ

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

gihyo.jp

表紙

  • 1月号だからでしょうか、なんか初日っぽいですね。
  • 動物は…ライオンですよね。
  • ja.wikipedia.org

第1特集 脱“APIをたたくだけ” LLMのしくみ 中身を知って最大限の力を引き出せるようになろう!

第1章:LLMの基本構造を理解しよう なぜ文脈を理解し回答できるのか?……藤本 敬介

  • LLMの基本構造とその発展過程。
  • 読んでて、これまでいろんな特集や連載で読んできたものがまとまってたと思います。

第2章:学習プロセスを知ろう LLMはどのように賢くなるのか……大田 竹蔵、藤原 知樹

  • LLMの学習プロセス
  • Hugging Faceに大規模の言語データセットがあるのか…。やる気になればそのデータで遊ぶこともできるんですね…。
  • 学習に使うデータの、「正解」を作るのをどうすんだってずっと思ってました。
    • データ自体に内在する規則性を利用して正解ラベルを自動生成…なるほど?
      • 「次に続く単語を予測」が基本、「文章の一部を隠して予測」
      • BERT系、GPT系…?突然出てきた…。
        • Transformerの基本構造を知ってないとわからないですね…。
        • トークンに分割するエンコーダにはBERT系、トークンから得た情報をもとに回答を作ってるデコーダはGPT系?

第3章:小さく実装してみよう 推論・事前学習・事後学習を実践する……大谷 真也

  • 小さなモデルを題材に、学習済みのモデルを使って推論、継続事前学習、教師ありで応答形式の微調整、事後学習
  • Google Colabで実行できるけど…時間がかかるそう。
  • しかし…結構おもしろそう…。
  • 何かLLMを使って、特化したモデルを作ろうってなったときに、一回やってみようと思います…。
    • 2章の振り返り的にもなるし。

第4章:モデルの違いを学ぼう 適切なモデルを選定するための観点と評価方法……服部 響

  • モデルを選ぶときの観点と評価方法
  • 画像の拡散モデルで文章も出せるの…?!面白そうw
  • いろんな分野のベンチマークが公開されているんですね。

第2特集 「最適なコード」の現実解 アルゴリズムはどこに効く? パフォーマンスの壁を乗り越える実践テクニック

第1章:良いプログラムとアルゴリズムの関係 速いだけではダメ?トレードオフを理解してコードを改善……けんちょん(大槻 兼資)

  • プログラムの良し悪しの観点としての計算時間、メモリ消費量、可読性、保守性、開発コストの紹介
  • 最近デカいデータを相手にしてなくて、たしかに物足りない感が…。
  • 高速化…適切な工夫じゃないと、ただバグを埋め込むだけっていうのはありますね💦

第2章:組み込みデータ構造が最強である理由 O記法の限界とCPU最適化の裏側……渋川 よしき、松本 朝香

  • ネイティブ実装され、チューニングを受け続けたネイティブのデータ構造を使うことの大切さの説明
  • 表1 組み込みデータ構造例にRubyがないので…
    • 配列->Array、辞書->Hash、集合->Set…かな?
  • 一応、昔のも多少は覚えがありますw
  • 昔、Cで書かれたバッチ処理UNIXコマンドを使ったシェルスクリプトで書き直して、10倍以上速くしたのを思い出した。乗るなら巨人の肩だって実感しました。

第3章:パフォーマンス問題の診断とアーキテクチャの再考 I/Oボトルネックの回避とデータ配置の最適解……真野 隼記

  • Webが主な題材になっていて、馴染みのある手法が並んでました。
  • たしかに、アルゴリズムとデータ構造の知識があるから、スッとこのあたりの手法が思いついたりする気がします。

特別企画 始めるなら今!?最新情報と活用のポイント デスクトップLinux元年 in 2026……あわしろいくや

  • 現在のLinuxデスクトップ事情
  • n回目のデスクトップLinux元年w
  • 今回はWindows10のサポート終了のため…なるほど。
  • だいたいブラウザがあればなんでもできて、VSCodeが動くんだから…仕事にはホント有利だと思う…。
    • Dockerに対して、一番有利なんだよなぁ…。
  • 正直、Linuxで生活しても困らないだろうと思ってるんですが…Macbookトラックパッドが快適すぎて…。

連載

ITエンジニア必須の最新用語解説 【205】Vitest……杉山 貴章

  • JavaScript/TypeScript向け高速ユニットテストフレームワークVitestの紹介
  • 速いViteと自身の速くなる工夫で…かなり速そう…。
  • 結構気になります。

万能IT技術研究所 【44】大規模言語モデルに潜む感情を見つけて、感情を動かす——感情や記憶をなぞり「人を救う物語」……平林 純

  • LLM内部の感情空間とそこへの介入の実験
  • 感情を直接操作って…なんかすげーことやってる…。

現実世界を拡張するWebXRプログラミング 【3】WebXR Device APIについて知ろう……にー兄さん(堤 海斗)

  • WebXR Device APIのサンプルの紹介
  • android Chromeで見ようと思ったのに、全然見れなかったです><
  • めっちゃ面白そうなサイトだったのに…。
  • immersive-web.github.io
    • こっちは前に見たときのサイトだったかしら…。こっちは見れたんですが…何が違うんだろう…?
    • immersive-web.github.io - Immersive VR Session

ドメイン解体新書 【24】ドメイン名価格高騰の裏にある「DNSのコスト」の正体……谷口 元紀

  • ドメイン名の値上げとその原因、レジストラ/リセラーの価格の違いの理由、企業への影響
  • .comってVerisignがやってたんですね…。
  • レジストリレジストラ、リセラーの違いがなんとなくわかってきました…。
  • …なるほど、ドルでの支払いかあ。
  • 防衛的登録…TLDが増えるとたしかに現実的じゃないですね…。あんまやらなくなったのかしら。

ネコ、コード、ネコ 【7】副業としてのOSS開発……植山 類

  • OSSのマネタイズ例
  • ほしければほしいと書くのがいいというのは…なるほどでした。
    • ただし、ちゃんとやるのが前提なので…。
    • 自分があんまやらないのは……責任を取れなそうだからか…。
    • 結局、覚悟、だと思いました。

【新連載】データ分析とSQLエージェント 【1】問いを理解し、データと対話できるAIとしてのSQL生成……太田 満久(おおたまん)

  • データ分析のプロセスと、AIに難しい部分とその補完方法
  • なるほど…あいまいな依頼を適切な計算方法にするのが大変か…。
    • LLMと対話すれば、なんかできそうな気もするんだけど、難しいのかな…。
    • …とはいえ、LLMの提示してきた案を依頼者が理解できないと意味はないのか…。
      • プログラミングと変わらないと思うんだけど、何が違うんだろう…?
        • 分析者にとっては、データソースが多様なところが違うのかも…?
  • テーブルとかカラムにコメントを付けておいたら、精度が上がりそう。
    • 設計時の意図を残しておくという面でもかなり有効かも。

【新連載】暗号のひみつ 【1】マイナンバーカードを支える暗号技術……荒木 誠

  • マイナンバーカードを支える暗号技術の詳細
  • マイナンバー……
    • 技術的なところはそんなに心配してないんですが…
    • 周辺の運用とか、運用者のスキルやモラルとか…不安がいっぱいです…。
    • そもそも情報を中央に集めてしまうことが、セキュリティ的にも、戦争の教訓的にも不安ですね…。
    • そう思ってあれこれ見ていたんですが…こっちもだいぶ進んでるんですね。
      • スマホアプリはできることが限られているのと、生体認証+PINなどの本人確認がいる
        • 不審なアプリを使わないなど、普通の気配りは要るけど…
      • 運用面は厳しい罰則のある法律で縛られている
      • マイナポータルを見ると、情報提供履歴など見れる

【最終回】パッケージマネージャーNix入門 【5】Nixが変えるインフラ構築体験――OS全体を宣言するイミュータブル世界……たけてぃ

  • NixOS
  • OSから何から再現したい…!というところまでは至ったことがないですが…
  • 言語の開発とかやってたら…ほしいだろうなぁ…と思いました。
    • ほかにどんな場面がありそうかしら… :thiking:
  • こういうのを駆使して、不具合の再現環境とかを気軽に作れるようになれば…。

技術選定の舞台裏 【5】AIプロダクトの探索からデリバリーまで……大森 貴通

  • AIエージェントによる領収書レビューサービスの技術選定
  • 領収書、苦手だったんですが…このサービスがあれば、自分でちゃんと書けるかもって思えました!
  • langfuse.com
    • 知りませんでした。へええ〜。

【最終回】Ruby×静的型付け戦略 【9】型を直接コードに埋め込む……松本 宗太郎

  • インライン型の宣言の試行と、文法
  • やっぱり運用的にはインラインなのかなぁ…。
  • 便利そうな記法がいっぱいあります。

プログラミング×AIの最前線 【10】Cursor 2.0の衝撃……木下 雄一朗

  • Cursor2.0に搭載された新モデルComposer1の速く精度の高い理由、マルチエージェント化、クラウドエージェント…
  • なんかスゴイことになってますね…。

実践LLMアプリケーション開発 【28】ReActエージェントのプロンプトをGEPAで最適化する……西見 公宏

  • ReActエージェントにGEPAを適用したサンプル。
  • サンプルを動かしたときにかかる時間と金額を描いてくれているのはありがたい…。
  • ツールを使うタイプだと、ログが残しやすそうですね。

AWS活用ジャーニー 【39】Amazon Neptune……杉金 晋

  • フルマネージド・グラフデータベースAmazon Neptuneの紹介
  • RAGがグラフデータベースを参照…たしかに相性がいいかも。

はじめてのオフェンシブセキュリティ 【7】権限昇格に挑戦してみよう!(Windows編)……皆川 諒、監修:株式会社エヌ・エフ・ラボラトリーズ

インターネットの姿をとらえる 【16】インターネットのルールは誰がどのように決めているのか……土屋 太二

  • インターネット各レイヤーにおける標準化団体、運用者グループの紹介
  • ネットワークはホント、理想的な世界だなぁ…。

魅惑の自作シェルの世界 【38】localの実装(後編)……上田 隆一

  • Rustによるbashクローンの自作の記事で、local変数の続き
  • f () { local {A,B}=$(echo $RANDOM) ; echo $A $B ; } ; f
  • やっぱり、いろんなものを評価するタイミングって、泥臭かったりなんだったりしますね。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~ 【168】ランナーズハイを求めて 〜第12回 石巻ハッカソンから……菅原 洋介(Pen)

  • 石巻ハッカソンの運営スタッフの声
  • すてきなイベントの裏には素敵なスタッフ達がいるってことですよねえ。
  • 楽しそうでいいなぁ。

その他

SD BOOK REVIEW

  • ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則
    • book.impress.co.jp
    • このテーマは…いいかも。
    • 「書名のマニアックさとは裏腹にむしろ初級者にこそ読んでほしい1冊だ」だって。
    • 集まって読んでもおもしろいかも…。