PythonとAIを学びに、『Kredo』さんに来ています。
Pythonの基礎は前半で終わり、後半はFlaskを使ってTwitterに似たウェブアプリを開発するプロセスを体験しています。
ウェブアプリというのはこのようにしてできているのか・・・とだいぶ勉強になりました。
▼もくじ
AIコース 第3週の授業内容
第3週はFlaskを使ってTwitter的ウェブアプリを作っています。
- HTML
- Bootstrap
- Python
- Flask
この4つを使っていますが、④のFlaskがメインです。
AIコースは3週目になってからとても難しく、復習だけで手一杯でした。
仕事をしながらだと厳しいと思います。
AIコースに来る方は、おそらくフロントエンドの知識があるのではないでしょうか。
AIコースでは、HTMLと(CSS)とBootstrapは本当に基礎の基礎しか使わないので、少しだけわかっていれば十分だと思います。
時間があるならProgateでやって一通りやっておきましょう。
しかし、プログラミングを一切やったことがない人は要注意です。
全くのゼロベースで参加するのは辛いと思います。
AIを学ぶとしてもフロントエンドの基礎は大切
AIを学び始めるまでには通過点があります。
ウェブアプリを理解する段階では、フロントエンドの言語をある程度身につけておいて損はありません。
HTML
Progateなどを使って、ある程度しっかり理解しておいたほうがよいと思います。
CSSよりもHTMLが中心です。
CSS & Sass
AIコースではBootstrapを使うので、ほぼ必要性を感じません。
CSSはどのようなものかを知っておく程度でよいと思います。
ただし、継続して学ばれる方はあとでSassまでは理解しておきましょう。
おそらくデザインに関してはAIが自動的にやってくれる世の中になります。
なので、極めるにはリスクが高いのかなと感じます。
JavaScript
一方、今後プログラミング学習を継続していく人は、JavaScriptをある程度理解しておいたほうがよいと感じます。
KredoのAIコースではJavaScriptは必要ありません。
しかし、AIコースの先生やPHPコースで学んでいる人たちが『JavaScriptはどこかしらで必要になるから学んでおくといいよ』とよく言っています。
実際、Pythonのようにバックエンドで用いることの多い言語だけでは、かっこいいデザインのウェブサイトは作ることができません。
バックエンドの知識がわかって、自分のポートフォリオ用に何かを作ろうとすると、やはりフロントエンド言語やデザインの知識が必要になってきます。
必要になったときに学べばよいのですが、基礎中の基礎くらいはやっておいても損はないのではないかなと感じました。
バックエンドの言語は1つ極めれば十分だと思いますが、フロントエンドに関係する言語は幅広く学んでおくほうが良いでしょう。
AIコースに必要なその他の言語やライブラリ
- Git
- Command Line
- SQLAlchemy
この3つが必要です。
特に③のSQLAlchemyは予習しておいたほうがいいでしょう。
私は最初あまり理解できず、かなり苦戦しました。
時間さえあれば全然理解できるのですが、時間がないと意味不明になってしまいます💦
SQLAlchemyはFlaskのライブラリという位置づけらしいです。
つまり、Flaskをより簡単に使うために必要なようです。
私のAlchemyに関する知識はそれくらいです(笑)
SQLとは同じものではないですが、ProgateなどでSQLを勉強しておくと良いと思います。
また、GitとCommand Lineは基礎の基礎しか使いませんが、知っておいたほうが授業の理解が深まるでしょう。
ProgateのGitとCommand Lineは集中すれば30分ずつくらいで終わると思うので、やっておきましょう。
復習はスライドを読んでおくだけでいいと思います。
データベースにデータをアップして、それをブラウザ上に反映して機能を追加していくので、GitやCommand Lineの知識が必要になってきます。
Pythonを勉強してわかったこと
Pythonの問題点は、
Python自体は簡単。
しかし、Flaskなどのフレームワークが絡んでくると複雑になるということです。
そもそもPython単体で使うことはあまりないと思います。
何かしらのフレームワークやライブラリを使ってウェブサービスを使うはずです。
そうなると難しいんですね。
つまり、応用がちょっと難しくて、コードが煩雑になりやすいのではないかなと思います。
個人的には、最初に学んだバックエンドの言語ですし、世界中で使われている言語なので、せっかくなので極めていきたいとなと思います。
5・6月はRubyのコースに参加することになっているので、その前にRubyのほうが詳しくなりそうです。
日本人が学ぶならRubyのほうが楽
Pythonを学んでわかったのですが、Rubyのほうが学習環境が良いです。
理由は以下です。
- ウェブサービスが充実
- 独学の到達地点が高い
- 書籍がわかりやすい
- コミュニティが多い
- 就職しやすい
例えば、Progate一つ取ってみても、明らかにRubyの学習内容は手厚く、到達地点が高いです。
決定版と言われるような書籍も複数出ています。
しかも、内容がわかりやすいです。
かつ、ウェブ上やリアルでのコミュニティも多く、日本全国でRubyを使える人と出会うことが可能です。
つまり、質問に答えてくれる人の母数が多いのだと思います。
Pythonは、AIやデータサイエンティストの方向に行くと、ライバルが旧帝大理系院卒とかなので仕事を得るのは至難の業です。
また、Python単体でプログラミングを行っている会社は日本には少ないので、英語ができる人じゃないとメリットは少ないかもしれません。
なので、Rubyから入って仕事に就いて土台を固めるルートが現実的ではある気がします。
そのあとに、自分の好きな言語や興味に向かって進んで行くのが一番コスパが良いのかもしれません。
私は数学などにも興味があるので、PythonやAIの勉強は続けたいと思っています。
でも、その前にRubyを勉強できるチャンスがあるので、勉強してPythonとrubyを比較検討してみようと思っています。
何事もやるからには楽しまないといけませんね。