ken1flanのブログ

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

Software Design 2024/03 メモ

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

gihyo.jp

表紙

  • 実践ガイドのオレンジは、人参のオレンジと同じ…?
  • 全体的に落ち着いた色で結構好きかも…。

第1特集 どうやって実現する? ドメイン駆動設計[実践]ガイド 理論の先にある応用力を身につけよう

第1章:ドメイン駆動設計の概要 本来の目的を再確認し、軽量DDDから脱却する ......増田 亨

  • 今、「良いコード悪いコードで学ぶ設計入門」読んでますが…あまり意味が説明されずに軽量DDDのあたりをやっていた感じかもしれません。
  • この章を読んで、「良いコード〜」のテクニックがなんのためにあるのか、少しわかった気がしました。

メモ - ドメイン駆動設計だから、領域の知識である業務ロジックに焦点を当てるのは自然ですよね。 - 競合他社と差別化するために、簡単に真似できない独自のやり方を工夫……複雑になりやすい要因がコレですか。ちょっと納得しました。 - 役に立つソフトウェアは新たな要求を呼び寄せる……たしかにそう、だから変更しやすくリファクタリングしよう、ということですか。 - リファクタリングはモデルの改善とコードの改善が双方向…わかる…。だから、ちゃんと一致させよう、ということですかね。違うとハマりますからね…。 - 戦術的設計がDDDの基礎を作る……なるほどです。基礎だからそれだけ取り込むこともできるっていうことでもあるんですかね…。 - 土台部分をやってその後へ進まないから、軽量DDDとちょっと嫌な感じで言ってるのか、早く進めよと…。 - ユビキタス言語、辞書とはちょっと範囲が違うみたいですね。全部じゃなくて業務ロジックを正確に記述できるところまでだから、少し狭くてもいいみたいです。 - ユビキタス言語の登録単語と値オブジェクトが紐づくのか…ちょっと価値が見えてきました。 - 「良いコード悪いコード〜」 - 値オブジェクトを抽出しろっていわれてたけど、イマイチ良さがわからなかったんですが…ユビキタス言語と紐づくなら、ちょっと可能性を感じます…。 - コアドメインリファクタリングを継続的に…なるほど、全部じゃキツイですもんね…。たしかに一理あります…!

第2章:ユビキタス言語 定義と効果を理解してチームで実践してみよう ......大西 政徳

  • エンジニアとドメインエキスパートが議論を交わすためのツール…!と目的をはっきりさせると、どれくらいがんばればいいのか、力加減が見えてきて、ちょっとやってみたい気持ちになりました。
  • ユビキタス言語管理ツールとかないのかな…?
    • Notionでいけそうかも?
      • AIにユビキタス言語にある単語を強調表示してくださいって頼んだのが↓ですが、ここから外れている単語についてまた考える、みたいにすればよさそう。
    • ユビキタス言語の管理をNotionで

メモ - 「ドメインエキスパートの知見を借りやすくするツール」 - 1章で読んだときになんとなく思ってたことでした。 - 続きが気になります…。 - コラム、めっちゃわかります!ドメインエキスパートの話をちゃんと聴き込むといいアイデアも出るし、どういうものを作ります、的なことも話すので、出来上がったあとも使ってもらいやすい気がしてます。 - 「ドメインエキスパートを任命してください」と言ってみるのもいいかも?責任感が出そうです。 - よく、ふにゃふにゃ答えられて聞き出すのが大変だった記憶が…。 - あなたはプロフェッショナルです、という名前をつけると、権限が渡されて、ちゃんと役割を認識できるかも。 - 用語集、利用するほうは理解できるのですが…更新し続けるイメージがなかなか…。 - 開発するときに必要だからそのときにメンテナンスする、くらいなのかも? - 面談と面接の意味の違いがあるとは……。 - うーん…ドメインエキスパートがここで出てきたユビキタス言語をちゃんと使ってくれるのかが微妙…? - ユビキタス言語管理ツールとかないのかな…? - Notionでいけそうかも? - AIにユビキタス言語にある単語を強調表示してくださいって頼んだのが↓ですが、ここから外れている単語についてまた考える、みたいにすればよさそう。 -
ユビキタス言語の管理をNotionで
- あとの言葉と被らないような言葉を選ぶ……だいたい選ばれてないんです、引き継いだときには。 - あんまり登録語数を増やしすぎないほうがよいみたいですね…。 - エンジニアとドメインエキスパートが議論を交わすためのツール…! - ドメインモデル図として管理…!開発中はちゃんとメンテナンスされそうです。

第3章:イベントストーミング ドメインを解析してモデルを形作る ......成瀬 允宣

  • 実際に開催するとかなり時間がかかりそうで、今だとここまでできなそう…。
    • もっとも、自分もぼちぼちドメインについて詳しくなっているので、だいたいわかるというのもありますが…。
  • 何かで最初作ってみようかな…。イベントストーミングとして開催するのは良さが確実にわかったあとかも。

メモ - 実際に開催するとかなり時間がかかりそうで、今だとここまでできなそう…。 - もっとも、自分もぼちぼちドメインについて詳しくなっているので、だいたいわかるというのもありますが…。 - イベントを書き出す作業、有効そう…。 - 例の「サーバの準備が完了した」は、そんなのいる?って思いましたが、故障などのイベントも漏らさず知っておきたいだろう気がしたので、よい!と思い直しました。 - ホットスポットの考え方はイベントストーミング内だけじゃなく、他でもやりますね。 - 「一旦issueに書いて、あとでちゃんと時間とってやりましょうか」 - 起票した人との主観でざっと議論で大事かもと思ったことを軽く添えられるとよい…。 - 何かで最初作ってみようかな…。イベントストーミングとして開催するのはそのあとかも。

第4章:イベントソーシング イベントストーミング図を基に実装する ......成瀬 允宣

  • イベントストーミングで分析した結果をそのまま持ち込めるのは、ちょっとおもしろそうに感じます…。
  • うちでも一応入れられそう…。
  • 事例もぼちぼち出ているような気がしますが…うーん…どうだろ?

第2特集 使って試す 次世代高速RDB「Tsurugi」 基本の使い方から応用技術まで

第1章:コンソールからTsurugiを扱う 次世代RDB超入門 ......神林 飛志、菱田 真人

  • 何度か特集されてきてて、ずっとドキドキしてる、よさそうなDBMS…!
    • なのに、仕事ではそのポテンシャルを活かせるような規模のものがないのが悲しいです…><
      • db.t4g.smallで十分…
      • コア少なめ、メモリ貴重、ベースはディスク…。
  • こういうのを見ると、ちょっと大規模なデータベースにあこがれちゃいますよね…。
    • 前々職のときは大きいのをさわれてたけど、当時はOracleスゲェでした。

第2章:簡単なWebアプリでTsurugiを使う 高レベルAPI「Iceaxe」による操作を体験 ......青江 崇、中澤 杉夫

  • Iceaxe → ピッケル
    • 剣岳を登るのに使うのかしら…。
  • createQuery / createStatement と早い段階でただの問い合わせか更新か分けているの、いいですね。(あんまり直接JDBC使ってないもので…普通なのかしら…。)
  • 読んでいて、特別感がないように見えました。
  • …つまり、実装する側からすると他のものと変わらず利用できるのに、速いってことですよね。
  • めちゃくちゃありがたい気がします…!

第3章:PG-Stromを用いてTsurugiのデータを分析する GPUの並列処理とNVME-SSD直接読み出しで高速化 ......海外 浩平

  • www.heterodb.com
    • strom → ドイツ語で大河
    • PostgreSQL用のもの?
    • 期待させてくれますね…!
  • あれ…でもdumpしてるから、直接tsurugiから扱うわけじゃないのかな…?
  • …とはいえ、GPU-Direct SQLスゴイですね…!

連載:Column

万能IT技術研究所【22】見えない宇宙を見通せる天体望遠鏡の作り方――始めよう! 天体観測……電波望遠鏡からガンマ線まで ......万能IT技術研究所

  • オープンにされている宇宙の写真をちゃんと座標に配置して、それをスマホで覗くように見る…。これはいい体験だと思います。どこも作ってないのかな…?
  • あ…ライセンスの問題もあるんですね…。

ハピネスチームビルディング【24】マネジメントのやり方や考え方を記事に書こう ......小島 優介

  • いずれも納得のメリット、同意です。
  • センシティブな話題が混じらないようにするのが大変そうですが、どうしているんでしょう?

エンジニアのためのやる気UPエクササイズ【19】エンジニアにやってほしい自宅エクササイズ3選 ......えくろプロテイン

  • この連載のおかげで、なんとなくスキマスキマで体を動かすようになっている気がします。
  • 部屋が狭いから、あんま派手なのはやりませんが…。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【147】たとえば「ドラ娘システム」をアプデしてみよう〜テックコミュニティとジェンダー〜 ......今村 かずき、古川 泰人、武貞 真未

  • ドラ娘システム…?そりゃたしかにアレな気がします💦
    • いつしか自分も叩きたいと思ってたのに、そんなハードルがあったとは…。
    • たしかに旧バージョン感あります。
      • 自分はLT初期の記憶しかなく、司会者がやっていたイメージでした。もっと古いバージョンだったかも…。
  • リアルイベントはイノベーションとアンコンシャス・バイアスという諸刃の剣を持ち合わせている…たしかに。
  • すごい、あの女性がたくさん入っている理事会は時間がかかります問題に対して、テックによる提案を出したということか…!
  • チェックリスト、いいですね。自分も見直します。

連載:Development

あなたの知らないChromeの世界【2】Chromiumとは ......小河 亮

  • Chromium、動画/音声のコーデックが一部使えないのは知りませんでした。
  • ホントあちこちで使われていますよね。
    • メジャーなブラウザはBlinkばっかですね…。
  • Edge、ウィンドウ分割とかあるのか…。
  • 新しいのは厳しいかと思ってましたが…希望が…!

Google Cloud流クラウドネイティブなシステムデザインパターン【2】高いシステム要件を求める大規模システム ......北野 敦資、(監修)阿部 正平

  • AWSやAzureのk8sクラスタも管理対象にできるって…GKE Enterprise、スゴイですね…。
  • ううむ……デカいシステムを相手にするのもたしかにおもしろいかもしれません…。
    • いま、めっちゃコンパクトなんですよね。

ぼくらの「開発者体験」改善クエスト【3】クラウドらしいリリースフローを目指すデプロイエンジニアリング ......武藤 雅幸

  • リリースがめっちゃ大変そう…。こんなに縛られてたら、確かにツライかも。
  • 「新しい何かを作ることに注力する時期」…まぁ、わかります。
  • CTOはどう説明して開発生産性に舵を切れたんでしょう…?
    • うちは人数が少ないので、朝のミーティングでだいたい語れてしまってるので、ちょいちょいメンテナンスを挟めていますが…。
  • 「プッシュを止めるな!」…いいプロジェクト名ですね。楽しさがあってめっちゃいいです!
    • ビジネス的にもプッシュが止まると結構な痛手になるのかな、とも想像してます。
  • タグでリリース…結構よさそうと思ったんですが、最近はあんまやらないんですかね…。
  • E2Eテスト、いいなぁ…。
  • かなりドラマチックですね…。かっこいい…。
  • ウチもガッツリデプロイのプロセスを弄りたい…。

実践データベースリファクタリング【4】検索フォームの混沌 ......曽根 壮大

Cloudflare Workersへの招待【4】HonoではじめるCloudflare Workers ......福岡 秀一郎

  • エッジで何でも動いちゃうなんて…。
  • hono.dev
    • 炎なのかー。
    • CDNエッジ向けな特徴…!
      • Node.js以外のランタイム上でも動く!
      • 速い!
      • 小さい!
    • ちょっと興味が出てきました…!

実践LLMアプリケーション開発【6】LangChain安定バージョンの発表とLangChain Expression Language ......西見 公宏

  • 今までパッチバージョンで来ていたとは知りませんでした…。これからもう少し変更が穏やかになるとのこと、自分が使うときに少し安心かも。
  • なるほど、条件によってチェーンを分岐みたいなことができるのはおもしろいかも…!

画像解析AIの作り方【最終回】さらなるモデルの改善 ......髙木 優介

  • なるほど、改善方法が興味深いです…。
    • 教師データを増やす、最適化アルゴリズムの変更以外に、モデルの選定が…!
    • 教師データを増やすのを擬似的に…。
      • 回転、拡縮、コントラスト変更…
      • なるほどすぎます…!
  • あんまり知らなかった分野の話で、めっちゃおもしろかった、ありがとうございました!

MLOpsのすすめ【8】機械学習の引き継ぎ ......澁井 雄介

  • この連載の最初、今号の位置付けを話してくれるので、よい感じがします。
  • 引き継ぎを責任/課題解決能力/維持に分けて成否を判定するのは結構よさそうです。機械学習に限らなそうです。
    • 「責任が特に大事」というのはスゴく納得…。引き継ぎをするときには気をつけようと思います。
  • 「当たり前」のことが多いですが、それがなかなかできないんですよね…。ちょっとずつやろ…。
  • データの管理!たしかに難しそう…。
    • AWS Glue Data Catalogというサービスがあるんですね…。

位置情報エンジニアリングのすすめ【8】防災マップの作成③ ポップアップ機能による地点の情報表示 ......小松 聖

  • タップしたら情報が出るのって、直感的でいいですよね…。
  • ううむ……楽しそう、作りたい……。

AWS活用ジャーニー【18】AWS IAM Identity Center ......杉金 晋

  • 複数のアカウントを運用…。
    • 今うちはそうしていませんが…最近は各環境ごとに細かくアカウントを分けているようなので、そのうちに検討しないとなぁ…。
  • 1つのアカウントで複数の権限をユーザにアサイン?そんなことができたんですね…。結構よさそう…。
  • 一時資格情報?いいですね、これ…。
  • IAM Identity Centerもやっぱりterraformでできるっぽい!
  • 外部ベンダーに権限承認を管理してくれるサービス…
    • www.cyberark.com
    • いいなぁ…!と思いますが、うちじゃ人数少なすぎて…。
    • 覚えておきます!
  • 緊急時に赤い消防斧で出たりすることをイメージした「ガラス破りアクセス」
    • ちゃんとアクセス制御を作り込んだうえで、有事の際にどうするか?みたいなことを考えておくとよさそう、的なものでしょうか。
    • ちょっと覚えておいてもいいかも。
    • 普段からガラス破り的なのは避けたい…!

連載:OS/Network/Security

ドメイン解体新書【2】DNSの基本 ......谷口 元紀

  • 確かにこのあたり、仕様がバンバン変わったらヤバいですよねw
  • hosts.txt…DNSを準備する前は寮内LANで使ってました。なつかしい…。
  • リソースレコード
    • AAAAレコード、あんまり見覚えが…と思ってたら、IPv6用のAレコードなんですね。なるほどです。
    • HTTPSレコード???おお知りませんでした…!
  • キャッシュサーバ、あんまり細かく知りませんでした。
    • TLSの秒数だけ覚えといてくれるヤツ…。

魅惑の自作シェルの世界【16】プロセスグループとフォアグラウンドプロセス ......上田 隆一

  • フォア/バックグラウンドの違い、そういえばちゃんと知らなかったです…!
  • ls -l /proc/$$/fd を見ようと思ったら、macOS、そもそも/procがないです…。
    • superuser.com
    • lsof -p $$ で見れました。
      • list open files
      • lsof -p $$

アラカルト

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

  • 気になってました…!
  • この手の動きがいいのか悪いのか…なんとも判断できない感じですが…。
  • 競ってよい感じになってくれればありがたいです。。。

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

  • 高性能ミニPC「UN1245W」
    • 小さいっていうだけでかなり憧れが…。
    • メモリも十分だし、かなりよいのでは…?
    • www.links.co.jp
  • 精密ドライバーセット「126 CYLINDER」
    • 120個のビット!絶対使わないけど……欲しくなってしまう…。
    • 会社のプレスリリースのリストで「ロマンぎっしり」…わかってしまう…。
    • www.area-powers.jp

SD BOOK REVIEW

  • サイバー攻撃から企業システムを守る!OSINT実践ガイド
    • info.nikkeibp.co.jp
    • 世の中で公開されているいろいろな情報源からセキュリティ情報を収集…スゴく地道な作業に見えます…。
    • 中国、ロシアの事例…!
    • どんなことが書いてあるのかちょっと気になります…。
  • ゼロから学ぶ Flutterアプリ開発
    • gihyo.jp
    • よくお見かけするkboyさんの本。
    • flutterの本を見るたびにやらねば…という気持ちがもたげるけど…時間が><
    • 自分はもしかしてこっちのほうがいいかも…?

SD NEWS & PRODUCTS

  • 医療AIは期待大ですね…。
    • 必要となる知識量が半端ないので、そのあたりをうまくカバーしてもらえると、めちゃくちゃ助かる気がします。

次号のお知らせ

  • Linux基礎知識50
    • 購読するようになって、知識をアップデートする機会になってめっちゃ助かります。
  • 今こそ知りたいテクニカルライティング
    • ああ、気になれど、毎回なんもしてない><
    • 仕事でちょいちょいテキスト書くけど、伝わってるのかなぁ…。
    • 楽しみにしてます…!
  • Databricksで勝つデータ活用
    • www.databricks.com
    • これかしら……全く知らなかったので、ちょっと楽しみ!

特別広報

グローバルへ挑戦するココネのエンジニアリング力を探る【9】スケールしても開発に専念できる組織体制に ......編集部

  • 技術を担当するテックリードとマネジメントを担当するエンジニアリングマネージャーを別に立ててるそう…。よさそう。
    • テックリードがマネジメントで忙殺されないのが結構よさげ。場合によっては離職しちゃうかもだしなぁ…。
  • ごはん…おいしそう(^q^)