アルゴリズムとかオーダーとか

仕事で勉強したことなどをまとめてます

2021-01-01から1年間の記事一覧

google公式のBERTを2021年の最近の環境で動かしてみる

vasteelab.com の記事を参考に、BERTの事前学習を動かしてみたときの備忘録をまとめる。2021年12月現在では、tensorflowのバージョンが上がっていたりなどで、記事に書いてある手順通りではうまく動かなかった。自分が行った修正内容などを共有する目的で整…

go-ethereumのGraphQLを利用する

前回の記事から引き続きgo-ethereumから大量データを取得するために、今回はGraphQLを用いる方法について試したことをまとめる。なお、前回の記事は以下を参照。 y-nakajo.hatenablog.com go-ethereumのGraphQLについて go-ethereumのGraphQLサーバを起動す…

go-ethereumのLevelDBを直接読む

ethereumのデータを分析する場合、大量のBlockHeaderやTransaction、Receiptを取得する必要がある。これらの膨大なデータをHTTPを介してJSON-RPCで取得しようとするとかなりの時間を要することとなる。 そのため、今回は大量データ処理をするために直接go-et…

go-ethereumのpruningを試してみた

今回は、go-ethereumのv1.10から追加されたコマンドである、`go-ethereum snapshot prune-state`を試してみたのでその結果を共有する記事となる。 このコマンドは、go-ethereumのfull nodeを維持すると溜まっていってしまうstate trieのゴミデータを削除(枝…

gethのsyncingについてのソース解析メモ その3

今回はgethのsyncingの全体的な処理の流れについてまとめる。前回のまでの記事はこちら。 その1 その2 syncの開始 remote peerのhandshakeとpeerSetへの登録 fetching処理 fetchHeadersについて idle peerとtask queueとprocessHeaders peerの取得 request…

gethのsyncingについてのソース解析メモ その2

前回の続きとして、今回は特にReceiptsの取得処理周りを見ていく。Receiptの取得処理はfast syncの時に呼ばれ、full syncでは呼ばれないというコメントがあるが、そこの動きがよくわかっていないので、該当コードがどうなっているかを解析する。 ReceiptsPac…

gethのsyncingについてのソース解析メモ その1

Ethereumのfull/fast/snap syncの違いについてより詳しく調べいたと思い、gethのソースを読み始めた。 が、なかなかにボリュームがあるのと、同期処理についてかなり複雑だったので、頭の整理のために解析中の内容をメモとして残しておく。 full/fast syncの…

Apollo Client(React)のGetting Startedを動かすまで

つい最近、社内ハッカソンでGraphQLのライブラリである、ApolloのApollo Client(React版)を触ってみた。その時に、公式のGetting Startedを動かすのに少し手間取ったので、ここに手順をまとめておく。 最後に、GraphQLを触ってみたときの所感を簡単にまとめ…