ken1flanのブログ

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

Software Design 2024/05 メモ

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

gihyo.jp

表紙

  • ハムスターになった…?!(これはこれでかわいい)
  • 猫からうさぎに変わったのも、5月だったっけ…?
  • 今年はげっ歯類…!ということは、そのうちにヌートリアとかカピバラとかも?

第1特集 型を制する者はTypeScriptを制す もっとTypeScriptの力を引き出そう 設計を変革するUnion型、構造的部分型

  • 型についてガッチリやってくれそうで、この先読むのが楽しみ…!

第1章:TypeScriptの力を引き出すための基本 普及した理由とメリット、学習の戦略 ......雫石 卓耶

  • 最初の問い、なぜAltJSを使うの?なぜTypeScript?はめっちゃ知りたいです…!
  • コンパイラによる解析・変換の際に詳しく見てくれるのは、助かりますよね…。
  • TypeScriptコンパイラ、静的解析ツールだと思って使ってもいいかも…。
  • なるほど、有効なjsは有効なts…これだと移行しやすいですね。
  • Union型、割といいかも…。
  • 構造的な型システム…なるほど、そういうものでしたか。

第2章:TypeScriptの型を正しく扱う JavaScriptと比べて学ぶ型表現 ......鹿野 壮

  • 連想配列を型エイリアスで使うと便利そうです。
  • コード補完とか、LSPのおかげかも。そうすると、これもMSのおかげかあ…。スゴイかも。
  • const myName = "鈴木" は鈴木型w
  • satisfies、ほしいのはわかるけど、書くのが面倒そう…。

第3章:Union型でより正確に設計する 型の表現力を高める使い方と設計パターン ......うひょ(鈴木 僚太)

  • Union型は便利そうですが…たくさんをUnionしちゃうと混乱しそうです。
  • リテラル + Unionは入力できる値を限定できて便利そう!
    • 鈴木型が活きてるんですね…!笑ってごめんなさい🙏
    • switchのnever型も、書き忘れが検知できてよさそう。
  • うーん、なんでクラスを使わないんでしょう🤔

第4章:構造的型付けで型同士の関係を操る TypeScript独自の型の考え方を知ろう ......suin

  • typescriptbook.jp
    • 確かにこのページ、つまみ食いっぽい…!
  • 構造的型付け……これが勘違いしやすいポイントなんだと思います…。気をつけます…。
    • うまく使うとなんかできそう感はあります。
  • Goも構造的型付け…たしかに採用しそう感あります。(なんでだろう?)
  • extends、あるにはあるんですね。やっぱ書きにくいですもんね…。
  • なるほど、構造的型付けを採用している理由、納得です。
  • テクニックで名前的型付けも使えるのは確かに魅力かも。

第5章:実践Mapped Types TypeScriptの型表現の真髄 ......mizchi(竹馬 光太郎)

  • 複雑なのか…やっぱり。
  • テスト駆動で進めてくれるのはありがたいかも。
  • …型を普段使っていないせいで、まったくピンときません…。
  • TypeScript使いだしたら、また読み直します 💦
    • 用法用量を守って…というのは、TypeScriptをやっている人たちでも難しいということですか…。
    • 慣れてきたら再チャレンジ!

第2特集 WSL、コンテナ、選択肢はいろいろ Ubuntuで開発環境を整備 現代的な使い方&24.04 LTSレポート

  • WSL2、気になってるんですが…今MacOS使ってるしなぁ…。
  • …にしても、楽しみな特集です。

第1章:開発環境としてのUbuntu Ubuntuの種類と活用方法をふりかえる ......水野 源

  • え…もう20年? さすがにそのときは使ってませんでした。
  • 「人にやさしいLinux」…そういうテーマだったんですね。たしかに最初からすんなり使えた気がします。
  • そうそう、タイムベースリリースとLTS。定期的なところがありがたく感じてます。
  • パッケージの分類、知りませんでした。サーバ用途のときには気をつけるようにします…。
  • Ubuntu Pro、個人で無償で5台…なるほど、試しやすそうです。
  • Ubuntu Core、知りませんでした。
  • あとでDev Containerをやってみます…。

第2章:Ubuntu 24.04 LTS Serverの変更点 AIや5G、自動運転などに活躍の場が広がる ......柴田 充也

  • Rustサポートが入ったんですね。メモリ安全性が動機…たしかに。
  • Ubuntu Pro、知らないと思ったら今回リブランドだったんですね。
  • LXDとIncus……使うときにはよく検討します💦

第3章:Ubuntu 24.04 LTS デスクトップの変更点 現代的な使いやすさを追求し大きく進化 ......あわしろいくや

  • インストーラ
    • Flutter…!なんかちょっとうれしい。
    • yamlで省力化…へええ!
  • アプリセンターもFlutterでリニューアル…。おお…。
  • フレーバーの存在を始めて知りました。
    • 軽いubuntuとして、lubuntuは使ったことがあったのですが…これがフレーバーだったんですね。

連載:Column

万能IT技術研究所【24】若者が作る新曲を聴きに未来の世界に行ってみる――バンド演奏動画から「~風楽曲」を機械学習で作り出す ......万能IT技術研究所

  • へええ……こんなことが機材ナシでできてしまうんですね……。
  • スコアも出ちゃうのか…そりゃたしかにできそうですが……。
  • うわあ…なんかスゴイですね…。

ハピネスチームビルディング【26】コミュニティに背中を押されてチャレンジする ......小島 優介

  • ちょっとわかる…。でも社外発表まではなかなかできませんね…。
    • 資料を作る時間がない…。
  • 気軽に読書会を公開で始めるくらいはできるようになりましたw
    • 人が集まりすぎずコンパクトで、割とよい刺激をもらえています。

エンジニアのためのやる気UPエクササイズ【21】エンジニアにおすすめの健康スナック3選 ......えくろプロテイン

  • 超加工食品……言い方はモヤモヤしますが、よくよく考えれば、加工をしてエネルギーを取り出しやすくしているわけであって…まぁ、普通ですよね…。
  • それを考えれば、加工が少なめのものなら、カロリーが低く抑えられるのも、また道理かも。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【149】シニアでもプログラミングができる! シニアプログラミング発表会#5 ......大菊 健太

  • senior-programming.net
  • うわ…SwiftUIでリニューアル…!リニューアルはスゴイ……。作って満足じゃないところがスゴイ…。
  • 88歳でプログラミングの旅を楽しむ…この方もスゴイ…。
    • あ、老眼とどうやって付き合ってるんでしょう?
  • マルチモーダル、結構スゴそう…
  • え…多言語化もやってる方がいる…!マヂかあ…!
  • 毎回シニアプログラミングの記事は驚かされて、元気をもらってる気がします…!

連載:Development

レガシーシステム攻略のプロセス【新連載】ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 ......高橋 智也、瀬尾 直利

  • VBScript…そうだったんですね!
  • 目的が…いいですね。
    • 技術のモダン化が採用強化に……なりますよね。
    • いくらなんでも、VBScriptよりJavaやGoのほうが扱えるひとが多そうですもん。
  • リプレイスの歴史を辿ると……
    • 商売がちゃんとうまく行くのが、まずは一番ですよね…という感じがしました。
    • その後はいい感じに目的を定めてリプレイスしていて、さすが…という感じに見えます…。
  • 事業開発を行ってきたチームがリプレイスをやりたいと何度もトライして挫折…。スゴイ気持ちがわかります…。
    • 前職もリプレイス専属チームで始めて、方向性が定まってきたところで、新しい機能を入れるときに一部ずつリプレースしてました。
      • 前職で、なかなか完了しなかったのですが…人数がいなかったからですね。
  • チームの担当マイクロサービス数を1…現実的なサイズ感に感じました。
    • 分割されている機能もなんか分かる感じです。
  • マイクロサービスに合わせた組織の変更も徐々にしていったというのは…なるほどですφ(・
  • コミュニケーション、今うちの会社もよくやるようにしてます。
    • 若干ポカーンとすることもありますが、なんとなく伝えることで、ふわっとでもわかってもらえている感があります。
    • テックブログ的なのもなんとかしたいところですが…明らかに無理>< 体がもっとほしい。
  • ADR、たしかによさそう…!
  • こうやってうまくいっているところから、かかっている期間や進め方の共有があるのが、本当にありがたいです :pray:
  • この先もたのしみ!

Databricksで勝つデータ活用【2】データエンジニアリングを実装する〜メダリオンアーキテクチャと探索的データ分析 ......宇田川 聡

  • バックエンドはApache Spark
  • Notebookに接続して使うとのことで、分析しやすそうです。
  • メダリオンアーキテクチャは参考になりそう…。
  • 各出力テーブルを作るときにバリデーションを設定できたり、エラー件数が出したりできるのはとてもやりやすそうです。

あなたの知らないChromeの世界【4】JavaScriptエンジンのしくみとV8 ......小河 亮

  • jsの歴史…。
  • 世代別GCRubyにもありますね。
    • ja.wikipedia.org
    • 結構昔からあるみたい…?
    • RubyKaigiを聴いててよかったかも。
  • V8も言語処理系だから、RubyKaigiでよく出てくる技術とかぶるのは当然かもです。
  • やっぱりここもV8以外がほとんどない…。やっぱ、大変ですよねぇ…。

Google Cloud流クラウドネイティブなシステムデザインパターン【4】MLOps機械学習パイプライン ......江藤 弘、監修:髙鳥 智正

  • まだMLOpsについて明るくないので助かります :pray:
  • 品質の監視が入っているのがよさそうです。
  • レベルごとにモデル化されていると、現在地の確認になっていいですね…。
  • システムの要件次第で必要なレベルも変わる…たしかに。

ぼくらの「開発者体験」改善クエスト【5】誰でもできる技術的負債の段階的な解決方法:Android編 ......石井 幸次

  • あんまり「開発者体験」という言葉自体は好きじゃないんですが……
    • この言葉だけを聞くと、開発者以外はナニソレ?って思われてそうだし…。
    • 実際は…
      • 開発はプロダクトやサービスにつながっている
      • 開発者は開発したいんだという気持ちが強いことが多いから、それを妨げるような状態は好ましくない。
    • 「生産性」とか「開発容易性」とかのほうが、開発者以外にもわかってもらえるかなぁ…。
    • …でも本当は、プロダクトや開発に関わっているひとみんな、開発者だっていう風に思ってもらいたいような…。
  • ブログ…!
    • tech.uzabase.com
    • 自分にも最近ようやくその役割がぼんやりとわかってきました…。
  • 役立った主な知識を挙げてくれるの、ありがたい…。
    • 依存性逆転の原則、ストラングラーパターン、Humble Objectパターン
    • 依存性逆転の原則
      • techracho.bpsinc.jp
      • …テスト書いててやりづらくなって、入れていることが結構あるような…。
      • でも、ダメなところもいっぱいあるので、気をつけます。
    • ストラングラーパターン
    • Humble Object
      • これも自然に使っているような…。
    • 見てきたけど…自分だけじゃなくて、みんなとなると結構たいへんだぞ……。
    • 置き換え対象に一律、legacy〜という名前に変えちゃうのは割といいかも。名前を見ただけで使わないようにしてほしい、という意図が伝わります。
  • 非常に興味深かったです、ありがとうございます!

実践データベースリファクタリング【6】書き込みの負荷を抑える ......曽根 壮大

  • とにかくスケールアップって……まぁ、お金があるならできますか……。
  • スケールダウンが怖い…これはわかります……。
  • ライフサイクルの違うデータを垂直分割…。これは確かにそうですね。構造もきれいになるし、めちゃくちゃよさそうです。
  • 水平分割、地域を使うという手もあるんですね…なるほどです。ほかにもいろいろ考えられそう。

Cloudflare Workersへの招待【6】エッジとHTTP Caching ......井手 優太

  • CDNのエッジコンピューティングでキャッシュ……複雑な話でした……。

実践LLMアプリケーション開発【8】マルチエージェントシステム開発ライブラリ「LangGraph」 ......西見 公宏

  • 複数のAIエージェントが協力して…?なんかすごいですね…。
  • モデル図を見ると、ワークフローなのか、なんか面白い感じがしてきました…。
  • 実装をみても、なんか不思議な感じ…。ちょっと遊んでみたい気持ちになってきました。

MLOpsのすすめ【最終回】機械学習の使い道と運用 ......澁井 雄介

  • 最後、ざっとAI関連の現状やMLOpsのまとめでざっと振り返れて、よかったです。
  • 門外漢なりに少しわかってきたような気がしました。
  • 連載、ためになりました、ありがとうございました!

位置情報エンジニアリングのすすめ【最終回】防災マップの作成 ⑤ 避難所の検索 ......小松 聖

  • 動いているのを見たら…すごいですね…。
  • 作るときにまた読み直そうと思います。
  • 位置情報の扱い方をやんわりと知れてためになりました、ありがとうございました!

AWS活用ジャーニー【20】Amazon Lightsail ......杉金 晋

  • Lightsail!!
  • ちょうど気にしていたところでした😃
  • Wordpress、どうしようかなぁ……。
    • 機能的にはS3+CloudFrontでもいいんだけども…移行が大変そう……。

連載:OS/Network/Security

ドメイン解体新書【4】ドメイン管理におけるセキュリティ ......谷口 元紀

  • 初っ端、ドメインの支払いが個人のものになってませんかって……ありそうでコワイ((((;゚Д゚))))ガクガクブルブル
    • 管理のスキマ的なところがいっぱい上がってて、うわあ…的な。
  • …しかし、たしかにここがもっともヤバいところですね…。
  • ドロップキャッチとバックオーダリング…うはあ…こんなのもあるんですね…。
    • 空いたらすぐ取りたいって、ロクな用途がないと思いますが……違法じゃないし……。
  • 今回、これ、めっちゃためになりました…!

魅惑の自作シェルの世界【18】ジョブの制御――ジョブテーブル ......上田 隆一

  • ゾンビだらけにしないぞってなったら、やっぱりテーブルを作って管理しますよね。

アラカルト

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

SD BOOK REVIEW

  • 面倒なことはChatGPTにやらせよう
    • www.kspub.co.jp
    • 評判がよいので気になってて、でもまだ買ってませんが…迷うなぁ…。
  • Flutter実践開発

    • gihyo.jp
    • ハンズオンがよさそうなんですよね……。まよう……。  

      SD NEWS & PRODUCTS

  • Hinemosのシステム運用AIアシスタント

    • …めっちゃ気になります。AWSにつけてくれんかなあ…。
    • あ、監視しているログとかの異常検知とかじゃないのかな…。
    • でも、おもしろい試みなので、楽しみです。

次号のお知らせ

  • RDBMSの実行計画とインデックス…気になります。
  • Bun?これも面白そうですね…。j