東京はやっぱりすごいですよねってお話
を読んで。
僕は東京に住んだ事は無いけど、最近はお仕事の関係で月に1回くらいのペースで行ってる。確かに元エントリに書かれている通り、人・お金・情報、とても充実していると思う。刺激も多い。きっと仕事も多い。
でも、地方にもよいところはたくさんある。
快適な住環境だったり、美味しい食事だったり。温泉もある。
東京よりは生活費もそもそも安くあがる。
でも、もしかしたら仕事はあまりないかもしれない。
僕が大好きな広島のとある会社の社長が何かのインタビューでこんな事を言ってた。
「金は有限、知恵は無限」
よし、やっぱ知恵を絞って地方に仕事を生み出そう。
そう思った火曜日の午後。
最近のお仕事は、サーバー構築。
お金は無いけど知恵を絞って安いサーバーを最高のパフォーマンスに仕立てる。
これが実に楽しい仕事なのです。
そうそう、グルー株式会社で、チームメンバーを募集してます。
みんなで知恵を絞り、手を動かして、一緒に仕事を生み出して行きたいと思ってます。
プログラマの言葉に
「Shut the fuck up and write some code.」
というのがあります。
「ぐだぐだ言ってないでコード書けよ」
という意味です。
「やった事ないけど、とりあえずやってみるか」
そんな心意気をお持ちの方、一度うちの会社を覗いてみませんか?
2013年4月9日火曜日
2013年4月4日木曜日
WebSocketを古いブラウザで使用する時のTips
かなり久しぶりの更新ですね。
うちの会社で提供しているGlueSupportというライブチャットサービスがあるのですが、中はFlashで実装されています。なんだかんだでやっぱりまだFlashは現役ですよね。
しかしながらトレンドを追っかけてみるとだいぶFlashはレガシーな扱いです。最新のトレンドを反映させたバージョンもあってよいなと。
というわけで、GlueSupportのテキストチャットバージョンをリニューアルし、それをHTML5のWebSocketベースに置き換えるプロジェクトを進めています。今月末にはリリース出来るかなと思ってます。
# 色々課題があって、残念ながらビデオチャットバージョンは当面Flashになりそうです。
さてさて、そのWebSocketですが、これがまた古いIEでは動かないのですね。
IE10でしか動きません。IE10インストールしている人いますか?身近な人でも誰もIE10を使っている人がいません。どうしよう。
そこで、古いIEでもWebSocketを使えるFlashの擬似環境を提供してくれるモジュールを使用します。
https://github.com/gimite/web-socket-js/
基本的にはreadmeにあるようにこのモジュールを以下のように組み込めばOKです。
しかしながら、実はこれだけでは通信出来ません。
今回WebSocketの実装にはnode.jsを使用している為、
https://github.com/3rd-Eden/FlashPolicyFileServer
これを組み込めばよさそうです。
が、色々ググってみると、もっと簡単な方法があるようです。
http://gimite.net/pukiwiki/index.php?Flash%A4%CE%A5%BD%A5%B1%A5%C3%A5%C8%A5%DD%A5%EA%A5%B7%A1%BC%A5%D5%A5%A1%A5%A4%A5%EB#x9735172
こちらの記事にあるように、単純にサーバの843ポートから以下のXMLを出力すればいいだけのようですね。今回はこちらの方法を使用してみます。
この例では、6666番のポートを全てのドメインに対して許可する。という感じです。
上記の記事の例ではinetdを使ったものになっていますが、うちのサーバはCentOS6を使っている為、これをxinetdで動かすようにしてみます。
いやーJavaScriptって面白いですね!
さてさて、久しぶりの技術系のエントリでございました。
GlueSupportの新バージョンにご期待下さいませ。
# 先日の役員会議で社長はもっとブログを書け!と喝を頂きましたので続けられるよう頑張ります!
うちの会社で提供しているGlueSupportというライブチャットサービスがあるのですが、中はFlashで実装されています。なんだかんだでやっぱりまだFlashは現役ですよね。
しかしながらトレンドを追っかけてみるとだいぶFlashはレガシーな扱いです。最新のトレンドを反映させたバージョンもあってよいなと。
というわけで、GlueSupportのテキストチャットバージョンをリニューアルし、それをHTML5のWebSocketベースに置き換えるプロジェクトを進めています。今月末にはリリース出来るかなと思ってます。
# 色々課題があって、残念ながらビデオチャットバージョンは当面Flashになりそうです。
さてさて、そのWebSocketですが、これがまた古いIEでは動かないのですね。
IE10でしか動きません。IE10インストールしている人いますか?身近な人でも誰もIE10を使っている人がいません。どうしよう。
そこで、古いIEでもWebSocketを使えるFlashの擬似環境を提供してくれるモジュールを使用します。
https://github.com/gimite/web-socket-js/
基本的にはreadmeにあるようにこのモジュールを以下のように組み込めばOKです。
<!-- Import JavaScript Libraries. --> <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="web_socket.js"></script> <script type="text/javascript"> // Let the library know where WebSocketMain.swf is: WEB_SOCKET_SWF_LOCATION = "WebSocketMain.swf"; // Write your code in the same way as for native WebSocket: var ws = new WebSocket("ws://example.com:10081/"); ws.onopen = function() { ws.send("Hello"); // Sends a message. }; ws.onmessage = function(e) { // Receives a message. alert(e.data); }; ws.onclose = function() { alert("closed"); }; </script>
しかしながら、実はこれだけでは通信出来ません。
Put Flash socket policy file to your server unless you use web-socket-ruby or em-websocket as your WebSocket server. See "Flash socket policy file" section below for details.とあるように、サーバ側のWebSocketの実装にweb-socket-rubyもしくはem-websocketを以外のものを使っている場合、Flash socket policy fileというものを送出しなければなりません。
今回WebSocketの実装にはnode.jsを使用している為、
https://github.com/3rd-Eden/FlashPolicyFileServer
これを組み込めばよさそうです。
が、色々ググってみると、もっと簡単な方法があるようです。
http://gimite.net/pukiwiki/index.php?Flash%A4%CE%A5%BD%A5%B1%A5%C3%A5%C8%A5%DD%A5%EA%A5%B7%A1%BC%A5%D5%A5%A1%A5%A4%A5%EB#x9735172
こちらの記事にあるように、単純にサーバの843ポートから以下のXMLを出力すればいいだけのようですね。今回はこちらの方法を使用してみます。
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" to-ports="6666"/> </cross-domain-policy>
この例では、6666番のポートを全てのドメインに対して許可する。という感じです。
上記の記事の例ではinetdを使ったものになっていますが、うちのサーバはCentOS6を使っている為、これをxinetdで動かすようにしてみます。
- まずは in.flashpolicyd.rb をダウンロード
- /path/to/cross-domain.xmlというファイルを用意し、上記のXMLを記入
- /etc/servicesに以下を追記
flashpolicy 843/tcp - /etc/xinetd.d/flashpolicy を作成し、以下をコードを書く
service flashpolicy { disable = no port = 843 socket_type = stream wait = no user = nobody server = /path/to/in.flashpolicyd.rb server_args = /path/to/cross-domain.xml }
- sudo /etc/init.d/xinetd restart
これで無事に843番ポートが開き、IEでもFlashを使った擬似WebSocketを利用した通信が可能になりました!
いやーJavaScriptって面白いですね!
さてさて、久しぶりの技術系のエントリでございました。
GlueSupportの新バージョンにご期待下さいませ。
# 先日の役員会議で社長はもっとブログを書け!と喝を頂きましたので続けられるよう頑張ります!
登録:
投稿 (Atom)
久しぶりにブログを書く
最初ログインできなくて焦った。 いや、ログインはできたのだが、ログイン後に自分のブログの管理画面に遷移できず、新しいブログを作成する画面になってしまったからビビッてしまった。 どうやら、Google+(現在はサービス終了)に紐づいたプロフィールを設定しているとこのような状況に陥る...
-
タイトルのようなことをちょっとやったのでメモ。 Postfixでアドレスを書き換える為にはカノニカルアドレスマッピングという機能を使用。 参考 : Postfixアドレス書き換え 設定例をいくつかメモります。 おまじない的にやること Postfix 2.2系の場合 特に無し。 書...
-
今年の3月に契約して5月末納車以降、大活躍な愛車の CX-5 XD(クリーンディーゼルモデル)。 もうね、このクルマめちゃめちゃいいですよ。ちょっと幅がでかいってのはありますが(全幅1840mm)走りがとてもいい。強力なトルクでしかもフラット。ハンドリングも大満足。...
-
Via: Emacsキーバインド強制elisp"鬼軍曹.el"をcommitした Emacsのキーバインドに慣れるため、強制的にカーソルキー他の機能を無効化してしまう鬼軍曹.elファイルがリリースされています。 これの作者の id:k1LoW からvim版作っ...