gRPCとProtocol Buffersについて復習するためのリンク集
2024年4月17日概要 gRPCとProtocol Buffersについて改めておさらいしておきたかった。 リンク gRPC grpc.io 公式ドキュメント zenn.dev - 作ってわかる! はじめてのgRPC まだ読んだことなかったので読んでみたのだが大変勉強になった。日本語情報はまずこれ読んでみると良いかも。 www.wantedly.com - gRPC Internal - gRPC の設計...
概要 gRPCとProtocol Buffersについて改めておさらいしておきたかった。 リンク gRPC grpc.io 公式ドキュメント zenn.dev - 作ってわかる! はじめてのgRPC まだ読んだことなかったので読んでみたのだが大変勉強になった。日本語情報はまずこれ読んでみると良いかも。 www.wantedly.com - gRPC Internal - gRPC の設計...
再帰処理はプログラマーの嗜み!エレガントにかけて当たり前!・・・と自信を持って言いたいところだが、自分は正直なところ苦手である。 日頃再帰処理を書く機会といえばコーディングクイズくらいで実際のところあまり書く機会がない.. 再帰処理はケースによってはメモ化や末尾最適化までエレガントにやらないと計算量が大きくなったり、メモリを食うだけのコードになってしまうが、アルゴリズムによってはシンプルなコードに...
コードを読む能力も書く能力も高い人の頭の中はどうなっているのか?自分とは何が違うのか?ということはエンジニアであれば誰しも考えたことがあると思う。(たぶん) プログラマ脳という本は、認知科学のアプローチを用いて、コーディングという創造的なプロセスを科学していく本で、脳が筋肉でできている人が読むべき内容だった。 脳筋の下りは半分冗談として、最近コーディングクイズの日課を再開したのだが、データ構造やア...
概要 デプロイ戦略についてまとめる。 デプロイ・リリース・ロールバックの定義 デプロイ戦略の前提知識として言葉の定義を明確にしておく。 デプロイとは、「実行環境に実行可能なプログラムを配置すること」 リリースとは、「ユーザーがアクセスできる状態にすること」 ロールバックとは、「古いバージョンのリリースをリリースすること」 デプロイ戦略の種類 代表的と思われるものを取り上げる。 インプレースデプロイ...
概要 PyroscopeというContinous Profilingのツールを導入してみた。 Continous Profilingについてはこちら参照。 What is continuous profiling? 今年に入ってからGrafanaが買収したらしい。 Grafana Labs が Pyroscope を買収してコード プロファイリング機能を追加 買収してからは、Grafana Pyr...
概要 net/http/pprofをDefaultServeMux以外(Goの標準のルーター以外)で使う方法についてメモ。 ハマりどころ pprofをblank importするだけではだめ。 package main import ( _ "net/http/pprof" ) DefaultServeMux以外のルーターを使う場合はblank importするだけ...
概要 html/templateを使っているときに、テンプレートに渡すURLをエンコードさせたくなかった。 template.URLを使う Goのhtml/templateを使って、URLをテンプレートに渡すとエンコードされてしまう仕様になっている。 cf. https://pkg.go.dev/html/template#hdr-Contexts セキュリティ上の理由でこのような仕様になっている...
概要 プライベートで開発しているアプリケーションのイメージをクロスコンパイルする必要性に駆られて(ローカルの開発環境と本番の環境でアーキテクチャが異なっていることが起因)対応したのでメモ。 buildx Docker Desktopにはbuildxが標準で備わっているのでそちらを利用する。 Docker Buildx buildxを使うことでマルチアーキテクチャ対応のイメージを簡単に作ることができ...