記事

すべての記事を一か所で閲覧。AI、プログラミング、セキュリティ、インフラ、Web 開発に関するチュートリアルや解説、ガイド、更新情報を見つけましょう。

ソフトウェア保守費用:誰も予算に入れないもの

ソフトウェア保守費用は、成功したはずのプロジェクトを十八か月後に気まずい話し合いへと変えてしまう数字です。開発そのものは予算が組まれ、承認され、無事に納品されました。ところが本番稼働のあとに起きることは「サポート」という一言でまとめられ、誰かが勘で置いた金額があてがわれます。そしてその金額は、ほとんどの場合あまりにも小さすぎました。 理由は不注意ではなく、構造にあります。開発には値段をつけられる範囲があります。保守には範囲がありません。まだ起きていない出来事によって中身が決まるからです。脆弱性が見つかるライブラリ、取引先が変更するアプリケーション連携の仕様、誰も想定しなかった状況に行き当たる利用者。そういったものが保守の中身を決めて...

技術デューデリジェンス:買い手が本当に見る点

技術デューデリジェンスはコード品質のコンテストではありません。それにもかかわらず、これから受ける側のチームは、たいてい見当違いのところに時間を注ぎ込みます。会社を買おうとしている人間で、あなたの設計した抽象化に点数をつけたい人はひとりもいません。買い手が知りたいのは、このシステムを保有し続けるのにいくらかかるのか、そして資金が動いたあとにどれほどひどいことが起こりうるのか、その二点だけです。 この捉え直しが大事なのは、最初に直すべきものが変わるからです。見た目は汚いけれども動いていて、チームが中身を理解していて、安全に手を入れられるコードは、軽微な指摘で終わります。逆に、洗練されてはいるがひとりの人間しか理解していないコードは重大な...

データベース性能:アプリを殺している遅いクエリの見つけ方

データベース性能の改善作業は、たいてい誰かが「もっと大きなインスタンスにしよう」と言い出すところから始まり、そしてたいていは、ページを開くたびにひとつのクエリが400万行を順次スキャンしていた、という発見で終わります。制約はもともとハードウェアではありませんでした。制約は実行計画のほうにあったのです。 この筋書きは十分に繰り返し起きるので、既定の仮説としてはっきり言葉にしておく価値があります。アプリケーションが遅く、そのうえデータベースが忙しいのなら、原因はほぼ必ず、ごく少数の特定のクエリであって、処理能力全体の不足ではありません。そしてサーバーを大きくする対処は、テーブルがふたたび育つのに必要な時間のぶんだけ、問題を覆い隠してくれ...

エンティティSEO: 検索エンジンに自社が何かを教える

エンティティSEOは、多くの最適化アドバイスが今も見落としている一つの事実から始まります。検索エンジンはずっと以前に文字列の照合をやめました。いま照合しているのは「モノ」です。ページはある語句を含んでいるかどうかで評価されるのではなく、その語句の背後にある概念について書かれたページだとシステムが信じているかどうか、そしてその概念が何であるかについてシステムがどれだけ確信を持てているかで評価されます。 この区別が、キーワードの繰り返しが効くのか、それともまったく何も動かさないのかを決めます。文字列を照合するシステムでは、繰り返しはシグナルでした。エンティティを照合するシステムでは、繰り返しは単なるノイズです。実際に順位や引用を動かすの...

実際のユーザーに耐えるソフトウェアテスト戦略

ソフトウェアテスト戦略は、たいていカバレッジという数字で語られます。しかしカバレッジは、この分野全体のなかで最も情報量の少ない数字です。カバレッジ九十パーセントのコードベースであっても、最もよく使われる経路でバグを本番に送り出すことがあります。カバレッジが測っているのは、テスト実行中にどの行が実行されたかであって、その行について意味のある検証が行われたかどうかではないからです。 自分たちのテストスイートを信頼しているチームは、パーセンテージが最も高いチームではありません。本当に壊れているときにテストが落ち、それ以外のときは静かにしているチームです。そしてこの性質は、お金で買うのがはるかに難しいことが分かっています。 どんなテストにつ...

英国のフィンテック開発、FCAと決済網と費用

フィンテックのソフトウェア開発は、誰が資金を保有する認可を持っているのかと誰かが問うその瞬間まで、ごく普通のソフトウェア開発とまったく同じように見積もられ、同じように日程が組まれます。その問いが出た時点で、案件は工学の課題であることをやめ、工学の要素を含んだ規制の課題に変わります。そして頭の中に描いていた日程は、そのままでは達成できないものになります。 技術が難所になることはめったにありません。資金を動かすこと自体はすでに解かれた問題で、成熟した事業者があり、仕様が文書化されたインターフェースがあり、初日から触れるテスト環境も用意されています。フィンテックの構築を長引かせるのは、認可上の立場と、監査に対して証跡を示す義務と、アーキテ...

MVPソフトウェア開発:スコープ、費用、スケジュール

MVPのソフトウェア開発が失敗するのは、実装のさなかではなく、スコープを決める会議の席です。誰かが「実用最小限の製品」と口にすると全員がうなずき、そのあとに届く機能一覧には、ユーザーアカウント、管理画面、課金、通知、ダッシュボード、そしてモバイルアプリまで並んでいます。それは実用最小限の製品ではありません。それはもう完成した製品であり、頭のなかに思い浮かべた数字の三倍の時間がかかります。 害をもたらしている言葉は「実用」、つまり viable の部分です。多くのチームはこれを「誰にでも売れるだけの出来ばえ」と読みますが、本来の意味は「これを欲しがる人がいるかどうかを知るのに、ぎりぎり足りる程度」です。 もっとも費用を節約できるスコー...

順位は取れているのに引用されない理由

順位は取れているのに引用されない。検索エンジン最適化を正しく実行しているのに、それが何も生まないという、非常に特有の苛立ちがこれです。順位は上がります。表示回数も伸びます。それなのにクリックは後に続かず、タイトルタグを何度書き直しても状況は変わりません。 これはあなたの最適化の失敗ではありません。検索結果ページがリンクの一覧であることをやめ、ひとつの回答になったときに起きることです。そしていまや、これは診断に値する異常ではなく、ごく普通の状態になりました。 Search Consoleから取得した、2026年8月上旬までの28日間の自社実測値: このサイトでは531件のクエリが上位十位以内に入り、28,847回の表示に対してクリック...

llms.txt はまだ意味があるのか? 証拠を見る

llms.txt は今のところ何かの役に立っているのか。その問いに対する正直な答えはこうです。測定できる範囲ではほとんど何の役にも立っておらず、このファイルが AI 上での可視性に不可欠だと言ってくる人は、たいてい何かを売ろうとしています。それでいて「一つ用意しておいたほうがよい」と勧めるのは、かなり落ち着かない立場です。ですからこの記事では、まず数字を並べ、そのうえで推奨の理由を順に説明していきます。 ファイルそのものは筋の通ったアイデアです。サイトのルートに置くマークダウン形式の索引で、robots.txt がクローラーに「何を取得してよいか」を伝えるのと同じように、言語モデルに「何を公開していて、それがどこにあるか」を伝えま...

AIクローラーを遮断するか許可するかの経営判断

AIクローラーを遮断すべきかどうかは、技術の問題として持ち出されることがほとんどです。しかし技術の問題ではありません。遮断そのものは設定を数行書くだけの作業で、robots.txt に記述を足すか、ネットワーク側でルールを一つ有効にするか、いずれにしても十分もあれば終わります。難しいのは、自分がそれを本当に望んでいるのかを決めるところであり、その判断は完全に商売の判断です。自社のコンテンツが学習に使われないよう守るのか、それとも人々が検索結果の一覧の代わりに受け取るようになった回答の中に居続けるのか、そのどちらかを選ぶことになります。 ネット上の助言の多くは、まず立場を決めてから、その立場だけを弁護します。誠実な言い方をすれば、正解...