#100DaysOfCode の始め方とルールについて

# はじめに
こんにちは。

あなたは#100daysOfCodeというハッシュタグをご存じですか？
**100DaysOfCodeはコーデイングの習慣をつけるのにぴったりなチャレンジ**で、私自身も現在チャレンジ中です。
今回はその始め方とルールについてまとめてみました。

（※あくまで紹介というスタイルであり、個人の見解（と予測）も含まれていますのであくまで参考程度にお考え下さい。詳しく正確な情報については公式サイトを参照してください。）

# 100DaysOfCodeとは
<img width="963" alt="スクリーンショット 2020-03-05 22.11.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/9e309866-1edf-965e-5b29-58d56f399b31.png">

毎日コードを書き、ハッシュタグ#100DaysOfCodeをつけてツイートするチャレンジです。
[公式サイトはこちら](https://www.100daysofcode.com/)

# 主なルール
#### **1. 100日間、毎日最低1時間コーディングをする**
#### **2. ハッシュタグ＃100DaysOfCodeをつけて、毎日進捗状況をツイートする**

最初私は、**「ハッシュタグを付けて毎日進捗をツイートするだけ♪」**、というようなニュアンスで書かれた某日本語での紹介記事を見て、100DaysOfCodeを始めました。
しかし最近、ハッシュタグだけでなく**公式サイトが存在する**ことを知り、さらにルールや手順があることを知ったので、これから紹介していきたいと思います。

もちろん**「ハッシュタグを付けて毎日進捗をツイートする」ルールだけで進めるのもアリ**だと思います。もしきっちりルールに沿ってやりたい人がいればチェックしてみてください...ぐらいのつもりです。

# 始め方

### 1.公式サイトにアクセス、説明を読む
[公式サイト](https://www.100daysofcode.com/)にアクセスします。
<img width="963" alt="スクリーンショット 2020-03-05 22.11.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/d6506df1-4371-faa5-eff8-1b576d03aebf.png">

スクロールして、**Tweet to commit to the challenge!**をクリックすることで、
<img width="659" alt="スクリーンショット 2020-03-05 22.58.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/87713808-bc86-74d7-399a-cab8a4c505c4.png">

今日から100DaysOfCodeをチャレンジします！という宣言ツイートができます。
<img width="711" alt="スクリーンショット 2020-03-05 22.59.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/f0a0cd98-1901-cc6e-a6a3-57a9e7881002.png">

さらにスクロールすると、100DaysOfCodeの進め方について等の説明があります。(※以下Google翻訳)

>次のステップ
参加することに決めた場合、以下の手順を実行する必要があります。

>>1.ツイートしてチャレンジにコミットしてください！
2.元の記事を読む：＃100DaysOfCodeに参加する
3.計画：チャレンジ中に取り組む内容を策定します。フレームワークの学習、コードの学習の旅の開始、特定の技術やプログラミング言語のスキルレベルの向上などが考えられます。計画に時間をかけすぎないでください。しかし、このような計画を立てることは、あなたの道に役立ちます。
4.今日から、今後100日間、＃100DaysOfCodeハッシュタグを使用して毎日進捗状況をツイートします。

手順は把握できましたか？
さあ、コードが書けたらあとは進捗をツイートするだけです！

### 2.GitHubリポジトリに毎日のログを残す(※オプション)

「次のステップ」の下には、「成功の可能性を高める手順」が記載されています。この中で以下を取り上げます。
>（オプション、ただし強く推奨）このGithubリポジトリをフォークし、毎日ログにコミットします。リポジトリの指示に従ってください。

毎日の記録をツイート以外でも残しましょう、ということですね。
（ツイートだと流れるし、リプライで繋いでも見辛いですもんね...）
オプションなのでやらなくてもいいですが、せっかく推奨されているので、ぜひトライしてみましょう！

#### <手順>

1. [this GitHub repo](https://github.com/Kallaway/100-days-of-code)をクリック（100DaysOfCodeの公式サイトに飛びます）
<img width="746" alt="スクリーンショット 2020-03-05 22.14.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/aba5dc28-ef21-ea1c-cd1b-f46d44677f60.png">

2. 右上のForkをクリックし、フォーク（リポジトリをコピーして自分のリポジトリを作成）します。
<img width="1021" alt="スクリーンショット 2020-03-05 22.16.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/02fc5003-c75e-ecdd-12cc-55eab68bb95a.png">

3. フォークしたリポジトリを見てみましょう
<img width="1019" alt="スクリーンショット 2020-03-05 22.23.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/abc99846-8a4a-df9d-7e1c-e68c1cce20ef.png">


4. スクロールするとREADMEがあるので、Translationsから**日本語**を選びます（英語ができる人は英語で進めてください）
<img width="1013" alt="スクリーンショット 2020-03-05 22.25.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/719edb3f-00c7-f9ab-2a3a-d53a86d95ddd.png">


5. コンテンツ（ルール、FAQなど）を熟読しましょう。
<img width="770" alt="スクリーンショット 2020-03-05 23.15.59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/9be5954d-070e-5d0d-24da-46c56dc506de.png">



6. **ルール ドキュメント**の開始日を変更します（今日始めるなら今日の日付にする）
<img width="766" alt="スクリーンショット 2020-03-05 23.17.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/066bcdce-5173-c556-7ab4-b26ecdd85fa8.png">


7. **学習ログ ドキュメント**に学習の記録をMarkdownで記述していきます。（※私のように、100DaysOfCodeを進めた上で、途中からこのリポジトリでチャレンジの記録を残す場合はそれまでのツイートのリンクを載せましょう。FAQに記載があります。ちなみにリンクを貼るだけでなく埋め込んでみました。画像は直接見えないけど...）
<img width="734" alt="スクリーンショット 2020-03-05 23.22.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/289055/ea8d1b55-93d7-a17e-1daf-e256e817a732.png">

テンプレートの項目は以下。
`・今日の進捗：その日取り組んだ内容
・思ったこと：感想
・リンク：プロジェクトのリポジトリやブログのURLなど`

例を見ると、項目がない日もあるので好みで変更しても良さそうな気がしました。

### 3.その日の進捗をツイートする
書き方はこんな感じ。他の参加者のツイートを参考にすると良いと思います。
>Day 0:
今日から100DaysOfCodeを始めました。
〇〇に取り組みました。難しい〜〜
\#100DaysOfCode

(※学習ログの例ではDay0からなので0から始めた方が良いかも)

# その他重要な(?)ルール
>実際にプロジェクトなどに挑戦すること。チュートリアルやオンラインのコースだけをやっていてもこのチャレンジにはカウントされません。（プログラミングをまだ学び初めの方は, FAQを読んでください。）

→チュートリアルやオンラインのコースだけではなく、実際にプロジェクトに取り組むこと、とあります。~~知らなかった...~~
公式FAQでは、何をやれば良いか分からない場合、**[FreeCodeCamp’s Front End Curriculum](https://www.freecodecamp.org/)**をおすすめされています。

参考記事：[フルスタックなWeb開発が無料で学べるFreeCodeCamp](https://qiita.com/applideveloper/items/9ef1f8258f54982b8045)

# その他FAQ抜粋(意訳)
Q.　1日サボっちゃったけど、もうチャレンジ失敗？
A.　1日ぐらいならOK、その日をカウントせずに続けていい。2日空けるのはやめよう！

Q.　日付またいでから1時間終わらせたけどこれってセーフ？
A.　大丈夫！（※寝る前までに1時間以上プログラミングすれば、その日の進捗にカウントしてOK）あまり気にせずにやろう！

Q.　いつ始めるの？
A.　いつでもいいよ！始める最初の日が1日目だよ！

# さいごに
私もまだ21日目で探り探りですが、毎日人の目に触れる場所（Twitter）で進捗を報告するのは、意外と良い刺激とモチベーションの維持になって続けることができています。ルールはありますが、あまり完璧にやろうとしないことがポイントかもしれません。また１００日達成報告ができるように頑張りたいと思います！
これを読んでいるあなたもぜひチャレンジしてみてください！最後まで読んでいただいてありがとうございました！

---
#### 2020/03/17 追記：
[毎日の学習ログ](https://github.com/akihanari/100-days-of-code/blob/master/log.md)を晒しておきます。参考になれば！