※この投稿は米国時間 2025 年 2 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。 2 月 10 日の週に Google は、Go 1.24 をリリースしました。これは、Google のオープンソース プログラミング言語の最新バージョンであり、スケーラブルでプロダクション レディなバックエンドおよびクラウドベース システムを効率的に構築できます。 ポスト量子暗号のサポート、弱いポインタの実装、Go ランタイムの大幅なパフォーマンス向上など、Go 1.24 には多くの優れた点があります。また、ネイティブ パフォーマンスに近い速度で、高パフォーマンスな低レベルコードの実行を可能にするバイナリ命令形式である、WebAssembly(Wasm)の機能も大幅に拡張されています。新しい「go:wasmexport」コンパイラ ディレクティブと、WebAssembl
はじめに こんにちは、be3 です! Microsoft Azure Tech Advent Calendar 2024 - 6日目の記事になります。 こちらの記事では、Azure Functions に Go アプリケーションをデプロイする際の注意点やバイナリの実行形式などに関してご紹介します。 Azure Functions に Goアプリケーション をデプロイする 注意点 結論からお伝えすると、以下の注意点に気を付けてカスタム ハンドラー関数を作成する必要があります。 静的リンクでビルドしたバイナリを使用する 実行環境の OS、CPU アーキテクチャに合わせてビルドしたバイナリを使用する 例えば、Linux、AMD64 環境の場合、コマンドにすると以下のような形になります。 以降では、バイナリの実行形式やGoの仕様に関して解説が中心になるので、「動けばヨシ!」という方は以降の節の デ
こんにちは、バクラク事業部 バクラクビジネスカード開発チームでEMとTechLeadを担当している高江 @shnjtk です。 今回は、openapi-generator を使ってOpenAPI定義ファイル(OpenAPI Specification)からGoのコードを生成する方法と、運用時のTipsについてご紹介します。 背景 バクラク事業部では、スキーマ駆動開発によりDBやGraphQLのスキーマ定義、OpenAPI定義ファイルなどから自動生成されたコードを積極的に利用する開発スタイルが採用されています。 OpenAPIについては、これまでは go-swagger を利用していましたが、対応しているバージョンが OpenAPI v2.0 までであるため、OpenAPI v3.0 に準拠したOpenAPI定義ファイルからはコードの生成ができませんでした。 自社開発のAPIであればバージョ
技術記事です。今日は Go の golang.org/x/sync/errgroup についてです。 TL; DR Go が並行処理を得意とするのは事実だけど、とはいえ正しく使うのは難しい(特に channel)。 errgroup なら「並行でダウンロードする」のような頻出パターンをとても簡単かつ安全に使えるので、まずはこれで美味しいところだけ頂いてしまおう。 重い処理を並行にすればあなたのプログラムはカジュアルに数倍速くなる。 多分 errgroup だけで現実の要件の85%くらいはカバーできるはず。 channel も含めてちゃんと使いこなしたいと思ったら、Go 言語による並行処理 がおすすめです。 errgroup とは ドキュメントはここを参照してください。説明を読むよりコード例で見たほうが早いと思うのでこちらをどうぞ。 package main import ( "fmt" "
「詳解Go言語Webアプリケーション開発」という書籍を執筆し、2022/07/22にC&R研究所様より発売しました。 全国書店やAmazonで購入できます。本記事では本の内容の紹介や執筆経緯、執筆してみての感想など書きます。 https://www.c-r.com/book/detail/1462 本の内容について 本著は大きく分けて二部構成になっています。 第一部は次のようなテーマにまつわるトピックを中心にまとめました。 他の言語を経験していると不思議になるGoの言語仕様 最近Goを始めた方は知らない過去の経緯や歴史的背景 第二部ではGoを用いたWebアプリケーションのコードをハンズオン形式で解説しました。 テストコードを書き段階的な変更を繰り返しながらAPIサーバの実装を試みています。 Docker Composeを使ったローカル開発環境の構築 github.com/cosmtrek/
仕事でGo言語 + AWS Lambdaを用いる機会が多く、特にセキュリティ監視関連基盤のバックエンド処理を開発しています(これとかこれとかこれ)。 開発をすすめる中で「こうすると便利だな」というちょっとしたtipsはいろいろあったのですが、あまりに細切れな処理すぎるのでプロジェクト間でコピーするなどして開発に利用していました。とはいえ管理しているプロジェクトが多くなってきたことで挙動がまちまちになってしまったり、ある程度tipsの数が溜まってきたのもあって、パッケージとして切り出してみました。 AWSが公式で提供しているPowertools(Python版、Java版)を意識してはいますが、完全に再現する目的では作っていません。また、全てのGo + Lambdaの開発者が「この方法に従うべき!」とも思っていません。例えば、API gatewayによって呼び出されるLambdaは各種Web
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く