ken1flanのブログ

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

「プリンシプル オブ プログラミング」読書会 第5回を開催しました

academist-reading.connpass.com

「プリンシプル オブ プログラミング」読書会第5回を開催したので、簡単な感想を書きます。

感想

結果の局所化

結果の局所化

  • あっちこっちに同じ結果を返すコードが散らばってるのをよく見ました…という話が出て、ですよねぇ…ってなりました。
  • これを避けるための技術を知らない、調べて書くほど時間がない、気づいたけどテストがないので自信を持って直せない…と、いろいろ許容せざるを得ない状況だったのも覚えています。
  • ただ、頭に置いといて、今できることはできるだけやろうじゃないかって、話してました。

繰り返しの最小化

繰り返しの最小化

  • これも↑の話と似てる感じがしています…。
  • これから使いたいと思う機能などが、既存コード内にないか調べるにはどうしたらいい?という話が出ましたが…。
    • がんばって探すしかない……ですよね。
    • railsのようにディレクトリにはっきりと分類方針があると、混乱しにくいかもしれません。
      • fatコントローラとか…アレですが、チームの慣れでしょうし…。
    • そう考えると、「分類方針」というのをチーム内で共有するのがいいのかもしれません。

ロジックとデータの一体化

ロジックとデータの一体化

  • クラスも、ロジックとデータを近くに置く技術ですよね、という話をしてました。
  • なるべく使う直前に変数を持ってくるとか、ほかにもいろいろ気をつけてますね。

全体を通して…

  • 普段気をつけていることなので、「そうですよねぇ」となりますね。

運営としてのふりかえり

Keep

  • 録画しました。
    • 観たい、という希望者がいればいいな…。
  • 会社メンバーの二人だったので、普段レビューなどでこぼれ落ちていたようなこともゆっくり話し合えたような気がします。

Problem

  • 申込みはあったのですが、キャンセルで主催だけでした(´;ω;`)
    • 2人の主催だと、なんだかんだとできるのでいいですね。
  • 早くおわってしまった。
    • 人数が少ないと、話がスッと終わってしまうのは仕方ないのですが…。

Try

  • 次も録画していいか訊いてみる!
  • 次回のページをなるべく早く作る。

最後に

この先もやっていきますので、なるべくみなさんの経験や疑問を聴いて、参考にしていきたいと思います!

第64回Software Design (2025年01月号) 輪読&座談会 に参加してきました

いつもおせわになっている第64回Software Design (2025年01月号) 輪読&座談会に参加してきました。

  • 自己紹介
    • 主催の北崎さんの思いがきけてよかったです!
    • いろいろとゲストを呼ぼうと駆け回ってくれた苦労をお聞きしました。今回は残念でしたが、また楽しみにしています!
  • 表紙
    • よほどカピバラのときが衝撃的だったのか、またげっ歯類に触れていただきました。
      • カビバラはかなり大きいので、よーーーーく見ないとネズミに見えませんからね…。
  • 第1特集 認証技術の最前線
    • 二要素と二段階、やっぱりごっちゃにしちゃいますよね。盛り上がりました。
      • パスワード → 秘密の質問 … 二段階認証だけど、パスワードも秘密の質問も知識情報なので一要素の二段階認証
      • パスワード → SMS … 二段階認証で、パスワードは知識情報、SMSは所持情報なので二要素認証
    • パスキーとFIDO
      • 同じものということを知っている人が少なかったです。ですよねぇ…。
    • パスキーを間違ってパスワードマネージャの共有保管庫に保存してしまった失敗談をしました。
      • みんなあんまりないんでしょうか、刺さらなかった感がありました。
    • 4章はパスキー導入時に考えることが多くて大変…という話に読めてしまったが、メリットの話をもっと書いてほしかった、という声が出て、なるほど!となりました。
  • 第2特集 Web APIテスト 実践ガイド
    • 著者感で連携されてないんじゃないか…?だから記事間で少し被りがあるんじゃ?という声が出ました。その視点はなかったです。
  • 一歩踏み出すための技術広報戦略の立て方
    • 勉強会などでよくあったり、会場などのお世話になったりする…といわれて、そういえば確かに勉強会のときに周りにいたのを思い出しました。
    • 機会があったら、自分も技術広報の話を訊いてみようっと。
  • インターネットの姿をとらえる
    • さくらインターネットがAS番号を3つ持ってることに、この場で言われるまで気が付きませんでした。昔はデータセンター別に持ってたんだそうです。
    • やっぱり、みんなで読むと、わかることが多くて楽しいですね。

今回も刺激的な会でした。 また次回も行こうっと。

Software Design 2025/01 メモ

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

gihyo.jp

表紙

  • わからん、なんだこのカワイコちゃんは…!
  • 木の上だし手の下がなんとなくたるんでるからモモンガかしら…?
  • …いやでも…自信が全く…。
  • Googleの画像検索で調べたら、エゾモモンガですって!
  • しかし今回は特に寒そうな表紙ですね((((;゚Д゚))))ガクガクブルブル

第1特集 認証技術の最前線

第1章:従来の認証技術のしくみと課題 ユーザー認証の基礎から多要素認証まで……いとう りょう

  • 身元確認は…うちはメールアドレスですね。
    • ガッチリやるときにはマイナンバーまであるとのことで、覚えておきますφ(・・
  • パスワード認証は……問題が多いですよね…。
    • パスワードマネージャがやっぱりいいんですよね。
      • ふと、フィッシングサイトのURLでは反応しないのも、意外とよさそうだと思いました。
    • リスクベース認証……そういえばそういうサービスもありますね。うちではとても…。 ‐ 認証の要素、わかってるけどすぐに出ない…。知識、所持、生体!
    • スマホのおかげで、所持情報が圧倒的に使いやすくなりましたよね。
    • 生体情報は……保持したくないなぁ……。
  • 二要素と二段階、混同しちゃいがち…。
  • 中継型フィッシング……うへえ……。確かに多要素認証にはフィッシングに対して効果がありませんね…。 ï½° WebOTP…?知りませんでした。うちでは使えないけれど…覚えておきますφ(・・
  • ログインURLの送付はフィッシング耐性も確かにありますね…。
    • メールだとプロバイダの信用次第?
    • SMSは……めっちゃ送られてくるフィッシングが……。タイミング悪く近いタイミングで来られると間違えちゃいそう><
  • めっちゃ良記事だったと思います…!

第2章:パスワードレス認証「パスキー」のしくみ FIDO認証からパスキーへの変遷とパスキーの現状・課題……いとう りょう

  • パスキー……組織で使うパスワードマネージャーと相性が悪いと思います……。
    • 間違って、共有のVaultに個人アカウントのパスキーを登録しちゃって…。
  • デバイスの登録…なるほど、それぞれ登録するデバイスにそれぞれ用の秘密鍵を置くんですね。なるほどです。
  • スマホだと、指紋認証とかついてるから、生体情報もイケル…。
  • オリジンのチェックでフィッシングサイトが外される……いいですね。
  • あ、FIDO認証とパスキーをごっちゃにしてました><
    • 3章に
  • パスワードマネージャ経由で秘密鍵を共有するんですね。たしかにこれなら、機種変更も怖くなさそうです。
  • 導入したときのコストに、問い合わせ対応……まだみんな慣れてませんもんね……。

第3章:パスキーの実装と考慮点 効果的なオプションとともに,登録,認証の流れと実装を押さえる……板倉 景子

  • パスキー、結構あいまいな言葉なんですね…。
    • 「パスキーとはあらゆるFIDO資格認証情報」というのが本来の定義だそうです。
  • パスキーを自前で実装するの、認証をとったりと大変なんですね。
  • ライブラリを使うときにFIDO仕様の適合性を公開しているかどうかを見る必要がありそう。
    • Rubyだとwebauthn-rubyあたりっぽいです。
    • github.com
  • パスキーだけで登録……バックアップ手段とかどうするんだろう?
    • メアド+バックアップコード とか メールOTP とか
  • synced passkey 便利すぎですね…!

第4章:プロダクトへのパスキー導入で考えること スムーズな導入に向けた施策と導入メリット……hidey

  • メルペイさんなら…めっちゃ現場の話ですね。
  • サポートされている環境はAndroid9(2018年リリース)以降…もう概ね置き換わっていそう感はあります。
    • 一応、調べてからにしたいけど。
  • 公式に(UXの)デザインガイドラインがあるφ(・・
  • トラブルシューティングが大変…。関わるものが多いですもんね…。
  • 実際に導入するときにまた読み直そうと思います…!

第2特集 Web APIテスト 実践ガイド

第1章:Web APIテストの意義 テストスコープを中心に考えるアプローチ……sumiren

  • 「E2Eテストだけでよいのか?」という問に…
    • ケースが多すぎてメンテナンスが大変でしょ
    • バグにバグが重なって正常値になる例…たしかに…なるほど。
    • 短期的で不安定……あー…わかるw
  • E2Eテストの利用の仕方は…自分も同じで、重要なシナリオにしています。
  • WebAPIのテストは…たしかにユニットテストに近い安定感がありそう、なるほどです。
    • Railsのrequest specがそれに近いかも…。読んでてそのままじゃないかなって感じました。
  • あ、なるほど…ユニットテスト的なのも、E2Eテスト的なのも、結合や統合テスト的なのもあると。
  • OpenAPI、いいですよね。そうか…共通の仕様がまとまっててくれると、テストも書きやすいですもんね。

第2章:Web APIテスト時のチェック項目 ユーザー体験とセキュリティを両立させるポイント……川崎 庸市

  • セキュリティ面のチェック項目の無制限のリソース消費、抜けそう…。ちゃんと定義しておきたいですね…。
  • シフトレフトを心がける…!
    • どんなことも基本同じですね…。
  • ドキュメントも、OpenAPIなら自動生成…これ、めっちゃいいですよね。
  • これも実際に作るときに読み直したいです👀

第3章:実践的なWeb APIテストの考え方 APIの品質を担保するヒント……こたうち さんさん

  • HTTPステータスコードの説明、わかりやすいです。
  • カバレッジ率の議論は、筆者の考えに同意です。
    • 70%は目指そうという合意を取って、そこに向けて単体結合統合システムテストを重ねていくこと自体が技術力がいるけれど、これができないとなると、安定的なシステムに…ならないですもんね。
    • APIならなおさら。ちょっと高めかなってくらいに目標を置いてもいいかもしれません。
  • パフォーマンステスト……うーん、そんなにやったことないです…。あんまり必要じゃない、というのはちょっとわかります。
    • 大きな企業でAPIのパフォーマンスの品質を公開してるなら…それに合わせてやってもいいかも?

全体の感想

  • Web APIのテストの話でしたが、テスト一般についてもたくさん書かれているので、いろんなひとに参考になりそうでした。

一般記事

【最終回】[速習]PHPアプリ開発の現在地 【3】PHPアプリケーション開発の最新事情……金城 秀樹

  • バッチ処理、CLIにも…。昔のイメージからだと、想像がつきませんでした。慣れた言語で書けるのはいいですよね。
  • PHP、サポートしている人数多いのかな?サポート期間長いですね…。
    • Rubyはもうちょっと短いけど、それ故に追っかけなくてはって思う気持ちもありますw
  • Enum…ほんとにクラスっぽい…。外野からだと、クラスでいいんじゃない?って思ったりしましたが、使ってるひとはどう思ってるのか知りたいです。
  • 最新動向の知り方が書いてあるの、いいですね。
  • Dockerコンテナ…うちもやらなきゃあ…。
  • 最近の動向、いいですね…。テストバンザイ!

連載

ITエンジニア必須の最新用語解説 【193】Deno 2……杉山 貴章

  • ん?もう2なの?
  • npmを使えるように…ということは、nodeと置き換えて使えちゃうのかしら…?

万能IT技術研究所 【32】「五山送り火」に隠された都市伝説レイライン――大文字の起源伝承を地理空間分析で解き明かせ!……平林 純

  • あれ?平林さんが帰ってきてる?
  • 大文字焼きだけかと思ってたら、現在でも結構あるんですね…。

FE/AP試験問題に挑戦 【3】ネットワーク……石田 宏実

  • 設問1
    • a … 192.168.0.1
    • b … 192.168.0.2
    • c … x.y.z.21
  • 設問2
    • プライマリDNSのゾーン情報をセカンダリDNSにコピーする処理を自動化する。
      • うーん…コピーじゃなくてゾーン転送って書かなきゃだめ?

ドメイン解体新書 【12】SSL証明書とDNSの関係……谷口 元紀

  • あ、うーん…たしかに 証明書 だから、主目的は所有権確認かあ…。
  • いろんなドメイン認証あるけど、たしかにひととおり使ったことがありますね。
  • CAA…知りませんでした。
    • DNSだからDNSの脆弱性の影響はあるんですね…そりゃそうですね…。
  • もぐら鏡餅…!

ハピネスチームビルディング 【34】交代でリーダーを任せてシェアドリーダーシップと主体性を高める……小島 優介

  • 「リーダーのつもりで…」…よくいわれますが、そりゃ、確かに伝わらなそう…。
    • イベント主催者もね。。。
  • たしかに少しずつ任せるのが一番ですよね。
  • 普段からの説明が大事なんですね。
  • うーん……チームメンバーがほしい……。

【新連載】RAGアプリケーション評価・改善の極意 【1】生成AIの可能性を広げる「RAG」のしくみと評価手法……佐藤 陽

  • 日本語だとトークン数が……いやしかし……うーむ><
  • 知らない情報のときに検索するとあるけど…知っていると勘違いすることはないのかしら…?
  • RAGの形式は、MSのcopilotとかGoogleのGeminiがそんなふうにやってるような…。
  • RAGの注意点……人間と同じ、読み間違い、勘違いはありますよねw
  • 評価ツールもあるんですね…。どういう仕組なんでしょう…?
    • 次回だったw

【新連載】一歩踏み出すための技術広報戦略の立て方 【1】なぜ技術広報が求められているのか……玉田 大輔

  • なにこれ…!こんな連載、全く想像してませんでした!
  • あ…どこかでお見かけした名だと思ったら…なるほどです。
  • こんなグループが…!
  • 技術広報を投資として捉えるようになってきてくれたのは、結構いいかも…。 ‐ こういう話でも、やっぱり 技術的 な解決ですね…。
    • どの職種でも役立つ考え方だと思いますね。
  • 技術者に選ばれる、というのは…会社のビジョンとは別の軸だから…そっちはそっちで必要かもですよね…。
  • こうやって、必要性をまとめてくれていると助かります…。必要になったときに参考文献として出せるのが、非常に頼もしい感じです。

ソフトウェアテスト探検隊 【4】単体テストの基本と戦略……Kuniwak

  • 単体テストとは依存コンポーネントをテスト用の偽物に置き換える…
    • あ、確かに単体…。ちょっと意識してもいいかも。
    • railsだと、modelとかhelperがそれですね…。

ぼくらの「開発者体験」改善クエスト 【13】事業成長のための効果的な開発のあり方をUI改善史から考える……武藤 雅幸

‐ アーキテクチャがすべて …ああ、真実過ぎて何も言えず…。 - もっといいのがでてきたり、当初想像していたのと違う方向に行ったりしてアーキテクチャが合わなくなったり… - たしかに見直す時間を取ると、結構楽しいとは思います…。 - バージョンアップで結構持っていかれてるんで、なんか普通の開発のほうがしたくて仕方ないけれど…。

実践データベースリファクタリング 【12】厄介な時間枠に向き合う……曽根 壮大

  • あー……かなり興味ある……。
  • 図1、いいですね…。よく遭遇するカオスがいい感じで表現されてますw
  • テーブルを分ける…なるほど。
  • postgresqlに範囲型…?ズルい!

Cloudflare Workersへの招待 【14】Cloudflare Workers 2024年の新機能紹介……福岡 秀一郎

‐ こうやってまとめて出してもらえるのもいいですね。 - cloudflare workersのsqlite、read replicaなのか…ヤバいですね…世界中でしょ? - www.publickey1.jp ‐ CDNエッジコンピューティングは……やってみたい…。

実践LLMアプリケーション開発 【16】LangGraph Platformウォークスルー……西見 公宏

‐ なに?デプロイ先が大変なの?…おおお、重要情報…。 - langchain-ai.github.io - ちょっと楽しみ…。

AWS活用ジャーニー 【28】AWS PrivateLink……杉金 晋

‐ VPC内にSaaS製品があるかのように使える、とのこと。だいぶよさそうです。 - モニタリングについても書かれてて、使うときに参考にします。 - 料金的にはVPNを張るより安そうです。

インターネットの姿をとらえる 【5】インターネットからみたコンテンツ事業者のネットワーク……土屋 太二

  • うちのことか…!
  • AS番号、PlayStation Plusは持ってるけど、Nintendo Onlineは持ってない…?
  • 確かにコンテンツプロバイダを見て、自前インフラかどうかって考えたことありませんでした。おもしろいかもw

基礎からわかるDetection Engineering 【6】検知ルールの評価とDetection Engineering Program②……石川 朝久

  • 最初に復習と今回の位置確認があると大変助かります…。
    • 自分の専門からちょっと遠いので余計に。
  • TTPsで攻撃者の「小さい目的」を使うのはいいですね。変にブレなくてよさそうです。
  • TTPsを体系的に整理している、MITRE ATT&CKフレームワークはたしかによさそうです。
  • これをもとに、パープルチーミング…なるほど、こういうふうに作るんですね。
  • おお、red team用の自動化ツール…! ‐ いずれにしても枠組みがあると、報告書も整うので、成果が見えやすそうでいいですね。

魅惑の自作シェルの世界 【26】変数の置換とチルダ展開……上田 隆一

‐ 今回は変数展開、チルダ展開… - ブレース展開、エスケープ…今回もやっかいそうな感じですね。 - 展開順序……たしかに。 - ~root なんて使ったことがなかったです…。

あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~ 【156】私たちが「石巻」に来る理由~第11回石巻ハッカソンから……一般社団法人イトナブ石巻

  • あらためて回数を見たら、156回でちょうど13年かしら?めっちゃ続いてます👏
  • ハッカソン参加者の声、いいですね。楽しそう…。
  • 今外出できないので参加できませんが、いつの日か参加したいので、長く続けていってほしい気持ちです。

その他

SD Book Review

  • Matz Essays Volume 1
    • www.kadokawa.co.jp
    • 過去のエッセイと、現在の解説……読み物としてめっちゃ面白そう…。 ‐ ひみつのLinux通信 UNIXコマンド実力養成
    • gihyo.jp
    • これもまとめ…。コラムがついてるそうで、これもおもしろそう…。

SD News & Products

  • 「U-22プログラミング・コンテスト2024最終審査会」レポート
    • PomPomPattern -ぽんぽん設計図ジェネレーター-
      • これ、いいですね。
      • 設計図は手堅い感じですが、追加機能がカメラで認識して巻数を数えるとのことで、こちらは攻めているところが…よすぎます。
    • 「アイヌ語ニューラル機械翻訳アプリ『tunci』」
      • 課題設定がいいですね。伸びる先もありそうなので、ちょっと楽しみな感じです。
    • u22procon.com
      • うわ…他のもすげえ……。
  • 「VimConf 2024」レポート
    • 写真がVimの V なのがおもしろいw

プリンシプル オブ プログラミング 第3章のメモ(2)

www.shuwasystem.co.jp

プリンシプル オブ プログラミングの読書メモです。

第3章 思想 〜プログラミングのイデオロギー〜

3.5 プログラミングセオリーを実現する6つの原則① 結果の局所化

  • 変更の影響を抑える
  • 近いものは集める…。
    • 集め方は、同じファイル、同じディレクトリ、同じカテゴリのクラスに、同じモジュールに…いろいろありますね。
  • 自然にやりそうなもんだと思うんですが……やらないか…。
  • どういうときに逸脱しやすいんでしょう?
    • テストがないとき
    • 技術的なやり方がわからないとき
    • 時間がないとき

3.6 プログラミングセオリーを実現する6つの原則② 繰り返しの最小化

  • 重複を排除する
  • あちこちに同じことを書かない。
    • 変更が必要な箇所が散らばってたら苦労するのは…当然ですよね…。
    • 同じアプリケーション内でのコピペは、コレに真っ先に反するというか…。
    • …にもかかわらず、「似ているところをコピーして作れ」と指示する人がいるのは……どういうことだろう……。
      • 忙しくて指示するのが面倒だったかも…?
  • どういうときに逸脱しやすいんでしょう?
    • テストがないとき
    • レビュワーがいないとき
    • 時間がないとき

3.7 プログラミングセオリーを実現する6つの原則③ ロジックとデータの一体化

  • データとその操作は近くに
  • 近くにあるほうが、記憶する時間が短くなって、楽ですもんね!
  • どういうときに逸脱しやすいんでしょう?
    • 古いCの本で学んだとき
      • 関数の直後に中で使う変数の宣言を冒頭に並べたりしてました…。
      • 業務の長い関数とかになってくると(´;ω;`)
      • しかも、頭文字だけの変数名で、全くわかんないし…挙げ句、使いまわしましたね((((;゚Д゚))))ガクガクブルブル

3.8 プログラミングセオリーを実現する6つの原則④ 対称性

  • コードに一貫性を持たせる
  • Railsの決め打ちディレクトリ構造、めっちゃいいですよね…。
    • これによって、最低限は担保されるというか…。
    • それにフレームワーク自体に習熟してれば、別のプロジェクトでもドメイン知識を勉強すれば活躍できますもん。
    • 設定より規約 - Wikipedia
  • 対のメソッド…ついサボってしまいがちです><
  • どういうときに逸脱しやすいんでしょう?
    • チームで作った指針がないとき?
      • ここまでがんばれたことありません💦
    • 技術的なやり方がわからないとき
    • 時間がないとき

3.9 プログラミングセオリーを実現する6つの原則⑤ 宣言型の表現

  • 宣言型でプログラミング
  • ja.wikipedia.org
  • あんまり意識してないけど…やってますね。Rubyっぽく書こうとするとなるというか…。
  • どういうときに逸脱しやすいんでしょう?
    • テストがないとき
    • 技術的なやり方がわからないとき
    • 時間がないとき

3.10 プログラミングセオリーを実現する6つの原則⑥ 変更頻度

  • 変更理由でグルーピング
  • 対称性と何が違うんだ…と思ったら、時間軸で適用と。なるほどです。
  • 年ごとに特有なロジック……キャンペーンとか税金とか…。たしかにこの切り口でありますね…。
    • ほかは…?
  • 関連で単一責任の原則?…確かに変更理由と責任は密接かも。
    • …というか、変更頻度を一番の理由にしてグループ分けしたことがないのは、このせい?
  • どういうときに逸脱しやすいんでしょう?
    • 技術的なやり方がわからないとき
    • 時間がないとき

情報セキュリティ対策自主研修 第25回 「「長期休暇における情報セキュリティ対策」を読もう」を開催しました

academist-reading.connpass.com

情報セキュリティ対策自主研修 第24回 「「長期休暇における情報セキュリティ対策」を読もう」を開催したので、簡単な感想を書きます。

題材

年末年始で割と長い休みになります。連絡が頻繁だったり、いつもと違うことをしなくてはいけなかったり…とても忙しくなりそうです。攻撃者にとってもまた、注意が薄くなりそうなその忙しさは狙い目でしょう…。 今回いい時期に思いついたので、資料を探したら…さすがIPAでした。

www.ipa.go.jp

感想

  • 今回はアカデミストのメンバーしかいなかったので、IPAの資料を読みながらウチの対応どうでしたっけ?みたいな確認会になりました。
    • 緊急連絡先とか、困ったときの相談場所とか…
  • Windowsユーザがいたので、しばらく忘れていたemotetを少しだけ復習しました。
    • 結構忘れてて焦りました💦
    • www.ipa.go.jp
  • 偽警告の話が出たので、いつもの通り、IPAの偽警告の体験サイトを紹介しました!
  • 最後に出た、「mixi2の招待URLがフィッシングだったら?」は…最高でした。
    • 社内Slackへの投稿だったので、鵜呑みにしてしまいました。本来社内だろうと気に掛けるべきだったと思います…。

運営としてのふりかえり

KPT方式で。

前回のTry

  • 題材の決定
    • 超ギリギリまで決められませんでした><

Keep

  • 新入社員にこの会の説明をあらためてしたことで、それが自分を含めたほか社員に対してこの会の意義の再確認になったと思います。
  • 社員以外がいなかったこともあり、自社の準備点検にしちゃいましたが、わりと有意義でした。

Problem

  • ギリギリだったので、外部参加者がいませんでした…。

Try

  • やりつづける。

メモ

  • 終わったあとにやること
    • [x] Google Meetのメッセージの保存
    • 謝辞と感想
      • [x] twitter
      • [x] facebook
      • [x] mastodon
      • [x] bluesky
      • [ ] connpassのイベントメッセージ
      • [x] ブログ
  • 次回準備
    • [ ] Canva ホワイトボード
    • [ ] connpassイベント
    • [ ] ネタぎめ
    • [ ] 告知
  • 直前
    • [ ] 告知
    • [ ] リマインドメール

Software Design輪読会ドリブン読書(2024年版)

はじめに

去年書いた記事を今年版として書き直しました。

Software Design輪読会へは第33回からお邪魔させてもらっていますが、この輪読会を起点に、いい感じに読むリズムを刻んでがうまく回っているので、それを紹介したいと思います。 ひとことで言ってしまえば、ひとりで読んで思ったことをメモにまとめて輪読会の準備とし、輪読会で他の方の思ったことを聴いたり話したりして、感想にまとめているだけではありますが…。 少しだけ気をつけてることをまとめますので、よろしければどうぞ…。

flowchart LR
  SD[Software Design]--読む-->memo[メモ];
  memo--輪読会-->輪読会の感想;

メモ

すべての起点となってるメモですが…。 やっていることは、記事のタイトルを準備して、読みながらブツブツ言ってる内容をほぼそのまま書いています。 輪読会で、他社での事例とわからないこととか、訊いてみたいことも書いておくとよいです。

ken1flan.hatenablog.com

要約をつけるとかは一切しません。大体要約は記事のタイトルにまとまっててくれます。 なので、思ったことや、調べたことのリンクをつけるだけにしています。

なぜこのスタイルになったのかというと…自分が誰かに記事について話すきっかけだけを作れればいいと思ったからでした。 これは、輪読会でちょっときっかけを発言したときに北崎さんや他の経験豊かな参加者たちの超察し力によりよい具合に展開される盛り上がりになっていった経験が何度もあったからでした。 輪読会でなくても、やっぱり同じように話し相手が上手に受け取って、いいように話が転がってくれるだろうことが想像できたので、この形に落ち着きました。

記事タイトルを書くの、大変じゃない?

面倒なことを始めるためには、如何に楽に書き始める環境を整えるかが最も大事だと思っています。その作業手順がココ、最重要ですよ!

…と煽っておきながら、こういう面倒な作業は、ChatGPTにお願いするのがいいと思います。

自分はこんなふうに頼みました。

YYYY年MM月号のSoftware Designのメモをマークダウン形式で書こうと思っています。
各記事のタイトル、サブタイトル、著者をまとめてセクション名にしてください。

↓はYYYY年MM月号の目次ですが、例のように整形してください。

(Software Designの対象号のページからコピーした目次をそのまま貼り付け)

(例: 2024年11月号)
(その前に書いたものを貼り付け)

実際のは長いので折りたたみました。

2024年12月号のSoftware Designのメモをマークダウン形式で書こうと思っています。
各記事のタイトル、サブタイトル、著者をまとめてセクション名にしてください。

↓は2024年12月号の目次ですが、例のように整形してください。

第1特集
落し穴にハマる前に!
シェルスクリプトの基本と罠
コンテナ,クラウド,Web開発,なにかと使える基礎技術
第1章:シェルスクリプトの基礎
利点・欠点・使いどころを認識しよう
…… 滝澤 隆史
第2章:シェルスクリプトの基本文法
実務で頻出の機能を要領よく学ぼう
…… 滝澤 隆史
第3章:シェルスクリプトの使いどころ
CLIコマンドの活用が業務効率化のカギ
…… 山田 泰宏
第4章:落し穴に落ちないシェルスクリプト開発のススメ
ShellCheckとShellSpecで安全なシェルスクリプトを作る
…… 近松 直弘
第2特集
10周年特別
[最新]Swiftの現場
これまでの進化の軌跡&Swift 6レポート
…… 田中 涼賀
第1章:10周年を迎えるSwiftのこれまで
Apple謹製言語の歩みを振り返る
第2章:Swift 6への移行
求められる既存コード変更へのヒント
短期連載
[速習]PHPアプリ開発の現在地
【2】PHPUnitのassertSameとassertEqualsの実装ってどう違うの?
……asumikam
連載
ITエンジニア必須の最新用語解説
【192】Valkey 8.0……杉山 貴章
万能IT技術研究所
【31】結婚式や葬式が決められない!? 旧暦2033年問題――150年前に廃された天保暦に仕込まれた時限爆弾……万能IT技術研究所
FE/AP試験問題に挑戦
【2】情報セキュリティ(技術)……石田 宏実
ドメイン解体新書
【11】セキュリティとパフォーマンスを向上するHTTPSレコード……谷口 元紀
ハピネスチームビルディング
【33】小さなシェアドリーダーシップの発揮を見える化しよう……小島 優介
Cloudflare Workersへの招待
【13】Cloudflare Queuesを使ってバックグラウンドで処理してみよう……Aiji Uejima
ソフトウェアテスト探検隊
【3】シフトレフトテスティングの意義と戦略……Kuniwak
実践データベースリファクタリング
【11】ループされたクエリの倒し方……曽根 壮大
【最終回】レガシーシステム攻略のプロセス
【8】フロントエンドエンジニアから見るZOZOTOWNリプレイスとまとめ・今後の展望……新家 弘久,森 泰樹,高橋 智也,瀬尾 直利
ぼくらの「開発者体験」改善クエスト
【12】テスト体験の改善で,開発者体験を改善……西薗 和希
【最終回】Databricksで勝つデータ活用
【9】Databricksで始めるデータメッシュアーキテクチャ……北岡 早紀,桑野 章弘
実践LLMアプリケーション開発
【15】Human-in-the-loopでAIエージェントの動きにフィードバックを加える(後編)……西見 公宏
AWS活用ジャーニー
【27】AWS WAF……杉金 晋
インターネットの姿をとらえる
【4】ISPとは何者か……土屋 太二
基礎からわかるDetection Engineering
【5】検知ルールの評価とDetection Engineering Program①……石川 朝久
魅惑の自作シェルの世界
【25】引数のシングルクォートの実装とパラメータ展開の準備……上田 隆一
あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
【155】バリアフリーに関する情報を誰かの「一歩」に~みんなのトイレマッププロジェクトから見えてきたこと……菅原 洋介(Pen)

(例: 2024年11月号)
## 第1特集 新世代の開発スタイル はじめてのAI駆動開発
### 第1章 GitHub Copilotでラクラクコーディング 単純作業はAIにサクッとやってもらおう …… 森下 篤
### 第2章 AIチャットボットとペアプログラミング 質と速度を両立する次世代の開発手法を体験しよう …… ふじたさん。
### 第3章 ChatGPTでプロトタイプをサクサク生成 AIツールならUIからコードまで自動で作れる …… 鈴木 章太郎
### 第4章 Infrastructure as Codeで生成AIを活用する アーキテクチャ図⇔IaCコードの変換も自由自在 …… 吉波 海斗(つくぼし)
### 第5章 AI駆動開発の将来 AIによる今後の開発スタイルと求められるスキルとは? …… 荒井 康宏

## 第2特集 ランサムウェア対策のアプローチ EDRとマイクロセグメンテーション
### 第1章 ランサムウェアの現状 日本での被害状況と最新の手口 …… 武田 貴寛
### 第2章 エンドポイントセキュリティ EPPとEDRで予防と復旧を両立する …… 福田 俊介
### 第3章 マイクロセグメンテーション 内部に侵入してきた攻撃から守る …… 阿部 久珠幸,金子 春信

## 短期連載 
### [速習]PHPアプリ開発の現在地 【1】PHP超入門 ……びきニキ

## 連載
### ITエンジニア必須の最新用語解説 【191】PGlite ……杉山 貴章
### 万能IT技術研究所 【30】「雰囲気を写す写真」や「ドレス錯視」の謎を解く。――視覚モデルで「色の見え」をシミュレーション! ……万能IT技術研究所
### 【新連載】FE/AP試験問題に挑戦 【1】情報セキュリティ(マネジメント系) ……石田 宏実
### ドメイン解体新書 【10】WHOISの非義務化からひも解く登録者情報公開のしくみ ……谷口 元紀
### ハピネスチームビルディング 【32】データを基に各自で改善点を考えよう(後編) ……小島 優介
### Databricksで勝つデータ活用 【8】データインテリジェンスにおけるAI/BIダッシュボード ……新井 康平
### ソフトウェアテスト探検隊 【2】ソフトウェアテストと論理式 ……Kuniwak
### レガシーシステム攻略のプロセス 【7】検索機能リプレイスの裏側 ……可児 友裕,渡 雄一郎,塩崎 健弘
### ぼくらの「開発者体験」改善クエスト 【11】エンジニアの力を最大限引き出すためにプロダクトマネージャーがすべき3つのこと ……高橋 茉由実
### Cloudflare Workersへの招待 【12】Cloudflare AccessでWebサイトへアクセス制限を追加しよう ……福岡 秀一郎
### 【最終回】あなたの知らないChromeの世界 【10】Privacy Sandboxを巡るWebの今後 ……小河 亮
### 実践LLMアプリケーション開発 【14】Human-in-the-loopでAIエージェントの動きにフィードバックを加える(前編) ……西見 公宏
### AWS活用ジャーニー 【26】AWS Backup ……杉金 晋
### 基礎からわかるDetection Engineering 【4】Detection as Code――SIGMA ……石川 朝久
### インターネットの姿をとらえる 【3】インターネットを支える物理回線の世界 ……土屋 太二
### 魅惑の自作シェルの世界 【24】ブレース展開の例外的処理とエスケープの実装 ……上田 隆一

こんなふうに返してくれるので、コピーして使います。

chatgptの返答

(参考)以前の手順

全部間違いなく準備するのは本当に大変でした…。なんとかラクをできないかとめちゃくちゃ探し回りました。 そしたら、富士山マガジンサービスのSoftware Design定期購読ページに加工しやすい目次がありました。

自分は正規表現でh2やh3に置き換えて使わせていただいています…。

s/^â– /## /g
s/^・/### /g

読者アンケートを書く

もうひとつ大事なことを…。

読み終わったら、アンケートに答えるといいと思います。

結構ガッツリ読まないと回答できないような質問内容ですが…すでにちゃんと読んでメモしてるので、5分くらいで答えられると思います。 もしかするとReader's Linkに採用されちゃうかもしれません。

Software Design輪読会

softwaredesign.connpass.com

メモのところで書いた、訊いてみたいことをいろいろ話すと盛り上がって、もっと楽しく過ごせるのでオススメです…!

輪読会の感想

ken1flan.hatenablog.com

輪読会に出たらすぐに、感想を書くようにしてます。 あんまり細かいことは考えずに、書いているそのときに覚えていることをサッと書くだけにしてます。 誰かに読ませたいというより、自分の記憶定着のための刺激として使っているイメージです。

自分の他の事例: 「プリンシプル オブ プログラミング」読書会

会社のメンバーと自身のスキルアップのために「良いコード/悪いコードで学ぶ設計入門」読書会をやっています。 これもSoftware Design輪読会 と同じように、事前予習のためのメモ、読書会、読書会の感想を書く、というリズムを繰り返しています。 一人で読むより学びが多くて楽しい気がしています。

ken1flan.hatenablog.com academist-reading.connpass.com ken1flan.hatenablog.com

終わりに

個人的にハマっている、Software Design輪読会ドリブン読書の紹介でした。 スピードは出ませんが、読む楽しさは今までにないくらいありますし、なんとなく終わったあとに成果物ができているのもやった気になれていいかも。

それではみなさん、Software Design輪読会とReader's Linkで会いましょう。

Software Design マイ・ランキング 2024

はじめに

年末なので、Software Designの一年分を振り返って、自分が気に入ったものをちょっと並べてみたいと思います。 (選ばなかったものもおもしろかったんです!)

気に入った特集

毎号2つだったので、24個もあったわけですが…敢えて3つだけ選んで、その理由を書いてみようと思います。

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

ちょうど読書会で「良いコード悪いコードで学ぶ設計入門」を読んでたころでした。「良いコード〜」でもDDDの話は出てましたが、コードの改善主体なので、テクニック主体でしたが…こちらは本来のDDDのほうに力点を置いていたかと思いました。

次の読書会で第1章の著者の増田さんが書かれた「ドメイン〜」を読もうと思ってたのですが……同僚の気が変わったらしく、延びてしまいました…。時間を見つけて、ひとりででも読みたいと思っているところです。

2. 2024/04 第2特集 常識として知っておきたい 今から始めるテクニカルライティング 伝わる/役立つドキュメント作成のポイント

今いる会社にドキュメントを書こう!という文化を運んできたつもりの自分ですが…「書く」ということについて自信がありません。一応、読み手を想定する、主題を決めるとか、セクションで構造化するなど、何気なく気をつけていることはありますが…訊かれてパッと答えられるほど身についてません。 この特集は、あらためてそういったことを意識させられました。定期的にこういったことを復習して、ちょっとずつ身に着けていきたいと思っています。

3. 2024/07 第1特集 実運用でどう使う? GitHub Actions実践講座 CI/CDの理想を実現するために

Github Actions、なんとなく雰囲気で使っていましたが、この特集で少し網羅的に知れたと思います。それに読んでからいくつか会社の設定も改善しましたし、とても助かりました。

気に入った/ている連載

ざっと一年分の連載を見直してみましたが……楽しみにしているものが多いので選ぶのが大変でした…。挙げてないものも楽しんで読んでいることを強く主張しておきたいと思います!

1. AWS活用ジャーニー

去年も挙げましたが…全く同じ理由です。

AWSはほんっっっとにあれこれ機能があって、全く把握しきれていませんし、アプリの開発が主な役割なので、インフラ関連の知識を収集する時間もあんまない感じです。そんなところに毎月ちょっと詳しめに書かれる記事がやってくるので、ちょうどいいくらいの頻度です。たまに改善のヒントになったりするので、これもまたありがたいところです。

2. 実践LLMアプリケーション開発

LLMを使ったアプリケーションはこんなふうに作るのか…ということが連載を読みながらなんとなくわかってきました。 仕事ではまだ使う予定もないのに、楽しみに読めるというのは、LLMがおもしろそうな技術だと自分も思っているということでしょうか…。いつか、仕事に組み込みたい気持ちでいます。

インターネットの姿をとらえる

普段、インターネットは論理的なところしか見ていなくて…。そこに物理的な部分を紹介してくれる記事が来て、毎回うおーーーってなってますw いつしか出てきた架空ケーブルとか、とう道とか…もう、たまらなかったですね。

おわりに

2024年も楽しくてタメになる記事をありがとうございました。 重ね重ね言いますが、どの記事も楽しく読ませていただきました。 2025年も楽しくてタメになる記事をよろしくお願いします!!

参照