『現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門』は短時間でPythonによるWEBアプリケーション構築方法を学びたい人にもおすすめ
こんにちわ
がじぇったー (@hackmylife7) | Twitter
です。
この3連休で酒井さんの新しいUdemyの講座、現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門をがっつりやりましたのでその感想を書きます。
前回の記事が評判良かったんで、調子こいて今回も書かせて頂きます。
TL;DR(要約)
- ブロックチェーンを学びたい人はもちろん、短時間でPythonによるWEBアプリケーション構築手法を学びたい人にオススメ(自然とflaskの使い方が学べる流れになっている)
- 特に面白いのがセクション5と6。手を動かしながらflask(Python用の、軽量なウェブアプリケーションフレームワーク)での画面遷移やRest API を作る手法を学べるところがめちゃ良かったです
- Pythonの簡単な文法を理解していることが前提なので、個人的には酒井さんの基礎講座(特にセクション7のオブジェクトとクラス)を受講してからやるのがオススメ
- 講義は4〜5時間で一通り聞けるので週末がっつりやればすぐ終わります
あなた(筆者)誰??
私は文系から第二新卒でWEBエンジニア(インフラ寄り)になった者です。(6年目)
専門はAWSやGCPを使ったインフラ構築ですが、Pythonで社内の便利ツールを作りまくって腕を上げ、今は副業先で月10万程度、Pythonで追加収入を得ています。
その時の記事はこちら
@sakaijun
— がじぇったー (@hackmylife7) 2019年6月10日
酒井さんのPython講座でスキルアップして年収上がりました。
1400円くらいで購入したのですが、コスパが良すぎる。。。。感謝しかないです。
Udemyのシリコンバレー発講座でPythonを学び、月10万円を稼げるようになるまで - がじぇったー https://t.co/8Gq5nKABD1
話ずれちゃいますが、企業がエンジニアをSIerやSESから調達しようとすると月額80万〜150万くらいはするので、月10万程度で副業エンジニアに業務を発注できるのは企業側にも大きなコストメリットがあります。
なのである程度エンジニアの経験がある人が副業で働くとまぁまぁ稼げます。
受講した講座の内容
本題に戻ります。
以下、講義の目次です。
個人的にブロックチェーンサーバーのAPIからが特におもしろかったです。
flaskの説明や使い方がとても分かり易かったです
1 | 講義の目次 | 所要時間 |
---|---|---|
2 | はじめに(ブロックチェーンエンジニアの求人とブロックチェーンを採用する大企業の状況) | 17:57 |
3 | ブロックチェーンとは | 11:29 |
4 | ブロックチェーンの作成 | 46:36 |
5 | ウォレットの作成 | 37:48 |
6 | ブロックチェーンサーバーのAPI | 01:03:32 |
7 | ブロッックチェーンネットワークの構築 | 01:18:17 |
※講義のページより引用
どんな人にこの講義がオススメか
メインターゲットは手を動かしながらPythonでブロックチェーンの知識を得たい人、
だと思うのですが、
そもそも自分はブロックチェーンを学びたい、というよりはちょうど副業でflaskのプログラムの運用保守をやらないといけなくなったので、flask学びたい!という感じでこの講座に飛びつきました。
なので自分のように
という人にもオススメだと思います。
それではやっていきます。
— がじぇったー (@hackmylife7) 2019年7月13日
個人的にはちょうど副業でflaskの案件をやっているので、Pythonでどうアプリケーションを構築していくか、という点を主に吸収していきたいと思っております。 https://t.co/TONhsNAHFv pic.twitter.com/vrlJ0mfoud
どんなところがオススメなのか
私が、以前からUdemyの酒井さんの講座を激推ししてるのは、とにかく実践的かつ効率的だからです。
Pythonのチュートリアルとか、初心者向けの本読んで写経しても一週間後にはhello worldやったなぁくらいの記憶しか残らないんですよね。
手を動かしながら学んでいける講座が好きなんです。
この講義も自分がPythonでWebアプリケーション作った際に苦労して学んだ内容が簡単に学べるようになっていてすごいなぁと思いました(小並感)
例えば、Rest APIを作って、リクエストを受け取りjsonifyで返すところとか
※ 以下のCodeは講義より引用させて頂いております。
@app.route('/chain', methods=['GET']) def get_chain(): block_chain = get_blockchain() response = { 'chain': block_chain.chain } return jsonify(response), 200
APIにPostされたデータを検証する方法とか
if not all(k in request_json for k in required): return jsonify({'message': 'missing values'}), 400
特定のページにアクセスしたら、flask側にPostしてjson responseを受け取る方法とか
※この辺体系的にまとまってないのでほんと嬉しかった
$(function () { $.ajax({ url: '/wallet', type: 'POST', success: function (response) { $('#public_key').val(response['public_key']); $('#private_key').val(response['private_key']); $('#blockchain_address').val(response['blockchain_address']); console.info(response);
標準出力のログを見やすくするテクニックとか
def pprint(chains): for i, chain in enumerate(chains): print(f'{"="*25} Chain {i} {"="*25}') for k, v in chain.items(): print(f'{k:15}{v}') print(f'{"*"*25}')
app.loggingで簡単にログを出力する方法とか
app.logger.warning({ 'private_key': miners_wallet.private_key, 'public_key': miners_wallet.public_key, 'blockchain_address': miners_wallet.blockchain_address})
ナドナド、
自分がWEBアプリケーションを作る際に参考にしたいテクニックが満載でとても有用な講義でした。
PythonでWEBアプリケーションを作るリファレンスってRailsとかに比べて圧倒的に少ないのでほんと有難いです。
以上です。
受講させて頂いたUdemyの講義