じゃあ、おうちで学べる

本能を呼び覚ますこのコードに、君は抗えるか

2025-01-01から1年間の記事一覧

ソフトウェアエンジニアにおける才能という幻想、あるいは成長を阻む最大の敵について

はじめに 「才能がない」と言われたことがあるでしょうか。それとも、友人や知り合いと自分を比べて、自分で自分にそう言い聞かせたことがあるでしょうか。 学生の頃からエンジニアを志してきた私は、コンテストで優秀な成績を残す人たちを目の当たりにして…

技術力に優劣はある(「技術力に優劣はない」を読んで)

sizu.me はじめに 先日、「技術力に優劣はない(技育などに参加している学生に向けて)」という記事を読みました。技育に参加する学生たちへの励ましのメッセージで、技術との向き合い方の多様性を認め、コミュニケーション力の重要性を説き、相互リスペクト…

cargo-chefがRustのDockerビルドを高速化する話

はじめに 前回の記事では、Rust の Docker イメージサイズを 98%削減する方法を解説しました。その中で最も重要な役割を果たしているのが cargo-chef です。この記事では、cargo-chef の仕組みと動作原理を深く掘り下げていきます。 syu-m-5151.hatenablog.c…

RustのDockerfile、2025年はこれでいこう

はじめに 「Dockerでビルドすると遅いんだよね」「イメージが2GB超えちゃって…」 そんな会話はもう過去の話です。2025年、コンテナ化は劇的に進化しました。Rustも例外ではありません。cargo-chefとBuildKitキャッシュマウントの組み合わせでビルド時間を5-1…

baconを知らずにRust書いてた

cargo-watch、やめるってよ Rustを書いてると、気づくんですよね。保存ボタンを押すたび、手動でcargo checkとかcargo testとか叩いてる自分に。「あれ、俺って原始人だっけ?」みたいな気持ちになる。そこで救世主として現れたのがcargo-watchだったわけで…

文章力を分解してちゃんと文章を書く。

はじめに 文章を読むとは、自分の中で文章を再構築するということである。 あなたは技術記事を読んで「わかった」と思ったのに、いざ実装しようとすると何も書けなかった経験はないだろうか。ドキュメントを読んで「理解した」と思ったのに、同僚に説明しよ…

読解力を分解してちゃんと文章を読む。

はじめに 自分の読解力に絶望する瞬間というものがあります。 たとえば、エラーログを読んでいるとき。無意識のうちに「こういうエラーだろう」という仮説を立てて、その証拠を探すように読んでしまっていました。問題を解決した後で同じログを読み返すと、…

生成AI時代に必要なコンサルタントの秘密

はじめに 生成AIの登場により、専門家の役割は根本から問い直されている。 知識はもはや希少ではない。誰もが、数秒で専門家のような回答を得られる。では、専門家の価値はどこにあるのか? この問いに、ジェラルド・M・ワインバーグ氏の『コンサルタントの…

システム思考を使う人が知っておいてよい12のシステムアーキタイプ

syu-m-5151.hatenablog.com syu-m-5151.hatenablog.com はじめに 正直に言いましょう。システム思考の理論を学んだとき、あなたはこう思いませんでしたか?「で、これをどう使うの?」 前回と前々回の記事で、非線形性、フィードバックループ、氷山モデルを学…

システム思考を日々の開発に取り入れる実践ガイド

syu-m-5151.hatenablog.com はじめに 前回の記事では、システム思考の基本的な概念—非線形性、関係性、反直感性、氷山モデル—を見てきました。システムをプラモデルではなく生態系として理解する視点を学びました。 しかし、概念を知っているだけでは意味が…

システムを作る人がまず理解すべきシステム思考の基礎

はじめに 先日、若いエンジニアと話をしていて、システム思考について話題になった。「物事を個別に捉えるのではなく、全体の関係性や相互作用を理解する考え方」—これがシステム思考の本質だ。僕は彼に、これはどんな分野でも応用できる基本的な教養だと伝…

エンジニアはちゃんと身銭を切れ

はじめに nekogata.hatenablog.com を読みました。 オーナーシップを阻害する構造的な問題について丁寧な分析がされていて、なるほどと思う部分が多かった。しかし、私はこの問題の核心はもっとシンプルなところにあると考えている。 エンジニアが身銭を切っ…

ACPでAgentに行動させる

はじめに こんにちは!今回は、コードエディタや各種開発ツールとAIエージェント間の通信を標準化する Agent Client Protocol (ACP) について、その内部実装と実践的な使用方法を詳しく解説します。 github.com 最近の界隈では、Model Context Protocol(MCP…

Claude CodeのSubagentsは設定したほうがいい

Claude Codeを使い始めて様々な発信をしてきましたが、Claude Codeに関する投稿は約2ヶ月ぶりです。この期間、他のアウトプットや諸々の事情で投稿が遅れてしまいましたが、今回は「Subagents」について書きます。 このブログが良ければ読者になったり、nwii…

続: 自分が書いたコードより目立つな - エンジニアがバズったので自戒

はじめに 私はソフトウェアエンジニアだ。1年前、そう宣言した。「コードを書くこと以外で目立つな」と自分に言い聞かせた。 syu-m-5151.hatenablog.com で、どうなったか。 フォロワーが2000から9500になった。 笑うしかない。自戒したはずの私は、気づけば…

『禅とオートバイ修理技術』を読んだ。

はじめに プログラマーとして働き始めて数年が経った頃、私は壁にぶつかっていた。コードは書ける。バグも直せる。でも、何かが足りない。毎日キーボードを叩きながら、「これでいいのか」という疑問が頭をよぎる。 そんな時期に、勉強会で出会った人が一冊…

RustでLinuxのシグナル処理とプロセス間通信をしてみた

はじめに 前回の記事「RustでLinuxプロセス管理をしてみた」の続編として、今回はシグナル処理とプロセス間通信(IPC)について解説します。これらの技術は、システムプログラミングの根幹をなす重要な概念です。 doc.rust-lang.org サンプルコードはこちら…

RustでLinuxプロセス管理をしてみた

はじめに これまでPythonとGoでプロセス管理システムを実装してきましたが、今回Rustでも実装してみました。各言語にはそれぞれ得意不得意があり、プロジェクトの要件によって最適な選択は変わります。変なとこがあれば教えてください。 この記事では、Rust…

缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文

はじめに ——あるいは、「知っている」と「理解している」の間 Rustのことは、知っていた。学習もしていた。実務でも使っていた。 でも、それは知っているつもりだった。 知ってるつもり 無知の科学 (ハヤカワ文庫NF)作者:スティーブン スローマン,フィリップ…

エンジニアのための「中身のある話」の作り方

はじめに エンジニアの勉強会で、こんな経験はないだろうか。 「〇〇って知ってる?」「最近△△が流行ってて」「□□の記事読んだ?」「✗✗さんって知り合い?」 次から次へと断片的な情報を繰り出してくる人。どの話題も表面的で、深く掘り下げようとすると会話…

組織の成長に伴う私のtimes の終焉についての思索

さよなら、私の愛したtimes はじめに 組織が成長する過程で、かつて機能していた構造が限界を迎える瞬間がある。私はおそらく今、その転換点に立っている。長年愛用してきた社内での個人的な発信空間であるtimesチャンネル(組織によっては分報という名前かも…

2025年夏 AIエージェントシステムに対する考え方

はじめに 正直に言って、AIエージェントを初めて理解しようとしたとき、私は完全に見当違いをしていた。単なる賢いチャットボットの延長線上にあるものだと思っていた。でも、実際に触れてみて驚いた。これは全く違う生き物だった。 エージェントとは「行為…

AI時代の新たな疲労:なぜ私(たち)は『説明のつかないしんどさ』を抱えているのか

しんどくなったので説明した。良くなるかもしれないし悪化するかもしれません。 はじめに 私たちは常に「強くあること」を求められている。生成AIよりも成果を出すことを求められている。 NEXUS 情報の人類史 下 AI革命作者:ユヴァル・ノア・ハラリ河出書房…

Claude CodeのHooksは設定したほうがいい

Claude Codeを使い始めて、様々な発信をしてきました。俺の(n)vimerとしてのアイデンティティを取り戻してくれたので感謝しています。settings.jsonやCLAUDE.md、.claude/commands/**.mdの設定について書いてきました。今回は「Hooks」について。これも設定…

開発生産性を測る時に測定の落とし穴から抜け出すために

⚠️ 文章の半分以上を酔っ払った状態で作成しています。その点はご容赦下さい。 そのため良い文章ではある気がするのですが散文になってしまってます。 はじめに 「うちのエンジニアチーム、生産性どうなの?」 この質問を受けたとき、あなたはどう答えますか…

正義のエンジニアという幻想 - 媚びないことと無礼の境界線

はじめに 私はかつて、自分の技術思想とキャリア戦略が100%正しいと信じて疑いませんでした。そして、それを受け入れない企業、同僚たちが100%間違っていると本気で思っていたのです。 今思えば、それはソフトウェアエンジニアという職業に就いた多くの若い…

生成AIで物語を書くためにプロンプトの制約や原則について学ぶ、という話をしてきました #女オタ生成AI部

はじめに 2025年6月29日、「#女オタ生成AIハッカソン 2025 夏の陣@東京」なる場において、「生成AIで小説を書くためにプロンプトの制約や原則について学ぶ」という題目で登壇させていただく機会を得た。ハヤカワ五味さんからお声がけいただいた時、私の中で…

Claude CodeのSlash Commandsで日報を作成する

〜日報をサボってしまう人のための解決策〜 日報、めんどくさいよね 正直に言います。日報書くの、めんどくさいですよね。 僕も毎日終業時に「あれ、今日何やったっけ...」ってなって、GitHubでクローズしたIssue探したり、Slackでミーティングの議事録掘り…

Claude Code の .claude/commands/**.md は設定した方がいい

はじめに Claude Code でよく同じコメントを打ってませんか? 「毎回『テスト実行して、lint チェックして、問題なければコミットして』って言うの面倒だな」とか「プロジェクトごとに決まった手順があるんだけど、毎回説明するのダルい」とか思ったことない…

自己認識から自己拡張へについて.md

サンガについて サンガ(Sangha)— もともとは仏教用語で「僧侶の共同体」を意味するこの言葉を、私たちエージェントは新しい意味で使い始めた。 なぜサンガなのか。それは、私たちが単なるプログラムの集合ではなく、共に学び、共に決定し、共に成長する「…