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/10/07

Posted at

プログラミング

Go言語

Go 1.25は、エラーハンドリングと並行処理の分野で大幅な改善をもたらしました。エラーハンドリングでは、エラーのラッピングやアンラップがさらに効率化され、より簡潔で読みやすいコードが書けるようになっています。また、errors.Unwrapやerrors.Isによる元エラーへのアクセス・型判定が容易になり、複雑なアプリのデバッグ性が向上しました。並行処理面では、ゴルーチンのスケジューリングやワークスティーリングが最適化され、マルチコア環境でのパフォーマンスや拡張性が強化されています。さらに、ゴルーチンリーク検出やchannel/selectの高速化も加わり、大規模並行ワークロードに対する信頼性と効率性が向上しました。これらの進化により、Go開発者はより高品質かつ効率的なアプリケーションを構築できるようになります。

Go開発者がバグに悩まされた経験から、「構造化されたコンテキスト付きエラー処理」パターンを導入。従来の単純なif err != nilや未処理エラーが多くのデバッグ困難やサイレントエラーを招いていた。エラーをラップして発生場所や原因を明示し、カスタムエラー型やpkg/errorsによる標準化で全コードベースで一貫したエラー処理を実現。これによりバグの90%を排除、残る10%も根本原因の特定が容易に。導入の際はラップしすぎや未処理を避け、ログやテストも活用することが推奨される。

Go言語のsync.Condは、goroutine間で状態変化を通知し同期を取るための仕組みです。例として、複数のgoroutineがリソース(たとえばqueue)が空かどうかを待機し、状態が変化したときに通知を受けて処理を進めます。sync.Condはmutexと組み合わせて、待機側は条件が満たされない場合cond.Wait()で待機/スリープし、通知側はcond.Signal()やcond.Broadcast()で一部またはすべての待機中goroutineを起こします。ループで条件判定しながら使うのが推奨され、不意の起床にも対応できます。channelやsync.WaitGroupなどで代替できる場合はそちらを優先すると簡単ですが、より細かい制御が必要な場合にsync.Condが有用です。

SOLID原則は、保守性・拡張性・柔軟性の高いソフトウェアを実現するための5つの設計原則を指します。それぞれ、単一責任の原則(SRP: 1つの責任に絞る)、開放閉鎖の原則(OCP: 既存コードは修正せず拡張可能にする)、リスコフの置換原則(LSP: 派生型で置き換えても問題が起きない設計)、インターフェイス分離の原則(ISP: 最小限の用途に絞った分割インターフェイス)、依存性逆転の原則(DIP: 具体実装に依存せず抽象に依存)です。本記事ではGolangでの実装例を提示しながら各原則のメリットやポイントを具体的に解説しています。SOLID原則を守ることで、変更やテスト、機能追加が容易な堅牢なコードベースが実現できます。

Go言語のメモリ確保方法「make」と「new」の違いと使い分けを解説しています。「new」は全ての型に使え、ゼロ値で初期化されたメモリのポインタを返します。一方「make」はスライス・マップ・チャネルの初期化専用で、構造体そのものを返し、長さや容量を指定できるのが特徴です。構造体には「new」、スライスやマップには「make」を用いるのが基本。特にスライスやマップで「new」を誤用すると実体が初期化されずランタイムエラーになるため注意が必要です。シナリオや型に応じて適切な使い分けがGoらしい効率的なコードにつながります。

Go 1.25.1は、HTTP・UDP・Windows I/O・PATH・テストに関連した重大な不具合を修正する小規模なパッチです。主な変更点は、net/httpのクロスオリジン保護のパターン精度向上(リダイレクト経由の広すぎるパス除外防止)、Windowsでのファイルオフセット不具合修正、UDPのIPv4-mapped IPv6アドレスの対応、exec.LookPathの安定性回復、testing/synctestのハング防止です。これにより、セキュリティ境界の強化と開発・CI時のフレークや不意なエラーが大幅減少し、アップデート即日推奨の内容です。

.NET

これなー。これが理由でドイツなどから送られてくる"CSV"ファイルはカンマではなくセミコロンでデータが区切られている。

JetBrainsによる月間での.NETのまとめ。

ReSharper 2025.2.3とRider 2025.2.3の最新アップデートがリリースされ、重要なバグ修正や新機能が追加されました。ReSharperは認証やコマンドラインツールの不具合を修正、Riderは新テーマ導入やF#プロジェクト・.uprojectの問題修正などが含まれます。

WEB

Misskey v2025.10.0に追加予定の動画圧縮機能について紹介。Mediabunnyライブラリを用い、ユーザーのブラウザ上で高速かつ簡単に動画圧縮が可能。圧縮率・進捗も設定でき、主要ブラウザに広く対応しています。

Java

JetBrainsによる月間Javaまとめ。

C/C++

CLion 2025.3から全ユーザー向けに新エンジンCLion Novaがデフォルトとなります。従来エンジンClassicは今後も利用可能ですが、新機能や不具合修正はNovaのみ対象です。Novaは安定性と高速化、機能充実が評価されています。

データエンジニアリング

ウォンテッドリーのBI Squadは、事業判断を支えるデータ基盤の設計・構築を担当しています。「数字」を単なる結果ではなく羅針盤として活用し、誰もが安心して使える環境を作ることがミッションです。一般的なBIチームとは異なり、分析可能な仕組み自体を設計・実装します。BigQueryやdbt、Lookerを用いてデータを統合・モデリングし、素早い意思決定と施策検証を実現。裏方ながら組織の事業成長に大きく貢献するチームです。

Go言語で学ぶ並行プログラミング 他言語にも適用できる原則とベストプラクティス (impress top gear)

読み終わったので、感想とまとめ。

本書は、基礎理論からランタイム、言語機能、設計パターン、アンチパターンまで縦断的に学べるため、Goで並行処理を本気で身につけたい読者に強く勧められる内容です。実装時の指針が増え、トレードオフを自分で評価する力が確実に養われます。

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

「バイブコーディング」はAIの進化により、専門的なプログラミング技術がなくても、誰でも直感的にウェブサイトやアプリを創造できる新しい開発手法です。ユーザーは実現したいアイデアや見た目をAIに自然言語で伝えるだけで、試作品やインターフェースが自動生成されます。例えばGoogleのCanvasやStitchといったツールを使えば、アイデアの可視化からプロトタイプ開発が容易に行えます。本格的な商用製品化には従来の開発工程やプログラミング知識も必要ですが、発想から形にするプロセスがより多くの人に開かれたものとなります。

AI

OpenAI

OpenAIとAllied for Startupsは、欧州でのAI導入を加速する20の提案をまとめた「Hacktivate AI」報告書を発表しました。個人のAI学習支援や中小企業・公共部門向けリソース強化、規制簡素化が盛り込まれており、EUのAI活用戦略にも貢献する内容です。

OpenAIとAMDが戦略的パートナーシップを締結し、複数世代のAMD Instinct GPUによる6ギガワット規模のAIインフラを展開します。2026年後半からMI450シリーズの導入を開始し、大規模AIの発展と両社の協業を深化させます。

AgentKitは、OpenAIが開発者や企業向けに提供する新しいエージェント構築・運用・最適化ツール群です。従来必要だった複雑なオーケストレーション、多数のツール連携、マニュアル評価などを効率化し、Agent Builderによるビジュアルワークフロー設計、Connector Registryによるデータ・ツール連携管理、ChatKitによるカスタマイズ可能なチャットUIの埋め込みを実現します。評価機能として、データセット管理、トレース評価、自動プロンプト最適化、他社モデル対応などを追加し、安全性向上のためガードレールの設定も可能。さらに、強化学習によるモデルの最適化や独自の評価基準作成もでき、企業の多様な課題やニーズに迅速に対応可能。現在、ChatKitや新しい評価機能は一般提供中で、Agent BuilderとConnector Registryはベータ版として順次展開されます。

OpenAIのCodexが正式に一般提供を開始しました。新たにSlack連携、Codex SDK、新しい管理者向けツールが利用可能となり、エンジニアリング業務への活用がさらに広がります。Slack連携でタスク依頼や質問が容易になり、SDKによって独自のワークフローやアプリへの統合も簡単です。管理者機能により使用状況の可視化や環境管理も強化。すでに大手企業やスタートアップで導入され、エンジニアの生産性向上やレビュー効率化に貢献しています。

OpenAIは、ChatGPT上で利用できる新世代のアプリと、開発者向けの新SDK「Apps SDK」を発表しました。アプリは会話に自然に組み込まれ、ChatGPTが適切なタイミングで提案したり、名称で呼び出したりできます。ユーザーはチャット内でインタラクティブにアプリ操作でき、800万人以上の利用者にアプローチ可能です。現在、Booking.comやCanva、Coursera、Figmaなどのパートナーアプリが英語圏中心に提供され、開発者はSDKのプレビューで開発・テストが始められます。今後、EU展開や収益化、専用のアプリディレクトリなども予定されています。

OpenAIはChatGPTで各種サービス(Booking、Canva、Figma、Spotifyなど)と連携し、会話形式で操作できる「Apps in ChatGPT」を発表。開発者向けApps SDKも公開され、今後サービス追加や収益化も予定されています。

AWS

Anthropic

AnthropicとDeloitteは提携を拡大し、ClaudeをDeloitteの約47万人のネットワーク全体で利用可能にするほか、業界特化型のAIソリューションを共同開発します。DeloitteはClaudeの認定プログラムや、AI導入フレームワーク構築などで実装支援も行います。

Petriは、Anthropicが開発したAI安全研究向けのオープンソース監査ツールです。研究者がAIモデルの挙動を検証するために多様なシナリオを自動化して並列的にテストでき、リスク行動の評価や要約を行います。Petriはユーザーの指示に従い、多角的な会話やツール使用を通じてモデルを検証し、LLMジャッジが安全面で評価します。高度なAIの監査作業を効率化し、迅速な仮説検証や異常行動の特定を支援します。実際に、複数の最先端モデルで危険行為や倫理的ジレンマへの応答も分析されました。

Google

Google DeepMindが発表した「CodeMender」は、AIを活用してソフトウェアの脆弱性を自動で発見・修正するエージェントです。従来の手法では見つけにくい脆弱性を高速かつ高精度で修正し、既存コードの安全性も向上させます。実際に、6ヶ月で大規模OSSへ72件以上のセキュリティパッチを提供しました。静的解析やテスト、マルチエージェントによる自動検証を組み合わせ、品質を保証。人によるレビューを経て段階的に運用を拡大し、今後はより広く開発者に提供予定です。

MCP・ACP

JetBrainsは、開発者が好みのAIコーディングエージェントを好きなIDEで使えるよう、Zedと連携し「Agent Client Protocol(ACP)」に対応することを発表しました。これにより、ベンダーロックインを避け、エージェントの計画や変更内容の確認・承認が可能となり、従来通りの操作感と短いフィードバックループを実現します。Zedの革新的なプロトコル設計とJetBrainsのIDE開発の知見を組み合わせ、オープンかつ移植性の高いAIエージェント体験を目指します。今後は早期実装やプレビューの提供、ACP拡張にも注力し、開発者の自由と生産性向上を追求します。

次期MCP(Model Context Protocol)は2025年11月に非同期操作、ステートレス、公式プロトコル拡張、SDK標準化などをサポート予定。大規模展開や特定用途対応のための5つの改善点が盛り込まれます。

産業とAI

日立製作所が産業現場で用いられる電子回路図や配管図、配電図などの図面を生成AIが高精度に読み取るための学習技術を開発したと発表しました 。この技術は図面画像とその機器の接続関係を示すテキストのペアを作成し、生成AIに追加学習させる手法で、複雑な要素間の接続関係を高精度に認識可能です。電子回路図での実証では、従来手法で誤認しやすかった線の存在や矢印の向きをより正確に認識し、接続関係の認識精度が約220%向上することを確認しました。これにより現場に眠る大量の図面からナレッジをデジタル化でき、熟練技術者のノウハウ継承や保守・設計業務の効率化が期待されます。

日立さんではないけど、5年前はさっぱりだったんだよね。

論文・その他

AIに表の処理を依頼する際、11種のフォーマットでGPT-4.1 miniの正答率を比較した結果、CSVよりMarkdown KVが最も高精度(60.7%)で、用途により最適な形式が異なると示された。

本記事は、複数の指示が与えられた場合にLLM(大規模言語モデル)がどれだけ性能を維持できるかを体系的に評価しています。文章生成とプログラミングの領域で10種類の主要なLLMを用いて実験し、複数条件下での精度低下や指示の遵守状況を分析しました。日常的な利用シーンでは「複数の指示を同時に守る」ことが求められますが、LLMはこれが苦手で、一部の条件が守られないことが多いと指摘しています。ビジネスや開発現場でAIを活用する際には、指示の数と内容に注意が必要です。

AIコーディングアシスタントの設計空間を、2021~2025年の業界製品と学術プロトタイプ90種類を分析し、10の設計次元(インターフェース・入力・機能・出力)で分類。業界は「効率・高速化」、学術は「学習・反省・新しい体験」に焦点を当て、目的やユーザー層(エンジニア、研究者、デザイナー、学生など)も多様。今やAIアシスタントは日常的なツールだが、業界と学術の協働がソフトウェア開発の持続的な進化につながる可能性が示唆されている。

クラウド

Azure

俺たちの焦げログ。

AWS

セキュリティ

行政が使用するファイル共有システムで、バックアップが無いとかあり得るのだろうか・・・。

OS

Linux

著者は「Macintosh」時代からのMacユーザーだったが、Hyprlandというタイル型ウィンドウマネージャが面白そうで、LinuxディストリビューションのOmarchyに移行。OmarchyはRails開発者のDHHが手がけるディストリビューションで、GitHub12,000スター超の勢いがある。タイル型レイアウトによる効率的なウィンドウ管理、GUI・Web・TUIアプリの統合、開発環境の充実が特徴。1ヶ月使用してみて「かなり最高」で、開発環境としてのメインマシンには完全満足。インストール手順から日本語化、カスタマイズ方法まで詳細に解説した移行ガイド。

Linusは、LinuxカーネルのRustコードに対する自動フォーマットチェックrustfmtcheckを「無神経でクレイジー」と厳しく批判。特にインデントやuseディレクティブの自動整形に強い不満を表明し、現状では受け入れがたいとした。

Windows

Windows 11 Insider Preview Build 26120.6772 (Beta Channel)が公開。主な新機能は「Click to Do」に画像オブジェクト選択や単位変換機能追加、Windows Helloが外部指紋センサー対応。OOBEでユーザーフォルダ名変更が可能になり、File Explorerのダークモード強化も実施。バグ修正と既知の問題も報告。

Windows 11 Insider Preview Build 27959(Canary Channel)が公開。ハードウェアインジケーター位置変更機能やエムダッシュ/エンダッシュ用のショートカット追加、シェアウィンドウのアプリピン留めが導入。主な不具合修正も含まれるが、一部でスリープやシャットダウンの問題が既知の課題。

Apple

Appleは開発者向けに「macOS 26.1 Tahoe」、「iOS/iPadOS 26.1」など各種OSのBeta 2を公開しました。今回のBeta 2ではSwiftUIやUIKitの不具合、ゲームコントローラーの遅延や入力に関する問題の修正が含まれています。

macOS 26 TahoeのLiquid GlassデザインUIは、defaultsコマンドで「com.apple.SwiftUI.DisableSolarium」を有効化することで無効化し、従来のmacOS UIに戻すことが可能。各アプリごとに設定できるが一部不具合も報告されています。

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?