diaryこの広告は、90日以上更新していないブログに表示しています。CoffeeScriptNode.jsで書く理由が全く無いんですが、勉強のために、ローカルで起動して動画の管理をするためのサーバーを書いてみました。使ったライブラリ以外は、全てCoffeeScriptで書いてます。一応、「BlackAlbum」と名前を付けました。ネーミングは、二重のパクリです。&http://localhost:12345/をブラウザで開く読み込み対象のディレクトリを追加して、データベース更新を実行すれば、サムネイルを作成してリスト表示する。プレーヤーの設定を入れて、サムネイルかファイル名をクリックすると、プレーヤーが起動して、再生が始まる。背景そもそも作ろうと思った理由は、WindowsにWhiteBrowserというイケてるメディア管理用のアプリがあるんですが、Mac、Linuxに同様のアプリが無いんで、それじゃあ作るか、ってのが始まりです。Sinatraとかで書くつもりだったんですが、Node.jsとCoffeeScriptの勉強も兼ねてって所。実際、冒頭にも書きましたがNode.jsで書く理由がこれっぽっちも無いので、無駄な茨を踏んだ気がしてますが・・・。本当はSocket.IOとか使って、もうちょっとインタラクティブな動きを実現したかったんですが、あんまり使い所が無かったし。ノンブロッキングI/Oの挙動とか、コールバックスタイルでのプログラミングが大体分かったので、良かったかなと。非同期でバンバン流れていくもんだから、ファイルディスクリプタ使いきってエラーになるとか・・・。点エラー処理が甘いNodeのエラー処理がうまいこと行かなくて、しばしばサーバーごと落ちる。そもそもデバッグが難しい。どこで落ちてんのか分からん上に、CoffeeScriptなんでスタックトレースの行表示も役に立たない。catchもコールバック挟むと上手く動かないから、エラー処理が分散して死ねる。インストールに手間がかかるmongodbが必要。SQLiteにしとけば良かったかもしれないが面倒だった・・・。自分でforkしたnode-zipfileに依存してたりMacでiconvを使う時に、利用するiconv本体を入れ替える必要があるMac専用LinuxのGUI環境が無くて検証がめんどいので、プレーヤー呼び出しとかMac用にハードコーディングしてる。Macならhomebrewとnave使えばそんなに手間かからず使えるはず・・・。2018に登壇するためにL.Aまで行ってきた本番環境でcassandraの運用を開始してみた月別アーカイブはてなブログをはじめよう!joker1007さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。