Rails で Gyazo サーバ作った
みんな大好き車輪の再発明
作ったといよりは元々あったものを更新したんだけど
ほぼ作り変えてたので作ったと言っても良い
リポジトリ
https://github.com/mitukiii/gyazo-server
実際に動いてる図
http://pic.mitukiii.jp/
アピールポイント
- ファイルシステムそのまま使う(DB 使わない)
DB 使わない!楽ちん!
因みに画像のソートは mtime を使ってる
- .jpg, .gif をそのままアップロード
GIF アニメーションも使える!嬉しい!
- DELETE メソッドで画像削除
間違えてアップロードした画像もこんな感じで削除出来る
curl -X DELETE -F id=yourid http://pic.example.com/nyan.gif
使い方
README 参照
因みにクライアント側は Mac、サーバ側は Linux を想定している
その他
Gyazo 1.1 では script を弄れば複数画像のドラッグ&ドロップのアップロードが出来たんだけど Gyazo 2.0 になってドラッグ&ドロップされた画像のうちひとつしか script に渡されないようになったぽくて不便
それと Gyazo GIF の対応もしたかったんだけどアップロード先を変えるやり方が分からなくて諦めた
jQuery の Deferred(と Callbacks)を Ruby で書いた
https://github.com/mitukiii/deferred-for-ruby
jQuery.Deferred ってどんな動作してるんだろうと思って勉強がてら書いた
中身はほぼ jQuery 版と同じような動作をするようになってる
書いたは良いけど Ruby には Thread があるし非同期処理なら既に EventMachine とか Celluloid とか Parallel とか便利な gem がたくさんあるので使い道がない
誰か面白い使い方思い付いたら教えて
その他
$.when、ひとつでも失敗したら即 fail 呼ばれて他の結果取れないのか
— ʞɐznʎɐ ʇɐʞǝsɥıɯɐ (@mitukiii) 2013, 10月 7
$.Deferred 渡して全部終わってからひとつでもエラーがあれば fail、全部成功なら done を呼んでくれる版みたいの欲しい
— ʞɐznʎɐ ʇɐʞǝsɥıɯɐ (@mitukiii) 2013, 10月 7