2019-09-01から1ヶ月間の記事一覧

「Go言語による並行処理」の気になった所まとめ6 不健全なゴルーチンを直す

やっと最後の記事になりました。 不健全なゴルーチンを直す では長時間動くプロセスの場合、ゴルーチンも生存期間が長くなります。関心の分離からゴルーチン自身が回復の方法を知らないほうが良いとのことです。このゴルーチンを再起動する流れを「回復…

「Go言語による並行処理」の気になった所まとめ5 ハートビート

ハートビートは並行処理のプロセスが生きていることを外に伝える方法です。と書かれています。 もう、この1文でこの章のことを言っています。そんななか、この本では2パターン存在するとしています。 一定周期で発生するハートビート 仕事単位の…

「Go言語による並行処理」の気になった所まとめ4 bridgeチャネル

復数のチャンネルをまとめて1つのチャンネルで扱うための方法です。 <-chan <-chan interface{}を1段潰した<-chan interface{}として扱えるようになります。サンプルでは、前の記事のorDoneチャンネルも利用しているのでdoneチャンネルからの受信によるキャ…

「Go言語による並行処理」の気になった所まとめ3 orチャネルとor-done チャネル

or チャネル 任意の数のチャンネルを待ちたいときに作るパターンです。 サンプルでは引数が0個のときにnilを返します。最初、再起だからなのかと思ったのですが、再起では必ず1個以上の引数になります。初回に0個の場合だけなので、0個の引数は取らないほう…

Goのosパケージのerrorを1.12と1.13で比較する

Goの1.13でGo2で提案されていたerrorsの変更が入り(全部ではない?)、ErrorValueFAQに移行方法などが書いてあります。その中でosパッケージに触れてありました。移行サンプルとして挙げられているわけではないですが、独自の型を作成しているライブラリがどう…

「Go言語による並行処理」の気になった所まとめ2 エラー伝播

前回の記事に続き「Goによる並行処理」の気になった所を書いて行きます。 今回は、 5.1 エラー伝播 について書きたいと思います。 4.5エラーハンドリングという箇所で、並行処理の中でエラーを握りつぶすべきではない、Ether(RustだとResult)のようなも…

「Go言語による並行処理」の気になった所まとめ1 Goの並行処理

並列処理を使いたかったので読んでみました。 サンプルコードがクロージャーのネストが激しく辛いですが...いい本だと思います。 www.oreilly.co.jp 5.6 不健全なゴルーチンを直す という章がとにかく難しい... 必要な知識だったので、ここを目的に何回か…

Cosmos Japan #2に参加してきました

cosmos-jp.connpass.com 2回目ですが、満員にならず、Cosmosあんまり流行ってない感が... 韓国だとそれなりに流行ってるらしいと聞きました。 今回は下記のようなことが話されました。 Cosmos SDKにNFTモジュールが入ったという話 P2PレイヤーではAminoを使…