#Golang

64 件の記事

Goのresponse.WriteHeaderの副作用について
アプリケーション 2023-09-11

Goのresponse.WriteHeaderの副作用について

response.WriteHeaderの複数回呼び出しによる副作用を解析し、bytes.Bufferを使った回避方法とtemplateのExecute処理の実装パターンを提示。

#Golang#Tips
GoでServeMuxの機能拡張を提案するProposalがAcceptedになった
アプリケーション 2023-08-31

GoでServeMuxの機能拡張を提案するProposalがAcceptedになった

Goのnet/http ServeMuxに動的ルーティングとパスパラメータを追加するProposalがAcceptedに。goblinなどサードパーティルーターやGoのルーティングの今後への意味を解説します。

#Golang#router#HTTP
Go言語100Tips 開発者にありがちな間違いへの対処法
アプリケーション 2023-08-27

Go言語100Tips 開発者にありがちな間違いへの対処法

Go言語100Tips 開発者にありがちな間違いへの対処法

#Golang#書評
Goのhttp.RoundTripperについて
アプリケーション 2023-08-22

Goのhttp.RoundTripperについて

http.RoundTripperインターフェースを実装してHTTPクライアント側のミドルウェア的処理を実装し、ログ・認証・キャッシュ・リトライの例を示す。

#Golang
Go言語による分散サービス
アプリケーション 2023-08-18

Go言語による分散サービス

Go言語による分散サービス

#Golang#書評
実用Go言語
アプリケーション 2023-08-05

実用Go言語

実用Go言語

#Golang#書評
Goで始めるコードのパフォーマンス改善
パフォーマンス 2023-06-12

Goで始めるコードのパフォーマンス改善

Goのパフォーマンス改善の実践。pprofによるプロファイリング、ベンチマーク、エスケープ解析、メモリアロケーション削減を、自作HTTPルーターの最適化事例とともに解説します。

#Golang
DefaultServeMux以外でpprofを使う方法
アプリケーション 2023-04-30

DefaultServeMux以外でpprofを使う方法

Go言語のpprofパフォーマンス分析、DefaultServeMux以外のカスタムルーターでpprof.Indexをハンドラ登録する実装

#Golang#Tips
Goのhtml/templateでURLをエンコードさせない
アプリケーション 2023-04-23

Goのhtml/templateでURLをエンコードさせない

Goのhtml/templateがURLを自動エンコードする理由と、template.URLを使ってエンコードさせずに生のURLを渡す方法を、最小の動作例つきで解説します。

#Golang#Tips
buildxを使ったGoアプリケーションイメージのクロスコンパイル
アプリケーション 2023-04-20

buildxを使ったGoアプリケーションイメージのクロスコンパイル

Docker buildxのマルチアーキテクチャビルドで、GoアプリをLinux AMD64とARM64向けにクロスコンパイルしてイメージ化する方法を解説します。

#Golang#Docker
Goを学びなおす
アプリケーション 2023-01-23

Goを学びなおす

言語仕様やジェネリクスの実装、Go 1.18以降の機能をひと通り見直し、Goのコーディング力を鍛えなおす方法を紹介します。

#Golang
GoのHTTP Routerを比較するベンチマーカーを実装した
アプリケーション 2022-12-20

GoのHTTP Routerを比較するベンチマーカーを実装した

複数のGoルーターをベンチマーク比較し、静的ルート・パスパラメータなどのテストケース設計を通してパフォーマンス差分を測定。

#Golang
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る
アプリケーション 2022-11-23

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る

#Golang#書評
Cloud Functionsを使ってSlack AppのSlash Commandを実装
アプリケーション 2022-09-19

Cloud Functionsを使ってSlack AppのSlash Commandを実装

Google Cloud FunctionsでSlack Slash Commandを実装。サーバーレス、低コスト、Signing Secret認証、Cloud Buildでデプロイするボット実装ガイドを紹介します。

#Slack Bot#Slack#Golang#Google Cloud Platform#Cloud Functions
GoでClean Architectureのレイヤーを静的解析する
アプリケーション 2022-09-04

GoでClean Architectureのレイヤーを静的解析する

go-cleanarchを使い、GoでClean Architectureのレイヤー依存関係を静的解析で検証・強制する方法を解説します。

#Golang#Clean Architecture
bmf-techを支える技術
アーキテクチャ 2022-08-08

bmf-techを支える技術

Docker、Golang、Vue.js、Nginx、Prometheus、Grafanaなど、このブログのインフラと監視を支える技術を紹介します。

#Docker#Docker Compose#VPS#Golang#Vue.js#Prometheus#Promtail#Loki#Grafana#Nginx
Golangでロードバランサーを実装する
アプリケーション 2022-01-01

Golangでロードバランサーを実装する

L4ロードバランサーをGoで実装し、ラウンドロビンスケジューリング・ヘルスチェック・リバースプロキシの仕組みを構築例を通して解説。

#Golang#ロードバランサー#ラウンドロビン
net/httpでつくるHTTPルーター自作入門
アプリケーション 2021-10-24

net/httpでつくるHTTPルーター自作入門

Golangのnet/httpでHTTPルーター自作を解説。ルートマップ、URLパス解析、メソッド別ルーティング、パスパラメータの仕組みをステップバイステップで実装ガイドします。

#Golang#HTTP
GolangのHTTPサーバーのコードリーディング
アプリケーション 2021-06-30

GolangのHTTPサーバーのコードリーディング

goblinルーター開発時に調査したGoのHTTPサーバー内部実装を解説。http.Server構造体、ServeMux、Handler登録フロー、goroutineによるコネクション処理を実装コードから読み解く。

#Golang#コードリーディング
自作ルーティングをアップデートした
アプリケーション 2021-06-18

自作ルーティングをアップデートした

自作のGo製HTTPルーターgoblinに追加したミドルウェア対応や最適化を、パフォーマンスベンチマークとともに紹介します。

#Golang#OSS#router