InfoQ ホームページ golang に関するすべてのコンテンツ
-
AWS LambdaがGoランタイムの廃止を発表
AWS Lambdaは go1.xランタイムを廃止し、Amazon Linux 2ランタイムでのみGoをサポートすることを発表した。この発表と、年内にカスタムprovided.al2ランタイムに移行する必要性から、Goコミュニティでは懸念が高まった。
-
Cadence1.0:Uberがスケーラブルなワークフロー・オーケストレーション・プラットフォームをリリース
Uberは6年間の開発期間を経て、Cadenceと名付けられたワークフロー・オーケストレーション・プラットフォームのメジャーバージョンをリリースした。Uberや他の企業は、ネイティブのプログラミング言語を使ってステートフルなサービスを大規模に構築するためにCadenceを使用している。チームは、使いやすさ、オブザーバビリティ、効率性の向上を目標に次のリリースに取り組んでいる。
-
Goジェネリクスの実装とパフォーマンスについて
Go 1.18で安定版となるGoジェネリクスに続いて、PlanetScaleパフォーマンスエンジニアのVicent Martí氏は、それらがどのように機能するかを分析し、実際の実装のいくつかのパフォーマンス制限をハイライトした。彼はまた、その役に立つ使用法について提案をした。
-
Go 1.18でジェネリック、ファジング、マルチモジュールサポートが安定版となり、パフォーマンスが向上
Goチームは、ジェネリック、ファジング、ワークスペース、パフォーマンス向上をサポートするGo 1.18のリリースを発表した。
-
UberのエンジニアリングチームがGo GCのチューニングにより70kの削減に成功
企業の収益性を向上する活動の一環として、Uberのエンジニアリング部門では、インフラストラクチャをより効率的な利用に重点を置いている。その取り組みの成果として、半自動的形式のGo Garbage Collectiomnチューニングメカニズムを開発し、30件のミッションクリティカルなサービスにおいて、70KのCPUコア削減に成功した。
-
GoのジェネリックがGo 1.18 Beta 1でデビュー
Goの最新のベータリリースGo 1.18 beta 1は、パラメータ化された型を使ったジェネリックプログラミングのサポートをついに導入した。長い間待ち望まれた待望の機能だ。さらに、テストファジングのサポートも追加されている。これは、入力を見つけてプログラムの不正な動作を明らかにするために使われる手法である。
-
PantsビルドシステムがJava、Scala、Goを新たにサポート
ビルドシステムのPantsが、現在はアーリーアダプタ向けに提供されている次期リリースにおいて、これまでサポートしていたPythonに加えて、Java、Scala、Goをサポートするようになる。開発者のひとりであるBenjy Weinberger氏と、メインスポンサのToolchainで現在CEOを務めるJohn Sirois氏に話を聞いた。
-
DaprのCNCFインキュベーターへの参加とYaron Schneider氏とのQ & A
Cloud Native Computing Foundation (CNCF) は先ごろ、分散アプリケーションランタイム (Dapr) を CNCF インキュベーションプロジェクトとして受け入れたことを発表した。この声明は、Dapr プロジェクトの運営および技術委員会 (STC) の設立を発表した、以前の Dapr による発表に続くものだ。
-
Pinterestが広告配信アーキテクチャをどのようにスケールアップしたか
Nishant Roy氏は、Pinterest Engineering Blogに、広告コーパスのスケーリング問題を克服するための戦略を書いている。彼らの既存のソリューションはスケーリングの限界に達していた。そのため、さらなる成長が必要であった。再設計により、広告インデックスがKey-Valueストアにオフロードされ、Goアプリケーションのガベージコレクションが最適化されて、広告コーパスのサイズが60倍に増加した。
-
Goがベータ版でファズテストをサポート
Goチームは、ベータテストでファジングがサポートされるようになったことを発表した。プロジェクトの主な目標は、堅牢なモジュールサポート、goコマンドとの統合、新しいコンパイラインストルメンテーションなど、言語の開発者とユーザ向けに統一されたエンドツーエンドのエクスペリエンスを作成することである。
-
Slackが新しいロール管理アーキテクチャを詳しく説明
Slackは最近、新しい役割管理システムのソフトウェアアーキテクチャの詳細な説明を投稿した。Slackは、以前よりも柔軟なシステムを構築する必要があった。Slackは、カスタムコンテナ化されたGoベースのパーミッションサービスを開発した。これは、gRPCを介して既存のシステムと統合される。その結果、顧客の管理者は、ユーザが実行できることをきめ細かく制御できるようになった。
-
UberがAPIゲートウェイのアーキテクチャを公開
Uberは最近、自社で構築したAPIゲートウェイのアーキテクチャについて詳しく説明した。そこでは、独立したレイヤー化されたコンポーネントがゲートウェイで各リクエストをどのように処理するかを説明されており、各レイヤーはリクエストライフサイクルの異なる面を担当する。YAMLとApache Thriftの組み合わせがゲートウェイ構成を定義し、Goでコード生成されたアーティファクトがゲートウェイ実装を構成する。
-
CDK for TerraformがGoのサポートを追加、アセット構築を強化
Hashicorpは先頃、CDK for Terraformのバージョン0.4をリリースした。CDKは、TerraformコンフィギュレーションをC#、Python、TypeScript、Javaなど、さまざまなプログラミング言語で記述可能にするものだ。今回のリリースには、TerraformコンフィギュレーションをGoを使って記述する試験的サポートが加えられている。Terraformモジュールとアセット構築のサポートも強化された。
-
GoとJavaScriptでコンテンツ・アウェアな画像サイズ変更
UberのソフトウェアエンジニアであるOleksii Trekhleb氏は、最近、動的計画法を使って、CPUを消費するコンテンツ・アウェアの画像サイズ変更アルゴリズムを高速化する方法を検討した。開発者は、コンテンツ・アウェアのサイズ変更を使って、画像のキーとなる特徴を維持しながら、画像をさまざまな含みを持つコンテキスト(画面のフォームファクタ、レスポンシブレイアウトコンテナなど)にフィットさせることができる。
-
分散アプリケーションランタイム (Dapr) v1.0 が発表された
分散アプリケーションランタイム (Dapr) チームは本日 Dapr v1.0 が利用可能になり、プロダクションレディになったと考えていることを発表した。Daprは、開発者がクラウドとエッジで実行される回復力のあるマイクロサービスベースのアプリケーションを構築できるようにするオープンソースのランタイムだ。v1.0リリースでは、開発者はDaprアプリケーションをプロダクションシナリオのKubernetesクラスタにデプロイできる。