ken1flanのブログ

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

Software Design 2023/11 メモ

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

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

全体を通しての感想

  • Dockerをまだ導入したいとうっすら考えていたので、理想的なDockerfileの書き方とか、自動レビューに使えそうな脆弱性診断とか、かなりありがたいです。
  • 稼げるアプリ…は三者三様で、別にこうでなければイケないわけでないことがわかってよかったです。
  • Stable Diffusionのimage2imageは仕組みがわかって楽しかったです。
  • AWS GuardDuty、操作履歴やネットワークの通信ログをモニタリングして、不審なアクティビティを発見…?!正直細かくログを見ることができてないので超使いたい!

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

  • 実際に使われている方へ…Docker特集、どうでした?
    • これに加えてこんなことやってます。
    • これはちょっと難しくて手が回ってません。
    • これはここまでやらなくてもいいんじゃない?

表紙

第1特集 とりあえずで済ませない 理想のコンテナイメージを作る Dockerfileのベストプラクティス

  • めちゃ気になりますね…。
  • 絵はザトウクジラかなぁ?

第1章:理想のコンテナを目指す基礎知識 3つの視点とDockerfileの基本を押さえる ......田中 智明

  • セキュリティ
    • あー…確かにコンテナエンジンに脆弱性があったら、ホストに危害を加えられますね…。
    • root以外で実行していると、コンテナエスケープするために、rootになる必要が出て、やりにくいとのこと
    • distroless?
      • 確かによさそうだけど…どうやってやるんだろ?
  • 可搬性
    • テストで使ったコンテナをそのまま本番に持っていくの、めっちゃいいですね。
  • マルチステージビルド、まだなんかピンときてないですが、だいぶよさそう感がひしひし…。
    • 基本的には前のステージで作ったものを置きっぱなしで、必要なものだけ新しいところに持ってくるイメージですかね…?
    • スリムな本番用と、あれこれ入ったままの開発用を同じDockerfileにするにはどうしたらいいのかな…?

第2章:Dockerfileのベストプラクティス 公式ドキュメントのガイドラインをひも解く ......前佛 雅人

  • docs.docker.jp
    • あった!
    • 存在を知らなかったので、だいぶ助かりました。
  • 読みやすくて、少し理解が進んだような気がします!
    • 前の章でちょっと出てきてよくわからなかった、マルチステージビルドもなんとなくわかってきました。

第3章:ベースイメージの選び方 セキュリティと効率のために意識したいポイント ......水野 源

  • Official Imageはなんとなく知っていましたが、Verified Publisherは見たことはあったかも知りませんでした。そういう違いがあったとは…。(どっちも信頼できるけど。)

第4章:コンテナイメージ作成に役立つツール Docker DesktopやVS Codeを活用しよう ......遠山 洋平

  • 脆弱性診断のDocker Scout、ファイルサイズ改善のために使えそうなDive in…結構いいですね。
  • Hadolint…そんなものがあったとは!めちゃいい!
    • なんでもかんでも、バリデータを一応探してみる、という癖をつけたほうがよさそう。

第5章:コンテナイメージのセキュリティ フェーズ別セキュリティリスクと対策方法 ......森田 浩平

  • タイポスクワッティングという言葉があるんですね…。
  • 脆弱性診断のTrivy、結構よさそうですね。実施タイミングも書いてあって、助かります。
  • --mount=type=secretというのがあるんですね…。
  • コンテナのメタ情報があるおかげで、SBOMとかも作りやすいんですね。
  • 割と監視監査もしやすそうで、よさそうです。

全体を読んで

  • うちの会社ではDockerを使ってないのですが、使う必要に駆られつつあります…。
  • そんなところに、こういったよいコンテナを作る指針が書かれた特集はとてもありがたかったです。

第2特集 稼げるアプリを作りたい!個人開発 成功の必須条件 成功者が心がけていること・実践していること

第1章:最速で開発/リリースして需要を見極める 売れるプロダクトはどうやって生まれる? ......ちぇん

  • こりゃスゴい…。
  • マッシュアップする道具を常にリサーチされてるんでしょうか、解決方法につながるものをサッと見つけている気がします。

第2章:長期的視点でスモールビジネスを続ける まずはモチベーションを維持して作り切ろう ......渡邊 達明

  • 個人で一通り作ってみるといろいろ体験できる、というのはスゴく同意。
    • 運営し切る自信がないので、やらないですが…。
  • でも、読んでいるうちにまた作りかけていたものを再開したくなりました。
  • 時間は…家事の合間かなぁ…。
  • Googleは18番目の」
    • イデア被りは気にしても仕方ないって思えましたw
  • 恥ずかしがらずに宣伝をする
    • これ、スゴいハードルだと思ってます…。
  • 運営者ギルドの方だったんですね。
  • バージョン履歴が広報…なるほどです…。

第3章:1つのアプリをじっくり育てる 自分の「好き」を追求する ......あたか

  • 副業禁止を盾にアプリ公開停止を迫られるって…だいぶひどいかも…。
  • 世界情勢に左右されるんですか…。
  • 割と小さく目の届く範囲でやられているようで、ちょっとやってみたくなりますね…。
  • スゴく真っ当な感じが…個人ならでは!を大事にされてそう。

全体を読んで

  • 三者三様でした。誰かを真似するではなくって、参考にしながら、自分にあったものを取り入れてもいいのかな、という気持ちになりました。
  • 結構貴重な特集で、ありがたかったです。

一般記事

[特別企画]追悼 Bram Moolenaar Vimへの情熱と貢献を振り返る ......mattn

  • Bramさんの人となりが伝わる、よい記事でした。
  • vimの開発もちゃんと続くようで、こちらもとても安心しました。
  • 自分もサーバ上でテキストを編集するときには必ずvimで、とてもお世話になっていました。
  • 安らかな眠りにつかれますよう、お祈り致します。

連載:Column

平林万能IT技術研究所 2ndシーズン【18】美術鑑識探偵風「油絵のひび割れ」鑑賞法――Python+画像処理で名画の裏側を推理しよう! ......平林 純

  • 油絵のひび割れを鑑賞するって…。ニッチな!
  • ひび割れを検出←筋や畝のような洗浄部分を抽出←近傍の色に対し急激に明暗が異なる部分を目立つように
    • 線画抽出のときにこうやればいいのか…。
    • …というか、なんでこんなに詳しいの…?
  • 木版の木目が見えるって…。
  • フェルメールの贋作の話が出てくるとは…。
    • 究極のなりきり贋作じゃん…。
  • この記事、オンライン美術館とめっちゃ相性がいいですね…。

ハピネスチームビルディング【20】ドラッカー風エクササイズでお互いの期待を理解する ......小島 優介

  • やってみたいが…チームメンバーがほぼいない……。
    • 自己開示はしてもいいのか。
  • いいなぁ…。やってみたい…。

エンジニアのためのやる気UPエクササイズ【15】生産性を最大化する休憩のとり方 ......えくろプロテイン

‐ マイクロブレイク、たしかにわかる感…。 - ちょっとマッサージクッションで5分くらいグリグリしてると、急にスッキリしますもん。 - ストレッチもよさそう。

ひみつのLinux通信【117】なぞなぞ ......くつなりょうすけ

  • 回答に迷いがなくてスゴい…。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~【143】済州島に東アジアのシビックハッカー大集合! ......武貞 真未

  • 海外のハッカソン!…いいですね。
  • 海外の方とのコミュニケーション術を、国内のコミュニティのコミュニケーションに役立てられる…。
    • 言葉や文化の壁が少しあるから、気を使って説明を多くするからかな。
    • なるほど、ちょっと想像がつきます。いいですね。
  • サミット…!確かに海外からも来てくれるからいいかも。

連載:Development

Stable Diffusionで学ぶ画像生成AIのしくみ【6】img2img ......國田 圭佑

  • image2image、使ってみたいんだけど、どうやったら…。
  • ランダムノイズではなく、元画像にノイズを掛けて作るんですね。
  • うーおもしろそうだなあ…。あとで絶対やろ。ほしいもん!

  • 打ち込んでやってみましたが…これ、難しいですね…

    • プロンプト = Pencil drawing, monochrome, A man riding a Harley Davidson.
    • ハーレーに乗る男(オリジナル)
    • ハーレーに乗る男(0.5)
    • ハーレーに乗る男(0.7)
    • ハーレーに乗る男(0.9)
    • ハーレーに乗る男(1.0)

実践LLMアプリケーション開発【2】ベクトルデータベースを活用したチャットボットの開発 ......西見 公宏

  • 会社の独自情報を持たせたチャットボットも作れそうなことがわかりました。
  • うぬぬ…やってみたいけど、利用する場面がまだ思いつきません……。

画像解析AIの作り方【2】AIモデル構築の要件定義 ......髙木 優介

  • AIモデル開発では期待値がとても高い状態で話がスタート …ですよね…。
  • 進め方が具体的で参考になります…。
  • 作成・維持のコストが掛かるので、AIなしでできるかどうかを最初に検討…。こういう指針はありがたい感じです。

MLOpsのすすめ【4】MLOpsのための技術選定 ......澁井 雄介

  • 技術選定の話、参考になりました。
  • jupyter notebookで開発するんですね。どうやっているのかなぁ…とは思ってました。他の道具も知りたいです…!

位置情報エンジニアリングのすすめ【4】Web地図を作ってみる(前編) ......鈴木 祐亮

javascriptにも道具が随分揃っているんですね。確かにいろいろできそう…。 - web版は自分でデータを軽くする必要があり…ますよね。自分で描画してるんですもん。 - デスクトップでいろいろ試してからやるのかな…。 - 今後の連載で触れるとのことで、楽しみにしてます。

新時代の分散型SNS Nostr【5】作ってわかるNostrプロトコル ......設樂 洋爾

  • コマンドをインストールすれば試せるのはありがたいです。
  • 購読ってなんでしょうって思ってたら…なるほど。
  • typescriptとdeno使ってる…!
  • 低レイヤのライブラリだけじゃなくて、高レイヤのもある…!

Google Cloudを軸に実践するSREプラクティス【8】Anthos Service Mesh入門 ......前多 賢太郎、(監修)小森 裕介

  • サービスメッシュ…まだ早いんですよね……。
  • 早く大きくしてやらねば…。

なるほど納得Go言語【10】Goにおけるエラー処理(後編) ......崎原 晴香(H.Saki)

  • エラーが日常的であれるように、だいぶ使いやすいように揃っているように見えます。
  • 型ありnil、結構落とし穴っぽいですね…。自分もミスりそう…。
  • defer内のエラー、たしかに握り潰しちゃいそう…。いなし方を書いてもらってて助かる感。

AWS活用ジャーニー【14】Amazon GuardDuty ......杉金 晋

  • aws.amazon.com
  • む…!操作履歴やネットワークの通信ログをモニタリングして、不審なアクティビティを発見…?!正直細かくログを見ることができてないので超使いたい!
  • 既存の設定を弄らなくても使える…?これは結構イケていそう…。
    • リージョナルサービスか…。
  • 脅威カテゴリ見るとブルブル震えてしまいます…((((;゚Д゚))))ガクガクブルブル
    • …わからんよりいいか…。
  • インフラ作業で検出されてしまったものをアーカイブできる…!安心して作業できるようでよかった…。
  • Slack通知の例は助かる…!みんなの見えるところにアラート出せると、ホント、自分の慌てっぷりの理由がなんとなく伝わってくれていいから…。
  • う…ちょっと対応できてないのもある…?でもIAMとか操作ログを見てくれるならいいか…。

連載:OS/Network/Security

現場から学ぶAWSクラウドセキュリティ【3】ガードレール型運用の基本と構築 ......花塚 亮祐

  • ガードレール型…たしかに毎回チェックされるよりはスムーズに行ける感じですね。
  • あー…ガードレールを作るのが大変かあ……。
  • IAMでサービス用のロールとかアカウントに必要な権限だけ与えて…みたいなのはガードレールの一種かな…?
  • 5つのSCP、やってもよさそう。現実的に見えます。
  • 次号の発見的ガードレールも楽しみにしてます!

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

  • こうしてみていると、シンプルに見えるシェルも本当はめちゃくちゃ機能が多いんですね。
  • パーサーの挙動…わかるような…しかし、現象から追っかけるの、スゴいなぁ…。
  • >>>>の間に改行挟めるの…?!
    • >と>の間に改行が可能
    • ホントだ…。

[Ansible]現場を支えるPlaybook【最終回】自社研修の環境構築を自動化して研修の質を向上 ......長谷川 脩

  • 研修の環境構築……そりゃ大変そう……。
  • Dockerでやろうとして、Dockerのエラーで結局Docker研修に……想像が容易についてしまいますね…。
  • chefでもできるけど、より経験者の多いansibleで自動化。
  • これで1日の研修のうちに2時間浮いたのは結構いいですね…。

アラカルト

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

  • bun.sh
  • node.js以外も出てきて、結構いい感じですね、js。
  • Zigで実装…。
    • 聞いたことがあったけど、ちゃんと知りませんでした。
    • C/C++、Rust、Goあたりと近そうですが、低レイヤーが好みっぽい?
    • ziglang.org
  • typescript/jsx、npm/yarn、jest互換テストランナー…必要なものが揃っていそうです。
  • 割とよさそう。

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

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

SD BOOK REVIEW

SD NEWS & PRODUCTS

  • Bluetooth SIG、ネットワーク証明制御用のフルスタック標準規格を完成
    • 標準規格が決まると、いろいろと弄りやすくなりますね。
    • いろいろな製品やアプリも出てくるかな。
    • 今後がちょっと楽しみです。

次号のお知らせ

  • 開発を加速するCI/CD
    • 一回設定しちゃうとなかなか見直さなくて…。
    • 特集されるとじっくり読めるので、楽しみにしています。
  • ChatGPTを組み込んだサービスを開発する
    • どうやって利用されてるんでしょう…。気になります。
  • 新連載 実践データベースリファクタリング
    • あ!見覚えあるタイトルだと思ったら、Web+DBからの移籍!楽しみにしてます!

特別広報

Web3の新時代を拓くココネのエンジニアリング力を探る【5】歴史ある「リヴリーアイランド」がスマホアプリで再出発 ......編集部

  • 他社の元人気サービスの再出発…。
    • 同一社内だと難しかっただろうから、よいところに拾われた感。
    • ユーザは…さすがに引き継げないか…。
  • 元はFlash…!さすがに作り直しですね…。
  • 想定を上回るダウンロード…うれしい悲鳴ですね。
    • DBがネックでも、ちゃんと冗長構成になってたおかげで、よく読むと普通にスケールアップできてますね。
      • 普通が大事!