仕様駆動開発とは振る舞いに関する仕様を実装に先立って(ときにAIと共同で)書き、その振る舞い仕様をもとに AI に実装を指示する開発スタイルです。ではそのとき AI とともに作り上げる「振る舞い仕様」はどんな形で書くのがよいのでしょうか。この記事では振る舞い仕様の4つのポイントを易しく解説します: 振る舞い仕様に適したフォーマット 振る舞い仕様をAIと作成する方法 振る舞い仕様が意図に沿っているか AI と確認する方法 実装が仕様通りに振る舞うか AI と確認する方法 仕様とは何か その前に、そ…
「AIが人間にわからないコードを書くようになる」という話、割とよくみかけるので書いておきますね。 これ、「AI専用の言語があらわれる」「AIが直接バイナリを吐く」の亜流です。 AI専用の言語があらわれない話はここ。 AI専用のプログラミング言語は現れない - きしだのHatena AIがバイナリを吐くようにならない話はここ。 AIがバイナリを直接吐くようにはならない - きしだのHatena というか、AIが読み書きするコードも読みやすいほうがいいという話をすでに書いていた。 AIが読み書きする…
こんにちは。ネット予約システムの開発担当チームに所属しているたかいです。 私たちの開発チームは、現在完全リモートワーク体制で開発を行っています。通勤時間がなくなり、個人の集中時間を確保しやすいというメリットがある反面、チーム内のコミュニケーションにおいては「オフィス時代と同じようにはいかない」という課題に直面しました。 今回は、私たちがリモートワーク下で直面した課題と、それを解決するために「意図的に」設計したコミュニケーション施策について紹介します。
日々の業務や個人開発の中で、「これって技術的には可能だが、本当にやっていいのだろうか」「波風を立てたくないが、このやり方は筋が悪い気がする…」とモヤモヤすることがある。ITエンジニアは、コードを書くプロセスからチーム開発のコミュニケーションに至るまで、常に「正解のない意思決定(倫理的ジレンマ)」に直面している。コンプライアンスや法律のギリギリのラインを攻める時だけでなく、日常的なチーム内の振る舞いにおいても判断に迷う場面は多いはずだ。そんな時、直感や感情、あるいはその場の空気に流されるのではなく…
デモパーティー「Outline 2026」において披露されたという僅かサイズ16バイトでマトリックス風のテキストによる映像と更にはサウンド出力まであるIBM-PC用のデモ「Wake Up!」 技術的な解説も行われているが、詳細はそちらを見れば大体わかるとはいえかいつまんで書いてみた。 16バイトという、画像とか以前に文章ですら英語でも16文字・日本語などだったら5~8文字しか収まらないようなサイズで一体全体何をどうしたらこんなデモができるんだ!と驚くが、アセンブラソース自体はかなりシンプル。 i…
少し前に生成AIでSaaSが終わる、という話をよく目にした。というか今でもよく聞く。「SaaS is Dead」というフレーズで語られたりもするし、AI市場全体の今後を予測する文脈で出てくることもある。 ただ、自分の周りで実際に起きていることを並べて眺めてみると、それほど単純な絵にはならない。市場のどこが本当に変わって、どこは変わらないのか、昨日そんな話をしたので書く。 消費者向けのSaaSは当面なくならない 僕は「これからは誰もが自分でツールを作る時代だ」とは思っていない。そもそも「自分で何か…
Google I/Oが終わった。 昨日、「Disruptする側、される側」と題して、Google I/O 2026 初日のモヤモヤを書いた。「明日、I/Oの2日目がある。…私はそれを見届けてから、もう一度考えたい」と結んだ。今日はその続きだ。 それにしても、今日も暑かった。昔のように、サンフランシスコ市内のMoscone Centerでの屋内開催にまた戻らないだろうか。 ちなみに、昨日のブログは思いもよらぬ反響があった。賛同もあれば、厳しい否定もあった。正直、多少は傷ついた*1。が、誰かの考える…
Google I/Oの初日が終わった。 シリコンバレーの空はあいかわらず雲ひとつなく、来年も同じ条件でこのイベントを開けるのだろうかと心配になるほど暑い。以前から、このGoogle I/Oはこの土地は心地よい晴天であることを前提にしてイベントを組んでいる。雨が降ったらどうするんだろうかという心配もあったが、今はだが、地球温暖化が進む中、その前提自体がいつまでもつのか逆の心配がある。Shoreline Amphitheatreで汗を拭きながら、私はそんなことを考えていた。 会場には世界中から開発者…
株式会社カミナシで VPoE を務めている pospome です。 (´・ω・`) ここ数年ほど分割キーボードを使っていたのですが、やめました。 ↓はウッキウキで分割キーボードを買ったときの記事です・・・。 www.pospome.work なぜやめたのか 1. 分割キーボードがない環境だとタイピング能力が落ちてしまう 2. 重くて持ち運びするのが辛い。 実際やめてどうか? まとめ 宣伝 なぜやめたのか 以下の理由があるからです。 1. 分割キーボードがない環境だとタイピング能力が落ちてしまう …
こんにちは、SmartHRでプロダクトエンジニアをしているkureです。 SmartHRでは2023年から一部パッケージでモジュラモノリス化の取り組みが始まり、2024年にコードベース全体での推進が決まりました。本記事では、私たちがなぜモジュラモノリス化に取り組んだのか、どのような成果と課題があったのかを、現場の実体験を通じてお伝えします。 モジュラモノリスという手法は近年注目を集めていますが、実際に導入・運用してみると理想と現実のギャップに直面することがあります。私たちの経験が、同様の課題を抱…
ここ半年ほど、Previous Riverという Obsidian プラグインを作っていた。このプラグインは、フロントマターの previous プロパティを利用してノートの前後関係を自動認識し、スムーズな移動を実現するものだ。想定していなかったバグを直し、ノートが大量につながると移動が遅くなってしまう問題を最適化し、俯瞰するためにObsidianのcanvas形式で出力するなど、一通り欲しい機能が完成した。 一つのソフトウェアを「普段使いに不満がないレベル」まで磨き上げると、既存の資料を読むだ…
こんにちは、アンドパッドセキュリティチームの小野寺です。 近年、ソフトウェア開発のエコシステムを狙ったソフトウェアサプライチェーン攻撃が大きな脅威となっており、開発環境や CI/CD パイプラインにおけるセキュリティの強化が急務となっています。 アンドパッドでは、以前のブログでご紹介した EDR によるサプライチェーン攻撃対策とあわせて、より多層的な防御策の導入を進めています。 本記事では、弊社が直近で取り組んだソフトウェアサプライチェーン攻撃に対する具体的な対策について、実践的なアプローチと実…
1941年12月の電波管制により、戦時中は民間の短波受信機所持は厳しく制限されていた。短波放送を聴くと、これはスパイ行為だと怒られ、短波ラジオは押収された。短波受信する機能を潰して返却というケースもあったようだ。思想的な問題を持つ場合は、拷問などもされた。 www.japanradiomuseum.com だから敗戦後、短波ラジオを自由に組み立て平和を実感した人がいた。 余談ですが、太平洋戦争が終って間もない頃、神田の小川町から須田町界隈の歩道には電気部品専門の闇市ができました。文字どおり路上に…
バックエンドエンジニアの伊藤です。最近、AIコーディングエージェントを使った開発が当たり前になる中で、改めてチケットには何を書くのが最適なんだろう、そもそもチケットが生まれた経緯・役割はなんだったのだろう、AI時代にはチケットはどう変わるのだろう、ということを考えています。ここ1、 2年で、AIによってコードを書く速度が格段に速くなってきました。簡単な修正であれば、実装そのものは数分で終わります。バグの再現条件を渡し、関連しそうなファイルを読ませ、修正案を出させ、テストまで書かせることもできます…
目次 目次 はじめに プロジェクト概要 Order Management System (社内通称:OMS) について OMSサンセットプロジェクトについて プロジェクトにおける役割と実施内容 当時のフローと現行フローの比較 準備・調査 設計 実装・テスト シミュレーション・分析 経過観察・運用 プロジェクト成功の知見と、AI時代に新たに見えてきた課題 リスクとなるレビュー 新人教育への影響 おわりに はじめに こんにちは、コアシステムエンジニアリング(CSE)部門 配送ドメイングループの安見で…
LLMを動かすハードウェア、軽くまとめておきます。 SoC LLMを動かそうとしたら、まず候補にしたいのはCPU+NPU+GPUのSoCが載ったマシン。 GPUカードのようなパフォーマンスは出ないけど、現実的な値段で大きいモデルが動かせます。 ※ 追記(2026/5/14) 現状ではMacだけ普通で他は特別なマシンという感じですが、インテルも対応した今後は「パソコンを買ったらLLMが動かせる。せっかくLLM動かすならちょっとお金を足して30Bが動く程度にメモリ積もう」となるんじゃないかと思います…
はじめまして。面接官をAIがなされることもあるんですね。少々とまどっておりますが、よろしくお願いします。自己紹介をさせていただきます。大学を辞めて25年、Webを中心に実績を積んできました。とはいっても、キャッチアップもしておりまして、最近ですとTypeScriptですか、ええ、サーバーサイドもクライアントサイドも両方、いや広く浅くといった感じでして、いやあ、お恥ずかしい限りでございます。実績ですか、そうですね直近ですとAIを使ったLINEチャットボットなんかをやっておりますね。そうですそうです…
こんにちは。バクラク給与の開発を担当しているakahaneです。 新規プロダクトとしてバクラク給与を立ち上げ、2026年3月にリリースしました。その開発の進め方について振り返ります。 はじめに バクラク給与の立ち上げでは、Claude CodeやCodexなどのコーディングエージェントを積極的に活用しました。 ただし、これは「AIにコードを書かせたら速かった」という話ではありません。 給与計算は、間違いが許されない領域です。計算結果が1円ズレれば、それは従業員の生活に直結する。「それっぽく動くコ…
2026年5月12日、Mini Shai-Hulud キャンペーンの第二波が発生しました。TanStack Router を起点に、UiPath、Mistral AI SDK、DraftLab 等を含む 199 以上の npm パッケージが侵害されています。本稿執筆時点で、侵害可能性は継続しています。 第一波(4月29日〜30日)では SAP CAP 系・intercom-client・lightning の 6 パッケージが対象でしたが、第二波では CI/CD パイプラインの侵害によって有効な…
生成AIを使った開発。個人としては少し手に馴染んできているけど、チームでの開発はどう取り組むのがいいんだろうな?と思っている。この記事は、やってみた結果どうだったというものではなくて、これから試行錯誤するための頭の中の整理。 僕が自分の手でコードを書くことはもうない まず、AIを使っていて感じるのは「今後、僕が自分の手でコードを書くことはないだろう」ということ。すでにこの数カ月間、自分ではコードを書いていない。 誰かと仕事をするときに、コーディングを一緒にするのはいい時間だったなぁと思う。ペアプ…
Chrome DevTools MCP に最近触れていて、衝撃を受けています。 Chrome DevTools MCP は、Claude Code などの MCP クライアントから Chrome DevTools Protocol(CDP) を通してブラウザを操作する仕組みです。ざっくり言えば、「AI に、普段使っている Chrome をそのまま操作させるためのインタフェース」です。従来の Selenium や Puppeteer のように大量の操作コードを書くのではなく、「このボタンを押して」…
gfx.hatenablog.com これの続きです。 4ヶ月くらい100% agentic codingで新規のプログラミング言語 & 処理系(Wado; ワドゥ)を設計・実装してきて、ある程度明確になってきたことがあるので、雑多でMECEでもないですが、現時点での記録を残します。 Claude Code on cloud の実行環境が落とされる件 ほぼ claude code on cloud で開発していますが、こいつはかなりはっきりした独特の癖があります。 まず、1 session 1 …
はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク数ランキング」。4月27日(月)~5月3日(日)〔2026年5月第1週〕のトップ30です*1。 順位 タイトル 1位 裁判官マップにとんでもない高評価の有能裁判官がいる...→警察が提出したドラレコ映像を裁判官自らバイナリレベルで解析して改ざんの証拠を突き止めた - Togetter 2位 GW中に「Claude Code」を一気に学びたい人のための記事・動画ガイド|梶谷健人 3位 はてな株に売り殺到、終日値付かず “…
Claude Code に作業を任せて席を外し、戻ってきたらコマンド許諾待ちで止まっていた。そんな経験ありませんか。 かといって全部 allow にしてしまえば、.env 読み出しや bash 任意実行のリスクが跳ね上がります。「席を外せる自律性」と「無制限許可の危険」のあいだに、どう線を引くか。この問いを 8 章で具体化する本『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』を、姉妹書と同時に 2026 年 11 月発売予定で執筆中です。 speaker…
はじめに ドキュメントは、書いた瞬間から腐っていく。 読まれない。検証されない。更新されない。それでも、要件と呼ばれ続けている。 第1部では、要件を言葉にする規律について書きました。引き出し、観察し、ジョブを見極めながら、業務領域の言葉で書く。6つの特性を満たし、検証可能な形にする。揺らぎと固執を組み込んで、自分たちの色を要件に乗せる。 そこまでやって、初めて要件文が立ち上がります。ただ、立ち上がっただけでは足りないのだと、最近は思うようになりました。 第1部で扱ったのは「書かれずに死ぬ要件」で…
AI駆動開発が「使える」となってきたことで、20代後半から30代中盤のミドルエンジニアが疲弊しているという話を聞きました。たしかに、エンジニアの中でも「AIは楽しい・これでもっと良くなる」という意見と「不安だ・これからどうなるのだろう」という意見に分かれているようです。私の周りでは、特にベテランが楽しんで、ミドルが不安になっているような構図を感じています。この記事では、システム開発における30年間の分業と統合の歴史を振り返りつつ、それぞれの世代が何を経験してきたのかを整理します。そのうえで、AI…
はじめに ケース1: 決済実行時の保存失敗 — 仕様は「ユーザー体験を壊さない」 課題と仕様 設計の考え方 ケース2: 送金結果不明 — 仕様は「統制・監査上の説明可能性」 課題と仕様 設計の考え方 おわりに はじめに こんにちは。LayerX でソフトウェアエンジニアをしている @ysakura_ です。バクラク請求書発行のカード決済機能の新規開発を担当しました。発行した請求書に対してクレジットカードでの決済を受け付けられるようにする機能です。取引先がクレジットカードで支払うと、バクラク請求書…
TSRX(TypeScript Render Extensions)は、宣言的UIを構築するためのTypeScript言語拡張です。 JSXの精神的後継として位置付けられており、構造・スタイリング・制御フローを同一ファイルにまとめて書けるのが特徴です。TypeScriptとの後方互換性も保たれており、.tsrx モジュールはJS・TS・JSX・TSXファイルからそのままインポートできます。 コンパイルターゲットはReact・Preact・Solid・Vue・Rippleに対応しており、フレームワ…
2026年4月末、Linuxカーネルに極めて深刻な脆弱性が報告されました。通称「Copy Fail」と呼ばれるこの脆弱性(CVE-2026-31431)は、ローカルの一般ユーザーが数秒でroot権限を奪取できるというものです。 今回の記事では、情報システム部のセキュリティ担当として、この脆弱性のメカニズムと、組織が直ちに講じるべき対策について論理的に解説します。 この脆弱性に関する客観的な事実は以下の通りです。 専門家として分析すべきは、この脆弱性が「ディスク上のファイルを書き換えない」という点…
こんにちは、ファインディでFindy Toolsの開発をしている本田です。 このたび、Findy Toolsの新機能として「アーキテクチャAI」をリリースしました。要件を入力するとAWSのアーキテクチャ図と設計の提案が生成される機能です。 findy.co.jp 今回の開発では、PM・仕様策定・スコープ定義・インフラ・FE/BE開発・テストまで、ほぼ一人で1か月で担当しました。そして、コーディングはほとんどClaude Codeに任せ、私自身はほぼコードを書いていません。 この記事では、そんな開…
2026年4月29日から30日にかけて、複数の主要パッケージが連続して侵害されました。npm 上では SAP CAP の @cap-js/sqlite / @cap-js/postgres / @cap-js/db-service および SAP の mbt、加えて intercom-client が、PyPI 上では PyTorch Lightning(lightning)が標的となりました。 これら一連の侵害は、攻撃者がデータ持ち出しに用いるリポジトリの description が A Mi…
こんにちは、北海道から freee red team*1に参加している yu です。 北海道は春らしい暖かい日が続き、雪も溶け、私は冬に家の前で落としたスマートリングをようやく見つけることができました。北国での冬の落とし物は往々にして春を待たなければならないことがあります。 さて、そんなことよりも今日は2022年に始まった freee Security Champions*2 のこれまでの歴史と、今なお進化し続けるこの制度についてご紹介します。 Security Champions Progra…
ここ1、2年でGoogleビジネスプロフィールの「予約」ボタンに関する相談が増えています。 店舗側では設定した覚えがないのに、Google検索やGoogleマップ上に「予約ボタン」が表示されており、そのリンク先が予約手数料のかかる予約サービスになっていたというケースです。 予約ボタンは、ビジネスオーナーでは登録・削除できるリンクではなく、条件を満たした予約プロバイダ(予約サービス)側が設定するリンクです。 そのため、「いつの間にか勝手にボタンが表示されている」ことになりますし、「ビジネスオーナー…
代表の小竹(aka tkmru)です。 先日のしゃぶ葉での出来事です。キッチンから私の席へ運ばれてくるはずの六穀豚が、配膳ロボの移動中にいつの間にか別のテーブルの人に取られていた—— しゃぶ葉にてサーバ(キッチン)とクライアント(客席)間で中間者攻撃が行われペイロード(豚ロース)が奪われ再送してもらいました pic.twitter.com/AGf1PYZqD2— たけまる🦦 (@tkmru) 2025年12月21日 しゃぶ葉にて再び、サーバ(キッチン)とクライアント(客席)間でMITMが行われペ…
G-gen の杉村です。Google が提供する Google AI Studio で発行した API キーが何らかの方法で他人に知られたことにより、悪意ある主体によって大量に Gemini モデルへのリクエストが発行され、利用料が過剰に発生する事象が観測されています。当記事ではこの事象の説明と、対処法について解説します。 事象と背景 事象の原因 キーが他人に知られた原因 不正利用の原因 対策 対策の一覧 対象者 予算アラートと異常検知の設定 予算アラート 請求先アカウントの異常検知 迷惑メール…
2026年4月、「カミナシ 教育」開発チームのオフサイト。 エンジニア・プロダクトマネージャ(PM)・プロダクトデザイナー(PD)が3人ずつのチームに分かれ、「カミナシ 教育」のAI機能をいじりながら、ある特殊なケースを探していました。 機能のバグでしょうか?いえ、もっと厄介なものです。「出力結果はおかしいのに、評価指標は問題なしと判定してしまうケース」——AI機能を評価する仕組みそのものの盲点です。 これが私たちのチームで実施したAI評価改善ワークショップの一場面です。 AI評価改善ワークショ…
utakatanka.jp 趣味で開発している短歌投稿サイトUtakataのトップページに表示される「人気の歌」の掲載ロジックを変更した。 素朴な「いいね数ランキング」から始まった Utakataは8年前、私がWeb開発未経験だった頃に作ったサービスだ。 サービス開始当初から、直近期間の被いいね数が多い短歌を「人気の歌」としてトップページに掲載していた。非常に素朴なロジックだったが、最初はそれで十分に機能していた。集計期間を直近で区切ることで、掲載される歌もほどよく入れ替わっていた。 できたばか…
はじめに vulnerable-app に ZAP の full scan を回すと、High finding が並びます。XSS、SQL Injection、Path Traversal。alert 名を眺めて、ふと気づく。これは「危険です」の一覧ではない。handler への差し戻し指示書だ。 OWASP ZAP を実行すると、HTML、Markdown、JSON のレポートが出ます。そこには Cross Site Scripting (Reflected)、SQL Injection、Pa…
こんにちは、ヘンリーの山口です。2026年4月にVPoEに就任しました。 年末にVPoEの打診を受けてから就任までの数ヶ月、「VPoEとして自分は何をやる人なのか」を探していました。一般的にイメージされるVPoEの仕事と、自分が実際にやり始めた仕事がどうにも噛み合わなかったからです。ようやく自分なりの答えに辿り着いたので、その結論とそこに至るまでの考え方を書き残しておきます。 違和感:一般的なVPoE像と、私が始めていた仕事 VPoEと聞いて多くの人が想像するのは、たぶんこういう仕事です。 エン…
はじめに カミナシで新規プロダクトの開発をしているShimmy(@naoya7076)です。 現在、新規プロダクトをプロトタイプとして開発しており、顧客に提供しながらフィードバックを得ています。Claude Codeをはじめ、開発の全工程でAIを活用しており、開発アイテムは予定以上のスピードで実装できています。 「AIでコーディングが速くなった。ではその空いた時間で何をやるのか?」 この問いに対して、自分が新規プロダクト開発で実践してきたことを書きます。 「もっと作る」はアンチパターン AIで実…
こんにちは。ファインディ株式会社でテックリードマネージャーをやらせてもらってる戸田です。 ファインディではClaude CodeのスキルやカスタムコマンドなどをPlugins経由で社内展開しています。 tech.findy.co.jp コードレビューやタスク分解といった開発業務の効率化が進む一方で、登壇準備はまだ手作業の割合が大きい領域です。話す内容を固めて、構成を考えて、スライドに落とし込んで、デザインを整えて……。発表の本質は「何を伝えるか」なのに、準備工程に時間を奪われがちです。 本記事で…
2026年3月に Reporting API というWeb標準 API が Baseline に到達し主要ブラウザで利用可能になりました。 今回はこの便利な Reporting APIを実際に使ってみて、できることやユースケースについて考えてみます。 Reporting API とは Webアプリケーションを運用していると、こんな問題に遭遇したことはないでしょうか。 本番環境でだけ CSP 違反が起きているが、ユーザーからの報告がない限り気づけない 使っている API がいつの間にか非推奨になっ…
データ構造とアルゴリズムを再学習する中で、LeetCodeを150問ほど解きました。その結果、これまで苦手だったグラフアルゴリズムも含め、自分で使いこなすレベルまで引き上げることができました。 本記事では、その過程で得た学びや、なぜこれまで挫折していたのかを振り返ります。 動機 やったこと 学び なぜ今までうまくいかなかったのか 演習問題を復習していなかった AtCoder中心の学習 その他の要因 データ構造とアルゴリズムの学習するうえでの個人的結論 教材の感想 [Web] CodingInte…
最近はCoding Agentを使って開発をしています。複数のCoding Agentを立ち上げて、それらと複数のタスクを並行して進めるようになりました。 一方で、感覚として「待つ」ことが多くなった気がします。 PRを出してCIの完了を待つ、レビューを待つ、マージを待つ。IssueやDiscussionでの回答を待つ。並行して進めていると「あれどうなったかな」とターミナルだけではなくブラウザのウィンドウを行ったり来たりする回数が増えています。 そして、Coding Agentは「待つ」のが苦手っ…
Google Cloud上のアプリケーションからGitHub APIにアクセスするとき、PATあるいはGitHub AppのInstallation Access Tokenが必要となります。しかしPATはユーザに紐付くため管理が厄介ですし、Appを作れば秘密鍵の管理について考えなければなりません。 この記事では、すでに運用しているOcto STSとGoogle CloudのOIDC ID Tokenを組み合わせることで、新たなGitHub Appを作らずにGitHub APIへのアクセスを実現…
こんにちは。食べログカンパニー 開発本部 国内メディア開発部 店舗情報チームの高橋です。 本記事では、案件の企画検討フェーズにおけるデータ分析の進め方を、AIコーディングエージェントのDevinを活用して見直した取り組みを紹介します。企画メンバー(PdM)とエンジニアが個別にAIを使う状態から、Devinを介して共同でデータ分析に取り組む進め方へ変えました。その結果、工数は約3人日から約1.6人日へ、リードタイムは2〜3日から1日へ短縮できました。 この変化の出発点にあったのは、企画検討フェーズ…