見出し画像

# 2018年 - 人生で最もコードを書いた1年を振り返る

2018年は、仕事はもちろんですが私的な開発物も多い1年でした。そのため、このnoteで具体的な成果物を挙げながら1年を振り返る事ができそうなので、やってみました。

今年も自分にとって色々な事がありました。しかし振り返ってみると、自分はコードを書くことによって支えられていたと言えるかもしれません。自身のスキルセットでできる範囲が広がってきて、ちょっとずつ、作りたいものを作れるようになってきました。ようやく私もエンジニアらしくなることができたな、という印象です。

## Last.fm

本題に入る前にちょっとだけ、作業用BGMを振り返ります。Last.fmの集計によると、私が2018年に最も多く再生したのは 『Requiem der Morgenröte』 ( Attack on Titan season 3 ED English cover | Lizz Robinett ft. Dysergy) だそうでした。

他には、ゼルダの伝説ブレスオブザワイルドゼノブレイド2サウンドトラックをよく聴いていた1年だったようです。

余談おわり。

## Qiita

今年書いたQiitaは1年間で25記事。自分で調べた結果をアウトプットして、誰かに再利用してもらうワークスタイルが定着してきたと思います。具体的な内容については、以下本稿内で都度触れていきます。

## npm package

今年は初めて、パッケージを作って世に出すという事をしました。もともと業務上「こういうのがあったら良いな...」と思って開発し始めたのですが、おかげでTypeScriptをちゃんと触る機会も作ることができ、個人的にはこのツールを使うことよりも作ることで得られた物のほうが大きかったです。

去年までの私はTypeScript以前にBabelも触ったことが無かったのを鑑みると、この1年間でだいぶフロントエンドのキャッチアップを進めることができたと思います。

## GitHub

今年は328 contributions。今までは数十contributionsしか無かったのですが、一気に過去最高の記録となりました。「何か書いたらGitHubに上げる」という行動が当たり前になった1年でした。

Contributions Graph(いわゆる"草")をよく見ると、コードが書けていない時期はあまり調子の良くなかった時期と重なる?事が分かりました。ここ数年、私にとって生産的な活動でメンタルを回復させることが課題だったのですが、どうやらコードを書くことはやめない方が良さそうだというのが、この図からなんとなく読み取れました。

以下、作ったリポジトリのうち主だった物を振り返ってみます。

### monaco-on-cloud

https://github.com/s2terminal/monaco-on-cloud

Microsoft Global Azure Bootcamp Tokyo 2018 のLT用に作ったもの。もともとネタでしたが、後に下記拙稿の通りAzure Cloud Shellでブラウザ上からVSCodeを使う事ができるようになり、このプロダクトは不要になりました。

### azure__computer_vision_ocr_sample

https://github.com/s2terminal/azure__computer_vision_ocr_sample

Microsoft Azure Computer Vision API の OCRのサンプルを使ってデモしようとした時に日本語でうまく動かなかったので、作ってみたもの。

### hyper-usersetting

https://github.com/s2terminal/hyper-usersetting

Hyperターミナルの設定ファイルをWindows/Macで共通化してGit管理するもの。解説は下記Qiitaの拙稿にて。

Hyperは数少ない「クロスプラットフォームで動作する」「オープンソースの」「日本語に対応した」ターミナルエミュレータであり、仕事柄WindowsとMacを両方使うので重宝しています。

### inside-square-game

https://github.com/s2terminal/inside-square-game

js13kgamesに応募した作品。作り方はQiitaの記事にしました。

なお上位作品のクオリティは半端なく、こんな適当な作り方では歯が立ちません。。。

### mysql-repl: MySQL Replication sample for docker-compose.

https://github.com/s2terminal/mysql-repl

MySQLレプリケーション環境をdocker-composeで構築するサンプルです。今回このネタで登壇するにあたり、過去に書いた下記Qiita記事を改訂するため、そのサンプルとして作った環境です。

この記事を書いていて気付いたのですが、クラウドサービスを使うようになってからレプリケーションに触れる機会が激減しました。私もまだ若いほうだと思ったのですが、こういう過去に使われた技術について私より若い世代にただ伝えなければならないのは極力避けて、できるだけ新しい技術を深く知るために使ってほしいと考えています。

### regression_js_sample: TypeScriptによる回帰分析のサンプル

https://github.com/s2terminal/regression_js_sample

RやPythonで統計的解析をする例は多くありますが、何らかの理由でJavaScript(TypeScript)を使いたかったため、探して作りました。初めてGitHub Pagesを使いました。上記リンクから利用できます。

これもQiitaにしました。

### s2terminal_dotcom (private repository)

Gatsby.jsのチュートリアルをやって、そのまま自身のサイトとしてデプロイしたもの。TypeScriptで書き、s2terminal.com としてNetlifyにデプロイしました。ソースコードはPrivateですが、チュートリアルのTypeScript部分は下記Qiitaに書きました。

ちなみにReactのチュートリアルをするのは今年の後半になってからの話です。順番がおかしいです。

### i-read-u: Read README markdown file, and execute written commands.

https://github.com/s2terminal/i-read-u

先述の通り、自分が使いたいので作ったnpmパッケージです。

ツールの概要は下記拙稿に、

技術的な内容は下記拙稿に書きました。

### serverless-aws-sample

https://github.com/s2terminal/serverless-aws-sample

TypeScript + Serverless Frameworkを使ってAWSにデプロイしてみるサンプル。下記拙稿の内容で勉強会をするにあたって作ったものです。

こうして1年間のGitHubを振り返ってみると、ほぼ全てのリポジトリに関連したQiita記事を併せて書いていました。「コードを書く→GitHubに上げる→Qiitaに書く」というサイクルが定着している事に気づきました。言われてみれば当たり前かもしれませんが。

## コードを書く場所

今年は仕事ではもちろん、家や喫茶店でも普通にコードを書いていました。ですが、事情により移動が多かったのもあり新幹線内でコードを書いていた印象が強いです。車内は他に障害となるものが少ないので集中できるんですよね。

また、今年は5月に初めての有料カンファレンスMicrosoft de:code 2018に参加しました。11月には開発する事だけを目的とした2泊3日の旅行、1人開発合宿をしたりしました。結構いつでもコードを書いていたので、「2018年は人生で最もコードを書いた1年だった」と言われても違和感はありません。

## SNS

最後に、利用したSNSについてもスタイルを結構変えたので、振り返ってみます。

今年は今まで使っていたいくつかのSNSの利用を減らし、代わりにこのnoteを開設し、 Twitter(@suzukiterminal)Instagram(@suzuki.sh) の投稿を増やしていくよう意識していきました。特にエンジニアリングの話題はTwitterのようなマイクロブログのほうが相性が良いと感じたのと、昨年末の成果である azure_computer_vision_on_rails でInstagram用の画像のタグ付けが自動化できたお陰で、この2つのSNSへの投稿は結構頻繁に行っていました。

逆に、noteはもう少し投稿したかった、という印象です。自分の持っている技術をQiitaで都度投稿していくスタイルは確立できたと思いますが、マインドセットをインプット/アウトプットしていく方法が定着していません。自分の持っている物をなにか少しでも残せたらと思いnoteというプラットフォームを選んだのですが、活用することができませんでした。これは今後の課題です。

## まとめ

### 今年あたらしく触れた主な技術
- Frontend: TypeScript, Babel, PWA, Service Worker, Workbox, CSS Grid Layouts, Microsoft Office UI Fabric, webpack, Gatsby.js
- Backend: sinatra, GraphQL, Rails Active Storage, Rails Active Job
- Infrastructure: Azure Web Apps, Azure BLOB Storage, Netlify, AWS Cloud9, ConoHa VPS
### 2018年のアウトプット
- Qiita
: 25記事 / 26,531 セッション
- note: 17記事(本稿含む) / 3,556 view
- hatenablog: 6記事 / 24,361 セッション
- GitHub: 328 contributions
- lastfm: 6,558 scrobble
- 公開プレゼン: 2回

色々あって、今年はずいぶんわがままに生きさせてもらいました。その結果、今までよりもコードが書けるエンジニアになれたのではと思います。今後もこれくらいで生きたいと思います。

以上。下記拙稿とあわせて、2018年の振り返りとします。


この記事が気に入ったらサポートをしてみませんか?