タグ

ブックマーク / jxck.hatenablog.com (13)

  • Ajax 誕生から 10 年とこれから - Block Rockin’ Codes

    Intro 誕生と言うのが正しいか微妙だけど、多分誕生でいいと思います。 というのも、「Ajax」という名前の出典は以下の記事で、この記事が書かれたのが今日からちょうど 10 年前でした。 Ajax: A New Approach to Web Applications (当時から、 URL が一回変わっている) Web 初めてまだ 10 年たって無いんで、全部見てきたってわけではないですが、個人的にはちょっと思い出深い記事だったりするので、ちょっと振り返ってみます。 Ajax: A New Approach to Web Applications 筆者の Jesse James Garrett 氏は UXコンサルティング会社である Adaptive Path の創立メンバーの一人で、 UX エンジニアです。 この記事の趣旨は、当時既にあった Google Maps や Gmail、G

    Ajax 誕生から 10 年とこれから - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2015/02/18
    Ajaxって名前を付けたのって、ゼロの発明に近いものを感じる。
  • Extensible Web を支える低レベル API 群 - Block Rockin’ Codes

    Intro 最近 Extensible Web の話がたまに出るようになりましたが、なんというかレイヤの高い概念(ポエム)的な話が多い気がしてます。 もう少し具体的な API とか、「それコード書く上で何が変わるの?」って話があまりないので、今日はそこにフォーカスして、 Extensible Web 的な流れの中で整理された API の話をします。 しかし、実際には API が 「Extensible Web という理念で生まれたかどうか」は自明ではないので、 今標準化されている低レベルな API を拾い、それを整理するというエントリだと思ってもらと良いかもしれません。 あまり知られてない API もあると思うので、これを期に「これがあれば、今までできなかったアレが、標準化や実装を待たなくても、できるようになるな」と思ったら是非書いてみると良いと思います。 実際はそれこそが Extensi

    y-kawaz
    y-kawaz 2015/02/09
    素敵
  • ジェネレータの解説と非同期への適用 - Block Rockin’ Codes

    update 2014-01-16 ご指摘頂いたので修正しました。ありがとうございます! @Jxck_ 動画すごくわかりやすかった!一個、重箱の隅っこなんだけど、convert関数のapplyしてるところ、fn.apply(fn, args) になってるけど fn.apply(this, args) が正しい気がしました!— Kazuhito Hokamura (@hokaccha) 2014, 1月 13 https://gist.github.com/Jxck/8380852 は修正済みです。動画の取り直しは勘弁して下さい(汗 - fn.apply(fn, args); + fn.apply(this, args); intro あけましておめでとうございます。 今年からはてなブログへ移行しました。 去年末くらいから流行っている Express の後継 Koa では JS の新機能ジェ

    ジェネレータの解説と非同期への適用 - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2014/01/12
    generator便利だけどすのまま使うにはちょっと面倒。んで、co(Jxckさんの教育用サンプルじコードじゃなく本家の方)が凄い便利なんだなこれが。
  • LTSV の Stream Parser を Stream2 で書いてみた - Block Rockin’ Codes

    Update 2013/02/12 JSON => JSON Object に(JSON string でないものは)修正 LTSV LTSV が流行っていたんですが、完全に乗り遅れて Node も Go も実装は出てしまいました。 Node の方は sasaplus1 さんのものが こちら にあるんですが、パーサ関数のみで Stream ではなかったので、 Stream 実装を書いてみました。 ltsv-stream Jxck/ltsv-stream · GitHub npm でインストールできます。 npm install ltsv-stream Stream2 Node での Stream の重要性は、このブログでも何度か書いてきたと思いますが、この Stream は Stream2 という新しい実装に変わりつつある (Stability: 2 - Unstable, v0.9 以降

    LTSV の Stream Parser を Stream2 で書いてみた - Block Rockin’ Codes
  • 非同期と next() - Block Rockin’ Codes

    intro この記事は、 東京Node学園祭2012 アドベントカレンダー : ATND の 3 日目の記事です。 (日付変更線は、はてな時間を採用しております。。 ごめんなさい m(__)m) 非同期と next() next() とは、 Express や Connect 、 Mocha 、 そして一部のフロー制御ライブラリで使われている、 関数のことをさしています。 今回は、これがどういう機能で、どういうふうに実装されているのかをスクリーンキャストで紹介します。 vimeo next() at async flow control from Jxck on Vimeo. まとめ 今回書いたコードはこちらです。 https://gist.github.com/3906371 実装方法は色々あるかと思いますが、だいたいこんな感じで実装できて、使うことができる、 わかってしまえばそんなに難

    非同期と next() - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2012/10/18
    シンプルなフロー制御
  • WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes

    intro なんだかんだ WebSocket を使ってるのに、 WebSocket サーバを自分で書いたことが無かったので、RFC も落ち着いてきたここらで、仕様を読みながら実装してみようと思いました。 "WebSocket サーバ 実装" とかでググると、 Socket.IO とか pywebsocket で WebSocket アプリ作って、「WebSocket サーバを実装」みたいなタイトルになってることが多いみたいですが、 (Apache に PHP で HelloWorld して、「HTTP サーバ実装しました」とは言わないよね。) この記事では、 WebSocket プロトコルをしゃべるサーバ自体を実装します。 といっても、全部やるのはちょっと大変だったので、基的なテキストメッセージのやりとりの部分だけやって、エコーサーバができるところまでやりました。 完成版のソースは以下で

    WebSocket サーバの実装とプロトコル解説 - Block Rockin’ Codes
  • Socket.IO アップデートと新プロダクト(Q-conf 編) - Block Rockin’ Codes

    追記 11/11/22 コメントに頂いた Draft とフォールバックの表記を修正 文 この手の話に統一したタイトルが欲しいんですが、先が見通せないのでどういうタイトルがいいのかわからないでいます。。 今回は最近の Socket.IO 周辺のアップデートについてまとめます。 QConf@SF まず、 Qconf@SFGuillermo が Socket.IO について重要なトークをしています。 資料は以下。 http://qcon-sf.nodejitsu.com/ この発表とともに LearnBoost はいくつかの新プロダクトを発表しました。 LearnBoost/websocket.io · GitHub LearnBoost/engine.io · GitHub LearnBoost/browserbuild · GitHub guille/latency-io · Git

    Socket.IO アップデートと新プロダクト(Q-conf 編) - Block Rockin’ Codes
  • Socket.IO と Express でセッションの共有 - Block Rockin’ Codes

    Socket.IO のサーバは v0.7 からスタンドアローンでも立てられるようになりましたが、 Express のサーバ上に Socket.IO のサーバを同居させる構成は多いと思います。 しかし Socket.IO は Express が HTTP で確立したセッションとは別のコネクションを確立するため、 例えば、 Socket.IO で接続したユーザが Express で認証したユーザかどうか等が判別できません。 そこで、 Socket.IO で接続を確立時に Express のセッション用の Cookie を取得して、接続を識別できるようにし、 さらに Socket.IO でのやり取りが長くなっても、その間にセッションデータが切れることが無いように、更新する必要が有ります。 Socket.IOv0.7 を用いてこれを実現する方法が、こちらで紹介されていたので、試してみました。 So

    Socket.IO と Express でセッションの共有 - Block Rockin’ Codes
  • Socket.IO API 解説 - Block Rockin’ Codes

    追記 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 対応について追記 11/9/27 タイトルを Socket.IO API 解説に変更 11/9/27 翻訳サイトリンク追加 公式マニュアル翻訳サイト そういえば公式サイトの翻訳をフォークしたリポジトリで、それなりの更新頻度でやってます。 リポジトリの wiki も地味に訳しててこっちは結構役に立ちます。記事と合わせてどうぞ。 家 http://socket.io/ 翻訳ページ http://jxck.github.com/socket.io wiki https:/

    Socket.IO API 解説 - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2011/07/31
  • truthy, falsy の訳について考えてみた。 - Block Rockin’ Codes

    追記 twitter 経由で、id:mnicovideo さんがこの件を id:dankogai さんに質問されました。 @mnicovideo: @dankogai さんならtruthy、falsyをどう訳したり説明したりします?訳に関しては真、偽でも文脈から意味を想像できるからいいのかなと自分は考えたんですけど。 URL 2011-07-08 12:40:54 via web to @dankogai そしてそのレスポンスとして id:dankogai さんが以下のようなエントリを上げてくださっています。 404 Blog Not Found:"-y"は「っぽい」って訳していいっぽい 間接的になってしまいましたが、思わず弾さんに質問できた形になりました。弾さんありがとうございます! 内容としてはタイトルの通り「〜っぽい」が正解だろうということです。 そう。「悪い」のは原文なのだ。 だか

    truthy, falsy の訳について考えてみた。 - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2011/07/08
    辞書にも載ってない単語だが趣ある表現だと思うので、truthy,falsyのまま記述して、疑問に思う人向けに注釈とか用語ページで軽く説明するに1票。むしろtruthy,falsyを流行らせてそのうち辞書に載ることを目指すw
  • require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes

    [修正] コメントで指摘されたように、回答4の訳が間違っていたので訂正しました。 Node の ML に以下のような質問が投稿されました。 What is the meaning of require('events').EventEmitter.call(this) 内容としては。 「以下のようなコードがあったんだけど、これってどういう意味?」 var util = require("util"); var events = require("events"); function MyStream() { // ここの意味がよくわからん、これは `new MyStream` と同じに見えるんだけど違うの? events.EventEmitter.call(this); } util.inherits(MyStream, events.EventEmitter); var steam =

    require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2011/06/21
    ふむ、あとでもっかい読む
  • Socket.IO v0.7 のロードマップと新機能 - Block Rockin’ Codes

    Node と言えば、Socket.IO といっても過言ではないほど、Socket.IO は Node にとって大きい存在です。 先の NodeConf で、この Socket.IO の作者 [twitter@rauchg] より、 Socket.IO v0.7 にむけたロードマップについての発表がありました。 新機能や API の改善等、重要な変更があるようなので一部を紹介したいと思います。 資料は以下。 Socket.IO(0.7) (注 2011/05/31 現在 v0.7 はブランチで開発中であり、以下の紹介は上記資料をもとに書いているため、実行確認はしていません。 正式にリリースされた場合は、実装をもとに別途エントリを作成すると思うので、このエントリ自体は更新されない予定です。) API の改善 サーバインスタンス これまでは、ソケット通信を確立するためには、 http サーバイン

    Socket.IO v0.7 のロードマップと新機能 - Block Rockin’ Codes
    y-kawaz
    y-kawaz 2011/06/01
    チャンネル対応とセッション共有、待ってました!
  • JSConf, NodeConf, Joyent に行ってきました。 - Block Rockin’ Codes

    行き先 JSConf, NodeConf, Joyent に行ってきます。 - Block Rockin’ Codes すっかり報告が遅くなりましたが、無事に行ってまりました。 かなり充実した旅ができたし、当に行ってよかったと思えました。 JSConf US - May 2-3, 2011: Packing up and heading west, Portland Oregon. Moduletopia! 404 - Page not found - Bocoup 404 - Page not found - Bocoup ログ 今回の旅ではあまりにも色々なことがあり過ぎたので、各日ごとに日記というか垂れ流しな感じで、 Tumblrの方にログを残しています。こちらを見ていただけると詳細がわかるかと。 Jxck's OutPut - JSConf/NodeConf/SFの旅(1日目) J

    JSConf, NodeConf, Joyent に行ってきました。 - Block Rockin’ Codes
  • 1