Software Engineer Blog

エンジニアブログです。技術情報(Go/TypeScript/k8s)や趣味の話も書くかもです。

GitHubに草を生やすようにアウトプットを可視化するツールを作成している話

概要

recout という個人の学習を可視化するツールを作成しています。
(現状はアカウント登録部分が整備できていないので、URLは非公開にしてます。)

f:id:midori5:20190426195021p:plain
recout

できること

自分がしたアウトプットを投稿すると、GitHubのコミット履歴のように色が付きます。
色が付く部分は、 id:a-know さんが作成された Pixela をそのまま利用しています。
とても素晴らしいサービスで、リリースされた当時からなにか使いたいなぁと思っていました。
ありがとうございます!!!

blog.a-know.me

目的

基本的には、個人用として作成しています。
作ろうと思った動機ですが、継続的な学習ができなくなっていると感じたためです。 以前、Write Code Everyday を実施して無事1年達成できたのですが、一度途切れてしまうと 学習量が減ってしまったように感じていました。

Write Code Every Day (1年目) - Software Engineer Blog

私個人の話ですが、「継続的にやったことが見える化されること」が学習を続けるキーポイントかなと思っています。 commit だけではなくて、学習全般を記録できるようにすることで、継続的に学ぶ土台を作りたいと考えています。

今後の追加予定機能

構成

ソースコードは以下に置いています。

github.com

Front

Nuxt.js を利用していますが、必要なかったかなという感じです。 Vue.js は触ったことがあったので、学習としてNuxt.jsを導入してみましたが、 全く機能を使っていない状態です。

また静的サイトホスティングとして、 Netlify を利用しています。 (GAE上で良いのでは?と思っているので、まとめようかと考えています。)

Backend

GAE/Go で構築しています。学習の投稿データを溜める必要があったので、Datastoreを利用しています。 mercari/datastore を使うことで簡単にアクセスできました。

github.com

GAE自体ははじめて使ったのですが、サクッと作ってデプロイできる点が非常に良いと思いました。
また、Datastoreもテーブルを事前に作ることなく、データを追加できた点(追加されたデータをもとにEntityが作成される) が簡単でよかったです。

所感

まだまだ作り始めですが、とりあえず動くものができてよかったなという印象です。 いままでは途中で終わってしまうことが多かったので、ひとつ突破できたかと思います。
4月中にブログを書くことが目標だったので、URL公開には至りませんでしたが、引き続き開発を続けます。