BLOCKCHAIN Code Campを受講してみた感想(後編)
どうも、ぺろりんです。
前回の続きで、BLOCKCHAIN Code Campの受講レビュー後編をお送りします!
前編は全体的な感想や、だいたいこんな感じ!ということをお伝えしました。
今回の後編は、難しかった点や、こんな風に改善して欲しいなっていう要望を(笑)書いてみました。
それでは後編、いってみよー\(^o^)/
これは、前半のフロントエンド部分と後半のブロックチェーン部分(Cryptozombies後)でかなりレベルにギャップがあるように感じました。
私の場合フロントエンド部分については多少知っていたこともありますが、やはり前半のフロントエンドに比べると後半のブロックチェーン部分は難しく感じました。
実際、後半のテキストではCryptozombiesに出てくる知識を前提にしている分、説明がところどころ省略されていることもあり前半に比べると分かりづらくなっている印象でした。
以下2点が、個人的には苦労しました。(苦労した分、身にはなりましたw)
(1)MetaMaskなどのブロックチェーン特有な環境の操作
(2)JavaScript経由での、フロントエンドとブロックチェーンの連携
今回のコースでは、以下のようなブロックチェーン特有の環境・ツールが出てきました。
・MetaMask
・Remix
・Ganache
・Truffle
・Rinkeby
使うための環境構築という点では、どれもテキスト通り進めることで何も考えずにできました。
しかしいざプログラミングをしてみると、これらの環境の使い方などが理由でプログラムがうまく動かないことがところどころありました。
Remixに関してはそこそこ詳しく使い方があったのですが(日本語のRemixマニュアルはこの存在自体が個人的に嬉しかったです)、他の環境・ツールに関しては構築手順だけだったので、ある程度自分で触って使い方を知りつつ慣れる必要がありました。
テキストに沿ったDApps開発としては以下の流れで進みます。
1)Solidityでブロックチェーン部分のコード作り
2)HTML/CSSで画面づくり
3)JavaScriptでブロックチェーン部分と連携させつつ動的な部分の作り込み
1)と2)くらいまではそんなに問題なく終わるのですが、しばしば3)で苦戦しました。
web3.jsというEthererumで使うJavaScriptのAPIを使ってWebページのJavaScriptとSolidityで書いたブロックチェーン上のコードを連携させるのですが、この連携に苦労しました。
ボタン操作などに対してJavaScriptを使ってSolidityファイルに書いた関数を呼び出すあたりで、ほぼ毎回エラーになりましたw
このときのエラー原因として、MetaMaskやGanacheの使い方に問題があることが多々ありました。
(MetaMaskのバージョンアップが原因だったこともあった)
メンターの方にもめっちゃ伝えましたが、以下は改善の余地がありそうです。
後半はCryptozombiesの内容を前提としていますが、初心者も対象としていることからすると、注釈や補足で軽く用語を定義する程度ても良いので、やはり説明が欲しいです。
自分で調べると身につくというのはあるのですが、このコースの趣旨からすると、ブロックチェーン特有の単語や文法、コードの論理を追うことなどが主眼だと思うので、この前段階である「論理を追うために必要な知識」はやはりテキストにある方が良いように思いました。
学習する上でどこまで親切に書くべきかという塩梅は難しいと思いますが、調べるのに時間がかかったのが「ブロックチェーン」よりは「JavaScript」だったりしたので、これはちょっとコースの趣旨からすると意図とははずれているように感じました。
以下は追加が必須だと思うレベルです。
このコース内で説明もなければCryptozombiesでも前提知識とされていて、かつプログラムを作る上で必須知識になっていました。
・JavaScriptの非同期処理関連(Promise、async/await)
以下は詳しい解説がなくてもまぁ大丈夫なものの、やっぱり多少の説明がある方が嬉しいと思ったものです。
・Node.jsに関するメソッド等の説明
・TDDやフレームワークの説明
環境構築という点では現状あるテキストの内容でいい感じですが、上にも書いたように、実際にプログラムを動かしてみた時点で環境がエラー原因になることが多々ありました。
使い方や設定が原因というパターンもあり、これらはMetaMaskなど今回使うブロックチェーン特有の環境について予め理解できていれば、もう少しスムーズに解決できたかなと思います。
こういう意味で、これらの環境について、よく使う機能や設定箇所、できれば困ったときはまずこの設定を確認すると良い、みたいな内容がテキストの補足にでもあるとより良いかなという感じです。
こちらに関しては「ブロックチェーン特有」の部分ですし、「苦労することで身につける」という考えもあるので詳しく解説した方が良いかは微妙ですが、あくまで目的は「DApps開発」であって、特にコーディングを主眼としていると捉えるのであれば、環境に関する初歩的なところは丁寧に記載されていて良いように思うというのが私の考えです。
特にメンターの方にはお世話になって、最終課題付近で予定よりも時間がかかり、相談したらコースを1週間延ばしていただきました。
まだそこまで受講者がいないとかが理由かも知れませんが、コースの構成自体や延長の相談など、少なくとも現状ではかなり柔軟に対応してくださる印象でした。
Hyperledgerのコースも今後出てきそうな雰囲気で、個人的にはこちらも気になっています。
妄想的な願望もついでに書いておくと、AmazonやGoogleあたりと法人契約して、受講期間(+受講後1ヶ月くらい)だけ使える仮想サーバを使ってブロックチェーンのノード構築から始めるコースなんかもあるとめっちゃ受講したいですw
この場合、ノードの構成はフルノード3台+軽量ノード2台とか、学習に必要な最低限で良いかと思います。
さてこれで、前編と後編が終わりました。
全編通したレビュー内容をまとめておきます。
まず、BLOCKCHAIN Code Campのコースを受講して個人的に良かったので、特に「とにかくDApps開発をやってみたい人」におすすめです。
普通に進んでも学習には
1日3時間×60日
程度はかかりそうで、プログラミング未経験から上級者まで(必要に応じてコースをカスタマイズしつつ)受講できそうな内容でした。
ただし、JavaScriptに関して一部説明不足感があるのと、ブロックチェーン特有の環境・ツールの使い方や、フロントエンドとブロックチェーンの連携あたりは結構苦戦して時間がかかる可能性がある点は認識しておいた方が良いかも知れません。
詰まった場合はいつでもメンターに相談できて、少なくともいまのところレスポンスも早くてありがたいです。
受けてみた結果は人それぞれだと思いますが、ブロックチェーンを学習したいと思う方の選択肢の1つとして悪くないと思います。
……とまぁ、レビューはこんな感じです。
気になった方はLINE@で質問してみても良いかも。
こちらもだいたい即レスしてもらえますw
ではでは、今回はこのへんで。
前回の続きで、BLOCKCHAIN Code Campの受講レビュー後編をお送りします!
前編は全体的な感想や、だいたいこんな感じ!ということをお伝えしました。
今回の後編は、難しかった点や、こんな風に改善して欲しいなっていう要望を(笑)書いてみました。
それでは後編、いってみよー\(^o^)/
難易度について
これは、前半のフロントエンド部分と後半のブロックチェーン部分(Cryptozombies後)でかなりレベルにギャップがあるように感じました。
私の場合フロントエンド部分については多少知っていたこともありますが、やはり前半のフロントエンドに比べると後半のブロックチェーン部分は難しく感じました。
実際、後半のテキストではCryptozombiesに出てくる知識を前提にしている分、説明がところどころ省略されていることもあり前半に比べると分かりづらくなっている印象でした。
苦労したところ
以下2点が、個人的には苦労しました。(苦労した分、身にはなりましたw)
(1)MetaMaskなどのブロックチェーン特有な環境の操作
(2)JavaScript経由での、フロントエンドとブロックチェーンの連携
(1)MetaMaskなどのブロックチェーン特有な環境の操作
今回のコースでは、以下のようなブロックチェーン特有の環境・ツールが出てきました。
・MetaMask
・Remix
・Ganache
・Truffle
・Rinkeby
使うための環境構築という点では、どれもテキスト通り進めることで何も考えずにできました。
しかしいざプログラミングをしてみると、これらの環境の使い方などが理由でプログラムがうまく動かないことがところどころありました。
Remixに関してはそこそこ詳しく使い方があったのですが(日本語のRemixマニュアルはこの存在自体が個人的に嬉しかったです)、他の環境・ツールに関しては構築手順だけだったので、ある程度自分で触って使い方を知りつつ慣れる必要がありました。
(2)JavaScript経由での、フロントエンドとブロックチェーンの連携
テキストに沿ったDApps開発としては以下の流れで進みます。
1)Solidityでブロックチェーン部分のコード作り
2)HTML/CSSで画面づくり
3)JavaScriptでブロックチェーン部分と連携させつつ動的な部分の作り込み
1)と2)くらいまではそんなに問題なく終わるのですが、しばしば3)で苦戦しました。
web3.jsというEthererumで使うJavaScriptのAPIを使ってWebページのJavaScriptとSolidityで書いたブロックチェーン上のコードを連携させるのですが、この連携に苦労しました。
ボタン操作などに対してJavaScriptを使ってSolidityファイルに書いた関数を呼び出すあたりで、ほぼ毎回エラーになりましたw
このときのエラー原因として、MetaMaskやGanacheの使い方に問題があることが多々ありました。
(MetaMaskのバージョンアップが原因だったこともあった)
改善して欲しい点
メンターの方にもめっちゃ伝えましたが、以下は改善の余地がありそうです。
(1)コードに出てくる内容は後半も基本的に説明が欲しい
後半はCryptozombiesの内容を前提としていますが、初心者も対象としていることからすると、注釈や補足で軽く用語を定義する程度ても良いので、やはり説明が欲しいです。
自分で調べると身につくというのはあるのですが、このコースの趣旨からすると、ブロックチェーン特有の単語や文法、コードの論理を追うことなどが主眼だと思うので、この前段階である「論理を追うために必要な知識」はやはりテキストにある方が良いように思いました。
学習する上でどこまで親切に書くべきかという塩梅は難しいと思いますが、調べるのに時間がかかったのが「ブロックチェーン」よりは「JavaScript」だったりしたので、これはちょっとコースの趣旨からすると意図とははずれているように感じました。
以下は追加が必須だと思うレベルです。
このコース内で説明もなければCryptozombiesでも前提知識とされていて、かつプログラムを作る上で必須知識になっていました。
・JavaScriptの非同期処理関連(Promise、async/await)
以下は詳しい解説がなくてもまぁ大丈夫なものの、やっぱり多少の説明がある方が嬉しいと思ったものです。
・Node.jsに関するメソッド等の説明
・TDDやフレームワークの説明
(2)ブロックチェーン特有の環境・ツール使用方法をもう少し解説して欲しい
環境構築という点では現状あるテキストの内容でいい感じですが、上にも書いたように、実際にプログラムを動かしてみた時点で環境がエラー原因になることが多々ありました。
使い方や設定が原因というパターンもあり、これらはMetaMaskなど今回使うブロックチェーン特有の環境について予め理解できていれば、もう少しスムーズに解決できたかなと思います。
こういう意味で、これらの環境について、よく使う機能や設定箇所、できれば困ったときはまずこの設定を確認すると良い、みたいな内容がテキストの補足にでもあるとより良いかなという感じです。
こちらに関しては「ブロックチェーン特有」の部分ですし、「苦労することで身につける」という考えもあるので詳しく解説した方が良いかは微妙ですが、あくまで目的は「DApps開発」であって、特にコーディングを主眼としていると捉えるのであれば、環境に関する初歩的なところは丁寧に記載されていて良いように思うというのが私の考えです。
その他
特にメンターの方にはお世話になって、最終課題付近で予定よりも時間がかかり、相談したらコースを1週間延ばしていただきました。
まだそこまで受講者がいないとかが理由かも知れませんが、コースの構成自体や延長の相談など、少なくとも現状ではかなり柔軟に対応してくださる印象でした。
Hyperledgerのコースも今後出てきそうな雰囲気で、個人的にはこちらも気になっています。
妄想的な願望もついでに書いておくと、AmazonやGoogleあたりと法人契約して、受講期間(+受講後1ヶ月くらい)だけ使える仮想サーバを使ってブロックチェーンのノード構築から始めるコースなんかもあるとめっちゃ受講したいですw
この場合、ノードの構成はフルノード3台+軽量ノード2台とか、学習に必要な最低限で良いかと思います。
まとめ
さてこれで、前編と後編が終わりました。
全編通したレビュー内容をまとめておきます。
まず、BLOCKCHAIN Code Campのコースを受講して個人的に良かったので、特に「とにかくDApps開発をやってみたい人」におすすめです。
普通に進んでも学習には
1日3時間×60日
程度はかかりそうで、プログラミング未経験から上級者まで(必要に応じてコースをカスタマイズしつつ)受講できそうな内容でした。
ただし、JavaScriptに関して一部説明不足感があるのと、ブロックチェーン特有の環境・ツールの使い方や、フロントエンドとブロックチェーンの連携あたりは結構苦戦して時間がかかる可能性がある点は認識しておいた方が良いかも知れません。
詰まった場合はいつでもメンターに相談できて、少なくともいまのところレスポンスも早くてありがたいです。
受けてみた結果は人それぞれだと思いますが、ブロックチェーンを学習したいと思う方の選択肢の1つとして悪くないと思います。
……とまぁ、レビューはこんな感じです。
気になった方はLINE@で質問してみても良いかも。
こちらもだいたい即レスしてもらえますw
【BLOCKCHAIN Code Camp 公式LINE@】
— BLOCKCHAIN Code Camp公式 (@bc_codecamp) 2019年9月2日
LINE@の方でイベント情報や、BLOCKCHAIN Code Campの質問など受け付けております♪( ´▽`)https://t.co/fRhyy3ZVzF pic.twitter.com/pSE5ORyTsq
ではでは、今回はこのへんで。
Keyword : ブロックチェーンblockcahin暗号資産仮想通貨暗号通貨イーサリアムEthereumSolidityプログラミング