🔥

ほぼ週間Go言語 2025/11/17

に公開

今週もプログラミング雑記からGo言語の話題を中心に気になった話題を取り上げていきます。

Go言語16周年はめでたい。

Go言語

https://go.dev/blog/16years

Go言語のオープンソース公開16周年に際し、2025年の進化を振り返っています。Go 1.24と1.25では、新APIにより堅牢かつ信頼性の高いシステム開発が容易になり、特に非同期・並行コードのテストを仮想時間で簡潔に書けるtesting/synctestや、ベンチマークAPIの刷新等でテスト体験が向上しました。また、コンテナ環境向けのスケジューリング改善、強化された実行トレーサ(フライトレコーダ)、セキュリティ監査を通じた標準暗号パッケージのFIPS 140-3準拠など、安全性と生産性両面で前進しています。

内部実装面ではmapのリデザインや、新GC「Green Tea」により10~40%のGCオーバーヘッド削減を実現し、今後はAVX-512サポートにより更なる効率化が予定されています。開発体験向上ではgoplsの定期リリース、新しいコードモダナイザー、AI支援機能、モデルコンテキストプロトコル(MCP)への対応を進めており、GoogleのADK GoなどAIエージェント開発基盤も充実しています。

今後は「go fix」による近代化支援、GCやSIMD、ランタイム最適化、JSONパッケージ大幅強化、ゴルーチンリーク検出など、基幹ライブラリと診断機能の拡充に注力。AIとの統合や開発者・コミュニティの声を反映した進化を重ね、原点の理念を保ちながらスケーラブルな進化を目指しています。


https://blog.jetbrains.com/go/2025/11/10/go-language-trends-ecosystem-2025/

Go言語は2025年で誕生16年を迎え、現在プロフェッショナル開発者数は220万人に達し、全開発者の11%が今後1年以内にGoを導入予定です。利用者は主にWebバックエンドとインフラ構築を担当する開発者に分かれます。標準ライブラリ「net/http」がルーティングで主流ですが、近年は「chi」や「Gin」、「Echo」、「Fiber」などのフレームワークも広く利用されています。テストでは標準の「testing」パッケージに加えて、「testify」や「gomock」が人気です。主要ライブラリとしては、ログでは「log/slog」や「logrus」、DBアクセスでは「database/sql」や「sqlx」、「pgx」、ORMに「GORM」「ent」などが挙げられます。CLI開発には「cobra」、Kubernetes関連では「client-go」や「controller-runtime」、「kubebuilder」が使われています。開発環境はGoLandが47%と最多で、AIアシスタント利用率も7割を超えています。Lintツールは「golangci-lint」が主流です。Goの生産性・セキュリティ・シンプルさは高く評価されており、今後も成長が期待されています。


https://youtu.be/u5sQDKot0qE?si=_yofJ3vZA3aEAJ-T

https://google.github.io/adk-docs/get-started/go/#run-with-web-interface

https://github.com/google/adk-go

Google ADKがGoに対応しました。

Googleの「ADK-Go」は、Go言語向けのオープンソース・ツールキットで、柔軟かつ高度なAIエージェント開発・運用を可能にします。Geminiに最適化されつつも、モデルや環境に依存せず、複数エージェントの統合やクラウドネイティブな展開に対応。Goの並行処理や高性能性を活かし、エージェントロジックやツールをコードベースで記述・テストでき、拡張性や保守性に優れています。主要機能として、豊富なツール連携、モジュール式構成、容易なクラウド展開などがあります。

感想他:

簡単なサンプル。

https://github.com/ishisaka/my_agent


https://zenn.dev/kudotaka0421/articles/9659653cae84f0

要約:

このページは、Go 1.25で新たに追加されたWaitGroup.Go()メソッドについて、従来の並行処理コードからの書き換え方法と注意点を、具体的な例や実践パターンとともに解説した技術記事です。

主なポイントは以下の通りです:

  • WaitGroup.Go()の概要
    Go 1.25からsync.WaitGroupにGo()メソッドが追加され、goroutineの生成と管理がより簡潔に記述可能に。Add(1)defer Done()が不要になり、ボイラープレートの削減に貢献します。

  • 従来との書き方の違い・注意点
    Go()に渡せるのは「引数なしの関数(func())」のみ。引数付き関数を渡す従来の書き方はコンパイルエラーになるため、クロージャの使い方やコードの移行方法に注意が必要です。

  • Go 1.22のループ変数仕様変更
    Go 1.22からはforループの各イテレーションごとに変数のアドレスが分離されるようになり、goroutine内でループ変数を安全に参照できるようになりました。これにより、WaitGroup.Go()を使った書き方も安全に移行できます。

  • 実践的な移行パターンと例
    実用的なコード例(URL複数取得やインデックス利用時など)を使いながら、どのように書き換えると安全で簡潔な並行処理ができるかを説明しています。

  • 注意すべき特殊ケース
    ・Go 1.21以前をサポートする場合は従来の書き方を推奨
    ・パニックリカバリや条件付きでDone()を呼ぶような特殊な並行処理には、独自実装が必要

  • まとめと推奨

    • Go 1.25のWaitGroup.Go()によって並行処理コードが簡単・安全に
    • わかりやすくするためにコードのテストやgo test -raceによるデータ競合のチェック推奨

Goの最新版で本格的に並行処理を取り入れたい開発者向けの内容となっています。


https://observabilityguy.medium.com/go-meets-ai-why-go-is-becoming-the-silent-backbone-for-ml-powered-services-525aae291203

AIや機械学習の研究ではPythonが主流ですが、実サービスの運用現場ではGo(Golang)が静かに普及しています。Pythonは探索やモデルの訓練に優れていますが、並列処理の制約やレイテンシ、高いメモリ使用率などが障害になります。一方、Goは軽量なゴルーチンによる並行処理、低レイテンシ、メモリ効率の良さ、クラウドやKubernetesとの親和性を強みとし、スケールや信頼性、コスト効率が求められる場面で真価を発揮します。このためPythonで訓練しGoで推論サービスを実装するハイブリッド構成が多く、UberやPayPal、TikTokなどもGoをMLパイプラインに導入しています。今後、AIサービスの現場適用ではスピードや安定運用が鍵となり、Goの役割はさらに重要となるでしょう。


https://medium.com/@maahisoft20/graceful-shutdown-in-go-zero-leaks-no-dangling-work-safe-exits-fa1283b5fce3

Go言語によるグレースフルシャットダウンの実装方法を解説した記事です。新規のトラフィック受け入れ停止後に既存処理を安全に完了させ、OSシグナルを一箇所で受けて統一的なコンテキスト管理で漏れなく全てのゴルーチンやワーカーを終了させます。http.Serverへ明確なタイムアウトを設定し、ワーカーにはDone通知を伝搬、チャンネルのクローズもオーナーが一元管理します。/healthへの状態反映などで前工程を整理し、5xx減少やリソースリーク防止、安定したローリングデプロイを実現できます。


https://medium.com/@sonampatel_97163/how-hexagonal-architecture-made-these-go-startups-scale-10x-faster-3ec73566f6dc

ヘキサゴナルアーキテクチャ(Ports and Adapters)は、Go言語のサービス開発で安定性と拡張性を高める設計手法です。フレームワークへの依存を排除し、外部システム(DB・API・ログ等)とコアロジックを明確に分離します。実装例では、ユーザー登録の業務ロジックとデータ保存処理を分離し、テストやDB交換も容易になります。過度な抽象化やフレームワーク依存を避け、コアにビジネスルールを集中させることで、開発・保守・拡張が効率化されます。素早い機能追加、安定したスケール、簡単なオンボーディングが実現できます。


https://serge-hulne.medium.com/swiftlygo-declarative-webassembly-ui-in-pure-go-478103663b67

「SwiftlyGo」は、Go言語のみで宣言的なWebAssembly UIを構築できる軽量なツールキットです。JavaScriptやNode.js、フレームワークを使わず、観測可能な状態や宣言的なUIツリー、Goのsyscall/jsによるDOM操作を特徴とします。デモではカウンターやToDoリスト、ライフゲーム実装例があり、CLIツールによる自動ビルド・ライブリロードもサポート。今後はダークモード、再利用可能なコンポーネントやフォーム要素なども検討中です。Goでもフロントエンド開発が可能であることを示しています。


https://techoguide.medium.com/10-go-database-patterns-every-startup-should-learn-before-scaling-407da174da0e

GoによるサービスのスケーラブルなDB運用のために、コネクションプール制御やコンテキストタイムアウト、pgx採用、クエリのプリペアやリトライ・バッチインサート・Read/Write分離・キャッシュ・コネクションのクリーンな終了・DBヘルスチェックなど10種類の実践的パターンを紹介。小さな工夫が大規模障害を防ぐ鍵になると強調。


https://www.oreilly.co.jp//books/9784814401369/

Go言語の特徴であるシンプルな文法を活かしつつ、実践的な現場で役立つ知識や「Goらしい」書き方を解説した書籍です。構造体やインタフェース、ファイル操作、ログやテスト、環境構築、ジェネリクスなど幅広いトピックを扱い、実用アプリ開発に役立つ情報を提供します。


.NET

https://devblogs.microsoft.com/dotnet/announcing-dotnet-10/

要約:

.NET 10は2025年11月にリリースされた最新のLTS(長期サポート)版で、2028年11月まで3年間のサポートが提供されます。本バージョンは生産性・安全性・パフォーマンス・AI統合に大幅な改善が加わり、開発者・企業・OSSコミュニティによる多くの貢献で実現しました。主要言語にはC# 14とF# 10が導入され、プロパティ・ラムダ・コレクション式など書きやすさと表現力が強化されています。

ランタイムにはJITやAOT、ハードウェアアクセラレーションの最適化が入り、ネイティブコードやGC性能も向上。ライブラリ面では量子耐性暗号(PQC)、ネットワーク高速化、JSON強化が追加されています。分散アプリ・クラウド統合のため「Aspire」が強化され、Python/JS他のサービスともシームレス連携可能となりました。

AI関連では、Microsoft Agent Frameworkが導入され、AIエージェントや多段階ワークフローを簡単に開発でき、AG-UIなどのプロトコルで豊かなUI統合も可能です。AI APIはOpenAIやAzure OpenAI等を統一インターフェースで管理し、Model Context Protocol(MCP)により外部サービス連携も標準化しました。

Webアプリ/API開発向けASP.NET Coreでは、メモリ管理の自動化、パスキー認証対応、AOTとOpenAPI連携が強化。Blazorは状態管理やパフォーマンス改善等で使いやすさ向上、UIテストやJS連携も充実しました。APIバリデーションやSSE、エラー応答カスタマイズ、メトリクス・診断機能も追加。

.NET MAUIでは最新iOS/Android対応、XAML強化、マルチファイルピックなどクロスプラットフォーム体験を推進。EF Core 10はAIベクトル検索・JSON型・複雑型サポート等で大規模データの効率化とセキュリティ向上。WinForms/WPF/WinUIもそれぞれ最新機能対応で改善され、Visual Studio 2026ではAIによるコード変換や診断がより強力に統合されています。

CLIやNuGet、SDKも各種の生産性・セキュリティ強化が入り、.NET 10はいま最も先進的で統合されたプラットフォームとなっています。

感想:

㊗リリース!


https://devblogs.microsoft.com/visualstudio/visual-studio-2026-is-here-faster-smarter-and-a-hit-with-early-adopters/

Visual Studio 2026が正式リリースされました。本バージョンは、過去最多の5,000件超のバグ修正と300件以上の要望を反映し、過去最大の改善が行われています。パフォーマンスが大幅に向上し、起動や操作がさらに高速・スムーズになり、大規模なソリューションでもUIのフリーズが半分以下に削減されました。AI機能も強化され、AIがデバッグやパフォーマンス分析、モダナイズ支援などの場面で開発者をサポートします。新しいC#やC++専用のエージェントも導入され、複雑さを増やさずに開発効率を高めます。UIは全面刷新され、設定システムや数多くの細かな使い勝手も改善。Visual Studio 2022のプロジェクトや拡張機能とも完全互換なので安心して移行できます。さらにIDE本体とビルドツールは分離され、今後は月次で自動アップデートされます。Insiders Channelも利用可能で、常に最新機能を試せます。


その他

https://opensource.jp/2025/11/10/public_proposal_for_building_ppen_ai_society/

以下、要約です。

一般社団法人オープンソース・グループ・ジャパン(OSG-JP)は、オープンソースAIの国際標準OSAIDへの支持を表明し、日本のAI国家戦略に以下の三つの政策を提言しています。

  1. OSI定義に準拠したAIシステムの推進
    公的資金によるAIモデル開発は、成果物(モデル・コード・データ等)を国際標準OSAIDに準拠したライセンスで公開し、社会全体で広く利用可能にすべき。

  2. 開発者の法的保護
    オープンソースAI開発者が、その成果物の利用による損害責任を問われない法的保護を明確化し、規制や契約でも原則を徹底するべき。

  3. トレーニングデータのオープン化
    公的機関が保有する公共性の高いデータをAI学習用途に整備し、安全性・プライバシー配慮の上でオープンデータとして公開し、国内AI開発の競争力強化につなげるべき。

世界の主要国(米国・EU・中国)はすでにオープンソースAIを戦略の要として推進しており、日本も独自の政策で技術主権と産業競争力を守る必要があると主張。
オープンソースAIは、技術革新の加速、公正な競争、透明性や信頼のあるAI社会の基盤となり、国家戦略として推進すべきとの結論です。


https://wired.jp/article/sz-lisa-su-runs-amd-and-is-out-for-nvidias-blood/

本記事は、AMDのCEOリサ・スーがどのようにして同社をNVIDIAの強力なライバルに押し上げ、AIや半導体産業の先端をリードしているかを描いています。リサ・スーは台湾生まれで米国育ち。MITで電気工学博士号を取得し、2014年にAMDのCEOに就任。それ以来、モジュール型チップ設計やAI用GPU、データセンター向けチップなど、先進的な技術開発に成功し、低迷していたAMDを復活させました。時価総額も驚異的な成長を遂げ、世界の主要テック企業(OpenAI、Meta、Google等)ともパートナーシップを締結しています。

スーは中国との半導体輸出規制や地政学的なプレッシャーにも積極的に向き合い、自社の技術が安全保障や経済に不可欠であると発信。チップ製造の国内回帰にも強い意欲を見せています。また、ROCmなど自社開発ソフトウェアの課題も認識しつつ、「開発スピード」と「開発者の声に耳を傾けること」を重視して改善を進めています。

人材の採用においては、高額な報酬よりもAMDのミッションに共鳴し、情熱を持った人材を重視。また、AIが人類や医療にもたらす変革の可能性を信じ、個人的には医療分野への技術応用に強い思いがあります。スーは現実的かつ楽観的なテクノロジー観を持ち、「困難にも粘り強く挑戦し、毎日一歩ずつ進化していくこと」を信条としています。彼女のリーダーシップの根本には、「情熱」「現実的な楽観主義」「着実な学びと前進」があります。


https://syu-m-5151.hatenablog.com/entry/2025/11/10/084205

この記事は、SNSや現代社会における「冷笑主義」と、それに陥りやすい私たちの心の動きについて深く掘り下げたエッセイです。

筆者は、SNSなどで熱意を持つ人々を傍観者的な立場から観察し、次第に冷笑者としてのアイデンティティを強めていきます。冷笑は優越感や楽さといった快楽をもたらしますが、実際には何も生み出さず行動や成長を止めてしまう中毒性のあるものだということに気づきます。

一方で、冷笑と批判・批評は全く異なるものであると強調しています。良い批判は相手の動機を尊重し、具体的な問題点や代替案を提示する建設的なものです。批評は対象の価値や背景を深く理解しようとする姿勢を持ちます。冷笑は曖昧に相手の動機を貶め、代替案も持たず、破壊的でしかありません。

また、高い解像度(具体性・多面的な視点)で物事を見分け、冷笑と批判・批評の違いを見失わないことの重要性が語られます。加えて、批判的視点や冷笑的態度がときにSNSと現実世界で混同され、無意識に人を傷つけたり、すべての批判を「冷笑主義」とレッテル貼りして議論や行動を止めてしまう危険性も指摘。

視野を広げることで複雑な現実や矛盾に絶望し、冷笑へ落ちやすい一方、行動にはある種の「確信」や「集中」も必要だと筆者は述べます。学びの時は視野を広げ、行動の時は絞り、振り返りでまた広げる。その切り替えが重要であり、評論家として傍観するだけでなく、創造者・行動者であることの意義も説かれます。

最後に、冷笑の甘い罠に落ちることなく、高解像度で物事を見極め、批評の力を活かしつつ、一歩前へ踏み出す勇気の大切さを呼びかけています。


https://syu-m-5151.hatenablog.com/entry/2025/11/14/112023

「言語化」の困難さを、コードレビュー経験と絡めて考察したエッセイ。知識には言語化できるものと身体化されたものがあり、後輩がコードを「なんとなく」分かるようになったのは、経験を通じて身体化された知識が増えたため。言語化は知識伝達や協働に不可欠だが、圧縮や翻訳の過程でニュアンスが失われることも多い。全てを言語化する必要はなく、言語化できるものは協働のために行い、できないものの価値も認めるべきだとまとめている


Visual Studio Code

https://code.visualstudio.com/updates/v1_106

Visual Studio Code 1.106(2025年10月リリース)は、「Agent HQ」「セキュリティと信頼」「快適なエディタ体験」の3つを軸に大規模アップデートが行われました。新機能のAgent HQは、CopilotやOpenAI Codexなど様々なAIエージェントのセッション管理を一元化でき、タスクの委任や進捗監視が容易になっています。Security面ではAIへのタスク委任をより安全・柔軟に制御でき、外部データ取得に対して承認プロセスが強化されています。エディタ機能も改良され、削除コードのコピー、インラインAIサジェストのオープンソース化、Go to Lineコマンドの強化などが実装されました。さらに、チャット機能のUX改善や、Python環境・ターミナルIntelliSenseの拡張、ソース管理やテストに関する新機能も追加され、日常の開発とAI利用の両面でより効率的な体験が実現されています。


macOS

https://applech2.com/archives/20251113-homebrew-v5-now-available.html

「Homebrew 5.0.0」が正式にリリースされました。本バージョンでは、パッケージのダウンロード処理が並列化され、デフォルトで有効となるなど高速化が図られています。また、新たにLinux ARM64/AArch64と最新macOS 26「Tahoe」への公式対応も追加されました。加えて、AppleがWWDC25で「macOS 26 TahoeがIntel Macでの最終サポート」と発表したことを受け、今後のIntel Mac向けサポート終了スケジュールも公開されています。2026年9月にはmacOS 10.15 Catalina以前のサポートが終了し、2027年9月には全Intel macOSがサポート対象外となる予定です。これにより、今後はApple SiliconやLinux ARM64/AArch64環境への移行が強く推奨されます。


OpenAI

Introducing GPT-5.1 for developers

https://openai.com/index/gpt-5-1-for-developers/

OpenAIは2025年11月13日に、開発者向けAPIプラットフォームで「GPT-5.1」をリリースしました。GPT-5.1は、先行モデルGPT-5シリーズの知能と速度のバランスをさらに進化させ、エージェンティックな作業やコーディングタスク向けに特化しています。タスクの難易度に応じて思考時間を動的に調整し、簡単な作業では高速・省トークンで応答できる一方、複雑な作業にはしっかりと考察を行い、信頼性も高めています。

新機能として、最大24時間のプロンプトキャッシュ保持による高速な連続応答やコスト削減、推論不要モード(no reasoning mode)によるさらなる低遅延、並行ツール呼び出しの効率向上が加わりました。コーディング面では、「apply_patch」ツールによる信頼性の高いコード編集や、「shell」ツールによるコマンド実行も提供。数多くのスタートアップや開発企業の評価でも、高速性と正確性、使いやすさが向上したと報告されています。

GPT-5.1は、効率的な推論処理、優れたコーディング能力、新しいツール群の導入により、開発者がより高度で信頼性の高いエージェント型ワークフローを構築できるよう設計されています。今後さらに知能と機能を拡張していく予定です。


https://zenn.dev/mkj/articles/26261f606f9930

OpenAIが2025年11月に発表したGPT-5.1の新機能として、8種類のパーソナリティ(デフォルト、プロフェッショナル、フレンドリー、率直、個性的、無駄がない、探究心が強い、皮肉っぽい)から応答スタイルを選べるようになったことが紹介されています。技術論文の解説というタスクを題材に、各スタイルの特徴や表現の違いを比較した結果、同じ内容でも「説明の始め方」「重視する情報」「言葉の使い方」が大きく変化することが分かりました。目的に応じて最適なパーソナリティを選ぶことで、より好みに合った応答が得られる、とまとめています。


Preferred Network

https://tech.preferred.jp/ja/blog/plamo_3_8b_31b/?=1

Preferred NetworksとNICTが共同開発する大規模言語モデルPLaMo 3シリーズについて、小規模モデル(8B, 31B)で事前学習の検証を行いました。PLaMo 3は従来のSambaベースから、Google Gemma 3に近いAttention+Sliding Window Attentionアーキテクチャに変更し、推論コストやメモリ消費を抑えつつ、効率的な計算が可能になりました。事前学習データは英語、日本語、コード、多言語から構成され、特に日本語とコードの品質向上にも工夫が施されています。8Bと31Bモデルの性能は、日本語生成や知識、コーディング、翻訳など多様なベンチマークで評価され、英語高品質データの翻訳増加により知識系ベンチマークでスコア向上を達成しました。一方、日本語特化ベンチマークでは従来モデルと同等かやや低めですが、今後は学習データ強化も予定。事前学習済みモデルはHugging Faceで公開されており、用途に応じた安全性検証が必要です。研究開発は継続中で、仲間も募集中です。


株式会社BALEEN STUDIO

Discussion