0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング雑記 2025年12月10日

Last updated at Posted at 2025-12-09

本日も、ネットに流れるトピックから個人的に興味を引かれたものを拾っていきます。

この記事への感想等コメントで頂けるとありがたいです

MCP登場から1年。もう1年経つのか早いな。

ポッドキャスト版

プログラミング

.NET

この記事は、非推奨となったInAppBillingPluginに代わり、.NET MAUI向けにAndroid/iOS/Mac Catalyst/Windows共通で利用できる課金サンプル「BillingService」を紹介している。 共有インターフェースIBillingServiceと依存性注入、条件付きコンパイルで各プラットフォーム固有実装を切り替えるアーキテクチャを解説し、StoreKit 1利用の注意点や将来的なStoreKit 2移行、各ストア側での商品設定・テスト方法へのリンクも提示している。


Go言語

この記事では、Goでのファイル・HTTPレスポンス・DB結果などのリソースを閉じ忘れるとメモリやFD、接続が枯渇してサービス障害につながること、そしてGoLandの新しい「リソースリーク解析」がそれをIDE上で早期検出できることを解説している。

まず、io.Closerを実装するファイル、ネットワーク接続、*http.Response*sql.Rowsなどを閉じ忘れると、GCでは解放されない外部リソースが溜まり、徐々に性能劣化やクラッシュを引き起こすと説明する。 予防策として、deferで早めにCloseを登録すること、ループ内deferを避けること、負荷試験でリークをあぶり出すこと、golangci-lintなど静的解析ツールを使うことが推奨される。

具体例として、HTTPレスポンスボディを閉じないコードが大量リクエスト下でTCP接続を使い潰し「can’t assign requested address」になるケースと、rows.Scanエラー経路で*sql.Rowsを閉じないためにDB接続プールを枯渇させるケースを示し、どちらもdefer resp.Body.Close()defer rows.Close()で解決できると示している。 GoLand 2025.3 のリソースリーク解析は、io.Closerを実装する任意の型に対して制御フロー全体を追跡し、「閉じられない可能性」をリアルタイムにハイライトすることで、初心者・熟練者ともにリークを早期に防げると結論づけている。


JavaScript/TypeScript

JavaScript/TypeScript Modernizer は、VS Code Insiders 向けの GitHub Copilot 活用ツールで、package.json を解析し npm パッケージ更新とそれに伴うコード修正をチャット形式で支援し、古い JS/TS アプリのモダナイズ作業を半自動化するプレビュー機能です


Azure DevOps

Azure DevOps Server が一般提供 (GA) となり、自己ホスト型でエンタープライズ向け DevOps 機能を本番利用できるようになりました。 Azure DevOps Server RC や TFS 2015 以降から直接アップグレード可能で、TFS 2015 は 2025 年 10 月に延長サポートが終了しているため、セキュリティとコンプライアンスの観点から早期の移行が推奨されています。


Excel

ExcelのAgent ModeがExcel for Webで一般提供され、Copilotによる単発チャットから、ワークブック内でマルチステップの自動処理を組める「エージェント的」な利用が可能になったことを紹介している。​

データ分析、シナリオ分析、数式生成、可視化(ピボット・グラフ・ダッシュボード作成)を自然言語で行え、処理内容や理由付けも確認できる。​

対象は商用Microsoft 365 CopilotまたはMicrosoft 365 Premiumユーザーで、対応言語には日本語も含まれ、Windows/Mac版Excelへの展開やファイル/Work IQによる高度なコンテキスト利用も予告されている。


MySQL

MySQL 9.4/9.5では、Community Edition向けにJSON活用・性能・運用性が強化されている。

MySQL 9.4の概要

MySQL 9.4では、複数テーブルに分散したデータを1つのJSONドキュメントとして扱えるJSON duality viewが追加され、JSONベースAPIとリレーショナルスキーマの橋渡しが容易になった。 行内容からハッシュを生成するETAG関数により、楽観ロックやキャッシュ更新判定を軽量に行え、mysqlクライアントにはクライアントコマンドを一括制御する--commandsオプションが導入されてセキュリティポリシーに沿った運用がしやすくなっている。

MySQL 9.5の概要

MySQL 9.5では、CPU数やバイナリログ有無に応じてInnoDBログ書き出しスレッド数を自動調整するようinnodb_log_writer_threadsのデフォルト挙動が変更された。 また、レプリケーション並列実行に関わるbinlog_transaction_dependency_history_sizeのデフォルト値と上限が大幅に拡大され大規模環境でのスループット向上が期待される一方、不要となった一部レプリケーション関連変数が削除され、アップグレード前に設定ファイルの見直しが必要となっている。


エージェンティックコーディング・仕様駆動開発

ラクスルのデザインシステム「kamii」を、まずデザイントークンから再構築し、その成果を活用した独自 MCP サーバー「kamii-mcp」と Figma MCP Server の併用で、デザインシステム準拠な AI ネイティブ開発を実現した事例を紹介している。Figma を単一情報源にして Variables から Design Tokens仕様準拠の JSON と CSS変数を生成し、kamii-mcp がトークンを AI に提供することで、Figma 側での Variables 設定漏れなどのヒューマンエラーを補完しつつ、小さく無理なくデザインシステム再構築を進めた点がポイントとなっている。


【生成AI】回答の精度を上げたい!そんな時はContext7 MCP Serverを使おう – RecoChoku Engineering Blog

この記事は、生成AIのハルシネーション問題、とくにフロントエンド領域で最新バージョンの情報が誤って提案される問題に対し、Context7 MCP Serverを用いて「最新ドキュメントを参照させることで精度を高めよう」という内容です。

Context7を導入しAPI Keyを発行してエディタやAIツールと連携することで、AIが常に更新済みの公式ドキュメントを参照できるようになり、バージョンアップ直後や実験的機能の調査でも、より信頼性の高い支援を受けながら効率的にコーディングできると述べています。


この記事は、AIコーディングにおけるAIの捉え方として「新人エンジニア」ではなく「毎回入れ替わる初見スポットバイト」と考えるべきだと提案し、その前提に立つとリポジトリ整備とドキュメント、プラクティス用語の重要性が一気に増すという内容である。
AIは会話を跨いで成長せず、コンテキストが切れるたびに記憶を失うため、「誰が来ても誤解しようがない構造」と「ここだけ読めば分かる仕様ドキュメント」を用意し、DRYやSOLIDなどの原則名をプロンプトに織り込むことで、常に初見のAIから最大のパフォーマンスを引き出そうと説いている。


AI

Microsoft

Microsoft Foundryは、AIアプリやマルチエージェントを企画から本番運用まで一貫して扱える統合ポータル兼基盤であり、モデル選定・エージェント設計・ワークフロー構築・評価・ガバナンス・監視を一元的に提供する開発運用環境です。​

Azure上の多様な基盤モデルやツール、ナレッジベース、MCPコネクタを組み合わせ、TeamsやCopilot Chatへの配信と、ガードレールによる安全性・コンプライアンス管理、コストとトークン使用状況の可視化までを横断的にサポートします。


GitHub Copilot

AI 時代においては、開発速度だけでなく品質と制御が重要であり、GitHub Copilot と Code Quality などのツールでガードレールを敷きつつ高速開発を実現することが提案されている。 開発者は「運転手」としてゴール・制約・文脈を明示的にプロンプトに与え、Issue・ブランチ名・コミット・PR で意思決定プロセスを見える化することで、AI に実装を任せつつも信頼できるコードとドキュメントを維持できるとまとめている。


Agentic AI Foundation(AAIF)

Linux Foundationは、オープンで中立的なエージェントAI基盤を目指す「Agentic AI Foundation(AAIF)」を設立し、AnthropicのModel Context Protocol(MCP)、Blockのgoose、OpenAIのAGENTS.mdを中核プロジェクトとして受け入れた。 MCPはAIモデルと各種ツール・データ・アプリケーションを接続する事実上の標準プロトコルとなっており、Claude、Copilot、Gemini、ChatGPTなど多数のプラットフォームが採用している。 gooseはMCPベース統合を備えたローカルファーストのエージェントフレームワークで、信頼性の高いエージェントワークフロー構築を支援する。 AGENTS.mdはリポジトリごとの開発ガイドラインをAIエージェントに共有するための単純なMarkdown標準で、数多くのOSSプロジェクトやエージェントツールに採用されている。 AAIFにはAWS、Google、Microsoft、OpenAIなどがプラチナ会員として参加し、オープン標準・オープンプロトコルを通じてベンダーロックインを避けつつ、安全で相互運用可能なエージェントAIエコシステムの構築を目指している。


OpenAIはAnthropicやBlockなどとともにLinux Foundation傘下でAgentic AI Foundation(AAIF)を設立し、エージェントAI向けのオープンで相互運用可能な標準を中立的に策定・運用する枠組みを立ち上げた。 OpenAIはコードベースごとの規約やビルド手順などをエージェントに共有するための軽量なMarkdown仕様「AGENTS.md」を財団に寄贈し、MCPやgooseといった他社プロジェクトと合わせてエコシステム全体の共通基盤とする。 これにより、ベンダー依存や標準の分断を避けつつ、安全で持続可能なエージェント基盤をオープンコミュニティ主導で発展させることを狙っている。


JetBrainsはLinux Foundation傘下のAgentic Artificial Intelligence Foundation(AAIF)に参加し、MCPやgoose、AGENTS.mdなどのオープンソースプロジェクトを通じてエージェント技術の標準化と基盤整備に貢献する方針を示している。
JunieやJetBrains AI Assistant、Claude Agentなど既存のAI機能を持つIDEを開発しつつ、今後も複数のコーディングエージェントを受け入れるオープンプラットフォームとして、人間とエージェントの協調開発を支えることを目指している。


OpenAI

OpenAIは、実務的なAIスキルを身につけて収入やキャリア機会を高めることを目的に、「AI Foundations」と「ChatGPT Foundations for Teachers」という2つの新しい講座を開始し、2030年までに1,000万人に認定を付与することを目指している。 AI FoundationsはChatGPT内で実務的トレーニングと認定を提供し、教育者向け講座は教師が授業や校務でAIを活用できるよう支援しつつ、Courseraや大学・企業・教育団体との連携を通じて学習と雇用機会を結びつけていく取り組みである。


論文・その他

量子コンピューティングとAIはいずれも誤りを含むが、量子計算は「解くのは難しいが答えの検証は容易な問題」に特化しており、誤答なら再試行すればよい点が鍵とされる。 一方LLMは、人物の経歴など検証が難しい領域にまで適用され、参照元も内容を裏付けないことが多く、この「検証困難さ」が大きな問題になっている。 KarpathyはSoftware 2.0を「検証可能性」を中心に再定義し、タスクが検証しやすいほど自動化しやすく、これがLLM進歩の「ギザギザの境界」を形作っていると指摘する。 つまりSoftware 1.0が「指定できることの自動化」なら、Software 2.0は「検証できることの自動化」であり、AI開発者には「何がどう検証可能か」を設計することが今後の本質的課題として突き付けられている。


クラウド

Azure

Azure Developer CLI の GA となった ACA 対応で、Bicep ベースの構成によりリビジョン単位のブルーグリーンデプロイが簡単に行えるようになった記事です。環境変数(BLUE_COMMIT_ID、GREEN_COMMIT_ID、PRODUCTION_LABEL など)と revision ラベルを組み合わせて、ローカル実行から GitHub Actions による自動ローテーションまで、デプロイとトラフィック切り替え・ロールバックを一貫して扱う方法を解説しています。


2025/12/09 時点で公開された Microsoft 関連情報のうち、公式/MS Azure Blog/Updates には新規ピックアップはなく、Microsoft Tech Community と Developer/Fabric Blog から .NET 10 のメモリ・ネットワーク改善、Azure Database for MySQL の MCP 対応、Logic Apps 用 Data Mapper テスト機能、Cosmos DB の最大10年長期バックアップ、Microsoft Foundry/AIエージェント関連アップデート、Azure Arc Server Forum 2026年以降の案内などがまとめられています。


データーセンター

米国は安全保障上の懸念から、中国などへの先端AIチップ輸出を厳しく管理し、輸出業者に詳細なKYCとデューデリジェンスを求めている。 2025年の行政府方針やBISの新ガイダンス、GAIN AI法案、Affiliates Rule一時停止などにより、AIチップの供給優先順位や投資規制が変化し、米国外データセンター事業者は所有構造や契約、調達計画を継続的に見直す必要がある。


カナダ連邦政府とアルバータ州の合意によりクリーン電力規制が棚上げされ、ガス火力発電所の新設が現実的となったことで、AI向け大規模データセンター誘致が可能になりつつある。 既存のGenesee発電所拡張やCCSプロジェクト復活が検討され、カーボンプライス引き上げとともに、対米依存を減らしつつエネルギー政策を転換する戦略の一環とされている。


ネオクラウドはGPU中心の専用インフラでAI学習・推論を安価かつ高効率に提供し、急成長しているが、GPUや電力設備、人材の不足が大きな制約となっている。 一方でAIが成熟し効率化が進むと、資本力とスケールを持つハイパースケーラーが再びAIワークロードを取り戻す可能性が高く、ネオクラウドが全面的に置き換える未来は限定的と見られている。


OS

Windows

Windows 11 Insider Preview Build 28000.1340 は Canary チャンネル向けに配信され、全体的な安定性と体験を向上させる軽微な改善と不具合修正を含みます。 管理者保護機能は一時的に無効化され、Storage Spaces/Storage Spaces Direct のクラスター作成に失敗する問題が修正されています。


本記事は、2025年のWindows 11におけるPCゲーム強化として、ROG Xbox Allyシリーズを中心としたハンドヘルド最適化、Advanced Shader Deliveryや電源管理改善による高速・省電力化、Arm版WindowsでのPrism強化とネイティブアンチチート対応、DirectX Raytracing 1.2とニューラルレンダリングによる描画性能向上、Bluetooth LE Audioでの高音質・低遅延オーディオなどを紹介し、今後はXboxフルスクリーン体験のPC全体への展開やAuto Super Resolutionプレビューなどで「どこでも遊べるWindows」を目指す内容です。


エンジニア

この記事は、「実力」とはゾーンに入ったときの最高到達点ではなく、やる気も体力もない最悪のコンディションでも出せるアウトプットの水準だと定義し直す内容である。 社会やチームからの信頼は派手な上振れではなく「ここまでは必ず下回らない」という下限に対して支払われ、プロフェッショナルとは悪条件下でも期待値を安定して満たせる人だと説く。 他人の成功法則や一時的な頑張りは再現性がなく実力とは言えず、自分の精神力に頼らずとも「最悪の自分でも動けるような仕組みと環境」を設計し、その床を少しずつ底上げしていくことこそ本当の能力だと語る。 また、能力は文脈依存であり、自分に合う「水」(環境)を選びつつ、失敗してもよい余白や砂場を個人・組織の両方に確保しなければ成長は止まってしまうと指摘する。 著者は、自分の弱さや「最悪の日」の経験こそが強いシステム設計の仕様書になり、自分の下限を知り、その床を1ミリずつ上げ続けることが、誰にも奪われない実力になると結んでいる。


Linus Torvalds氏は、Linuxカーネルでは「動いているものを壊さない」ことを絶対ルールとし、リグレッションを避けるために古いインターフェースを残しつつ新しい機能は新インターフェースで提供するという、開発者としては過酷な方針を長年維持していると語った。 また、オープンソース開発者は新しい機能や正しさの追求に惹かれがちだが、自分の修正は自分だけでなく多くの依存プロジェクトに影響することを強く意識すべきだとし、この姿勢を他プロジェクトにも広げたいと述べている。


記事は、「コードは上から下へ読む一本道」が小規模では直感的で楽しい一方、規模が大きくなると人間の認知限界により苦痛と理解困難を生むことを説明している。​
巨大な手続き型コードでは、変数状態や分岐を追うために脳の高コストな思考モード(System 2)が占有され、本質的なビジネスロジックを考える余力がなくなると指摘する。​
それに対し、関心事の分離やアーキテクチャ、カプセル化などで構造化することは「地図」を持つ行為として脳内リソースを解放し、読み手に「詳細を忘れる自由」を与える設計上の思いやりだと位置づけている。​
最終的に、わかりやすいコードとは、未来の読み手が内部状態や実行順序を細かく覚えなくても直感的に本質ロジックを追えるよう、脳への負荷を意識して設計されたコードだと結論づけている。


業界動向

IBMがApache Kafka開発者の会社Confluentを約110億ドルで買収し、エンタープライズ向けAIデータプラットフォーム強化を図るという記事です。​

ConfluentのKafkaベースのマネージドサービスとIBM製品を連携させ、マルチクラウドやオンプレに分散するデータを信頼できる形でつなぎ、生成AIやエージェントAIを迅速に展開可能にすることが狙いで、買収完了は2026年半ばの予定とされています。​


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?