年も暮れですね。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つ以上、ですね。
※ここまでの参考資料
- Repositories | GitHub API
- 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | Developers.IO
- @IT:行番号を付けてファイルの内容を表示するには
さて、振り返ります
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のやつとか使えばいい気がしてきた。
まとめ
- めっちゃ忘れてる
- やり残しばっかり見つかった感じがして年納めには向かない
- 最初のスクリプト、みなさんも使ってみてね