(8 投稿記念) Qiita に投稿した記事の振り返り (2018/04/14 版)

# 過去の投稿記事を振り返る目的

2018 年はノウハウを Qiita に投稿することにした。

投稿して自己満足で終わることを避けるため、これまで投稿した記事の振り返りを行う。

そして、今後のコンテンツの内容の充実に役立てるようにしたい。この改善サイクルを回すことにより、 **いいねが増える** と嬉しい。

# 投稿した記事のタイトルといいねの数を抽出するサンプルコード

いつも通り、「QIITA_TOKEN」の変数に事前に取得したトークンを設定しておくこととする。

早速、投稿した記事の「ID」と「いいねの数」と「タイトルの文字列」を抽出するコードを作成する。

``` bash
curl --silent \
  --header "Authorization: Bearer ${QIITA_TOKEN}" \
  "https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=20" \
  | jq -c '.[] | [.id, .likes_count, .title]'
```

## 実行例

上記のコマンドを実行すると、以下のような結果が得られる。

``` example
["1e05d46545dfe54a287a",1,"Pandoc のバージョンアップで表が壊れて焦った話"]
["6515643c296a6103f45e",3,"(全俺感動)(Jupyter) 紙のノートを超えた Jupyter Notebook を使う方法"]
["e4d4d993628692c55b70",3,"(Python)(jinja2) 設定ファイルの値をテンプレートに埋め込んで出力する方法"]
["de071916fa0278adaf96",1,"(8 投稿記念) Qiita に投稿した記事の振り返り (2018/02/08 版)"]
["f4fa4f99d8a1b85fa521",2,"(Qiita API v2 活用) Qiita の記事を API 経由で取得する方法"]
["27486f34edaf3ff183a1",1,"(Qiita API v2 活用) Qiita のユーザーを API 経由で取得する方法"]
["3862cf968d807497eef8",0,"(Qiita API v2 活用) Qiita のタグ情報を API 経由で取得する方法"]
["0237be30dc6537677b30",3,"(Qiita API v2 活用) 記事を「効率的」に Qiita に投稿する方法"]
```

# いいね順にソートして org-mode の表出力するサンプルコート

次の一手として、いいねが多い順にソートして、Emacs の org-mode の表のフォーマットで出力するコードを作成する。

``` bash
DATAS=$(curl --silent \
  --header "Authorization: Bearer ${QIITA_TOKEN}" \
  "https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=20" \
  | jq '. | sort_by(-.likes_count)' \
  | jq -c '.[] | [.likes_count, .url, .title]')
i=1
while read -r data; do
  [ ${i} -eq 1 ] && echo "|likes|title|"
  IFS=',' read -r like url title \
    <<< "$(echo ${data} | jq -r .[] | paste -s -d ',')"
  echo "|${like}|[[${url}][${title}]]|"
  i=$((i+1))
done <<EOF
${DATAS}
EOF
```

## 実行例

上記のコードを実行すると、以下のような出力が得られる。

|       |                                                                                                           |
| ----- | --------------------------------------------------------------------------------------------------------- |
| likes | title                                                                                                     |
| 3     | [(全俺感動)(Jupyter) 紙のノートを超えた Jupyter Notebook を使う方法](https://qiita.com/kojiro-s/items/6515643c296a6103f45e) |
| 3     | [(Python)(jinja2) 設定ファイルの値をテンプレートに埋め込んで出力する方法](https://qiita.com/kojiro-s/items/e4d4d993628692c55b70)     |
| 3     | [(Qiita API v2 活用) 記事を「効率的」に Qiita に投稿する方法](https://qiita.com/kojiro-s/items/0237be30dc6537677b30)        |
| 2     | [(Qiita API v2 活用) Qiita の記事を API 経由で取得する方法](https://qiita.com/kojiro-s/items/f4fa4f99d8a1b85fa521)       |
| 1     | [Pandoc のバージョンアップで表が壊れて焦った話](https://qiita.com/kojiro-s/items/1e05d46545dfe54a287a)                       |
| 1     | [(8 投稿記念) Qiita に投稿した記事の振り返り (2018/02/08 版)](https://qiita.com/kojiro-s/items/de071916fa0278adaf96)       |
| 1     | [(Qiita API v2 活用) Qiita のユーザーを API 経由で取得する方法](https://qiita.com/kojiro-s/items/27486f34edaf3ff183a1)     |
| 0     | [(Qiita API v2 活用) Qiita のタグ情報を API 経由で取得する方法](https://qiita.com/kojiro-s/items/3862cf968d807497eef8)     |

これで org-mode の表出力ができるようになった (ちょっと、力技になったが、、、)。

# 自分の記事のタイトルといいねの数の抽出結果の分析

  - <https://qiita.com/kojiro-s/items/e4d4d993628692c55b70>

Python 系の記事を書くと「いいね」がもらえる噂を聞いたので、Python が絡む記事を投稿してみたところ、ShellScript 関連の記事を一気に追い抜いてしまった。

  - [(全俺感動)(Jupyter) 紙のノートを超えた Jupyter Notebook を使う方法](https://qiita.com/kojiro-s/items/6515643c296a6103f45e)

特に Jupyter Notebook の記事は大躍進。きがついたら、「Jupyter Notebook」から「Jupyter Lab」に進化していた。

  - [(Qiita API v2 活用) Qiita のユーザーを API 経由で取得する方法](https://qiita.com/kojiro-s/items/27486f34edaf3ff183a1)

上記の記事は、シェルスクリプトでスマートにコントリビューションを抽出していて良い記事だと思っていたが、こうやってみると反響が少ない。

# 分析を踏まえた今後のアクションプラン

さて、今後の方針についてまとめる。

  - 記事数を 10 記事に増やす
  - 投稿した記事のグルーピングを行う
  - 10 記事投稿した段階で、github でも公開を行う