Golang

ローカルのK8s上でairによるGoのアプリケーションのライブリロードを行いVSCodeからdelveでリモートデバッグする

docker build 時に 1Password の SSH agent をマウントして プライベートリポジトリを git pull できるようにする

Fuzzing で Go の関数に想定外の入力が渡された際のバグを見つける

Goのcontainer/heap packageを読む

平衡二分探索木 AVL木 を Go で実装して高さが最小限に保たれることを確認する

Java から Go でビルドした shared library を JNI と JNA で呼び出した際の速度を比較する

deanishe/awgo で Alfred の Workflows で動かすスクリプトを実装する

WebAssemblyでGoの関数をブラウザのJavaScriptから呼び出す

繰り返しコマンドを実行する際都度プロセスを生成する場合と常駐させておきUNIXドメインソケットで入出力を行う場合の速度比較

NewRelic CodeStreamでコードの質問やデバッグを効率的に行えるようにする

New RelicのGraphQL API、NerdGraphでリソースを取得する

New Relicでインフラやアプリケーションをモニタリングする

GoでAmazon Forecastに時系列データをimportしPredictorを作成して予測結果をS3にexportする

AWS X-rayでアプリケーションのリクエストをトレースし可視化する

gomockのmockを入力とするmockが意図した出力を返さない理由

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のlocの関係

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のembedding

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)