2017年振り返り - dev.to/jgs

以前の職場の同僚に Most active GitHub users in Japan でランクインしてるよって教えてもらって、これを書いている時点(2017/12/21)で96位とのこと。
[https://gyazo.com/b552853f65672d1ad1c88db4ecf4c5de
GitHub の設定で Private Repository もカウントするようにしておいたお陰かもしれない。年末なので、今年何をコミットしてきたかを Public Repository の形跡を基にざっと振り返る。

e-jigsaw/babylon-sandbox

ちょうど昨年末から年初にかけて自由研究で BabylonJS を触っていた。この頃はまだ Yarn を使っていたようなので Node.js は v7 だったっぽい。BabylonJS 自体は結構難しかった。
e-jigsaw/webpack-chunkhash-sample

Webpack の2系が出て、

_
webpack.config.js

を試し書きしたりしていた。その際 chunkhash の設定で成果物がどう生成されるかを調べていたみたい。
余談だけど、この年末にかけて 📦 Parcel microbundle など Webpack 疲れした人々がオルタナティブを作っているようで、Webpack が統一したかと思われていたバンドラ戦国時代はまた戦乱の日々に向かっていくのかもしれない。何度通った轍なんだ...。
個人的には npm が ES modules の CDN みたいな感じになってイイ感じに ES modules で読めるようになると嬉しいかもな〜。

e-jigsaw/react-redux-immutable-sample: react redux immutable sample

仕事で redux を使っていたが、イロイロ割れ窓を作ってしまった結果大変残念な仕上がりになってしまった経験を踏まえて、reducer が常に immutable の Record を返すようにすれば見通しが良くなるのでは...?と試行していた。結果的には不採用。

e-jigsaw/firebase-cloud-functions-sandbox: firebase cloud functions sandbox

Firebase の Cloud Functions を試していた。

e-jigsaw/aws-code-build-sample: aws code build sample , e-jigsaw/circleci-2.0-sandbox: circleci 2.0 sandbox , e-jigsaw/codefresh-sandbox

この辺は中身があまりないのだけれど、会社でビルド環境を検証していて AWS の Code Build や CircleCI 2.0, Codefresh を試行した。結果的にはインフラチームが自前 Drone 環境を作ってくれたのでそこへ移行していった。ただ、使う分には良かったが運用はとてもつらそうだったので微妙だったかも。
それまでは Docker Hub を使っていたり、GCP の Container Builder を使ったりしていた。CI 自体は Wercker で。そういえば、Wercker が Oracle に買収されたのも今年だったか。

e-jigsaw/json-refs-with-yaml-sandbox: json refs with yaml sandbox

仕事のプロジェクトでコンテナをフル活用していて、1つのリポジトリで用途に応じてコンテナを分けて使っていた。また、1リポジトリ内に関係する複数のプロジェクトをまとめて運用していたので
_

というように1リポジトリに複数

_
docker-compose.yml

が存在している。
さらに、コンテナの tag と git の commit hash を揃えるようにして、

_
docker-compose.yml

では commit hash まで指定するようにしていたため、コンテナのバージョンアップをすると関係する

_
docker-compose.yml

を手でまとめて更新しないといけなくて、大変だった。
これを解決するために yaml から yaml を生成する簡単なスクリプトを書いた。yaml から yaml にする途中で json-refs をカマして

_
$ref

などでファイルを分割できるようにした。また、簡易な正規表現で

_
{{FOO}}

のような handlebars っぽいプレースホルダを書くと指定した値に書き換えるようにして、

_
container-name:{{CONTAINER_REVISION}}

とコンテナのリビジョンをまとめて更新できるようにした。
他にも

_
wercker.yml


_
drone.yml

などのファイルも管理下に入れていった。

e-jigsaw/esa2ieyasu: esa - > ieyasu Chrome Extension

仕事で esa に日報をつけていて、ieyasu という勤怠ツールで勤怠の記録をつけないといけなかったので ieyasu の入力画面でポチッとすると自動的に値が埋まるようにするツールを作った。

e-jigsaw/spa-2017-sandbox: SPA 2017 sandbox

プロジェクトの構成をリライトするために、どういう構成がいいかを試していた。View は React.js で、ステートマネージャーをどうするかを基本的に試行していた。この時点ではストアを Immutable.js の Record を使って、Redux の middleware を使って動的に reducer を書き換えてページによって必要な reducer を追加していくようにして各ページをスリムにできるようにした。また、コンポーネントも動的にダウンロードできるようにしたりした。
というような感じで Redux にいろいろ手を加えてがんばったけど、不採用にした。

e-jigsaw/image-size-sandbox: image-size sandbox

どういう要件だったか忘れたけど仕事で SVG のサイズを計算して SVG 自体に埋めないといけなかったので image-size というライブラリを試した。

e-jigsaw/lerna-sandbox: lerna sandbox

プロジェクトの構造を lerna に寄せると便利かな?とおもって試したけど、OSS のプロジェクトほど恩恵が受けられなくて見送った。

e-jigsaw/preq: Promised minimal requset

request を Promise でラップするだけのやつ。他にもありそう。

e-jigsaw/web: Web technology infomation

Web まわりのことを書き記された記事などをスクラップしていたリポジトリだったが、6月を境に Scrapbox に本格的に移行してしまったので更新を終了。
e-jigsaw/es-modules-sandbox: ES modules sandbox

Android Chrome にも ES modules が実装されたと聞いてどういうものかと試した。npm のパッケージ群がうまいことバンドルできるようになってほしいのと、ES modules の実装が他のブラウザではまだなのでそこかなあ。

e-jigsaw/vision-api-sandbox: Cloud Vision API sandbox

仕事とは関係なく GCP の Vision API を試す必要があったのでお試し。OCR としてはもう一つ、という印象。

e-jigsaw/heroku-sandbox: heroku sandbox

Next.js と Heroku を組み合わせて Heroku の dx (主に Pipelines)を試そう!というリポジトリ。immutable なサーバ(BFF みたいな)だと Heroku と親和性が高くてとても便利だった。
最近はサーバ側が必要ないタイプだったら Netlify、サーバ側で何らかが必要だったら Heroku かなあ〜っておもっている。

e-jigsaw/mobx-sandbox: mobx sandbox

今年は Redux から MobX に完全に転向した。素の MobX でも十二分に React と相性が良くて便利だし、 mobx-state-tree を採用すると、さらに気持ちよくドメインを書ける。

e-jigsaw/sb-scripts: Scrapbox scripts

Scrapbox に年のページを作ってインデックスとして使っていて、そのページをダッと書き出すスクリプト。

e-jigsaw/svge: Online SVG Editor

mobx-state-tree をバックエンドにブラウザで使える SVG エディタをホビーで作ろうとした(まだ未完)

e-jigsaw/lpt2sb: lpt rebirth

元々 lpt (Last month Photo from Tumblr の略)というのを作っていて、これは先月リブログしたものを引っ張ってきて Google Photo につっこむというものだった。が、Google Photo に NSFW な画像が混入すると最悪 BAN されると聞いて日和って全部消したのだった。
それから Scrapbox に出会って、sb なら許してくれそう(という雑な希望)を持って作り直した。最初は CLI でブラウザを開く仕様だったが、操作が煩雑だったので Electron でアプリを作ってコントロールできるようにした。


というあたりが Public になってるコミット群だった。
芝は
こんな感じ。ちょっと下半期は失速気味だったかも...?
来年もガンバロー。

original: https://dev.to/jgs/2017-40e3
#20171224 #1224

関連ページとランダムに選ばれたページ

筆者について

jigsaw(ジグソウ、1991年6月12日-)は日本のプログラマ、会社代表。本名は小林貴也(こばやし たかや)。主にウェブ、フロントエンド領域で活動している。カミング・スーン合同会社の代表社員。
さらに詳しく

寄附について

面白かったらBTCETHでの寄附をお待ちしております。
寄附のきろく