Edited at

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

More than 3 years have passed since last update.

年も暮れですね。fnobiです。

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

ぼくはなってます。

作ったプロダクトについては、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つ以上、ですね。


※ここまでの参考資料


さて、振り返ります


fnobi/blp

画像とかを適当に突っ込んでいくだけで、簡単にLPができちゃうぜ!!っていうTumblr themeですね。1年前かー。

案件でもがんがん使ってもらおうと思ってたんですが、導入事例まだそんなになし。待ってます。


fnobi/Plot

非同期処理をいい感じにやる、async.jsみたいなやつに、sceneとかいう概念を持ち込んでごにょごにょしたやつですね。

ふつうに非同期処理をリストで渡すくらいなら使えるけど、sceneまで出てくるとちょっと宗教色強すぎるかなぁ。


fnobi/ScrollField

スクロールでなんかするやつだ!というのは覚えてるけど、最近は後述のScrollTrackerばっかり使ってて、こっちはなんだったっけな…。

今はもう亡いらいぶらりとかも使ってるし、いろいろアレだ。つらい。


fnobi/oto

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


fnobi/TipMap

でっっっかい画像を小さく分割して、こまかくロードさせることでスマホとかでも表示できる、っていうやつですね(google mapみたいなイメージ)。

画像の生成するようのbinとかも付けててなかなか頑張ってるじゃないか。デモがないのでよくわからないけど。


fnobi/RunAwayBtn

お好き玉の時に作った、DOMがマウスから逃げる動きを切り出してライブラリにしたやつです。

某案件でほしいって言われて作ったんですが、実際使われるときにはかなりカスタマイズされていたという噂。


fnobi/grunt-init-bower

このへんからは今でも使ってるやつだ…。bowerつくる時用のgrunt-templateです。

これの導入により、バカスカとbowerを放出できるようになってきました。

READMEにusage書くのと、デモサイト構築するのを強要してくるので有用です。


fnobi/Shaker

DOMに揺らす動きをつけるやつ。

これあるの忘れて、最近の案件で全く同じ趣旨のShakerっていうクラス作っちゃった

(そしてそっちの方が優秀)のでどうしようかと思っている。


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

nodeからkobitoの使ってるsqliteにアクセスしてごにょごにょしようとして書いたラッパー。

あんまり大げさなことはできないまま今に至る。


fnobi/LocalFileUtil

数少ない、Android向けのライブラリ(Java)。

ローカルに一時ファイルつくってごちゃごちゃやる時に便利なやつ、のはず。


fnobi/swift-sandbox

swiftが出たての時(=まだまともに動作テストもできない)に、とりあえず書いてみるために、

swiftインタプリタに直接コード渡して実行させるサーバーを書いてみたやつ。

無限ループ起こるようなコードを渡したらサーバー側が死ぬというステキ仕様。


fnobi/throttle

もう見たまま、汎用的なjsのthrottleです。

throttleっていう名前でbowerとれちゃってるんだけど、怒られないか心配。


fnobi/ScrollTracker

これは最近超使っているライブラリ。スクロールにひっかけて演出発動するのに便利なやつです。

すばらしくEventDispatcherの恩恵を受けられますよ。

これがないと実装が成立しなかったLPとかけっこうある。


fnobi/ZoomingFrame

まさしく、某アイドルサイトをつくる時に作ったものです。

一応汎用的に書いたけど、他の用途あるのかよとセルフツッコミ。

こういうスライドつくったりはできます。しかし「簡単に」とは行かない。


fnobi/OneMotion

物理的な、慣性とか跳ね返りとかの動きを、演出にさらっと入れたい時に使えるライブラリ。

インストールするだけで重たい物理演算ライブラリとか使いたくないので作りました。

けっこう汎用性高いし、上記の思想が気に入ってるので好き。


fnobi/AppBenri

これはAndroidアプリのソースそのものですね。

調査のために、他のアプリの情報とかをまとめてとってきたいとか、ソートして目的の見つけて削除したいとか、

そういう需要に答えるためのアプリ。まぁまぁ便利。


fnobi/EventTrigger

EventDispatcherです。

ずーっとEventEmitterという名称で使ってたんですが、

「nodeの公式のやつと紛らわしくてキモい」

との指摘を受けたので改名しました。ついでに、継承の方式も変えてたり。


fnobi/embed-tube

Youtubeを埋め込むサイトをいっぱい作ってた時期だったんですね。それ用のやつです。

もろもろのイベントが取りやすくなってます。

flash版とiframe版を簡単に切り替えれるようにしたいなーなどと思っている。


fnobi/grunt-este-watch

あ、grunt-este-watchが上手く動かなかったのでforkして直したやつだ。

いまは直ったのかなー。


fnobi/grunt-compiled-jade

nodeで書いたサーバー上で使っているjadeテンプレートを、フロント側でも使えるように変換して書き出してくれるgrunt-plugin。

API+JSとView、両方でコンテンツを更新する場合、こういうのがあると便利なはず。

これをがっつりつかっているプロジェクトがあるのですが、まだ秘密。


fnobi/plain-theme

からっぽのWordpress themeですね。

これのブランチとしてWordpress themeを作ってくと素敵かもしれない、と思っている。

実績作り中。


fnobi/sugoi-webview

tech.kayacにブログ書くついでに作ったガワネイティブアプリのサンプルです。

JavaとSwiftとHTML。

急いでるとついこういう名前つけちゃう。


fnobi/kansuji

整数値を漢数字文字列に変換するRubyスクリプト。

某案件で使うかとおもいきや使わなかった。

そして、せっかくなのでライブラリにしよーと思ってテスト書いたらこけた。泣いてる。


fnobi/slice-glitch

w.nezihiko.comのときに作ったグリッチエフェクトをライブラリ化。

某最近の案件でもつかってるよ。


fnobi/easy-view-engine

これまた最近の案件で、案件中に勢いで作ったテンプレートエンジンです。

勢いで作っただけあって機能が少ないので足したい。

素直にunderscoreのやつとか使えばいい気がしてきた。


まとめ


  • めっちゃ忘れてる

  • やり残しばっかり見つかった感じがして年納めには向かない

  • 最初のスクリプト、みなさんも使ってみてね