100日連続投稿を通して見つけたアウトプットをする意味

# 結論
アウトプットする意味として「再現性を高めるための『知の整理』」があると、連続投稿を通して感じました。

# はじめに
この記事では技術的な話はないです。「アウトプットする意味」というテーマで記事としています。よろしくお願いいたします。

# 自己紹介
こんにちは。
私は現在、ある会社で社内SEとして働いている者です。
さて、私はQiitaで2023/5/9から今まで99日間連続で1記事ずつ投稿してきました。
そして今回の記事で100記事目となります。
この1日1記事投稿を100日続けることを目標にしてきたため、この記事を投稿して目標達成となります。
今回の記事では、この個人の毎日記事投稿を通して、アウトプットをする意味を1つ見つけることができたので、そのことを投稿しようと思います。

<details><summary>過去の記事(折りたたんでます)</summary>

|日付|記事|
|-|-|
|1日目(2023-05-09)|[Google Colaboratoryで上書きしたノートブックを以前のものに復元したい](https://qiita.com/76r6qo698/items/0e09996dcf6446ab5d0d)|
|2日目(2023-05-10)|[PowerAutomateでExcelの「表に行を追加」アクションを使って表を作った後は、「待ち時間」アクションを入れたほうが良さそう](https://qiita.com/76r6qo698/items/a32f8fda3594f5952b71)|
|3日目(2023-05-11)|[Power Automateで、Power Appsをトリガーアクションにして実行ユーザーを変更したい場合はV2のものを使用する](https://qiita.com/76r6qo698/items/c4232925b53834b65c58)|
|4日目(2023-05-12)|[Pythonのモジュールの上書きに注意](https://qiita.com/76r6qo698/items/30470bcaf585ab1e54eb)|
|5日目(2023-05-13)|[4日間連続で記事を投稿しての振り返り](https://qiita.com/76r6qo698/items/c9f316ea85b5204a1930)|
|6日目(2023-05-14)|[Power Automate DesktopとPower Automateは別物](https://qiita.com/76r6qo698/items/a805886881aea78e7660)|
|7日目(2023-05-15)|[Power Automate DesktopはPower Automateと勘違いしやすいのではないか](https://qiita.com/76r6qo698/items/186c888002804a1a8a83)|
|8日目(2023-05-16)|[Power Appsでデータソースから取得できる行数を増やす](https://qiita.com/76r6qo698/items/4f8859f0d4e07d2f975f)|
|9日目(2023-05-17)|[【競プロTips】配列をするソート前に各値に-1をかけてソートすることで降順ソートを実現する](https://qiita.com/76r6qo698/items/81f30e728051c326a1e9)|
|10日目(2023-05-18)|[Power Automate Desktopでリスト形式のUI要素を要素名で取得したい](https://qiita.com/76r6qo698/items/c170dce3f14ddc57bfa7)|
|11日目(2023-05-19)|[Power Automate Desktopで実行中のフローを監視する](https://qiita.com/76r6qo698/items/addc1a735b079e3a445d)|
|12日目(2023-05-20)|[YoutubeのAPIリファレンスからchannelIdを調べる](https://qiita.com/76r6qo698/items/b1efc09822aff11c1774)|
|13日目(2023-05-21)|[ABC302 - C Almost Equal 自己解法](https://qiita.com/76r6qo698/items/fd6fb227f1f6c548b5c1)|
|14日目(2023-05-22)|[ABC302 - B - Find snuke 自己解法](https://qiita.com/76r6qo698/items/d8a47d968372ff3ec302)|
|15日目(2023-05-23)|[Power Appsで、データテーブルの〇番目から×個のデータを取得したい](https://qiita.com/76r6qo698/items/689328cdee6f8df9b578)|
|16日目(2023-05-24)|[seleniumでElementNotInteractableExceptionという例外が発生](https://qiita.com/76r6qo698/items/de9cb7f41e8f887e8d3e)|
|17日目(2023-05-25)|[ABC302 - D - Impartial Gift 自己解法](https://qiita.com/76r6qo698/items/0086ca9fc9dc10e08ffb)|
|18日目(2023-05-26)|[Google ColaboratoryでYouTube Data APIを使用してYouTubeのchannnelIDからチャンネル情報を取得](https://qiita.com/76r6qo698/items/1d5ef1ba93128e741466)|
|19日目(2023-05-27)|[GooleColaboratoryでpyファイルを実行する](https://qiita.com/76r6qo698/items/6279035a16d1548c8ff8)|
|20日目(2023-05-28)|[ABC303 - B - Discord 自己解法](https://qiita.com/76r6qo698/items/2fd0eed57d5067794a71)|
|21日目(2023-05-29)|[Google Colaboratoryでpythonのバージョンを変更する](https://qiita.com/76r6qo698/items/e7ed7e7cf3166d280f32)|
|22日目(2023-05-30)|[pywinautoで子要素配列や子孫要素配列から特定の要素を検索する](https://qiita.com/76r6qo698/items/84865937ef0994f3480c)|
|23日目(2023-05-31)|[ABC303 - C - Dash 自己解法](https://qiita.com/76r6qo698/items/d50da14b559f9c85bdd8)|
|24日目(2023-06-01)|[Power Automateでアクションをコピー&ペーストする](https://qiita.com/76r6qo698/items/e5e88dacd17b6941dae6)|
|25日目(2023-06-02)|[Google ColaboratoryでseleniumとChrome Driverをインストールする](https://qiita.com/76r6qo698/items/cfea95c6b77ddaae518d)|
|26日目(2023-06-03)|[Visual Studio Codeで`bash.exe`ファイルが見つからないというエラー](https://qiita.com/76r6qo698/items/c489e41f81282298c79a)|
|27日目(2023-06-04)|[pythonanywhereではAPSchedulerが使えない](https://qiita.com/76r6qo698/items/1e23d257e85590b605d8)|
|28日目(2023-06-05)|[Render.com上で起動していたDjangoのwebアプリで`could not translate host name "{db名}" to address: Name or service not known`というエラー](https://qiita.com/76r6qo698/items/79e3b075ae8afbc3b60e)|
|29日目(2023-06-06)|[Render.com無料版ではプログラムで生成したファイルなどが永続的ではない](https://qiita.com/76r6qo698/items/57c5e0bac28c0820c8a5)|
|30日目(2023-06-07)|[Google Colaboratoryでメニューバーに「コーギー」「猫」「カニ」を表示させる](https://qiita.com/76r6qo698/items/5230de57e8d501cf6ea2)|
|31日目(2023-06-08)|[ABC304 - C - Virus 自己解法](https://qiita.com/76r6qo698/items/c6bf6438483d945bb0b6)|
|32日目(2023-06-09)|[ABC304 - B - Subscribers 自己解法](https://qiita.com/76r6qo698/items/1de262eb8879f467d01c)|
|33日目(2023-06-10)|[節約・貯金Youtubeチャンネルを紹介するWebサイト作成](https://qiita.com/76r6qo698/items/4590e45f1cc0285265fa)|
|34日目(2023-06-11)|[pythonanywhereのScheduled tasksでdjangoのカスタムコマンドを実行すると、インストールしたはずのモジュールが無いというエラーが発生する。](https://qiita.com/76r6qo698/items/36669c7da1075e29f79f)|
|35日目(2023-06-12)|[pythonanywhereでdjangoのwebアプリを更新したとき、cssが反映されない件を解決](https://qiita.com/76r6qo698/items/e843f05a0425c2f8b4cd)|
|36日目(2023-06-13)|[pythonでdatetime.datetime同士を引き算する](https://qiita.com/76r6qo698/items/b8e2d1cdba600275202b)|
|37日目(2023-06-14)|[bootstrapだけでdiv要素全体にリンクをつける](https://qiita.com/76r6qo698/items/ba646f32b6a6a598851b)|
|38日目(2023-06-15)|[datetime.datetimeにdatetime.timedeltaを足し算する](https://qiita.com/76r6qo698/items/4c9ddc2d44bd47e00bf6)|
|39日目(2023-06-16)|[djangoのLoginRequiredMixinを継承したViewに未ログインでアクセスしたときにリダイレクトされるログインURLに「next」パラメータを付与させないようにする](https://qiita.com/76r6qo698/items/ce28facfb85976c62533)|
|40日目(2023-06-17)|[django-allauthを使用して、ユーザーを新規作成したとき、モデルに値を設定する](https://qiita.com/76r6qo698/items/ced515a6c6f1c074878d)|
|41日目(2023-06-18)|[ABC306 - C - Centers 自己解法](https://qiita.com/76r6qo698/items/b2bebb8bd97d03ea0bf3)|
|42日目(2023-06-19)|[ABC306 - B - Base 2 自己解法](https://qiita.com/76r6qo698/items/886360ab02efb1c83a58)|
|43日目(2023-06-20)|[django-allauthで、ソーシャルアカウント認証による初回ログイン時にユーザのサインアップ画面に遷移する](https://qiita.com/76r6qo698/items/0d8e557e5d3cfc0c44de)|
|44日目(2023-06-21)|[djangoで「TypeError: can't subtract offset-naive and offset-aware datetimes」というエラー](https://qiita.com/76r6qo698/items/e6e7574526b13f9caacd)|
|45日目(2023-06-22)|[pythonのseleniumでウェブページ遷移時にレイテンシ(遅延)するように設定する](https://qiita.com/76r6qo698/items/76910211040d44702e1a)|
|46日目(2023-06-23)|[seleniumで「どの程度まで読み込みを待つか」を設定する](https://qiita.com/76r6qo698/items/2ddafb70f1cac826eb04)|
|47日目(2023-06-24)|[「Webアプリ簡単作成法」をWinPythonで起動する](https://qiita.com/76r6qo698/items/ef307c6bf989947f698c)|
|48日目(2023-06-25)|[djangoで複数のアプリに共通して使用するmixinクラスの配置について](https://qiita.com/76r6qo698/items/3f7cda55b39106713895)|
|49日目(2023-06-26)|[Google Colaboratoryでseleniumを実行したときに「WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.」というエラーが発生](https://qiita.com/76r6qo698/items/b17de6a17b4f74b90666)|
|50日目(2023-06-27)|[GoogleColaboratory上でSeleniumを使用してスクリーンショットを撮ると文字化けする](https://qiita.com/76r6qo698/items/a43f3753bb0163078ea7)|
|51日目(2023-06-28)|[ABC307 - B - racecar 自己解法](https://qiita.com/76r6qo698/items/bd1f8e582561c3e50136)|
|52日目(2023-06-29)|[ABC302 - A - Attack 自己解法](https://qiita.com/76r6qo698/items/27fcfdbfaf288b52375e)|
|53日目(2023-06-30)|[ABC307 - A - Weekly Records](https://qiita.com/76r6qo698/items/1f8f9901f60dcd6ea715)|
|54日目(2023-07-01)|[ABC306 - A - Echo 自己解法](https://qiita.com/76r6qo698/items/3a936812183359973e08)|
|55日目(2023-07-02)|[「threadingを使用して開始したスレッド」を強制終了する](https://qiita.com/76r6qo698/items/a0d3bdac3425dda6056a)|
|56日目(2023-07-03)|[ココナラでスクレイピングツールを作成する依頼を通じて、今後意識したほうが良いと感じたこと](https://qiita.com/76r6qo698/items/793ae4d1ef8349676ec1)|
|57日目(2023-07-04)|[ABC308 - C - Standings 自己解法](https://qiita.com/76r6qo698/items/cf49e1a3d26fa21f3140)|
|58日目(2023-07-05)|[PythonでPDFのテキスト毎の座標を取得する](https://qiita.com/76r6qo698/items/8d7f7a644385a18e21db)|
|59日目(2023-07-06)|[pythonで、threadingを使用し、対象の関数のタイムアウトを実装する](https://qiita.com/76r6qo698/items/5fdad284ebc547baf324)|
|60日目(2023-07-07)|[Pythonの文字列で、「( )」で囲まれた内側部分のスペースを削除する](https://qiita.com/76r6qo698/items/870cd92a2ef8d47cd6c9)|
|61日目(2023-07-08)|[ABC300 - D - AABCC 自己解法](https://qiita.com/76r6qo698/items/bb73306016dc03066b84)|
|62日目(2023-07-09)|[ABC309 - C - Medicine 自己解法](https://qiita.com/76r6qo698/items/c085e0048b54b97780b5)|
|63日目(2023-07-10)|[django・Viewクラスの関数のオーバーライドで本来の挙動を変えてることに気づかずエラーにハマってしまった話](https://qiita.com/76r6qo698/items/b6b9abf2e147bbe33474)|
|64日目(2023-07-11)|[Power Apps・データソースの委任とは](https://qiita.com/76r6qo698/items/38567fb8c41079c83745)|
|65日目(2023-07-12)|[ABC309 - D - Add One Edge 自己解法](https://qiita.com/76r6qo698/items/6c530b73df88b3461452)|
|66日目(2023-07-13)|[djangoのUpdateViewを継承したクラスで、モデルデータを関数内で取得する](https://qiita.com/76r6qo698/items/af2efd923637bee0e344)|
|67日目(2023-07-14)|[djangoで所有者でないレコードにアクセスできないようにする](https://qiita.com/76r6qo698/items/9bc22fdb8453d0647451)|
|68日目(2023-07-15)|[ABC309 - A - Nine](https://qiita.com/76r6qo698/items/b91ac929e75ae8457cfe)|
|69日目(2023-07-16)|[ABC310 - C - Reversible](https://qiita.com/76r6qo698/items/1b625024e8887ded5071)|
|70日目(2023-07-17)|[ABC310 - A - Order Something Else 自己解法](https://qiita.com/76r6qo698/items/cacd95b22423b72ab5a6)|
|71日目(2023-07-18)|[ABC310 - B - Strictly Superior 自己解法](https://qiita.com/76r6qo698/items/2d4c44493c3c42f43f17)|
|72日目(2023-07-19)|[VBAで、配列に要素が含まれているかを調べる関数](https://qiita.com/76r6qo698/items/397c8921b338fa0b80b3)|
|73日目(2023-07-20)|[pythonのrequestsでGETメソッドを送るときのheaderを設定する](https://qiita.com/76r6qo698/items/a730eeace50fe097acfd)|
|74日目(2023-07-21)|[Pythonのpandasで、DataFrameの行を抽出するとき、自作の関数を使用する](https://qiita.com/76r6qo698/items/c208ef52d164681f76a5)|
|75日目(2023-07-22)|[pythonのbeautifulsoup4で、XPATHからhtml要素を取得する](https://qiita.com/76r6qo698/items/751966168d2e0e8daa31)|
|76日目(2023-07-23)|[pythonのpandasで、データフレームをN件ずつに分割して処理する](https://qiita.com/76r6qo698/items/4a006e255880de45b411)|
|77日目(2023-07-24)|[VBAで、「1-1」などの文字列をセルに代入しようとすると、日付として認識されてしまう件を解決](https://qiita.com/76r6qo698/items/cc1c43760790fc9c0930)|
|78日目(2023-07-25)|[エクセルVBAで、「パスで指定したディレクトリに含まれているファイル名」が格納された配列を取得する関数](https://qiita.com/76r6qo698/items/ff787b15e05f296b2929)|
|79日目(2023-07-26)|[vue.jsで、「事前に指定した特定のhtml」の要素を、「methodsで定義した関数内」で取得する](https://qiita.com/76r6qo698/items/178ada982c4f9c761f1b)|
|80日目(2023-07-27)|[javascriptのinsertBeforeを利用して、HTMLの要素を移動させる(要素順の入れ替え)](https://qiita.com/76r6qo698/items/e5bd284e7701960bd9a6)|
|81日目(2023-07-28)|[Vue.jsではプロパティ名の重複に気を付けたほうが良さそう](https://qiita.com/76r6qo698/items/2e47ec1954dfe9060c48)|
|82日目(2023-07-29)|[ABC311 - C - Find it! 自己解法](https://qiita.com/76r6qo698/items/051a7a3c9359dab96709)|
|83日目(2023-07-30)|[Vue.jsで、リスト表示順の入れ替え処理を実装](https://qiita.com/76r6qo698/items/d396ad2174b6b0cf0095)|
|84日目(2023-07-31)|[djangoで、一意制約を持ったカラムの値を入れ替える](https://qiita.com/76r6qo698/items/88b58349d02a55b6a512)|
|85日目(2023-08-01)|[djangoで、事前にログイン・ユーザー認証をしていないと使用できないRESTAPIを作成する。](https://qiita.com/76r6qo698/items/ae9cd08c156409af4e47)|
|86日目(2023-08-02)|[ABC312 - C - Invisible Hand 自己解法](https://qiita.com/76r6qo698/items/9fa4afc3e0c521078045)|
|87日目(2023-08-03)|[AtCoderで、コーナーケースを見落として水色昇格チャンスをギリギリ逃した話(1199)](https://qiita.com/76r6qo698/items/e7440ed38e156393b0e5)|
|88日目(2023-08-04)|[GoogleColaboratoryはjavascript・htmlも使用できる](https://qiita.com/76r6qo698/items/ca50ff60f780c949f77a)|
|89日目(2023-08-05)|[bootstrapだけでdiv内の要素を上下左右中央に寄せる](https://qiita.com/76r6qo698/items/c124e3fcef1c1ea4aaf9)|
|90日目(2023-08-06)|[ABC313 - C - Approximate Equalization 2 自己解法](https://qiita.com/76r6qo698/items/f9b2825848de303ab6d0)|
|91日目(2023-08-07)|[ABC313 - B - Who is Saikyo? 自己解法](https://qiita.com/76r6qo698/items/ad4fc4378cc1eac8d93c)|
|92日目(2023-08-08)|[Djangoのテンプレートでリストをforを使用して1件ずつ表示するとき、N件ごとにタグを入れて分割表示したい](https://qiita.com/76r6qo698/items/2aa2d9e56a61b44cc0d2)|
|93日目(2023-08-09)|[djangoで、複数のアプリに共通して使用する「staticファイル」の配置について](https://qiita.com/76r6qo698/items/162850af13647fdea082)|
|94日目(2023-08-10)|[ABC306 - D - Poisonous Full-Course 自己解法](https://qiita.com/76r6qo698/items/5da65d181eba3e22ef33)|
|95日目(2023-08-11)|[ABC313 - A - To Be Saikyo 自己解法](https://qiita.com/76r6qo698/items/293d4d3b864a06d83138)|
|96日目(2023-08-12)|[ABC311 - A - First ABC 自己解法](https://qiita.com/76r6qo698/items/28ef782ab9acba12b51a)|
|97日目(2023-08-13)|[ABC314 C - Rotate Colored Subsequence 自己解法](https://qiita.com/76r6qo698/items/e216e5229b75ae17ff1a)|
|98日目(2023-08-14)|[bootstrapでモーダルウィンドウを実装する](https://qiita.com/76r6qo698/items/2129a2987b32b1bea271)|
|99日目(2023-08-15)|[GoogleColaboratoryで、Googleドライブのファイルにアクセスする](https://qiita.com/76r6qo698/items/752848f14c1a87b17ab1)|
</details>

# 再現性を高めるための「知の整理」
私が今まで記事を投稿し続けてきて、「知の整理ができる」ことがアウトプットする意味の1つにあると思いました。
ここでいう「知の整理」とは「自分が身につけた・覚えた知識を忘れても思い出せる状態にする」「自分が身につけた知識に対して、曖昧な部分をできる限りなくす<!-- [^1] -->」という内容だと考えていただければいいです。
アウトプットするで「知の整理」ができる理由は下記の理由などです。
- 今後、知識を忘れたとしてもアウトプットした内容を読み返すことで思い出せるから
- アウトプットの過程が「自身の理解に曖昧な部分が無いか、探し出す機会」になるから

で、なぜ知の整理をする必要があるのか。私は「再現性を高めるため」にあると感じました。

-----
私の実体験を通した話をします。
これは、私が投稿した記事の1つです。

https://qiita.com/76r6qo698/items/c489e41f81282298c79a

これは、「Visual Studio Codeで競プロのコードを作成するときの環境」を構築するときに起きたエラーを解決策を記事にしたものです。
このエラー、実は記事を投稿した時点で発生したのは2回目でした。そして、2回目が発生時、1回目はどのように解決したか記録していなかったんです。
2回目発生時には解決策を覚えておらず、解決に至るまで時間を使ってしまいました。
つまり、2回目の発生時に解決策を「再現できなかった」のです。

-----
次に下記の記事です。

https://qiita.com/76r6qo698/items/2e47ec1954dfe9060c48

上記はVue.jsのプロパティについて書いた記事です。(上記の記事の内容自体は、古いバージョンの書き方になってしまっていた点、ご了承ください。)
この記事を書く前、Vue.jsに名前だけ知っているという状態から調査を始めました。
そして、Vue.jsについて少しわかった段階で、上記の記事を書いています。
このVue.jsの調査をしたり、記事を書いている過程において、
- Vue.jsのプロパティについて
- コンポーネントについて

これらが少しなりとも理解できたと自負しております。
実際、下記の「Vue.jsで、リスト表示順の入れ替え処理を実装」という記事のサンプルコードは、Vue.jsのアウトプットを経験したからこそ書けたと思っております。

https://qiita.com/76r6qo698/items/d396ad2174b6b0cf0095

この記事、Vue.jsのプロパティのことを忘れてしまうと書くことができなかったのではないかと思っております。
そういった意味でも、Vue.jsのプロパティに関するコードを「再現できた」といって良いのではないかと思います。

-----
以上のように、アウトプットを通して「知の整理」をする。「知の整理」をすることで再現性を高めていく。このことがアウトプットをする意味になると連続投稿を通して見出しました。

<!-- # よく言われることだからこそやってみないと腑に落ちない
アウトプットが「知の整理」になると私は表現しました。ただ、アウトプットをすることで「理解が深まる」というのはよく言われている話かと思います。そして何回も聞く話だからこそ自身に響かなくなっている。しかし連続投稿を通じて、アウトプットが「知の整理」「理解を深める」というのに効果があるということを身にしみて分かったと思っております。よく言われることだからこそ、腑に落とすためにもやってみる。連続投稿を通して、このことも学んだのではないかと思います。-->

# 100日連続は大変だった
連続投稿をとおして、アウトプットの意味を見出すことができたのは自身にとっていい経験になったと思います。ただ、100日連続は大変ではありました。中でも一番大変だったの「ネタ切れたいさく」です。
### ネタ切れをしないために
ネタ切れをできるだけ起こさないように、対策として以下のことをしていました。
- 他の方の記事を読む
- 実際にローカル環境で何かを作ってみる
- 自身が以前に作ったソースコードを見返してみる
- AtCoderの過去問を解く

以上のことをしながら、「エラーが起きたときの解決策」「実装したコードでアウトプットできそうなもの」を探していきました。これらを継続的におこなって、今まで続けることができました。

# これから
毎日連続で投稿するということは一旦終えたいと思っております。ただ、「知の整理」をしていくためにも、アウトプットは続けていきたいと思っております。

# ちなみに
### そもそも、なぜ100日連続投稿をしようと思ったのか
プログラミングの成果を形にしたいと思っておりました。ものを作るのも1つなのですが、完成までにある程度期間が必要です。記事としてなら細かい単位で完成させることができるので、成果を形にしやすいなと考えていました。そんな中、私の友人がYoutubeで100日連続で自己啓発の情報を発信しており、それに感化されて私もやってみようと考えた次第です。
### 100日続くと思っていたか
本当に100日続くとは恥ずかしながら自分でも思っていませんでした。ネタも全然ない状態で始めましたし、いつか忘れて頓挫すると思ってました。それでも、記事に「いいね」、「ストック」、「コメント」をいただくこともあり、それを糧にここまで頑張ってこれたと思います。感謝しています。
### アウトプットをすることで「理解が深まる」というのはよく言われているが、知らなかったのか？
アウトプットが「知の整理」になると私は表現しました。ただ、アウトプットをすることで「理解が深まる」というのはよく言われている話かと思います。もちろん、私もよく言われていることは知っていました。そして何回も聞く話だからこそ自身に響かなくなっている。しかし連続投稿を通じて、アウトプットが「知の整理」「理解を深める」というのに効果があるということを身にしみて分かったと思っております。「自分には響かないほどに聞いた話」を腑に落とすために行動する。連続投稿を通して、このことも学んだのではないかと思います。

# おわりに
「知の整理」という意味ではアウトプットをネット上である必要性は無いかと思っております。
もし、「知の整理」という意味でアウトプットを始めたいという方がいれば、ご自身にあうやり方で始めてみたら良いかと思います。
今回の記事で、誰か1人でもアウトプットの意味について、伝わっていれば嬉しい限りです。

以上です。

<!-- [^1]: もしある事柄に対して説明をするとき、理解が不十分であるがゆえに説明内容が毎回変わってしまいそうな部分
 -->