インプットの質を高めるためのアウトプットの方法を考える

# 今日言いたい事
**インプットの質を追求することと同じぐらい、アウトプットの質も追求しよう。**
だったが、時間が足りず書ききれなかったので、アウトプットとは何をすれば良いのかを考えていこう。

## 対象読者
- プログラミングスクール2ヶ月〜相当のスキルを持つ方
- 既にプログラミング学習を始めている方

:::note
本稿はタイトルもテーマも本文もすべてAIを使っていません。
ただし、証明はできないのでご容赦ください。
:::

## アウトプットの質にこだわるとは？

### アウトプットの方法
ここでは、アウトプット（自己完結）で成立する方法として考える。
オープンな場に書くことでフィードバックをもらえる＝更なる学習促進効果が得られるなどのメリットがあるが、必ずしもコメントが来るわけではないので自己完結できない不確定要素は本項では除外して考える。

1. ⭐️ノートにまとめる（非公開）
1. ⭐️オープンな場に書く（Qiitaなど）
1. 自分だけの場所を作る（いわゆるWordPressブログ）
1. 記事をバックアップできるようにする
1. どこからでも書けるようにする（Web/ローカルや、PCとスマートデバイスの連携など）
1. ⭐️色々な媒体に投稿できるようにする（製本できる紙媒体をゴールにする）

これらを上から順番に実行していくと良い。
単純に「書く」以外の事を考えると、環境構築の必要があり、その難度の見やすと考えて良い。
なお、書く事だけを考えた場合は「⭐️」だけを見よう。

#### 結論
「⭐️」を追求するならZennに書くべき。
Qiitaのアドベントカレンダーを使っているのでQiitaをヨイショするのが筋ではあるが、後述のモチベーション編で語る事とする。

Zennの場合は手っ取り早く⭐️の要素をすべて満たせる **「状態に近い環境を作る事ができる」** のがポイントである。
ゴールは「紙媒体」なので残念ながらZennで満たす事はできないが、本作りで大変な工程である本文を体系的に書くという部分にはしっかり対応できる。
Zennの本から紙媒体の本にする方法は本稿では詳しく紹介できないが、エッセンスだけを伝えると製本用の仕組みを使う方法がある。
具体的にはPDF入稿で本にするサービスやCLIなどがあるので、別の機会に言及する。

#### ノートにまとめる（非公開）とは
いわゆる手書きノートやevernote、社内で活用している日報などがこれにあたる。
これについてはあまり語る事はない。

#### オープンな場に書く
本稿を読んでいるという事はQiitaやZennについては少なからず認識している事だろう。
いわゆる「人が書いた記事を読む事ができる」環境に自らのメモなどを読めるように整形（若干書き直すなど）する作業が発生する。
また、書いている内容が正しいかどうかを確認するという作業をする慎重派にとっては、実はアウトプットより更なるインプットの場も兼ねているので、クローズドな場で書くより学習効果が高まる事が実感できるだろう。
これもあまり語る事はない。

#### 自分だけの場所を作る
せっかく記事を書くのだからリターンやフィーが欲しいよね、と考えてしまうのは人情だろうか。
私もアフィリエイトもやっていて、自ら作ったコンテンツ（記事）が売上にならないのは勿体無いと考える事がある。
たとえば、Qiitaなどオープンな場はエッセンスだけにとどめ、詳細な手法などは個人ブログに誘導する、という手段を使う事もあった。
これは極端な方法なのであまり推奨しないが、要は自ら作ったコンテンツに対して対価を得たいという欲は認めてあげよう、という話がしたい。
たとえばQiitaに書くとQiita内またはQiitaを媒介するサービス（一番恩恵が大きいと感じるのはスカウターからの声掛けの機会）が大きくなり、個人ブログはシンプルに広告収入となる。

私の所感で恐縮だが、文字だけのコンテンツより多少抜粋しても動画コンテンツの方が集客性・収益性も高いので、記事を公開している方が更なる収益性を目的にしたい場合はアウトプットの仕方をテキスト以外の方法に変えていく事をおすすめしたい。
残念ながら本稿の本旨から外れるため、ここでは言及しない。

自分だけの場所を作ると、記事以外にもこだわりたいポイント（主にデザインや機能面）が出てくるので、アウトプットが定常的にできるようになったら取り組む事をお勧めしたい。

#### 記事をバックアップできるようにする
ある日突然、サービスが終了したり記事が運営削除されたり、というリスクがある。
実際にあった例としては、サービスにCMS（WordPressなど）をインストールして、CMS上で全てのコンテンツを管理していたところ、サービスが終了してしまうため移行計画を立てる必要がでてきた。
バックアップ自体はデータベースをローカルで再現できるようにすれば完了するので問題はなかった。
問題は、移行先でバックアップデータを使えるようにしたり、あるいはマージしたりする必要があるため、単純にデータベースをバックアップするだけがバックアップではないという事を思い知らされた。

一番良いのは、コンテンツデータそのものをAPI化する事である。
RESTAPIを使えばバックアップはもちろん、バックアップしたデータを取り出す事も容易になる。
ただし、API設計は脱初学者レベルだとやや難しい内容であるため、API化のために更なるインプットー決して軽くはないーが必要である事は認識しておこう。

#### どこからでも書けるようにする（Web/ローカルや、PCとスマートデバイスの連携など）
まずQiitaのWebエディタを使っているならあまり気にしないと思うが、たとえばQiitaCLIを使ったり、ローカル管理をしている場合はかなり大きなハードルであることに気づくだろう。
たとえばWordPressなどはローカルで記事を書いて、コンテンツをサーバーにアップロードする運用が考えられる。この場合、ローカルで記事を書くため環境が端末に依存する事に気付くだろう。
言われてみれば当然だが、自分でやり始めると案外抜け落ちてしまう項目であるため、あえて本テーマを取り上げることとした。

#### ⭐️色々な媒体に投稿できるようにする（製本できる紙媒体をゴールにする）
ある程度書けるようになった頃に、即売会に出る事も考え始める事もあるだろう。
ない人の方が多いだろうが、自分の記事を本にしたら、今度は紙にしようと考えたケースを想定する。
おそらく、この段階では電子媒体以外の扱い方を考えるところまではいかず、漠然と「本を書いたから紙にしてみたい」というぐらいのモチベーションだった。
単純にPDFを印刷できるデータにするために色々とやる事があり、これに言及するだけで記事が終わらない（実際に書いて消した）ので、機会があればまた触れたい。

この場では、脱初学者を目指すエンジニアレベルでは高いハードルになる事を覚悟されたい。

## 気軽に始めるならQiitaに書こう
Evernoteなどプライベートな環境で書く事自体は否定しない。
むしろアウトプットの癖をつけやすくなるなら、こういった便利なツールはどんどん使うべきだ。

ただし、アウトプットの質を高めていく事が相対的にインプットの質を高めるという事にも目を向けて欲しい。
脱初学者を目指すなら、インプットの質（動画から直接指導、または現役プロとの接点を持つ）も大事だが、同じぐらいアウトプットにも目を向けたい。


明日は今日書ききれなかったアウトプットの内容などにも言及していきたい。