以前の職場の同僚に Most active GitHub users in Japan でランクインしてるよって教えてもらって、これを書いている時点(2017/12/21)で96位とのこと。
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リポジトリ内に関係する複数のプロジェクトをまとめて運用していたので
.
|--project
|--A
|--docker-compose.yml
|--B
|--docker-compose.yml
というように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 になってるコミット群だった。
芝は
こんな感じ。ちょっと下半期は失速気味だったかも...?
来年もガンバロー。
Top comments (0)