【メモ】GraphQL触った所感
blockchain.tokyo #10 に行ってきた #blockchaintokyo
今月から業務で唐突にEthereumの機運が高まったので、薄い知識で blockchain.tokyo #10 に参加してきました!
blockchain.tokyo - connpassは、月に1度、ブロックチェーンに関わる技術の普及や知識・情報の共有を目的として開催されています。
今回のテーマは「Ethereumの技術的基礎」、六本木 DMM.comさんの会場で開催されました。
会の内容は、後ほど crash.academy で公開されるそうです。
Ethereumで開発を始めるなら知っておきたいこと @ngo275 さん
初心者でもわかりやすく、大変助かりました。 Ethereum開発に関わってくる登場人物が多すぎて混乱していたのですが、それぞれの立ち位置を整理して解説してもらえて、だいぶスッキリ。
Ethereumのデータ構造 @moonty_sal さん
RLPエンコード、マークルパトリシア木を理解するという、独学では手に負えないタイプの敷居の高いテーマでしたが、図示してもらうとなかなか理解できる不思議。
Ethereumを支えるネットワークの話 @jkcomment さん
Ethereumのプロトコル、ÐΞVp2p Wire Protocolのお話。うへーこれは難しいぞと思いきや、例えばwireプロトコルで使用するメッセージは意外にも少なく、ノード間のやりとりはとてもシンプル。こちらも図示がありがたかった。
LT1 Gasを誰が払うのか問題について @ゆで卵 さん
「なぜDAppsが浸透しないのか?=>UXが悪い」に大きく頷きました。 gasの支払いを、利用者が認知しやすいルールに乗せられると多少扱いやすくなるのかな。
LT2 Ethereum fast sync @koropicot さん
Ethereum fast sync アルゴリズムのお話。gethの初期同期に使われているのですね。ノードの同期について考えたことなかったけど、時間経過とともにブロックサイズは増えるわけだから、効率的に同期させる工夫ってとても大事。
LT3 State Channelエコシステムと実用上の課題 @RyuyaNakamura さん
オフチェーンで状態遷移、最終結果だけオンチェーンに書き込む手法。 オフとオンの切り分けどころが想像できていなかったので、オンラインカジノの途中経過に利用出来るというのは目から鱗でした。
これからはじめる者としては、既に実務で使いこなしている人のお話はとても貴重でありがたかったです。 毎回定員オーバーの人気イベントなので、次回もがんばって参加したいです。ありがとうございました!
【メモ】Ethereumのgeth環境をDockerで立てるMakefile
【メモ】Reduxチョット触ってた人がNuxt.jsチョット触った雑感
こちらを参考に触ってみました。
スゴイ①: 導入がかんたん
↓だけでどういうものか確認できる。
npm i -g vue-cli vue init nuxt/starter nuxt-starter cd nuxt-starter npm i npm run dev #=> http://localhost:3000
スゴイ②: チルダ ~
がドキュメントルート
pagesからcomponentsをimportするとき、reactで ../../../compornents/Hoge.js
とか書いていたところが、~components/Hoge.vue
と書ける。
スゴイ③: pagesに置いたvueファイルに勝手にルーティングしてくれる
~/pages/users.vue
を置くと http://localhost:3000/users
にアクセスできる。
スゴイ④: config.jsの見通しのよさ
webpack.config.js
に当たる nuxt.config.js
が、とても見やすい(気がする)。
いろいろ追加していったらちょっとわからないけども。
気になるところ:
後からチームに参加した人が触りたくない系の定義周り(applyMiddlewareとかBrowserHistoryとかのとこ)はどんな感じなんだろう。
まとめ:
これからやるなら React+Redux より Nuxt.js+vuex が良いかな。。 webpackはできれば(書かなくて良いなら)書きたくない。
【メモ】Lambda Functionはtypoに寛容だ
Alexaのスキルを作る予定があり、初めの一歩のチュートリアルとして、こちらを参考にさせていただきました。
Echoデバイス - Alexa - Lambda間のデータの流れが把握しやすく、非常にわかりやすいチュートリアルです。
早速取り組み、ビルドを完了させ、Alexa Skills Kit開発者コンソールでテストをしてみるも何故か動作しない。
数時間調べて、typoしていたことを発見。typoというか、チュートリアルでインテント名が「siritori」となっているところを「shiritori」と定義していました。
Lambda Functionで存在しない要素を参照してもエラーにはならないということがわかりました。
期待した動作にならないときって、ついエラーログとか探してしまうのですぐに気付けませんでした。学びすなぁ。
brew install go-delve/delve/delve で「undefined method `check_for_bad_install_name_tool'」
brew install go-delve/delve/delve
で、以下のエラーが出ました。
Upgrade to delve fails https://github.com/go-delve/homebrew-delve/issues/20 /usr/local/Homebrew/Library/Homebrew/exceptions.rb:426:in `block in dump': undefined method `check_for_bad_install_name_tool' for #<Homebrew::Diagnostic::Checks:0x007fb983297950> (NoMethodError) Did you mean? check_for_tap_ruby_files_locations
issueへのリンクがあるので確認。
結果、以下で解決できました。
cd $HOME/Library/Caches/Homebrew tar xf delve-*.gz ls delve-* # ↑で解凍したフォルダを特定 #=> delve-1.0.0.tar.gz # #delve-1.0.0: #CHANGELOG.md ISSUE_TEMPLATE.md README.md assets glide.yaml service #CONTRIBUTING.md LICENSE _fixtures cmd pkg vendor #Documentation Makefile appveyor.yml glide.lock scripts sh delve-1.0.0/scripts/gencert.sh # 解凍したフォルダのスクリプトを実行。パスワードを聞かれます。 CGO_ENABLED=1 brew install go-delve/delve/delve
【メモ】VSCode on Macで「Cannot find "go" binary. Update PATH or GOROOT appropriately」
GOROOT設定済みの環境で、VSCodeにgoのプラグインを入れたあと「Cannot find "go" binary. Update PATH or GOROOT appropriately」と言われることがあります。
これは、VSCodeのデフォルトshellがbashだから。 上記のメッセージが出る人は、ふだんzshなどを使っていて、bashじゃないrcにGOROOTを設定しているのだと思います。
command + ,
でユーザー設定を表示し、「既定の設定を上書きするには、このファイル内に設定を挿入します。」の中かっこの中の末尾に"terminal.integrated.shell.osx"の設定を追加します。
// 既定の設定を上書きするには、このファイル内に設定を挿入します。 { ・・・ "terminal.integrated.shell.osx": "/usr/local/bin/zsh" //zshの場合 }
このあと、VSCodeを再起動すると問題が解消され、ターミナルも普段使っているshellになっていると思います。
--
参考にさせていただきました。