noteで技術チュートリアルを購入して、Flaskの勉強してみた

f:id:cyclemem:20180809003818p:plain


こんばんは、今日は学習ログです。
今日挑戦したのはこちら。

note.mu


ちょうどFlaskを勉強していたところだったのと、最近仕事でSNSをよく見るようになってきて、分析基盤を作ったりしたいなーと思っていたのでTweepyの復習もできるし、ということで始めました。初めて人のnote購入しました。

## このnoteでやること
記事読んでもらえればわかる通りなんですが、ツイッターのIDを入れるとその人のツイートを分析、可視化してくれるWEBアプリを作ります。
フレームワークがFlaskで、TwitterAPIにTweepy。WEBのフレームワークはBootstrapで大体決めていて、グラフはchart.jsを使っています。

実は昔、NPO法人にいたときはフロントエンドばかり勉強していたのでBootstrapは何となく覚えていたし、Tweepyはぼくもよく遊ぶので、そのあたりは大丈夫。今回はFlaskとデータの前処理で利用しているPandasの勉強が主な課題でした。


## やってみた結果
無事!完成しました!と言いたいところですが、使っていたPCでなぜかherokuがうまく動かず。Pythonのバージョンの関係でTweepyも起動せず。
というわけで最後までやったものの、動くものが見れていません。明日別の環境でもう一度チャレンジしてみようと思います。


## やってみた感想
とにかく完成形がイメージしやすく、全体を通して大から小へ解説しているのがとても分かりやすかったです。またそんなに詳しく説明していない部分が、たぶん逆にこのチュートリアルが必要なくらいのレベルの人にはちょうどいいかもしれません。

どうしてもプログラミングの勉強をしていると、山のように覚えることが出てきてしまって、全部ちゃんと理解するのってかなり時間がかかります。エラーも山のように吐くし、人によって環境が違えば言う通りにしてもエラーが出ます。

そんな中で、学習をそれでも続けるためのコツは「ざっくり知ること」だとぼくは思っていて。なので、ほとんど細かいところに立ち入らず、大枠だけを説明していくこのチュートリアルはやりやすかったです。詳しく知りたいところは後で自分で調べればいいので。


## 残念だったところ
とはいえ、あんまり褒めまくっても、特に作成者のDaiさんからはお金も何ももらっていないので、ネガティブな部分として3つあげます。

1.これスタートの環境構築で躓きそうだな・・・と感じました。ぼくの場合Pycharmを使って実行したら、うまいことやってくれたのでラッキーだったんですが、その辺Cloud9でもできます!とか、Dockerのコンテナイメージでいけます!みたいな話だとすごく楽だなあと。

2.大から小に説明が移る中で、どこをコピペすればいいか不明瞭な箇所がいくつかありました。ある部分でコピペしなければいけないコードを、どこに挿入すればいいか、とか。どの部分のコードが変わったのか。とか。そういうところが少しわかりにくく感じました。

3.必要環境の一覧が欲しかった・・・。これはぼくの知識がないのが大きいんですが、このチュートリアル用にPythonの環境設定をしたので、Python3.7を利用していたんですね。ただTweepyがどうもPython3.6が推奨らしく動かない。しかも運悪く、なぜかherokuまで機能しなかったので、結局動くところを見届けられない悲しい事態に陥りました。1に関係する部分が大きいですが、事前にバージョンの指定をしてもらえると助かります。


## noteの技術チュートリアルについて
今回初めてnoteで技術チュートリアルを購入、実行してみましたが、かなりおすすめです。

実はnoteにはコードを埋め込む機能があるので、Qiitaなみにキレイにコードが記事内に埋め込めます。しかも例えば今回ぼくが書いたようなフィードバックを、著者が反映させてくれた場合は、購入者もそれを参照できます。つまり、これからも更新される記事を購入することができるんです。

よくある技術書って4000円くらいするのに、古くなったら使えないし。コード自体にバグがあったり、環境設定で失敗したり。いろいろあると思いますが、noteで買ったものについては、今後も内容が更新され続ける、しかも見やすい。という2点で今後も挑戦していきたいなと思いました。

また書く側も、購入してもらえるならちゃんと書こうかな、といいモチベーションになりそう。このあたりもって進んでいくといいですね。

では本日はここまで。また明日から頑張ります。
最後までお付き合いいただきありがとうございました。