
116【有料で学んだこと】MENTAでshota.kokado@Python/AWSさんに教わったこと⑤ その他知識共有編
こんにちは!TechCommitメンバーの友季子です。
MENTAでshota.kokado@Python/AWS 先生から教わった、いろいろがとても勉強になったので、私だけが知っているのも勿体無いと感じたので記事にします。
あなたの学習のお役に立てれば嬉しいです。
shota.kokado@Python/AWS 先生からのアドバイスまとめ
① Pythonのスキル向上について
私自身が別に「プログラミングの天才」なんてものではないので、「量あるのみ」という感じでしょうか。
既に挙げたようなチュートリアルの学習教材を写経したり、自分で考えたアプリケーションを作り上げていくことです。
また、一つ別の角度のアドバイスをすると、Linuxの使い方をぜひ覚えてください。
世の中のツールのインストール手順を見ると「apt-get install ...」や「dnf install ...」というコマンドを目にすることがあると思います。
しかし、これはWindowsのコマンドではありません。
プログラミングそれ自体に慣れてきてPythonやDjangoの使い方を覚えても実はそれだけではあまり仕事にはならず、その他のツールも使って活用しないといけません。
このように世の中の多くのライブラリを汎用的に利用できるのが「Linux」というOSです。
例えばこのページを見て「何をすべきか」が分かるようになると一人前だと思います。
https://docs.docker.com/engine/install/ubuntu/
私もWindowsユーザーですが、WSL2は聞いたことがあるでしょうか。普段から WSL2でUbuntu 22.04 を使って開発しています。
https://learn.microsoft.com/ja-jp/windows/wsl/install
あとは一般的なLinuxとして使えるので「Linux 初心者」などで使い方を少しずつ覚えていってください。
まとめ
Linuxの使用:特にWSL2を活用して開発環境を整えることを推奨
②ポートフォリオの作品で先生のポートフォリオを真似して作りたい。
いい質問ですね!
以下の技術を組み合わせて公開しています。mkdocs(https://squidfunk.github.io/mkdocs-material/getting-started/)
GitLab CI/CD
GitLab Pages
独自ドメイン設定(AWS Route53)
SSL設定
^ 正直、これと同じことを友季子さんがすぐに真似はできないと思います 😇
似たようなもので「GitHub Pages」があるので、もし興味があれば始めて見てください
https://docs.github.com/ja/pages/getting-started-with-github-pages/creating-a-github-pages-site
https://qiita.com/snow_swallow/items/631bbceabbb953da2646
まとめ
学習方法:「量あるのみ」
チュートリアルや学習教材の写経
自作アプリケーションの開発を通じたスキルアップ
初心者からの段階的な学習には以下のリンクが参考になります。
③Scrapy parselというライブラリについて
…使い方の説明としては Scrapy の内部で使われている parsel というライブラリの説明になります。
※よくスクレイピングのブログ記事では BeautifulSoup が使われる場合もありますが、個人的には parsel の方が好きです
以下が公式ドキュメントの Usage 解説です。
https://parsel.readthedocs.io/en/latest/usage.html#extensions-to-css-selectors
また、以下のコードでも簡単に試せるかと思います。
まとめ
from parsel import Selector
selector = Selector(text="""
<div class="item">This is item1</div>
<div class="item">This is item2</div>
""")
selector.css("div.item::text").get()
# => This is item1
selector.css("div.item::text").getall()
# => ["This is item1", "This is item2"]
③ ポートフォリオの作成
まとめ
使用した技術:
mkdocs、GitLab CI/CD、GitLab Pages、AWS Route53、SSL設定
GitHub Pagesを使って簡単に始めることも可能
おすすめリソース:
④具体的に設計~開発までにどのような工程で設計されたか、※テストを含めて
具体的に設計~開発までにどのような工程で設計されたか、※テストを含めて
正直言うと、特に「工程」というのは無いです。
今の私は、お渡ししたコードくらいの規模なら2,3時間あれば一から実装できると思います。
これは Python/Django を仕事でも使って数年経過していることによる経験値からくるものです。
もちろん最初から全てできたわけではなく、Djangoやクロールツール(Scrapy)の使い方を地道に覚えていくしかありません。
Django、Scrapyそれぞれの公式ドキュメントにチュートリアルがあるので写経しながら手癖にしていくのが私のやり方です。
https://docs.djangoproject.com/ja/5.1/intro/tutorial01/
https://docs.scrapy.org/en/latest/intro/tutorial.html
Djangoのサンプルなら、Django Girlsというのも有名ですね
https://tutorial.djangogirls.org/ja/
まとめ
DjangoやScrapyの公式ドキュメントのチュートリアルを写経し、慣れていくのが良い
サンプルプロジェクトに取り組みながら実践力を高めることを推奨
おすすめリソース:
⑤オンラインレッスンのオススメツール:ScreenToGif
まとめ
キャプチャを動画にするのは「ScreenToGif」を使っています
.gif 形式は画像のようなものなので便利ですね
https://www.screentogif.com/
(mp4で保存することもできます)
おわりに
shota.kokado@Python/AWS先生はとても誠実な先生です。
是非スクレイピング指導をしてほしいときにオススメです♪