Block Rockin’ Codes

back with another one of those block rockin' codes

JavaScript テクニックバイブル

intro 遅くなってしまいましたが、 JavaScript テクニックバイブルを献本頂きました。JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技作者: JSサポーターズ出版社/メーカー: 技術評論社発売日: 2012/08/31メディア: 単行本(ソフトカバー)購入:…

markdown のリアルタイムレンダリングツール markup をリリースしました

intro 最近は Readme やら執筆原稿などで markdown を使うことが結構多かったりします。markdown をレンダリングするツールは色々あるんですが、 エディタは好きなものを使いたいので、自分でレンダリングして、 ブラウザで確認できる何かがあればいいなぁと…

WebSocket サーバの実装とプロトコル解説

intro なんだかんだ WebSocket を使ってるのに、 WebSocket サーバを自分で書いたことが無かったので、RFC も落ち着いてきたここらで、仕様を読みながら実装してみようと思いました。 "WebSocket サーバ 実装" とかでググると、 Socket.IO とか pywebsocket …

SPDY と WebSocket の基礎と SPDY の Push

最近 SPDY対WebSockets? などという記事が出てきたりして、SPDY と WebSocket が色々ごちゃごちゃになって語られているのかもなぁ、と思います。 SPDY では Akamai の中の人のGuy's Pod » Blog Archive » Not as SPDY as You Thoughtや、それに対するフォロ…

Haskell の id の使い方

第1回 スタートHaskell2 : ATND に参加させていただいたんですが、 そこで id なる関数を知りました。 (実は H 本に出ているんだけど、割とさらっと扱われてた。) 最初、これはどんな場面で使うのか分からなかったんですが。 色々ヒントをいただいたりしなが…

Haskell で簡単な CLI ツール習作

intro すごい H 本で、 CLI の todo ツールを作るところまで読み終えました。 これでやっと、動くツール的なものが作れるようになったので、 復讐と練習を兼ねて、ちょっとツールを作ってみようかと思い、作ってみました。 今回作ったのは、非常に簡単なファ…

Trigger と Stream ベースの Reactive スタイルについて考える

intro 先日 Meteor について調べて発表するにあたり色々調べたり、そのあと何人かの方々とお話させて頂いた中で、 思うところが出てきたので、アウトプットしたいと思います。 Meteor について発表してきました。 - Block Rockin’ Codes Meteor 以前からも思…

Yesod のインストールとチュートリアルやってみた

intro Haskell 勉強中なんですが、なんか仕様やらばかりやってるのも飽きてきたので、 Web アプリを作ってみようと思い、噂の Yesod を試してみました。 とりあえず、環境作りとチュートリアルまで。 環境づくりはいろいろハマった。。YBlog - Haskell web p…

Meteor について発表してきました。

追記 12/5/9 meteorについての感想をすこしだけ追記 introduction もう結構経ってしまいましたが、 東京Node学園 5時限目 - connpass で Meteor について発表してきました。 slide スライドは以下です。今回はどうせ寿命の短いスライドだし、面倒なので PDF …

Node.js の起動オプション、環境変数、npm start の話

Node は起動時に色々オプションをつけることができます。 面白いもの、有益なものあるんですが、あまり言及されてないので、 ちょっと紹介してみようかと思ってます。 最後の npm start の話は、それ単体で書いても良いかと思っていたんですが、 関連するし…

dotCloud で WebSocket

dotCloud が WebSocket に対応したという発表がありました。dotCloud Announces Native Support for WebSockets | dotCloud BlogdotCloud は多くの言語やミドルウエアに対応していて、 CLI からアプリがデプロイできる PaaS サービスといった感じです。 (Her…

Socket.IO or WebSocket を AmazonELB でバランスする検証

追記 12/2/29 検証コードと環境は後にしてとりあえず結果だけ書く 12/3/5 Socket.IO の RedisStore を使えばスケール可能なことがわかったので追加 12/3/11 検証コード追加 caution この検証は 東京Node学園 4時限目 - connpass でやった結果です。しかしそ…

node.js の環境管理ツール nodebrew

intro nodebrew は バージョンアップの速い node.js を、複数バージョン管理するためのツールです。 ruby の rvm や、 python の virtualenv、 perl の perlbrew などの node.js 版と思ってもらえれば良いです。 自分はこれまで nvm を使っていたんですが、…

Private Gist の注意点

最近書けてなかったから、ここらへんで大事な小ネタを。 以外と知らない人がいるようなので、書いておきます。 結論 Private Gist は URL を知ってれば誰でも見える。 Gist Github と Gist は普通に使ってる前提です。 使ってない人は読む必要ないです。 あ…

2011 年をふりかえる

今年は本当に色々有ったと思う。 だけど、このブログでは基本的に技術ブログなので、その観点から。 リアルタイム Web 「リアルタイム Web」って言葉はなんか違和感がある、という話もちょっとあったりして、 そのうちもう少し別の名前でパッケージされるよ…

"リアルタイム Web" に関するプラクティスのアウトプット

追記 11/12/26 MLのスレッドへのリンクが間違っていたので修正。 introduction WebSocket なんかをつかって、従来のステートレスな処理以外に、コネクションを継続するステートフルな処理が可能になりました。 これを利用すると、これまで実装が難しかったリ…

Stream.IO というものを作ってます。

追記 12/5/5 Stream, EventEmitter などを移植して chat サンプル動きました。Jxck's OutPut - Stream.io の example として Stream だけの Chat #nodejs_jp 本文 この記事は、JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) とは関係ありませ…

Node.js の Stream API で「データの流れ」を扱う方法

追記 11/12/6 少し誤字脱字を修正、加筆 11/12/7 koichik さんにコメントで頂いたリンクと、その内容について追記 11/12/7 edvakf さんに頂いた指摘を修正 本文 この記事は、JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) の 4 日目の記事で…

Socket.IO アップデートと新プロダクト(Q-conf 編)

追記 11/11/22 コメントに頂いた Draft とフォールバックの表記を修正 本文 この手の話に統一したタイトルが欲しいんですが、先が見通せないのでどういうタイトルがいいのかわからないでいます。。 今回は最近の Socket.IO 周辺のアップデートについてまとめ…

クライアントとサーバの両方で使える JS コードの書き方

追記 11/12/25 Bi ってそんなに一般的ではない、 Both-Sides JavaScript の方が、ということでまた変更しました。(side でなく side's') 11/12/04 Both Side JavaScript は変ということで、 BSJS=Bi-Side JavaScript に変更しました。 本文 CSJS と SSJS で…

JavaScript のパフォーマンスと Sweet Spot の甘い罠

本文 先日 JavaScript を高速化するには、 VM を知る必要があるんだろうと思い、 以下のような発言をしてみました。 とにかく今は 「V8の最適化の恩恵を受けるための JS の書き方」や「ホットスポットを温めて C よりも速い JS を書こう」という釣りっぽいけ…

PhantomJS で HTML のスライドを PDF にし SlideShare にあげる方法

本文 最近は HTML 形式のプレゼンテーションツールも多くなってきました。 しかし、そうしたツールで作ったスライドはそのままでは SlideShare にあげることが出来ません。もちろん HTML なのでサーバに上げて URL を共有することもできますが、 やはり、「…

東京Node学園祭2011

遅くなってしまいましたが、 10/29(土) に「東京Node学園祭2011」のスタッフとして運営と発表をさせいていただきました。東京Node学園祭自分の発表は、初心者向けセッションとして、Express と Socket.IO を用いた簡単なアプリの作成をライブコーディングで…

Socket.IOv0.8.4 のソースを読んでわかった次期新機能先取り

本文 Socket.IO のソースを眺めていると色々面白いことがわかります。 master がガンガン新機能を実装していて、現時点でもアンドキュメントな API もいくつかあるし、結構ソースは読みやすい方なので勉強になります。で、最近また最新のを読んでたら色々面…

node.js の modules wiki を見るときの便利ブックマークレット

表題の通り、Modules · joyent/node Wiki · GitHub を見るときに、便利(主に自分が) になるブックマークレットを書いてみました。 本文 Node.js のモジュールを探す方法としては大きく二つあって、 Modules · joyent/node Wiki · GitHub から探す npm から探…

Pjax みたいなことを Socket.IO + pushState でやってみる

本文 時間がないので走り書き備忘録。失敗エントリです。 Github で使われてから、defunkt/jquery-pjax · GitHub がにわかに話題になって、自分も面白いと思っています。 で、この処理自体は pjax を使うと非常に簡単に出来てしまうんですが、 中身を少し見…

Socket.IO のマニュアル翻訳を開始しました。

タイトルの通り、翻訳を開始しました。 といっても Wiki とかの翻訳は少し前から先攻してやっていて、 ページは事情が合ってペンディングしていた状態でした。 翻訳ページ http://jxck.github.com/socket.io リポジトリ https://github.com/Jxck/socket.io …

Socket.IO と Express でセッションの共有

Socket.IO のサーバは v0.7 からスタンドアローンでも立てられるようになりましたが、 Express のサーバ上に Socket.IO のサーバを同居させる構成は多いと思います。 しかし Socket.IO は Express が HTTP で確立したセッションとは別のコネクションを確立す…

Socket.IO API 解説

追記 11/7/31 Socket.IO v0.7 解説を最初に途中までで出す。 11/8/1 だいたい全部新機能なので '(新機能)' って書くのやめた。 11/8/4 オプションの設定周りを追記 11/8/6 認証周りを追記 11/8/12 スタンドアローンのサンプルを追記 11/9/27 Socket.IO v0.8 …

JUS総会併設勉強会「『Node.js』とは何か。そして、その先へ。」でお話しさせていただきました。

JUS総会併設勉強会「『Node.js』とは何か。そして、その先へ。」 でお話しさせていただきました。 タイトルからして、なんというか 「そして、その先へって、どこなんだよ meso さん。。」 と、何を話すかかなり悩みましたがw前半が bad_at_math さんによる…