エンドポイントの本数からカスタムAPI開発の費用を見積もろうとすると、たいてい三倍ほど外します。エンドポイントそのものは、この仕事のなかでいちばん安い部分だからです。すでに自社が持っているデータを読み書きするだけの十数本であれば、力量のあるバックエンド開発者にとっては二週間ほどの作業にすぎません。 お金がかかるのは、その十数本を「よその会社が自社の事業を載せてもよい」と判断できるものへ変えていく、周辺のすべてです。セキュリティレビューに耐える認証、あとから方針を変える余地を残すバージョニング、誰も問い合わせを送ってこなくて済む水準のドキュメント、そしてどの顧客がいま困っているのかを教えてくれる運用の仕組み。「APIがあります」と「よ...
プログラミングチュートリアル
実践的なプログラミングチュートリアル。Python、C++、JavaScript などで明快な例とベストプラクティスを解説。設計、テスト、性能も学べます。
COBOL 近代化サービスの調達は、ほかのどんなソフトウェア発注とも似ていません。対象のシステムは三十年から四十年にわたって動き続けており、いま在籍している人間のなかに全体を把握している者はおらず、しくじったときの代償はスプリントの遅れではなく規制報告の失敗という単位で測られます。そのうえ、机の上に並んだ提案書はどれも同じ結果を約束しながら、価格だけが桁違いにばらついています。 本稿では、まともな契約に実際には何が含まれるのか、ベンダーの型はどこが違うのか、そして証拠に立った入札と楽観に立った入札を分ける質問はどれかを整理します。読み手として想定しているのは、その決定をあとから自分の言葉で説明しなければならない立場の人です。 見るべ...
C++開発者を採用しようという判断は、たいてい具体的な問題を伴って訪れます。何かを速くしなければならない、ハードウェアの上で動かさなければならない、あるいはネイティブのインターフェースしか提供していないライブラリと連携しなければならない、といった事情です。そこから始まる採用活動は、往々にしてC++を単一の技能として扱います。そしてこの前提こそが、期待外れに終わる結果の大半を生み出しています。 C++は一つの職種ではありません。優れたゲームエンジンのプログラマーが組み込みファームウェアではまるで生産的でないことは現実にありますし、低遅延の取引システムの専門家が、生涯グラフィカルなアプリケーションを出荷したことがない場合もあります。三人...
外部APIとの連携は、商用ソフトウェアの中でもっとも安定して過小評価される作業です。ドキュメントは明快に読め、ベンダーはクライアントライブラリを公開しており、誰かが「二週間です」と言います。その六週間後、チームはまだ、すでに返金済みの注文に対してWebhookが二度届いたときに何が起きるべきかを議論しています。 この差は能力の問題ではありません。連携の面白い部分が、リクエストとレスポンスであったためしがない、というだけのことです。本当の中身は、相手のシステムがドキュメントに一度も書かれていない振る舞いをしたときに起きることのすべてです。そして相手は必ずそう振る舞います。相手は生きた製品であり、自分たちのロードマップを持ち、あなたのリ...
Qt開発者の採用を検討する企業は、たいていブラウザではなく機械の上で動くものを作っています。計器パネル、診断ツール、ほかの誰も対応してくれないハードウェアの制御アプリケーションといった具合です。候補者の母集団はウェブ市場のごく一部にすぎず、使われる語彙も異なり、採用でよく使われる近道は通用しません。「C++」という条件だけで絞り込むリクルーターは、QMLを一行も書いたことのない人を連れてきます。 本稿では、有能なQtエンジニアが実際に何を知っているのか、2026年にこの職がいくらかかるのか、重要なスキルをどう試すのか、そしてコードを一行も書く前に決着させておくべきライセンスの問題を扱います。最後の点こそ、高くつく失敗が起こりやすいと...
あらゆるメインフレーム移行は、誰かがメインフレーム移行ツールを検索するところから始まります。そのあとに続くベンダーのデモは、判で押したように見事です。数千行の COBOL を投げ込むと、読める Java が出てくる。テストは通り、スライドは七割から八割の自動化を約束します。デモそのものは、たいてい正直です。ただし、そこで使われているコードは、あなたのコードとは似ても似つかない振る舞いをしています。 本稿では、実在するツールの分類を整理し、それぞれが本当に得意とすること、そして実務の負荷がかかったときに壊れやすい具体的な場所を説明します。想定している読者は、社内でベンダーを推す立場の人ではなく、事業計画に署名する立場の人です。 正直な...
老朽化したレガシーシステムをいつ、どのように近代化(モダナイゼーション)するかという決断は、2026年において企業の技術チームが直面する最も影響の大きいアーキテクチャ上の選択肢の一つです。陳腐化したシステムは機能拡張を阻害し、セキュリティ脆弱性をもたらし、リソースの非効率な消費によって無駄なホスティング費用を増大させます。しかし、ゼロからシステムを完全に書き換える「リライト」は、データの消失や業務フローの破綻といった重大なビジネスリスクを伴います。そのため、CTOや技術責任者は、既存コードのリファクタリングと新規の書き換えのどちらが最大の投資収益率(ROI)をもたらすかを慎重に評価せねばなりません。本ガイドでは、レガシーソフトウェア...
LLMのレイテンシ削減は、応答性の高いAIアプリケーションを構築するエンジニアにとって最も重要な課題の一つです。大規模言語モデル(LLM)は能力を高め続けていますが、そのトークンごとの生成はエンドユーザーにとって煩わしいボトルネックを生み出しかねず、長い待ち時間は直接エンゲージメントの低下やアプリケーションの離脱につながります。したがって、推論パイプラインを速度重視で最適化することは、開発者にとって中核的な要件です。本ガイドでは、プロンプトキャッシュの設定方法、レスポンスストリーミングの実装、エッジネットワークルーティングの構築、そして処理遅延を削減するためのサーバーレス構成の活用について解説します。 パフォーマンス指標のヒント:...
単一のコードベースからWindows、macOS、Linux上でネイティブに動作する1つのデスクトップアプリケーションを構築することは、まさにQt が設計された目的です。2026年においても、Qtはクロスプラットフォームデスクトップアプリや組み込みソフトウェアを構築するための最も強力な選択肢の1つであり、特に性能、ネイティブな使い心地、長期的な保守性が重要な場面で真価を発揮します。本ガイドでは、Qtがクロスプラットフォーム開発にどう取り組むか、そして2つのUI技術のどちらを選ぶかを解説します。 要点 Qtを使えば、1つのC++コードベースからWindows、macOS、Linux、組み込みターゲット向けのネイティブアプリケーションへ...
Qt 6 はメジャーバージョンであり、実際の Qt 5 アプリケーションをそこへ移行するのは単なる再コンパイル以上の作業です。フレームワークはモジュール化され、ビルドシステムは CMake へと軸足を移し、一部の API は削除または置き換えられ、モジュールも別の場所へ移動しました。いずれも乗り越えられないものではありませんが、成功する Qt 5 から Qt 6 への移行は計画されるものであり、成り行き任せにするものではありません。本ガイドでは、何が変わったのか、そして 2026年にこの移行へどう取り組むべきかを解説します。 要点 Qt 6 は破壊的変更を伴うメジャーリリースです。モジュール化された構造、...