くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | プログラム | | 模型]

2013-03-11

日記

花粉がー。めがー、めがー。

ちょっと前だがなぜかモデリング講座受けたりした。お絵描きできる人相手には追い付いていくだけで精一杯すぎる。

イベントサイト作り

イベントサイト作ったりもした。 見た目をちょっと変えるだけなのですぐ出来たけど。

告知段階なのでそれで充分なんだけど、本番に向けて今までDropboxにあったファイルアップローダをAmazon S3に移行したい。 Dropboxはあんまりそういう用途じゃないと思ったんだけど、作ってもらった際にDropboxにされちゃってたので使ってたんだがまあいろいろと不都合が。

Dropboxで転送量の制限受けないようにするには有料プランにしないといけないんだが高い。ストレージの容量はそれほどいらないんでイベントやる月だけでいいとしても1000円/月はちょっとなぁ。そもそもクソ遅い。高くて遅いならS3直接使った方が安くて速いじゃん!!ということでS3に。

契約してJava用SDKのドキュメントを見ながらちょこちょこいじってみたんだが、S3のコンソールから上げたファイルの一覧を取るくらいは簡単にできた。 あとはアップロードして許可設定をいじれるようになれば完成したようなものだ。簡単だなぁ。

許可設定は自由度高いんだがどうするのが合ってるだろう。誰でも見れる設定にするとURLさえわかれば誰でもいつでも落とせてしまう。 イベント終了後は見れなくなってほしいんだが、まあイベント終了後に手動なりなんなりで許可設定を落として回るのもできるな。

署名付きURLとかいう期限付きのダウンロードURLを作ると一時的に誰でも落とせるようにできるみたい。かっけー。 これもよさそうなんだけどBitTorrent対応ができない問題がある。そう、Amazon S3は誰でも見れるファイルに対して勝手にtorrent配布してくれる機能があるのだ。

BitTorrentで落とせるようになると転送量節約できてちょっといいかなーと思うんだけど、 ぴあきゃす界隈でBitTorrentが使われてるのかっつーとほとんど使われてないだろうからあまり効果は無さそうな気もする……。 ぺかとれも無くなってたしなぁ。 さらに言うと転送量が食われるかどうかはでかいファイルが配布されるかどうかに大きく左右される。 何が配布されるかはその時にならんとわからん。少なくとも俺は10MB越えるようなでかい物配布する予定ないな。

イベント終了後に許可設定落とすのはファイル数的にそんなに大変なわけでもないから、誰でも見れる設定にしてtorrent使えるようにしておくか。 誰か面白がって使ってくれればそれでいいしね。

S3のバケットは東京リージョンに作ったけどBitTorrentと直接DLではどっちが速いんだろうなぁ。 直接DLの方が速くなりそうな気がしなくもない。

Webアプリ作り

イベント用に今回出す物はイベントサイトに埋め込みの簡単なソーシャルゲー的なのにしようかなぁと思った。 ソーシャルゲーやったことないですけども。

さてさてじゃあどうやって作ろうかなと思ったんだけど、リアルタイム性が欲しいのでWebSocketなりCometなりが使いたい1。難しそうだなぁ。

調べてみるとASP.NET上で動くSignalRというのがあるようで、これがlongpollなりWebSocketなりを勝手に使って通信してくれて、C#で書いたサーバ側のメソッドとクライアントのJavaScriptの関数をシームレスに呼び合ったりできるとのこと。かっこいー!

Node.jsのSocket.IOというのも最近良く聞くけど同じようなものなようだ。なるほどこれは話題になるわ。

.NETとNode.jsにあるならRuby実装も誰か作ってるんだろう、と調べてみたけど……ない? WebSocketサーバはいくらか見つかるけど、Socket.IOのようなもっと上位のライブラリはなさげ。 WebSocketはどこでも使えるってわけでもないからなー。 しかもクライアント側のJavaScript生成してくれなきゃやだやだー。 RubyはWeb言語(笑)だと思ってたんだが、サーバ側が強くて、クライアント側と連携するようなライブラリは弱い雰囲気だ。

じゃあ自分で作るかとかopal-nodeでSocket.IO使うかとか不毛なことも考えたけど、そこまでしてRuby使う必要もあるまいとて諦めた。 どうも俺はRubyでWebアプリを作れない運命にあるんじゃないかというくらいWebアプリでRuby使ってない気がするよ2

サーバはWindows AzureがMSDNの特典で使えるのでせっかくなので使ってみたい。半月分のSインスタンスしか貰えないけどWebアプリは無料から作れるし、イベント中の3日間だけでも持てば充分だ。つか三日間だけなのでインスタンス増やして多少お金かかっても大した額にはなるまい。

Azureは当然ASP.NETがいけるがNode.jsもいけるとのこと。とは言え慣れないJavaScriptで初めてのNode.js触るよりかは多少慣れてるC#で初めてのASP.NETの方がましだろう。

そんなわけで4月末のイベントまでにAzure上にASP.NETとSignalRで簡単なソーシャルゲー的な物を作る予定。できるかなぁ……。

  1. あとで気付いたけどそこまでリアルタイム性が必要というわけでもないなぁ…… 

  2. 一時期GAE/Jで無理してJRuby使ってたけど。 


ページのトップへ | トップ «前の日記(2013-03-02) 最新 次の日記(2013-03-18)» | 編集 | kumaryu.net by kumaryu