今年作ったレポジトリのまとめ '14


年も暮れですね。fnobiです。
さてはて、せっかく年末なので、みなさん今年つくったものを振り返りたい気持ちになりますよね。
ぼくはなってます。

作ったプロダクトについては、[fnobi.com](http://fnobi.com/)にけっこうしっかりまとめているので分かるのですが、
ライブラリとかについてはあまり言及していません。

じみーなものも含めて、今年書いたものをまるっと振り返るには…?
そうだ、 **今年作ったgithubレポジトリを一覧して振り返ればいいんだ！**ということでやってみました。

## とはいえ、どうやるの?

githubのUIで、そのレポジトリを作った日付はあまり強調表示されていないので、
ひとつひとつレポジトリをチェックしていかないと、今年作ったものかはわからない！めんどくさい！

こんなときは、GithubのAPI使うとよさそうですね。
特定のユーザーのレポジトリを出すだけなら、認証もなしで使えますし、
`jq`を使えば、特定の条件に合うものだけ絞り込む、なんてのもshellからできちゃいますね。

```
curl https://api.github.com/users/fnobi/repos?sort=created | jq 'map(select(.created_at >= "2014-01-01"))[].full_name' | nl
```

 - `sort=created`をパラメータでつけることで、最近作ったものから順にレポジトリを返してくれます。
 - `jq`にjson配列を渡して、`map(select(条件))`という書式でフィルターすると、絞り込みができます。
 - 最後の`nl`は、行番号をつけてくれる君です。
 - (レポジトリの件数が多かった場合の、ページングとかは今回考慮してませんので、あしからず)

結果はこうなりました。

```
     1	"fnobi/easy-view-engine"
     2	"fnobi/slice-glitch"
     3	"fnobi/kansuji"
     4	"fnobi/hajiki"
     5	"fnobi/sugoi-webview"
     6	"fnobi/plain-theme"
     7	"fnobi/grunt-compiled-jade"
     8	"fnobi/grunt-este-watch"
     9	"fnobi/embed-tube"
    10	"fnobi/EventTrigger"
    11	"fnobi/AppBenri"
    12	"fnobi/OneMotion"
    13	"fnobi/ZoomingFrame"
    14	"fnobi/ScrollTracker"
    15	"fnobi/throttle"
    16	"fnobi/swift-sandbox"
    17	"fnobi/LocalFileUtil"
    18	"fnobi/node-kobito"
    19	"fnobi/toichi"
    20	"fnobi/Shaker"
    21	"fnobi/grunt-init-bower"
    22	"fnobi/RunAwayBtn"
    23	"fnobi/TipMap"
    24	"fnobi/ejs-cli"
    25	"fnobi/oto"
    26	"fnobi/ScrollField"
    27	"fnobi/Plot"
    28	"fnobi/blp"
```

わーい、28件! 月に2つ以上、ですね。

### ※ここまでの参考資料
 - [Repositories | GitHub API](https://developer.github.com/v3/repos/)
 - [軽量JSONパーサー『jq』のドキュメント：『jq Manual』をざっくり日本語訳してみました ｜ Developers.IO](http://dev.classmethod.jp/tool/jq-manual-japanese-translation-roughly/)
 - [＠IT：行番号を付けてファイルの内容を表示するには](http://www.atmarkit.co.jp/flinux/rensai/linuxtips/541usenl.html)

## さて、振り返ります

### [fnobi/blp](http://github.com/fnobi/blp)
画像とかを適当に突っ込んでいくだけで、簡単にLPができちゃうぜ！！っていうTumblr themeですね。1年前かー。
案件でもがんがん使ってもらおうと思ってたんですが、導入事例まだそんなになし。待ってます。

### [fnobi/Plot](http://github.com/fnobi/Plot)
非同期処理をいい感じにやる、[async.js](https://github.com/caolan/async)みたいなやつに、sceneとかいう概念を持ち込んでごにょごにょしたやつですね。
ふつうに非同期処理をリストで渡すくらいなら使えるけど、sceneまで出てくるとちょっと宗教色強すぎるかなぁ。

### [fnobi/ScrollField](http://github.com/fnobi/ScrollField)

スクロールでなんかするやつだ！というのは覚えてるけど、最近は後述の[ScrollTracker](http://github.com/fnobi/ScrollTracker)ばっかり使ってて、こっちはなんだったっけな…。
今はもう亡いらいぶらりとかも使ってるし、いろいろアレだ。つらい。

### [fnobi/oto](http://github.com/fnobi/oto)

これもなんか、gruntやgulpに代わるものを設計しようとした記憶はあるけど、思った以上に何もしてないなこれ。

### [fnobi/TipMap](http://github.com/fnobi/TipMap)

でっっっかい画像を小さく分割して、こまかくロードさせることでスマホとかでも表示できる、っていうやつですね(google mapみたいなイメージ)。
画像の生成するようのbinとかも付けててなかなか頑張ってるじゃないか。デモがないのでよくわからないけど。

### [fnobi/RunAwayBtn](http://github.com/fnobi/RunAwayBtn)
[お好き玉](http://iine2014.fnobi.com/)の時に作った、DOMがマウスから逃げる動きを切り出してライブラリにしたやつです。
某案件でほしいって言われて作ったんですが、実際使われるときにはかなりカスタマイズされていたという噂。

### [fnobi/grunt-init-bower](http://github.com/fnobi/grunt-init-bower)
このへんからは今でも使ってるやつだ…。bowerつくる時用のgrunt-templateです。
これの導入により、バカスカとbowerを放出できるようになってきました。
READMEにusage書くのと、デモサイト構築するのを強要してくるので有用です。

### [fnobi/Shaker](http://github.com/fnobi/Shaker)
DOMに揺らす動きをつけるやつ。
これあるの忘れて、最近の案件で全く同じ趣旨のShakerっていうクラス作っちゃった
(そしてそっちの方が優秀)のでどうしようかと思っている。

### [fnobi/toichi](http://github.com/fnobi/toichi)
でたー。複数の画像ファイルを渡すと、それをくっつけてsprite or gif動画を作ってくれます。
READMEがぜんぜん書いてないので書かねばならぬ。
ここにusageだけ書いとこ。

```
$ ls
koma1.png	koma2.png	koma3.png	koma4.png

# spriteつくる
# 出力ファイル名は --out で指定 / デフォルトでは、元画像の名前の共通部分を使ってファイル名をつくる
$ toichi koma*.png

$ ls
koma.png	koma1.png	koma2.png	koma3.png	koma4.png
```

### [fnobi/node-kobito](http://github.com/fnobi/node-kobito)
nodeからkobitoの使ってるsqliteにアクセスしてごにょごにょしようとして書いたラッパー。
あんまり大げさなことはできないまま今に至る。

### [fnobi/LocalFileUtil](http://github.com/fnobi/LocalFileUtil)
数少ない、Android向けのライブラリ(Java)。
ローカルに一時ファイルつくってごちゃごちゃやる時に便利なやつ、のはず。

### [fnobi/swift-sandbox](http://github.com/fnobi/swift-sandbox)
swiftが出たての時(=まだまともに動作テストもできない)に、とりあえず書いてみるために、
swiftインタプリタに直接コード渡して実行させるサーバーを書いてみたやつ。
無限ループ起こるようなコードを渡したらサーバー側が死ぬというステキ仕様。

### [fnobi/throttle](http://github.com/fnobi/throttle)
もう見たまま、汎用的なjsのthrottleです。
throttleっていう名前でbowerとれちゃってるんだけど、怒られないか心配。

### [fnobi/ScrollTracker](http://github.com/fnobi/ScrollTracker)
これは最近超使っているライブラリ。スクロールにひっかけて演出発動するのに便利なやつです。
すばらしくEventDispatcherの恩恵を受けられますよ。
これがないと実装が成立しなかったLPとかけっこうある。

### [fnobi/ZoomingFrame](http://github.com/fnobi/ZoomingFrame)
まさしく、[某アイドルサイト](http://www.kayac.com/service/client/1162)をつくる時に作ったものです。
一応汎用的に書いたけど、他の用途あるのかよとセルフツッコミ。

[こういう](http://140621-html5han.fnobi.com/)スライドつくったりはできます。しかし「簡単に」とは行かない。

### [fnobi/OneMotion](http://github.com/fnobi/OneMotion)
物理的な、慣性とか跳ね返りとかの動きを、演出にさらっと入れたい時に使えるライブラリ。
インストールするだけで重たい物理演算ライブラリとか使いたくないので作りました。
けっこう汎用性高いし、上記の思想が気に入ってるので好き。

### [fnobi/AppBenri](http://github.com/fnobi/AppBenri)
これはAndroidアプリのソースそのものですね。
調査のために、他のアプリの情報とかをまとめてとってきたいとか、ソートして目的の見つけて削除したいとか、
そういう需要に答えるためのアプリ。まぁまぁ便利。

### [fnobi/EventTrigger](http://github.com/fnobi/EventTrigger)
EventDispatcherです。
ずーっと`EventEmitter`という名称で使ってたんですが、
**「nodeの公式のやつと紛らわしくてキモい」**
との指摘を受けたので改名しました。ついでに、継承の方式も変えてたり。

### [fnobi/embed-tube](http://github.com/fnobi/embed-tube)
Youtubeを埋め込むサイトをいっぱい作ってた時期だったんですね。それ用のやつです。
もろもろのイベントが取りやすくなってます。
flash版とiframe版を簡単に切り替えれるようにしたいなーなどと思っている。

### [fnobi/grunt-este-watch](http://github.com/fnobi/grunt-este-watch)
あ、grunt-este-watchが上手く動かなかったのでforkして直したやつだ。
いまは直ったのかなー。

### [fnobi/grunt-compiled-jade](http://github.com/fnobi/grunt-compiled-jade)

nodeで書いたサーバー上で使っているjadeテンプレートを、フロント側でも使えるように変換して書き出してくれるgrunt-plugin。
API+JSとView、両方でコンテンツを更新する場合、こういうのがあると便利なはず。
これをがっつりつかっているプロジェクトがあるのですが、まだ秘密。

### [fnobi/plain-theme](http://github.com/fnobi/plain-theme)
からっぽのWordpress themeですね。
これのブランチとしてWordpress themeを作ってくと素敵かもしれない、と思っている。
実績作り中。

### [fnobi/sugoi-webview](http://github.com/fnobi/sugoi-webview)

[tech.kayac](http://tech.kayac.com/archive/6.html)にブログ書くついでに作ったガワネイティブアプリのサンプルです。
JavaとSwiftとHTML。
急いでるとついこういう名前つけちゃう。

### [fnobi/kansuji](http://github.com/fnobi/kansuji)

整数値を漢数字文字列に変換するRubyスクリプト。
某案件で使うかとおもいきや使わなかった。
そして、せっかくなのでライブラリにしよーと思ってテスト書いたらこけた。泣いてる。

### [fnobi/slice-glitch](http://github.com/fnobi/slice-glitch)

[w.nezihiko.com](http://w.nezihiko.com)のときに作ったグリッチエフェクトをライブラリ化。
某最近の案件でもつかってるよ。

### [fnobi/easy-view-engine](http://github.com/fnobi/easy-view-engine)

これまた最近の案件で、案件中に勢いで作ったテンプレートエンジンです。
勢いで作っただけあって機能が少ないので足したい。
素直にunderscoreのやつとか使えばいい気がしてきた。

## まとめ

 - めっちゃ忘れてる
 - やり残しばっかり見つかった感じがして年納めには向かない
 - 最初のスクリプト、みなさんも使ってみてね