Ren's Blog

Golangの並列実行時の競合状態検出

https://ren.nosuke.me/blog/202003/20200323/ 2020-03-23
-race オプション Go バイナリ実行時、 -race オプションを指定することで競合状態のテストを実施することができる。具体的には go -race run go -race build のようにコード実行時

Golang : `runtime` パッケージを使用したモニタリング

https://ren.nosuke.me/blog/202003/20200322/ 2020-03-22
Golang のメモリ使用量やゴルーチン数など、実行時ランタイムに関係するステータスを観測するには、 runtime パッケージを使用する。 Memory var m runtime.MemStats runtime.ReadMemStats(&m) // ヒープ上に割り当

Golang の map の非スレッドセーフ性と排他制御

https://ren.nosuke.me/blog/202003/20200321/ 2020-03-21
Golang の map はスレッドセーフでない Golang の map はスレッドセーフ、もといゴルーチンセーフではない。そのため、複数のゴルーチンからの同時アクセスによって整合

GoのREPL goreを使用する

https://ren.nosuke.me/blog/202003/20200320/ 2020-03-20
Java の jshell、python のインタラクティブシェルのように、Go でも REPL(対話的にコードを逐次実行させる機能) gore を使用できる。 Install $ go

GolangのContext

https://ren.nosuke.me/blog/202003/20200307/ 2020-03-07
Web アプリケーションでよく使う Context についてまとめた。 Golang における Context とは 大事なことは全部 Document に書いてある。おしまい。 context - The Go Programming Language ・・・と言ってしまうと

APIMATIC で Postman Collection を OpenAPI Specification に変換する

https://ren.nosuke.me/blog/202003/20200303/ 2020-03-03
PostmanはOpenAPIと互換性があり、OpenAPI Specification(以下OAS)に沿って書かれたAPIドキュメントはPo

Go のSSA表現形式のダンプとその解析

https://ren.nosuke.me/blog/202002/20200227/ 2020-02-27
SSA 形式とは 静的単一代入(static simple-assignment)形式と呼ばれ、コンパイラによって生成される中間表現のこと。 SSA は、各変

Go 1.14 の重複するメソッドを持つインターフェース埋め込みの許可

https://ren.nosuke.me/blog/202002/20200225/ 2020-02-25
proposal/6977-overlapping-interfaces.md at master · golang/proposal Go 1.14 より、重複するメソッドを持ったインタフェースの複数埋め込みが可能になった。 インタフェースの埋め込みは、あるインタフェース A を別

Go ModulesのGo依存パッケージ管理

https://ren.nosuke.me/blog/202002/20200222/ 2020-02-22
Go 1.11 から導入された Go Modules Go 1.11 より、Go 依存パッケージの解決のための Go Modules の概念が導入された。簡単に言うと、Go 公式でサポートされた npm のようなパッ

Go 1.13 モジュールミラーリングサーバーとチェックサム DB

https://ren.nosuke.me/blog/202002/20200221/ 2020-02-21
Go 1.13 より、Go モジュール関連のサポートが強化された。主な機能は以下の2つ。 パッケージをより高速にインストール可能なミラーリングサーバの設定 モ