My External Storage

Dec 14, 2019 - 8 minute read - Comments - poem

2019年振り返り(GitHub編)

この記事は、write-blog-every-week Advent Calendar 2019の14日目の記事になる。
昨日は@kdnaktさんで「2019年のブログをさっくり振り返る」だった。

今年も1年の振り返りを行なうにあたり、GitHubの活動を振り返ってみた。

2019年のコントリビュート

作ったPRはこんな感じだった。
昨年までは誤字修正のPRが多かったが、今年は少しバグフィックス的なPRを作ったりできた。業務で使っていたory/fositeVersent/saml2awsのメンテPRを作れたのもよかった。

あと、はじめてGo本体のリポジトリにissueを書いた。来年はPRもつくりたい。 - https://github.com/golang/go/issues/34650

OSS

今年は3つOSSを作った。他のひとに使ってもらったり、自分のプロダクトに導入できているので作って良かったなと思う。 それなりにスターを貰えるOSSになったのも自信につながった。

blog-kpi-collector

layer

dkl

Dotfile

https://github.com/budougumi0617/dotfiles

zshの起動があまりに遅かったので、lazy loadをするようになった。 また、Vimでgoplsを使うようになった。ただ、まだvim-go経由で呼んでいるだけなので、使いこなせてはいない。

その他今年作ったリポジトリ

created:>=2019-01-01 is:publicで絞った結果

til

今更ながらTIL(Today I Learned)リポジトリを作った。

簡単な動作検証だったり、新しく覚えたり「よさそう」と思ったコード断片を雑に突っ込んでいる。 Pythonディレクトリが生えたり、自分の技術の広がりを感じられてよい。 「CI環境の作り方も覚えたい/CDの動作確認をしたい」というときは別リポジトリを作っている(存在を忘れるのでこのリポジトリにsubmoduleしている。)。

lambda-go-dynamodb-local

CircleCIでDynamoDBを操作するテストを試した。

sandbox-cloud-functions

Cloud FunctionsがGoをサポートしたので触ってみた。

mysql-sakila

SQLの練習用にDockerイメージを作った。 JOINなどの素振りをしたいけど、複数テーブルにそこそこデータ入っているデータベースないかな?というときに使う。

go-sql-sample

技術書典6に執筆した原稿のサンプルコード。 改訂2版 みんなのGo言語が出るまでdatabase/sqlパッケージの使い方について触れた書籍がなかったので。

cig

「Go言語による並行処理」でちょっと写経をするとき用のリポジトリ。 ただ、結局TILリポジトリで書くようになったのであまりコードは入っていない。

gas-typescript

GASをGitHubで管理したいなと思っていたら、TypeScriptに対応していたのでためした。

gomodules-explore

Go 1.12 Release Partyで発表するためにGo Modulesの挙動を比較した。

claat-sample

ハンズオンを作るならばclaatが最高だと思う。github.ioで公開するためのリポジトリ。

homebrew-tap

いままでずっとbrew tap用のリポジトリは配布したいツールごとに毎回つくらないといけないと勘違いしていた。 実はひとつのリポジトリですべて管理できるらしいので、このリポジトリで統一することにした。

review-uploader

Re:VIEWからPDFをCircleCIでビルドして、google driveにアップロードするためのカスタムコンテナイメージ。

pronami_php

PHPを勉強する上で「気づけばプロ並みPHP改訂版」という書籍を写経したリポジトリ。

Activity

2019年のコミット履歴。

https://github.com/budougumi0617/

Publicなコミット = 2,016コミット

Public only ブログのコミットも多いが、今年は昨年より大幅にコミット数が増やすことができた。 増加としては以下の要因が大きいと思われる。

  • ブログのサンプルコードをたくさん書いた
  • 人に公開できるようなOSSをいくつか書いた
  • Go Conference 2019 AutumnのWebサイトのメインメンテをしていた

昨年はややズルもしながら毎日コミットをしていたのだが、今年は海外旅行でコーディングから離れていた時期もあり、毎日コミットは辞めた。

  • 2017年 1,051コミット
  • 2018年 1,286コミット

Public + Privateなコミット = 2,956コミット

Public and Private

privateなコミットだけを見ると昨年とあまり変わらず800程度のコミットのようだ。 10月はまるまる有給消化で休んでいたので、それを考えると営業日あたりのprivateコミット数は昨年より増えていそうだ。 今年はTerraformやHelmのコミットをすることができた。また、転職してPHPやPythonも書くようになった。 来年はフロントのタスクもひろってVue.jsもすることになるので、Go以外でも事業に貢献できるようになりたい。

  • 2017年 1,801
  • 2018年 2,192

まだ年末まで2週間ほどあり、OSSもあと1つ作るので、3,000コミットはいけそうだ。


まとめ(KPT)

KPTを書く前に去年のKPTのTryは以下だった。

去年のTry

  • もっとコードでOSSに貢献する
  • 自分のOSSを2か月にひとつ公開する
  • 継続的なコミットを続ける
  • 3月までにGo1.11 laterとGAEでWebアプリを作る
  • 8月までにKubernetesを使ってアプリを公開してみる
  • 4月までにRustでCLIツールを1つ作ってみる

継続的に振り返っていなかったのでほとんど達成できていないという衝撃的な結果になってしまった。
正直この記事を書くために見返して、「あ、こんな目標たててたのか…」と衝撃を受けたレベルで忘れていたので、来年は定期的に振り返って進捗を確認する。

Keep

  • 単純なコミット数を増やすことができた
  • 2桁Starをもらった自作OSSが公開できた
  • ブログを書くだけでなく、検証用のコードをちゃんと作ることができた
  • Terrafrom、Helm、Python、PHPなどの新しい挑戦も始められた
  • 普段使っているOSSにPRを出すことができた
  • golang/goにissue reportができた

Problem

  • feature PRをOSSに出せていない
  • 去年のTryを全く達成できていなかった
  • privateコミットの量がぜんぜん増えていない

Tryが全く達成できていないなかったのはどうしようもない。 また、今年もあまり機能追加のPRをOSSに対して出すことが出来なかった。

Try

  • 業務で貢献してprivateコミットを増やす
  • 3月までにGAEで家族用のLINE Botを作る
  • 半年に1つ以上2桁StarがもらえるようなOSSを公開する
  • Vue.jsとFirebaseを使ってフロントエンドを構築してみる
  • 定期的にTryの進捗を確認する
  • OSSに対して機能追加のPRを6個以上出す

来年のTryは毎月振り返って進捗を確認しようと思う。ひとまずSlackにリマインダを仕込んでおいた。
直近としてはLINEをインターフェースにGoogleスプレットシートなどにデータ入力をしたいので、そのためのサービスを作ろうと思う。
また、来年はフロント力を上げたいのでVue.jsも個人的に触ってみる。

終わりに

あまり成果が出ていないと思っていた1年だったが、振り返ってみるといろいろ挑戦していたのがわかってよかった。
昨年までは「全然だめだ…」という気持ちばかりだったが、今年は「自分にしてはそこそこアウトプットできているかな?」と思えた。
とはいえ他の人に比べるとまだまだなので、来年はもっと成果を出していきたい。

write-blog-every-week Advent Calendar 2019の15日目は@kz_moritaさん!

関連

関連記事