Ozroblog

hitorigoto

Write Code Every Dayが良い話

agenda

はじめに

こんにちは。おじろです。
今日は今年に入って始めたWrite Code Every Dayに関して共有しようと思います。 中々良さげなので皆さんもぜひ。

Write Code Every Dayとは

簡単です。毎日コードを書くことです。
自分はこの言葉(?)をソフトウェアエンジニアとしての姿勢と心構え @t_wadaで知りました。
「毎日〜を行う」というのは習慣にしやすいし、自分は圧倒的に実装力が足りていないのでコードを書く習慣をつけるために取り組もうと思いました。
上記の資料を見てもらうとすぐわかりますがここでも簡単に説明をしておきます。
4つのルールを守ることがWrite Code Every Dayです。少なくとも私はそう認識しています。
1. 毎日コードを書くこと 2. 意味のあるコードを書くこと 3. 深夜24時前に終わらせること 4. 書いたコードをGitHubで全てOSSにすること

この4つのルールを毎日守ることがWrite Code Every Dayです。
詳しくはt_wadaさんの資料を確認してください。Write Code Every Day以外にも有益なことがいくつも紹介されています。
ソフトウェアエンジニアとしての姿勢と心構え @t_wada

何を書いてる?

ルールを知って、始めよう!となったところで、何を書くかを考えました。
書きたいものや作りたいものがあるのならば良いのですが、自分はありませんでした。
自分のようにやりたいこと、作りたいことがない方は参考にしてください。

AtCoder

一番多く書いているのはAtCoderです。
レートを上げる、コーディングテスト対策など色々な目的を持っている方がいると思いますが、「問題を与えられて解く」というお題が与えられているので、何を書くか迷う方は競プロをやるのが良いと思います。 自分はこの習慣を始めて以降のコードをGitHub上にcommitしているので、ぜひ覗いてください。(クソコードばかりなので恥ずかしいですが)

github.com

Twitter分析

次に自分がやったのはTwitter分析です。
おそらくこの記事にTwitterから来ましたよね?(99.8%はTwitterからのアクセスです)
なら、Twitterのデータで遊ぶのも選択肢の一つです。
自分が行った分析(?)は記事にしているので参考にして遊んでください。

ozro-223.hatenablog.com

言語処理100本ノック

最後に100本ノック系ですね。
こちらもAtCoderと同様、問題が与えられるのでお題を考えなくて済みます。
自分は自然言語処理に興味があるので言語処理100本ノックを解きました。

github.com

Python関係の「○○100本ノック」のまとめに色々な100本ノックが掲載されているので、そこから探すと良いと思います!

自分が感じた効果

気になる効果ですが、めちゃくちゃ実装力が上がった!とかはないです。
まあ大したこともやっていないのに、1ヶ月で飛躍的に上がるはずもないです。
大きく3つですね。 - 毎日コードを書く習慣ができた - AtCoderのレートが上がった - NNの実装が手に馴染んできた

たったの一ヶ月でこんなに効果あるのなら、一年後は天才!?とか思います。
ぜひ皆さんも試してみましょう。

難しいところ

ただ、個人的に難しいと言うか、問題点は学校の課題などGitHubにあげられないコードを書いた時に記録がつかないことです。
GitHub以外で記録をとれば済むのですが、草が生えている「草を生やした」ことや、GitHubに記録として残ることの達成感でモチベが段違いです。
解決策を探しています。(むしろこのくらいしか問題点ないです)

今後やりたいこと

最後に今後やりたいことを少し書きます。
真似していいですよ(笑)
- kaggle極意本 - こちらは既に少しだけやってます(笑) GitHub Repository - ただ就活中なのでコーディング対策も兼ねてAtCoderを優先しています - Django - 就職or院進先が決まったら色々作りたい - 機械学習エンジニアのためのTransformers - こちらも就職or院進先が決まったらここのコードを使って色々作りたいです

就活、院試対策中で色々やりたいことが溜まっていく、、、
はやく進路決まってほしいですね(雑談)

終わりに

とりあえず、毎日コード書きましょう。
自分は意外と3日くらいで習慣化しましたので、そこまで大変なことではないと思います。
実装力つけるために頑張るぞ〜。就活、院試頑張るぞ〜。