golang

ReviewdogのGitHub ActionsでGoのlintをかけてPRに表示する

Goのio packageのReader/Writer/Closer/Seeker interfaceとストリーム処理

x/sync/semaphoreでgoroutineの数を制御する

Amazon Forecastで時系列データの予測を行う

偽陽性を許容して空間効率良くキーの存在を確認するBloom filterとCuckoo filter

GoのSheets API v4クライアントでSpreadsheetを読み書きする

GoでAthenaのクエリを実行する

Go CompilerのFunction Inlining

Goの実装に手を入れずにHTTPリクエストをmockするライブラリhttpmockとその仕組み

nkfによる文字コードの判定とGoでのShiftJISの扱い

Goで参照型の変数に代入し値を変更したとき元の値に影響がある場合とない場合

Goのcipher packageに実装されている暗号利用モードのベンチマーク

Goのツールのバージョンをgo.modで指定する

Go Modulesのreplaceでforkしたコードのimportを書き換えずにfork後のpackageに向ける

Go Modulesのproxyとsumdb

Lambda環境でできない処理をECSで実行する

goyaccでparserを生成しLispのcons,car,cdrの式を評価する

K8s上でElastic APMを動かして外部のGo製APIサーバーのリクエストをトレースする

Goのnet/http/pprofでCPUやMemoryをprofileする流れと内部実装

PR上でCDKのレビューやデプロイを行うツールcdkbotを作った

Lambda上でnpm installできるLayerを作った

Lambda Layerでバイナリやライブラリを切り出す

API GatewayでCognitoの認証をかけて必要ならログイン画面に飛ばす処理をGoで書く

AWS SAMでLambdaの関数をデプロイしServerless Application Repositoryに公開する

CloudFormationでVPCを作成してLambdaをデプロイしAurora Serverlessを使う

AWS Systems Manager (SSM)のParameter Storeに認証情報を置き参照する

Goで高速にJSONを扱うライブラリeasyjsonとfastjson

MySQLのtime_zoneとgo-sql-driver/mysqlの設定

KubernetesのCustom Resource Definition(CRD)とCustom Controller

GCPのCloud Pub/Sub

GAEのTaskQueue

WebSocketでの通信内容をWiresharkで見る

GoのgRPC ServerのInterceptor(recovery/auth/zap/prometheus)

GKEでのService(ClusterIP/NodePort/LoadBalancer)とIngress

Kubernetesの1PodでAppとfluentdコンテナを動かしてBigQueryに送る

xorm reverseでDBスキーマからGoのstructを生成する

Gooseリポジトリのmerge時にバージョンを上げmigrationボタンをSlackに出す

Golangの高速なロガーzapとlumberjackでログを出力してrotateさせる

godocのメモ

一定間隔でjsonデータを作って送り続けるCLIツールを作った

Goroutineの数をworkerで抑制する

fluentdのmonitor_agentのデータをGoでGoogle Stackdriverに送って監視する

Goのselectの中断処理(close, context)

GoでDynamoDBを使う

Goのnet/httpとKeep-Alive

Goのnet/http.Client.Doの内部実装をたどったメモ

Goのinterface/structの埋め込み

Goのpanicとrecover

go testでベンチマークを取ってpprofで時間がかかっている箇所を調べる

GoogleのkvsライブラリLevelDBを使う

gvmでGoのバージョン管理

aws-sdk-goでs3にput/get

Goでstructをリフレクションしてcsvを出力する

GolangでAPIとテストを書く(echo/dbr/glide/goose/mock)