Programming Bitcoin を読みました。 Programming Bitcoin: Learn How to Program Bitcoin from Scratch作者:Song, JimmyO'Reilly MediaAmazon 実はこの本はまだ出版されていないです。では出版されていない本をどうやって読めたのかというと、この本は gith…
このあいだ、Advent Calendar に UUID の衝突確率の話を書きました。 もちろんこれは、昔に書いた以下のエントリをちょっとだけ修正しただけで、早速バレたりしていた。 とはいえ、UUID の衝突には続く話がありまして、それが誕生日攻撃というものです。 誕…
bitcoin において使われているのは楕円曲線暗号で、この楕円曲線暗号を使った署名(ECDSA)が bitcoin の一つの柱になっています。 ようやくですがこのあたりの署名について少しずつ少しずつ理解が進んできたので、忘れる前にその理解を書き残しておこうと思い…
1 on 1 を本格的に行うにあたって、こちらの本を読むことになりました。 これまで、1 on 1 を行ったことはあったんですが、きちんと体系だてて学んだことはありませんでした。この本は、いわゆる「上司」が部下に対してどのようにして 1 on 1 を行っていけば…
gRPC には Interceptor という概念があるというのを先日のエントリで書きました。 ただ、じゃぁ Interceptor ってどういう風に作るんやっていうところまでは書けなかったので、今日はそのあたりです。 簡単に試せる話題として、送受信ログを出力する仕組みを…
gRPC を使いはじめ、.proto に多くの RPC を定義してきました。そうすると、 様々な Req/Res が階層構造を持つ message として定義されるようになる その message が様々な RPC で横断的に使われるようになる ということが当然のように起こります。 ぼくは従…
Unary と Streaming Interceptor mercari go-grpc-middleware Unary と Streaming Interceptor の前に gRPC の種類について書かないといけないのですが、 gRPC には 大きくわけて 4 つの RPC が存在しています。 Unary RPC Server streaming RPC Client stre…
ここ 2 ヶ月くらいずっと golang でバックエンドを書いています。 その中で、絶対に外せないなと思っているものの1つが pkg/errors です。 ぼくがこのライブラリを知ったのは、以下の記事でした。 Golangのエラー処理とpkg/errors Don’t just check errors, …
諸々で gRPC サーバを構築したりしているのですが、フロントを開発している人に gRPC サーバ + データベース一式を簡単に立ち上げられるようにしたいという思いがありました。 また、他にもシステム間連携を行う想定もあるので、できれば docker-compose に…
golang では crypto/cipher や crypto/aes を使って、AES で暗号化を行うことができます。 しかし、ブロック暗号化であるにも関わらず、なぜかパディングが定義されていない。 これじゃ暗号化できないやんけ、ということで、これと戦った記録です。 ブロック…