Webエンジニア半年前くらいからPythonを触ってきて、学んだこと・Pythonで作ったものをまとめておきます。「なんとなく書きやすそう!」というアホみたいな理由で趣味で書き始めて、最初はググってコピペしながらなんとか書いていたPythonですが、半年経った今ではほとんど調べることなく頭の中にあるロジックをそのままPythonのコードに落とし込めるようになりました。趣味の時間だけでしか触ってなくてもここまで書けるようになるために何をしてきたのか。どんな情報を参考にして学習を進めていったのかを書いていきます。Python未経験が半年間で作ったもの前提として、僕のプログラミング経験は以下のようなものです。趣味でPython:直近半年間どこにでもいるような社会人からエンジニア始めました系人材です。そんなエンジニアが半年間で趣味でPythonで作ってきたものをまとめておきます。半年間趣味の時間を使ってPythonで作ったものの簡単な情報と、そこで利用した技術を紹介します。Twitterの自動つぶやき・フォロー・リツイート仮想通貨Bot初めてPythonで作ったのがコイツでした。APIから仮想通貨の価格データ取得してきて価格速報ツイートしたり、RSSで有名どころの仮想通貨メディアの記事をリツイートしたりします。Herokuの無料枠で運用してるのでコストは0。twitter.comこの開発で初めて学んだ技術は以下。・v・)bnote.muはてなブログ記事の自動生成・投稿プログラムこれは1ヶ月前くらいから運用しているものですね。「はてなブログの投稿って自動化できないの?」という疑問から開発に至りました。実際に挑戦してみて、テンプレの文章構成が決まっていて、データを元に簡単なコメントを生成すれば記事になるような記事であればチャチャっと自動化できる!ことがわかりました(・Д・)ノやっていることはシンプルで、テンプレのテキストファイルを用意しておいて、API経由で取得したデータがどうであるかを元にコメント生成するようなプログラムで記事のタイトル・本文生成し、はてなAPIでPOSTするだけ。詳しい実装はこちらどうぞ。記事の中でも「読者層がニッチすぎて人手で書くのが割に合わないけど、少数の人には確実に読まれる」という領域は、ブロガーは書きたがらない(割に合わないから書けない)領域で、そこの領域の記事を自動で投稿し続ければPVは上がっていくのか?今後検証してみたいと思っています。日本人が誰も知らない仮想通貨銘柄の情報とか英語情報しかないから、それの情報を自動で投稿するとかね。この開発で初めて学んだ技術は以下。APIへのアクセス方法とデータの扱い方インフルエンサーランキング生成プログラムこれは、2週間前くらいに1週間かけて完成したプログラム。仮想通貨界隈、Webエンジニア界隈、VTuber界隈など、カテゴリで切ってインフルエンサーのランキングを作っています。Sheetに書き込んでいっています。Sheetでのデータ管理は、どの要素で並び替えするか簡単に設定できる・データ不整合があったら簡単に書き換えられる・パッとデータを見れるという点で重宝するので、簡単なデータ保存にはうってつけでした。ちなみに、Twitterで収集しやすいカテゴリと収集しにくいカテゴリがあることも発見できました。人同士でフォローしあっているアカウントが多いカテゴリは収集しやすかったですが、界隈を超えてフォローしあっている人が多いカテゴリの収集は界隈に関係ないアカウントが複数含まれてしまって収集ができませんでした。T)そもそもなんでインフルエンサーデータ収集してるの?という話はこちらの記事に書いています。www.virtual-surfer.comこの開発で初めて学んだ技術は以下。APIへのアクセス方法とデータの扱い方はてなブログランキングページデータ取得プログラム今動かしているプログラム。毎週はてな社が投稿しているはてなブログランキングのページ情報をスクレイピングして、よく読まれている記事データを取得しています。「よく読まれている記事を分析して、アレンジして自分のブログに取り込めそうな点を学ぶ」っていうのは全ブロガーがやっている作業かと思いますが、その作業をプログラム化できないかなと挑戦中。_φ(-^v^-この開発で初めて学んだ技術は以下。Soup半年間Pythonを趣味で書いてきての学び半年間で以上のようなプログラムを書いて運用してきたわけですが、そこで学んだことをメモがてらまとめておきます。これから趣味でPythonを書こうとしてる人の参考になれば。自分の実生活に役立つプログラムを書くマジでこれが一番大事。趣味で開発する分には誰にも急かされることもFBされることもないので、自分の生活の役に立つものを書かないとモチベーションが継続できず、好奇心を持って新しい技術に挑戦してみたり、最後までプログラムを書ききることができません。その結果、ググって見つけたコードを実行してみてちょっと動かして飽きるの無限ループを繰り返し、全然技術が上がらない状況になったり、せっかくプログラムを書いたのに生活に関係ないものだから書いてそこで終わり(その後運用しないこと)になりがちです。僕も最初はググって出てきたコードをコピペして動かしてみることばかりしていたのですが、自分の生活を楽にしてくれるものや、普段の作業を効率化してくれるものじゃないと学びが増えないなと気づき、ググって出てくるか関係なしに自分の興味のあるものだけを書き続けました。自分の作りたいものを具体的に考えていくと、ググっても作りたいもののプログラムが出てこない(もしくは、英語での情報しかない)ことが多いので、否が応でもドキュメントを読んで学んでいくことが強いられ、技術力は向上していったように感じます。自分の興味あるものを開発すること、運用し続けること、大事。使う技術は壁にぶつかり次第、ドキュメントを読む賛否両論あるかもなんですが、僕はこのスタンスでやっています。普段の業務では、「技術触る前から、公式ドキュメント読めよ。」と言われるのですが、趣味で開発していく上で最初からドキュメントを読んでいると、せっかくの開発のモチベーションが萎えていきます(僕はそうでした...)。いえ、公式ドキュメントを読まずに、ググって出てきた個人が書いている情報を参考にしてプログラムを書くと、APIアクセス制限の情報が古くてアクセス制限に引っかかったり、もっと有用なライブラリがあるのに回りくどいコードを書いてしまったりしがちです。ある程度コードを書き進めた段階で、「あれ?これってこんなにめんどくさい書き方する必要ある?」とか「APIアクセスしてどんな場合はどんなレスポンスが返ってくるんだろ?」と疑問に思ったらその時に公式ドキュメントを読むべしです。する処理に関しては大抵便利なメソッドが用意されているし、あれ?と立ち止まった時には公式ドキュメントに答えが書いてあることが多いです。公式ドキュメントが英語しかなくて、英語苦手なんだよ〜。いう方こそ英語ドキュメント読むべしです。趣味で興味ある技術を触ってドキュメントを読むのを癖にしておくと、仕事で興味ない実装でもドキュメント読むのが習慣になるので。開発したプログラムは、ブログなどにまとめるこれやってみて価値をめちゃくちゃ実感しました。「一度書いたコード・一度はまったエラーはもう2度と間違えないだろう。...結局またエラー解決に時間かかってんじゃん...。なってしまいがちです。ならないためにも、一度自分がはまったこと、実装に悩んだ箇所などは何かしらいつでもアクセスできる場所にまとめておいた方がいいです。自分でまとめて公開しておけば、どこにあったか覚えているので、パッと情報を参照できるし、同じような悩みを持った人が結構な頻度で記事にアクセスしてきてPV稼げ...人の解決に役立つことができます。Pythonを書いてきて作ったものと学んだことのまとめでした。最後に、これからPythonでWebサービスを開発したい方向けにオススメの本・サービスを紹介しておきます。Pythonでいろいろ作ってみたい方向けのオススメスクレイピング/データ収集を試したいPythonでWebサイトやTwitterなどのデータを収集したいなら、こちらの本がめちゃくちゃオススメです。)ノPythonの基本的な書き方を知りたい「爆速で動くものを作りたい!基礎も実践的なスキルもオンラインで一気に学びたい!」という方には、UdemyでPythonの基礎講座と実践講座を受講することを検討してみてはどうでしょうか。Pythonの基本的な書き方や、実践的なプログラミングに関して、プログラミング未経験の方でも分かりやすいように丁寧に解説されている講座もあるのでオススメです。www.virtual-surfer.comすぐに質問できる環境で爆速で開発したい「まだWebエンジニアとしての実務がなくて自力でWebサービスを作りきれるか不安...。積極的にさぼるために頑張る25歳Webエンジニアのブログ。プログラミング・エンジニアのスキルアップ・ブログ運営についてよく書きます。@virtual_techXプログラムとか技術の話はQiitaでよく書いてます。Webエンジニア向けです。virtual_techXはてなブログをはじめよう!virtual-surferさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。