Write Code Every Day (1年目)
概要
Write Code Every Dayを1年間達成しましたので、感想云々を記載します。
一応、日付ずらし等はやらずにいけました。
(ユーザーミスが1日だけあったくらいですかね..)
Write Code Every Dayとは?
毎日コード書いて commit
して、GitHubに芝を生やすことです。
昨年のこの時期に、 @t_wada
さんのスライドを見てはじめてみました。
(元ネタはこれかな) John Resig - Write Code Every Day
@t_wada
さんのスライド
Write Code Every Day // Speaker Deck
結果
(色薄..)
作ったもの
主にGolangの勉強系で作ったものが多いです。 (90%くらい..)
gosns
- Messaging Sever です
- Amazon SNSを初めて触れて、書いてみたかったのでGoで書いてみました
- Pub/Sub Modelをイメージして作成してます
mercari/go-httpdoc
を使ってテストコードから、API Docを生成したことをよく覚えてます
gtrello
- 日報作成ツールです
- 毎日簡単に書きたくて作りました (まだ使ってます)
- Trelloの情報をSlackへ送信する流れです
$ gtrello
→ editor open(所感記入) →#times_midori
へ配信
- Trello用のClient (
BurntSushi/toml
) をガッツリ使ってます- こういうClient利用をきれいにテスト書かねばというのが課題です
- Go標準のtemplateを利用して、Markdown生成とかしてました
- (Slack投稿にしたので、最終的にはあんまり残ってないです..)
gmd
- コマンド保存ツールです
- 同じコマンド打つの辛いなぁと思って作りました
- 現在はhistoryに置き換わって使ってないですね…
- history + peco (参考: pecoる - Qiita)
- コマンド自体をまるっと保存します
- できること
- 保存
- 実行
- 一覧
gchat
- チャットサーバーです
websocket
ってどんな感じなんだろうと思って作りました- (まだよくわかってないですね..)
gorilla/websocket
をwrapしているだけって感じでサクッと作れました
その他
- 作りかけ放置多数
原則の達成度
- 毎日コード書くこと
- 達成度 70%
- NG Point
README.md
更新- メモ等のcommit
- NG Point
- 達成度 70%
- 意味のあるコードを書くこと
- 達成度 70%
- NG Point
- 上記と同様
- NG Point
- 達成度 70%
- 深夜24時前に終わらせること
- 達成度 80%
- NG Point
- 24時超えのcommitは少しはあった
- NG Point
- 達成度 80%
- 書いたコードをGitHubのOSS化すること
- 達成度 100%
やってみての感想
メリット
- 毎日コード書く(commitする) 習慣 は完全に身についた
- ほぼストレスなくできるようになった
- 頭の片隅にいつも、今日のcommitはちらつく
- (勉強する習慣を社会人1年目から作れたのは良かった)
- Goがとても好きにになった
- 新しいものに触れるととりあえず手を動かすようになった
- 芝生えるしちょうどいいと思って、コード書いてみる
- gRpc
- GraphQL
- Eclipse Collection
- ML
- etc..
- 芝生えるしちょうどいいと思って、コード書いてみる
デメリット
- インプットが少なくなりがち
- 本読んだり等が二の次になってしまう
- つなげるための苦肉の策
REAMD.md
更新- (正直結構やりましたね、
README.md
だけの更新..)
- (正直結構やりましたね、
- 家に帰るのが間に合わずスマホからcommit
- 飲み会で遅くなり、commit → pushできるツールを探しました..
- source (https://source.ianmcdowell.net/)
- これでできましたが、pushするためには課金(500円?)が必要で..
- 泣く泣く課金しました…
- (後日、一緒に飲み会に行っていた同期が謎に500円くれました)
- 24時超えcommit
- 次の日できなさそうな時、やってました
今後
習慣化しているので、続けていこうかと思います。
エンジニアである以上、日々手を動かしていけるようにしていきたいです。
2年目
README.md
更新頻度の削減- ちゃんとコード書く
- コード書くための時間づくりも大事にする
- インプット → アウトプットの習慣化
- 本をもっと読みたい
- 基礎知識が低すぎる課題
- 本を読んだことを活かしてコードを書く
- 本をもっと読みたい
- 続けること
- 2年目もがむしゃらにとにかく続ける
- OSSへcommitする
- Libraryもしくは有用なツールを公開する
- ちゃんと使えるものを作りたい
- 設計からしっかり実施したもの
- テストコードを書く
まとめ
1年続けてみて、個人的には良い習慣かなと思いました。
基本サボり症である程度の強制力があるものがないと続かない人には、
向いているかと思います。(自分はこれです)
作ったもの等は、稚拙なものが多いですがこれも実力の内なので、
2年目はまた違った結果がみせれると良いかなと思います。