ぼちぼち日記

おそらくプロトコルネタを書いていることが多いんじゃないかと思います。

Node.js

io.js-v1.0.0のリリースによせて

1. 祝 io.js-v1.0.0/1.0.1 のリリース NodeやJSの情報にアンテナを張っている人なら知っているとは思いますが、昨日無事「io.js」がリリースされました。 リリース直前のバグ修正の追い込みやライブラリアップデートのごたごたは、かつてのNodeのリリースそ…

Node-v0.10.34がはまったクロスルート証明書とOpenSSLの落とし穴

既に12月22日ですが、このエントリーは、Node.js Advent Calendar 2014の13日目のエントリーです。 いや私が書くの遅れたわけじゃないですけど…(言い訳)、ちょうどタイムリーなネタがあるので、先日リリースされたNode-v0.10.34で発生した(現在も継続してい…

Node.js-v0.10.28でDate.now()が爆速になった

1. Node-v0.10.28とNode-v0.11.13のリリース 先週末、安定版のNode-v0.10.28と開発版のNode-v0.11.13がリリースされました。*1 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElemen…

Node-v0.12からデフォルトでES6の一部が使えるようになった(WeakMap解説編)

このエントリーは、4月24日(木)に行われる「東京Node学園 12時限目」の発表ネタを先出ししたものです。 1. はじめに、 過去2回、Node-v0.12における ES6(ECMAScript6)関連のエントリー*1を続けて書きました Node.jsにPromiseが再びやって来た! Object…

Object.observe()とNode.jsのイベントループの関係

1. はじめに 最近 Chrome で Object.observe() がデフォルトで有効になりました。 Reland "Enable Object.observe by default" again コミットログを見ればわかりますが、2回 revert された後の3度目の正直のコミットです。確かに Object.observe() は非常に…

Node.jsにPromiseが再びやって来た!

tl;dr サンプルコードを付けたら記事がかなり長くなってしまったのでご注意下さい。 Node.jsの current master で V8がアップデートされ ES6の Promise が使えるようになりました(要オプションですが)。Promise を使うと Node.jsの非同期処理がどのように…

Chrome Beta for Android で Client Hints を試す

この記事は、HTML5 Advent Calendar 2013の17日目の記事です。 1. デバイスピクセル比の悩み 最近 Retina を始めとした高解像度ディスプレイの普及と進歩は凄いものがあります。私はデザインの才能が無いのでフロントエンドの設計をする機会はほぼないでしょ…

隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決

この記事は、 Node.js Advent Calendar 2013 - Adventar の12日目です。 1. ありがとう Ben Nodeの情報に普段アンテナを張っている人は既にご存じでしょうが、Nodeコア開発の中心的エンジニア Ben Noordhuis がNodeのコアチームから離れました。Node.jsの公…

Node.js-v0.10リリースアナウンスの簡単な解説と感想など

1. はじめに、 昨年6月末に node-v0.8がリリースされて8か月半ほど経って node-v0.10 がリリースされました。私もいくつかパッチがこのリリースに採用されていまして、ちょっと感慨深いです。 当初1月末のリリース予定でしたが、やっぱり今日まで延びました…

書評:Node.jsプログラミンガイド (Node本を書くのはホント大変なのよ)

著者の高橋登史朗さんより献本して頂きました。ありがとうございます。 今まで書評などしたことがないのですが、せっかく頂いたので感想など書きたいと思います。実は私は、「Node.js入門」の執筆を始めてから和洋問わずNodeに関連する書籍や雑誌記事を読む…

Node.jsで、HTTP のステータスコードをすばやくしらべる!

これ以上短くできるかなぁ? 追記: やっぱり Object.key で回さなくて素直に for in ですかねぇ。(前の消しました) #!/usr/bin/env node var a = process.argv[2]; var o = require('http').STATUS_CODES; for(var k in o) { if (!a || !k.indexOf(a) || o…

Node API のクラス図を公開しました。

東京Node学園祭2012 アドベントカレンダー 13日目の記事です。 はじめに、 自分が Node.js を一番最初に使い始めた頃、Hello World のサンプルコードを動かしたのはいいけど、その後にNodeマニュアルを読んで勉強し始めたら内容が全然理解できず、挫折しちゃ…

Node.js-v1.0 リリースに向けてどうなる?

9/24にサンフランシスコで Dataweek2012のカンファレンスにてNodeSummit が開催されました。ちょうど今朝 Node の Gatekeeper である isaacs のプレゼンがあり、資料を見てみると今後の Node に関する話題(node-v1.0のリリースに向けて)が記載されていたの…

Ninjaを使ってNode.jsをビルドする

今朝 Node.js でマージされたPull Request「 add configure option to build with ninja 」によって、Node.js が Ninja ビルドシステムに対応になりました。 Nodeの PaaSでは Nodejitsu や Node Ninjaなど忍者シリーズで命名されたものが思い当りますが、実…

GREEが悩むNode.jsの問題を考えるヒント

先日 GREEを支える大規模インフラテクノロジー」-GREE Platform Summer Conference 2012 という記事が公開され、GREEのCTOの藤本さんが、 javascriptをサーバーサイドでも使うケースが多くなってきていて、必然的にnode.jsを使うことになるが、大きく3つの…

ネストされたドメインの奇妙な振る舞い

はじめに ちょっと前の nodejs のメーリングリストで 「Odd behavior of nested Domaons」 https://groups.google.com/d/topic/nodejs/i8NjWjVvk2I/discussion という質問が投げかけられていました。 私も内容が気になり、動作結果が非常に奇妙に思えたので…

Node.js で Hello SPDY を作る

SPDY が流行っている SPDY が流行っています。当初 Chrome だけ使えていたのが FireFox のサポートするようになり、Google からの apache モジュールの提供や nginx のサポート予定などここ最近で SPDY に関する話題が急に増えています。Node.js では昨年既…

node-v0.6.18からエラー表示がわかりやすくなります。

今まである程度 Node.js を使ったことがある方は、以下のエラーメッセージを1度や2度目にしたことがあるのではないでしょうか。 node.js:201 throw e; // process.nextTick error, or 'error' event on first tick これは以前の記事 Node.js のエラーメッ…

node.js Domain 時代のエラー処理のコーディングパターン

id:kazuhooku さんの記事 node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理。 ナイスです! なんと素晴らしいタイミングでのブログでしょうか!「東京Node学園 5時限目」で id:koichik さんのプレゼンで node…

nodetime がローカル環境で使えるようになった

先日の記事で 「 nodetime は、nodetime.com のサーバにデータを送ってしまうのでローカル環境で使えない。パッチを送ったけど断られてしまった。 」と書きましたが、今朝 nodetime をバージョンアップして nodetime.com のサーバに送らずにデータを取得でき…

nodetime が動いている仕組み

ちょうど昨日ですが、nodetime というなかなか面白いモジュールが公開されました。https://nodetime.com/npm で nodetime モジュールをインストールした後に自分のプログラムの先頭に、 require('nodetime').profile(); を付け加えて実行すると、標準出力に …

gyp による Addon 向けネイティブモジュールの作成

ちょうど今朝 node-v0.7.6 がリリースされました。このリリースではアドオン周りを TooTallNate さんがいくつか修正を行い、なんとか今後の Node.js のネイティブモジュール形が見えてきましたので、その辺の紹介をします。現状わかっている範囲でネイティブ…