ken1flanのブログ

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

Software Design 2024/09 メモ

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

gihyo.jp

表紙

  • 何リスさんだろう…?アカリス…?
  • なんだろうと思って調べてたら、リス科にムササビやらマーモットやらがいてびっくりしてます。
  • リス皮のマントは何百匹も使うので権力の象徴…うはー…。
    • たたみいわしは…べつに違うか…超うまいけど。

第1特集 実例から学ぶ! GraphQLでアプリケーション開発 現場における使いこなし方を徹底チェック

第1章:GraphQLとは 利点・注意点を整理して輪郭をつかむ ......和田 祐汰

  • 型定義の強制…。システムをまたぐから必須なのかなあ。ちゃんとしたほうが開発しやすそうです。
  • 型定義が強制されているから、非推奨の通知が円滑にできるのはちょっとおもしろいです。 ‐ サーバ負荷の監視やらセキュリティ対策は大変そう…。
    • 5章にあるそうなので、たのしみ。

第2章:GraphQL導入 クエリを書いてデータ取得を試してみよう ......浦 優太

  • 型というかスキーマ情報があると、確かにエラー訂正の提案とかもできますね…。結構いいこと多いです。
  • 定期的にデータを取得する、サブスクリプションがあるのはちょっとおもしろいですね。 ‐ 結構細かい操作もあって、そんなに困らなそうです。
  • 集計はないようですが…これはサーバ側で準備する感じでしょうか?

第3章:サーバサイドの実装 TypeScript+Apollo Serverでサーバを構築する ......金井 祐樹

‐ 型情報だけアレばデフォルトリゾルバでよろしくやってくれるのは便利ですね…。 ‐ いろいろできそうなのはわかったんですが…認証とかどうするんでしょう…?ちょっと気になります。 ‐ Rubyでやるなら、GraphQL-Ruby ? - 必要に迫られたら調べてみます…。

第4章:クライアントアプリケーションの実装 GraphQLならではの設計と実装を押さえる ......内山 高広

  • やっぱ、TypeScript、使えるようにしたほうがいいかなぁ…。
  • 型生成のgeneratorとか結構ツール類が揃っていて、開発しやすそうです。

第5章:GraphQLアプリケーションの実運用 パフォーマンス改善、セキュリティ対策、APIの進化戦略のプラクティスを押さえる ......上原 拓也

  • 普通のWebアプリケーションサーバとは別にしたほうがよさそう…。
    • あ、エンドポイントひとつだから、普通の監視だとダメなんですね><
    • ステータスコードも…。
    • エラーも…。
    • ただ、監視の仕方はちゃんと確立されているようで、とりあえず大丈夫そうです。
  • セキュリティ対策で、ネストの深さの制限…なるほど。
  • データベース的なものを外部に晒すから…やっぱり運用大変そうですね…。

第2特集 if err != nilを好きになろう Goのエラーハンドリングと向き合う ベストな設計戦略を徹底解剖

‐ 今回のGoのエラーの特集は、実際にやることになったときにもう一度読みたい感じです。開発、運用で気をつけることがいっぱい…!

第1章:Goのエラー処理を理解する 「early return」が推奨される理由とその効果 ......mattn

  • 戻り値の最後がエラーなのは、別に言語で決まっているわけじゃなく、慣習なんですねφ(・
  • 例外だと確かにリトライを書きづらいですね…。
  • RustのResult型は言語仕様として一歩踏み込んでる…?
  • だれでも書けるシンプルさというメリットがあるとは…。なるほどです。

第2章:失敗しないGoのエラー設計戦略 エラーの基本からアンチパターンへの対処まで ......後藤 玲雄

  • 標準ライブラリを育てていこう…こういう方針は、新しいユーザに優しいかも。。。
  • 早期リターンなどの一般的なテクニックの話も書いてありますね。
  • ここでタイトル回収…!
    • if err == nilじゃなくて、if err != nil は、エラーに対応するぞ!という意気込みだったのかも…?
  • 関数終了時に実行してくれるdefer、便利でちょっとうらやましいです。
  • deferの無名関数のreturnされたerrは…どうなるんでしょう?
  • アンチパターン、慣れないひとが作るとひっかかりそうですね><

第3章:GoのエラーハンドリングQ&A エラーにまつわる疑問・モヤモヤを一挙解決 ......渋川 よしき

  • エラーには、再現可能な情報を盛り込みたい……わかる…。
    • 「脳に収まるプログラム〜」出てきた…!ちょっと気になってます…。

連載:Column

万能IT技術研究所【28】低緯度オーロラが出現する未来や過去を眺めよう!――現在から江戸・鎌倉・紀元前まで、オーロラ出現をデータ分析 ......万能IT技術研究所

  • 太陽風、ずっと吹き付けてるのか…スゴイ…。オーロラの仕組みから大気の役割も少し見えてきて、なんか奇跡的ですね…。
  • 今の情報は見れるだろうな…と思ったんですが…まさか、古代まで知りに行くとは…。

ハピネスチームビルディング【30】DX Criteriaでチームをアセスメントして改善点を見つけよう ......小島 優介

  • https://dxcriteria.cto-a.org/
  • DX Criteria…気にはなってるけど、早いかなって思ってました。
  • でも、わりと気軽にできるっぽいので、毎年チェックをやってみるのもおもしろいかも…?  

    エンジニアのためのやる気UPエクササイズ【25】ITエンジニア向けおすすめエルゴノミクスツール3選 ......えくろプロテイン

  • 分割キーボード、気にはなってるんですが……手元のマジックトラックパッドが快適すぎて…ううん…。

    • トラックパッドの左右に分割キーボードをおければいいのかなぁ…。
    • あと…みんなそんなに集中して作業しているんですね…。あっちこっち気になっちゃって、唸ってる時間のほうが長いのかもw
  • 75分の高強度の有酸素運動……やってないなぁ……。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【153】アーバンデータチャレンジ~データの力をまちの力に~ ......岡本 紗季

  • Urban Data Challenge
  • 全国いろんな地域で行われているの、めっちゃいいですね…! ‐ knightモード、ちょっといいですね。旅先で安心して歩けるの、大事そうです。
  • とりあえず、Xをフォローしてみました。

連載:Development

レガシーシステム攻略のプロセス【5】キャパシティコントロール可能なカートシステム ......半澤 詩織、横田 工

  • 連載が進んで、割と最近のものになってきました…!
  • 決済、凄いですね…。ストアード・プロシージャが250…!さすがに大きそう💦
    • 4人のチームでやってたの…!スゴイですね…。
  • リプレイスチームが一旦カートチームに入っちゃって学習…。ホントにちゃんとやっててスゴイ…。
  • リプレイス前後のアーキテクチャを見たら……あとの方の構造が前のシンプルな構造の中に埋まってたのかと思うと…確かに大変そうです💦
  • うはあ…転売ボット……マヂですか……。
  • 加熱商品を分ける、というのは確かに有効かも…。覚えておきますφ(・
  • 制限値の入れ方がユーザファーストです…! ‐ うーん…すごかったです…。

Databricksで勝つデータ活用【6】チャット形式のデータ分析とデータインテリジェンス ......北村 匡彦

  • 技術は持っていないけど分析したい動機をもったひとが、直接結果を見ながら調整できるのは本当によさそうです。
    • 分析の仕方をわかってない場合には…救ってくれるのかどうかはわかりませんが…。
  • でも、値段がなあ……。
    • 気の利かないけどいつでも付き合ってくれる分析者 1/5人を雇う、みたいな感じなら…やすいのかな…?よくわかりません…。
      • 無論、分析以外の仕事はやってくれないし、自分で勝手に分析することもない…。
  • お…テーブルの説明とかしてくれるのか…。ちょっとおもしろいかもw
  • 脱線だけど、Amazon Qとか調べたほうがいいのかなぁ…。
  • いろいろ考えさせられました。

あなたの知らないChromeの世界【8】Webページの表示を高速化するSpeculation Rules API ......小河 亮

  • preload、あんまり意識してませんでした。効くのかなぁ…?
  • Speculation Rules、結構細かいことができるんですね…。
    • ウチではメンテできなそうですが……覚えておきます。

ぼくらの「開発者体験」改善クエスト【9】データに基づく意思決定と開発者体験 ......高山 温、関根 知宏

  • 開発者体験って言葉は誤解されそうで…。ちゃんと成果を出せる環境、すなわち、ビジネスの成功に寄与するんだ、というもんなんですが…まぁ、やっぱりわかりにくいですよね。難しい><
  • わかるためにはやっぱり、ログですよね…。
    • おおお…!ログのE2Eテスト…!こりゃすごい…。
  • Playwrightが出てきました…!
    • BOOK REVIEW参照 ‐ あー…いまぐちゃぐちゃにしちゃってるんですよね…。データウェアハウスには閲覧権限で差をつけない、は大事だと自分も思います…。
  • 利用者が多いと、DWHも準備する価値がありますよねぇ…。
  • やっぱりDWHは……使いやすい形に整形したものを置いておくべきですよね…。学習コストが高かったり、間違った集計しちゃったり…。
    • でも、整形したものを作るのは…結構なコストなんですよね…。うーん🤔
  • 「開発者」っていうのは、技術者だけじゃなくて、サービスの開発に関わるみんなという意味なのが、もっと広まるといいなぁ…と思ってます。

実践LLMアプリケーション開発【12】LangGraphで開発するAdaptive RAG ......西見 公宏

  • AI、やっぱ人間みたいだ…。おもしろい…。
  • 先にタスクを仕事の仕方で分類してから、仕事にかかるって…へええ。
    • 自分も真似すべきでは…。
  • このAIを使った開発、苦手かもなあ…。普段から要領が悪いし…。
  • しかし、RAG、おもしろいですね…。ちょっと作りたいです…。

AWS活用ジャーニー【24】Amazon EC2インスタンスへの接続 ......杉金 晋

  • こんなにあったんですね…。
  • セッションマネージャーを基本的に使ってます。台数が少ないからかもです。
  • …ログとかちゃんとしたい💦

Cloudflare Workersへの招待【10】HyperdriveでDBとの通信を効率化しよう ......福岡 秀一郎

  • なんかだいぶ無茶なことをやってそうな…と思いましたが…確かに速くなりそうですね。
  • コネクションプール、クエリキャッシュを意識せずに使えるのは、外部データベースサーバのプロキシのようで、正攻法なのかも。
  • 最初からCloudflareを前提にするなら、D1のほうがストレートでいいかも…?
  • ローカル環境で開発できるようにされているのはありがたいですね。

連載:OS/Network/Security

ドメイン解体新書【8】ドメイントラブルシューティングDNS設定のトラブル ......谷口 元紀

  • DNSの設定ミス発覚の第一報が「APIが使えなくなる」…パッと思い至らないかも…。
  • 設定値、人間が読むことに対して、全くやさしくないですよねw
  • ネガティブキャッシュ…たしかに仕組み上ないと破綻しますが…。考えたことなかったです💦
  • あー…ツール類、頭に置いておきます…。人に見せるのに便利そう。(Terminalだとなんとなく嫌われそうですし。)

インターネットの姿をとらえる【新連載】そもそもインターネットって何だろう? ......土屋 太二

  • ああ、ガチのインターネットについてですね!
  • 有線のケーブル、使っている人そんなに多くなさそうですが……無線にすると、途端に難しくなりそうですし…。
  • 家の外のケーブルは…見たことがないからイマイチ、ピンと来てないんですよね…。こうやって書いてもらえるとありがたいです。
  • 架空架空じゃないw
  • ネットワークスペシャリストの勉強でやったのを思い出しました。(取れなかったけど><)

基礎からわかるDetection Engineering【2】Detection Engineeringプロセス ......石川 朝久

‐ 最近みんな輪っかがひねってあるんですが…なんででしょう? - ∞の形にすることで繰り返していく感を出している…? - chainsaw…初めて知りました。windowsのログなどの分析支援ツールのようです。 - https://github.com/WithSecureLabs/chainsaw ‐ …うーむ…スゴイ…。 - やっていることを文章化されると、つい圧倒されちゃいますが…順番にやっていくことができるので、やっぱりいいことだと思います。 - いやあ、スゴイ…。

成功するPSIRTの極意【最終回】PSIRTを継続するための取り組み ......ただただし

  • 守りが後手になっていて腹立たしい……なんというか、スゴイ…。
  • 開発の前段階に施策をしているのはこういうわけだったんですね…。
  • セキュリティはいろんなスペシャリストの混成チームだからかぁ…。
  • うわあ…新人の作った研修作品にペネトレーションテスト…。
    • 研修の仕上げに、作品を堅牢にするっていうのは、スゴイ勉強になりそう…。ちょっとうらやましいです…。
  • セキュリティは総合格闘技ですよね…。

魅惑の自作シェルの世界【22】単語の解析の準備 ......上田 隆一

  • 今からパース…?こりゃまた難解そうな……。
  • 型に厳しい言語だと、雰囲気で実装しても大丈夫………まぁ、なんとなくわかるような気もします……。
  • 確かに、結構難解なスクリプト書いても、bash、ちゃんと動きますもんね…。ホント、スゴイ…。

アラカルト

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

  • GoogleのFirebaseしかない…!みたいな世界になってしまうとしんどいので…期待しているのですが…。
  • 自前でホスティングできるのか…!確かにいいかも…。
  • デーベース…?データベースかしら。データベースのブランチ機能って、なんかよさそうです。
  • ちょっと使ってみたい気持ちになってきました。

読者プレゼントのお知らせ

SD BOOK REVIEW

SD NEWS & PRODUCTS

次号のお知らせ

  • 設計ドキュメント…?
    • うーん、良い書き方があったら知りたい…!
  • 個人認証、本人確認…!
    • ちょっと気になります…!
  • テストの新連載も気になりますね。
  • 次号も楽しみ!