ken1flanのブログ

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

Software Design 2023/12 メモ

Software Design 2023年12月号を読んで、ちょこっとずつ感想を書いてます。 gihyo.jp

いつも参加しているSoftware Design輪読会に向けての予習でもあります。

全体を通しての感想

輪読会で聞いてみたいこと

  • 第1特集 リリースフローを再確認 開発を加速するCI/CD 生産性と品質を両立させるための鉄則
    • クラス図など出力して管理してますか?
    • GitHub Flow、Git Flow、トランクベース開発…みなさん使っていますか?
    • レビューを手早くするコツ的なものがあれば教えてください。
      • 一応、プルリクエストを小さくするように頼んではいますが…細かくすることって結構難しいですよね…。
    • プルリクエストのサイクルタイム測っていますか?
  • Google Cloudを軸に実践するSREプラクティス【9】Datadogによるクラウド横断のモニタリング基盤
    • モニタリング基盤、みなさんどうしてます?DataDogですか?
      • うちは全然整えられてなくて、Elastic BeanstalkやRDSのメトリクスを直接見てる感じ…。
  • 実践データベースリファクタリング【新連載】スマートカラムを分解する
    • スマートカラムを使いたくなる理由ってなんでしょう?
      • 昔なら…
        • カラム数を増やそうとすると、手続きが面倒…
        • ゲームだと、容量削減

表紙

第1特集 リリースフローを再確認 開発を加速するCI/CD 生産性と品質を両立させるための鉄則

序章:CI/CDはなんのために導入するの? タイムリーな価値提供を支える柱 ......原トリ

  • うちのCI/CDは……本番反映が手作業あって、うまくできてないんですよね……。なんとかしたい……。
    • …まぁ、自分が来る前までパイプラインなんて形にもなってなかったのだから、自分を褒めてもいいんじゃないかしら…。
  • 「自信を持ってリリースできる状態」は…ちゃんとしてると思うんだけどなぁ……どうだろう…?

第1章:安定リリースにつながるCI設計 ツール選定・リポジトリ・ブランチ・テストの改善ポイント ......舟木 将彦

  • ステージング環境へはデプロイまで自動にしているんですが…本番はやっぱり軽い動作確認をしたいものもあるから自動デプロイはちょっと怖いような…。
    • masterブランチ一本だからよくないのかも。みんなはどうしてるんでしょう…?
      • 早くmainに変えないと><
  • CI/CDの威力は…痛いほどわかります。ホント、整備される前が痛かった…><
  • レジ締めの例え、おもしろいですね…!
  • …たしかにテストがコケるのが早いと、直すのも早くて、めちゃくちゃいいと思います。
  • 外部からオンプレでの実行をさせるランナーは…使ったことないですが、使うこともあるかもしれないので覚えておきます…。
  • コスト…料金体系が変わったのに気づいていなくて、めっちゃ余計に支払っちゃったことありました…。
    • それ以来、コストを監視するようにしています。
    • 今見てたら、リソースのグラフが急に変わる点が…。system specを切り出して、他のリソースクラスを下げてもいいかもしれない気持ちになりました。
  • Git Flowが気になってますが…2章を楽しみにしてます。

第2章:本番/検証環境を意識したCDデザイン メンテナンス性と信頼性を両立したデプロイ基盤の最適解 ......根本 征

  • ううむ……確かにメンバーにリリースをお願いしたいところではあるが……確認が甘めなんだよなぁ……。
    • そのせいで呼び出されるのもなぁ…。
  • 今はGithub Flowで、master=検証環境になってるけども……
    • いやーでも、Git Flowは…面倒ですね、ナシかな…。
  • OpenID Connect、使わねば…><
    • 今まで改善したい点の単語すらわからなかったので、今回はだいぶありがたいですね…。
  • エラートラッカーへリリースタイミング送ってるけど、違うんですよね><
    • タイミングをあわせたいなぁ…。Elastic Beanstalkのデプロイスクリプトに入れればいいのかな…。
  • ArgoCDなどのCDツールを使うと、CIと分離されちゃうところがデメリットなのか…。ちょっと納得です。
    • Kubernetesなどを使っているなら、メリットも大きそうですが…うちはねぇ…。

第3章:プラットフォーム事業におけるCI/CD Issue起票、クラス図作成、リリース通知も完全自動化 ......pospome

  • かなり規模のデカい例ですね…。
  • クラス図を生成するCI、結構いいかも。差分がみたい…!
    • rails用のあるけど、なんか古いですね…。あとでもう少し探します…。
  • SonarCloud、気になります…。
    • docs.sonarsource.com
    • rubocop/hamllint/reek/rails best practicesの組み合わせでやってるけど、それ以上のものが期待で帰するんでしょうか…?
    • terraformもありますね…。

第4章:CI/CDのその先へ トランクベース開発への取り組み 開発プロセスの継続的改善を回すしくみ ......小林 杏理

  • trunkベース、スゴイな…。
  • feature flagで汚れないのかな…?
  • ここまで読んできたのにfeatureブランチなしじゃなかったのか…!
  • short-lived feature branchesは割りとよさそう…?
  • 完全に真似をするのは…メンバー構成から無理だけど…プルリクエストの生存期間を計測するのはよさそう。
  • 変更行数が多すぎるときにはCI失敗…!なるほど…。
  • レビューを早くするのは、やっぱりサイズを小さくするに限るね…。
  • サイクルタイムの計測ってどうやったらいいの…?

第2特集 生成AIで自社サービスの幅を広げたい! ChatGPTを組み込んだサービスを開発する 「食べログ」の事例に学ぶPoC推進の秘訣

第1章:企業における生成AI活用の考え方 ChatGPTのしくみと活用事例を紹介 ......京和 崇行

  • タイトルどおりで…感想をというと難しいですが、よい内容で参考になりました!

第2章:食べログChatGPTプラグインの開発とサービスリリース 開発、プロンプトチューニング、社内調整のコツ ......富田 絋平

  • 実際にリリースされたものだと、説得力がありますね…。
  • ChatGPTプラグインからAIチャットへの話の接続が完璧すぎます…!

第3章:食べログAIチャット(β)の開発とサービスリリース 生成AIを活用した機能やサービスの開発に必要な取り組みとは? ......関戸 康介

  • やっぱり、主要機能の周辺の管理も大変ですよね…。
    • 何度も出てきている、Open AIのAPIのレート制限
    • コスト
  • …利用者の行動の分析を公開している…!スゴいですね…。

連載:Column

平林万能IT技術研究所 2ndシーズン【19】照明や質感を撮影後に調整できるカメラを作る――偏光フィルタと2色性反射モデルを使った質感画像処理 ......平林 純

  • フィルタを手で回すのが面倒……なことはないですが、どこかでちゃんと使えそうな仕組みですね…。
    • 雪山のけもの道に設置して…とか。
  • 確かに偏光フィルタの向きを変えて光具合が変わるなら、向きとかわかるのかも…。なるほどです…。
  • カメラアプリ作ったら結構遊べるかもしれませんね…。

ハピネスチームビルディング【21】過去を振り返るポエムを書いて、なぜ働くのかをみんなに発表する ......小島 優介

  • 働くモチベーションを発表する…結構恥ずかしい気持ちになりそうだけど、そんなでもないもんですかね…。
  • …うーん、たしかにお互いの価値観を開示していれば、それを前提に入れられる分、摩擦が起きにくくなる…かも…。
    • なるほど、やりたい人だけ。それならよいのかも。
  • サンプル…小学校中学年のことなんか覚えてないぞ…。
  • …とはいえ、なんかおもしろい感じに仕立てることを考えながらやったら、案外掛けそうな気もしないでもないですね…。

エンジニアのためのやる気UPエクササイズ【16】エンジニア向け! 超時短トレーニング ......えくろプロテイン

  • うわ…初心者でもかなりキツそうw

ひみつのLinux通信【118】大丈夫 ......くつなりょうすけ

  • わかるわあ……。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【144】シビックテックの甲子園、4回目の学生による学生のためのプロトタイプ開発コンテストを開催 ......武貞 真未、八谷 航太

連載:Development

Stable Diffusionで学ぶ画像生成AIのしくみ【7】Stable Diffusionの応用技術 ......國田 圭佑

  • 前回のサンプルを打ち込んで全然いいのができなかったところをどうやったら…という記事!
  • お…なんか鳥獣戯画スタイルになってる…?スゴイな…。
  • 〜風とポーズの指定ができるとなると…これは大変なことに…!
  • 苦手なことがあるときに、特徴のはっきりした複数のモジュールによる協調作業をさせている感じが、脳っぽく感じました。
  • 今月のもあとで時間が残ってたら、動かしてみたいです…。

実践データベースリファクタリング【新連載】スマートカラムを分解する ......曽根 壮大

  • Web+DBからそのまま続けてる…!特に細かい説明なしで…!
    • 内容的に毎回完結だからよいと思います。
  • そして、Web+DBで楽しみにしてたので、うれしい…!
  • スマートカラムってなんだろ…?と思ったら…IDに意味を持たせるヤツか……。確かに見ただけじゃわからなくてしんどそう…。
  • このサンプルのユーザIDカラム、なんでそんなに機能をグッチャリまとめて1カラムにしてしまったんだろ…?
    • クエリがめっちゃ書きにくそう……。
  • こういう書き方が蔓延しているのは…なんででしたっけ…?
    • なにかの節約になったりします…?
  • カラム追加、View、小テーブルへ分割はわかりましたが…生成列という機能は知りませんでした…!

Cloudflare Workersへの招待【新連載】Cloudflare Workersの概要 ......福岡 秀一郎

  • 0ミリ秒コールドスタート?
    • 暖気されてないけど速いって意味なんですね。
    • jsかwasmに限定されるとはいえ、結構よさそうです。
  • 早くするためにTLSのハンドシェークの時間のうちに起動を始めておくのは、なかなかのアイデアかと…。
  • ストレージやKVSもある…!こんなにあると、アプリケーションを構築する位置がまた変わりそう…。気になります。
  • データベースもそのうちに出そうとか…スゴイですね…。

実践LLMアプリケーション開発【3】LangChainの概要とライブラリを利用したチャットボット開発 ......西見 公宏

  • LLMやベクトルデータベースへのアクセスを抽象化してくれるんだったら結構よさそうです…!
  • モジュール分割はLLMを中心とした、外部接続を抽象化しているような印象。なるほどです。
  • ドキュメントのロード機能が発達してそう…。これを使いたいがために選んでしまいそうなくらい。
  • エージェント…!自律的に判断して動くためのもの…。これ、ちょっといいですね…。
  • うむぅ…なんとなくLLMを使ったプログラミングが見えてきました…。
  • llama-2で試してみたい気持ちになってきました。

    llama-2 langchain - Google 検索

画像解析AIの作り方【3】データ収集とアノテーション ......髙木 優介

  • 正解データの準備、大事だけど大変ですね…。
    • こういう地道で丹念な下調べ、頭が下がります。

MLOpsのすすめ【5】LLMのためのDevOps ......澁井 雄介

  • LLM、おもしろいなぁ…。確かに勝手にクーポンを発行しますとか言っちゃわれても困りますもんね…。
    • しまいには、発言前のテキストを会社の稟議のように他の役割を与えられたLLMに確認してもらうとかになりそう。おもしろい…!
    • 割と人間社会の仕組みをそのまま持ってきても悪くないような気がするんですよね…。
    • でも、高いかぁ…。
    • いや、でも人間より安いですよね…。

位置情報エンジニアリングのすすめ【5】Web地図を作ってみる(後編) ......井口 奏大

  • vite?
  • ホントにたくさんビルドツールがありますね…。
  • 近傍の点を集めて表示するとスッキリするか…たしかに。

新時代の分散型SNS Nostr【最終回】Nostr botの作り方 ......mattn

  • botの分類からでした…!あんま考えたことなかったなぁ…。
  • マルコフ連鎖ボット…!
    • 入力元の限定方法で、リレーというのもあるんですね。
  • ああ、たしかにDockerに詰めれば実行させる場所に困らないかもしれません…!

なるほど納得Go言語【11】並行処理(前編)......崎原 晴香(H.Saki)

  • ゴルーチンはたしかに気になっているところです…。
  • なるほど、起動しかできないならだいぶ簡便になりますね…。
  • おお…OSスレッドの起動やプロセスのフォークがない…!
  • ゴルーチンの処理結果を受け取れないのもスゴイ…。
    • どうすんだ?と思ったら、チャネルでやり取りできるのだとか。
  • 制限を入れたことで、ロックなどがいらない、シンプルさが…。ちょっと使ってみたい気持ちになってきました。

Google Cloudを軸に実践するSREプラクティス【9】Datadogによるクラウド横断のモニタリング基盤 ......宮本 英和、(監修)キャディ株式会社Platformグループ

  • Datadog、よさそうですが、高機能すぎて…。
    • いや、料金プランが複雑過ぎて…よくわからんのかも。
  • なるほど、全部のログではなく、利用頻度の高いものだけ…!
  • ログをクラウドストレージに退避したり、戻したりできる機能はいいかも…。
  • 重大度…時間にするのはいいかも…。
  • alertに手順書のURLが添えられてくるのは結構いいかも…。

AWS活用ジャーニー【15】Amazon CloudWatch ......杉金 晋

  • もやもやっとしか使っていなかったので、大変ありがたいです…。
  • alarmをちゃんと使いこなしたいです…!
  • alarmの推奨事項…?あとで見てみます!
  • お…?自動ダッシュボード?あとで見てみます…!!

連載:OS/Network/Security

現場から学ぶAWSクラウドセキュリティ【4】発見的ガードレール ......花塚 亮祐

  • 定期的な設定の不備の検知…気になります。
  • Amazon GuardDuty、AWS Security Hub、AWS Configからがおすすめだそう…。やってみないと。
  • 運用が難しいのは…わかります。
    • 定期的なタスクにして、見続けるようにしてはいます。

魅惑の自作シェルの世界【13】リダイレクトの実装(その3) ......上田 隆一

  • もう13回なんですね。
  • 前から出てますが、フォークするものしないものがあって、結構難しく感じちゃいます…。

アラカルト

定期購読のご案内

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

  • 機械学習に特化したPython実装…。実装のバリエーションが出てくるのは、やっぱり利用者層の厚さを感じます。
  • 結構よさそうです。

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

  • Jabra Elite 4
    • これ、よさそう。
    • 2つのデバイスに同時に接続できて、スムーズに切り替わる模様…。
      • 今使っているのがイマイチなので、うらやましいです…。
    • 明確に片耳モードがあるのも◯。

SD BOOK REVIEW 

バックナンバーのお知らせ

SD NEWS & PRODUCTS

  • GitHub Copilot…気になっているんですが、なかなか…。評判はいいことしか聞いてないので…ちょっとやってみたい…が費用かかるしなぁ。
  • Fastlyもセキュリティレポートを出してくれるようになるのか…。CDNはこういうの出してくれて、助かります :pray:
  • ペン字…!こういった教本モノ、ちょっと憧れますね…。

次号のお知らせ

  • Visual Studio Codeのカスタマイズ…。
    • 基本的にがんばりたくないので、こういうのがタマにあると助かります…!
  • PostgreSQL16の新機能…!ざっと見ておくだけでも違うので、これも楽しみ。
  • 開発者体験改善クエスト?聞き慣れないけれど…ゆえに気になる!!

Software Design Plus

特別広報

Web3の新時代を拓くココネのエンジニアリング力を探る【6】『リヴリーアイランド』リブート後の改善への取り組み ......編集部

  • ある程度の規模だと、自社でサーバを見たほうが安いのかと思っていたのですが、もっと大きくなると、コストを払ってメンテしてもらうほうが安い感じでしょうか。
  • 毎回そうですが、広告だけどガッツリ書いてあって、結構好きです。