2013-02-01から1ヶ月間の記事一覧

ltsviewのnode.js実装を書いたよ

GitHub - naoya/perl-Text-LTSV: Text::LTSV - Labeled Tab Separated Value manipulatorのnode.jsでの実装を書いてみました。 機能的にはほぼ同じ(JSONでの出力とか、タグの出力ないけど)です。 微妙に違うのは、-f, --fileでファイルを指定したり、-s, -…

参照とか

ちょっとはまった。 function Aaa() { this.list = []; } Aaa.prototype.test = function() { var aaa = this.list; this.list = this.list.concat([1,2,3]); console.dir(this.list); console.dir(aaa); }; (new Aaa).test(); [ 1, 2, 3 ] []this.listはcon…

LTSVにStreamを付けたよ

ltsv-streamから遅れること約2週間、やっとltsvにcreateLtsvToJsonStream関数を追加しました。 Stream手強かったです。まる。 index.js var ltsv = require('ltsv'), ltjs = ltsv.createLtsvToJsonStream(); process.stdin.pipe(ltjs).pipe(process.stdout);…

Streamは手強い

split-stream - npmがやっとできた…… ltsv - npmが出来てから2週間…… もっと精進せねば。ぐぬぬ。

続・CountStream

以前作成したCountStreamを再度書き直してみた。 今度のやつはprocess.nextTickで一行ずつdataを発行するようになってます。 counter_stream.js var stream = require('stream'), util = require('util'); function CounterStream() { stream.Stream.call(th…

続・WritableStream

pipeしたときのpipeイベントをごにょごにょしなくても、いい感じにやってくれるみたい。 以下はソースコード。 wstream.js var stream = require('stream'), util = require('util'); function WStream() { var that = this; stream.Stream.call(this); this…

はじめてのWritableStream

引き続きStreamのお勉強をしております。今日はWritableStreamを。 wstream.js var stream = require('stream'), util = require('util'); function WStream() { var that = this; stream.Stream.call(this); this.writable = true; this.buffer = ''; proce…

peerDependenciesって?

とりあえず { "name": "name", "version": "0.0.0", "dependencies": { "chai": "~1.5" }, "peerDependencies": { "chai": "~1.4" } } って書いて $ npm install ってやると怒られるっていうのはわかった。

起動中のプロセスのデバッガを有効にしてデバッグする

node.jsで普通に起動したプロセスを後からデバッガを有効にしてデバッグする方法があるのは知ってたのですが、実際にやったことが無かったので試してみました。 普通に起動させる とりあえずHTTPサーバを書きます。 index.js require('http').createServer(f…

CountStream

読み込んだStreamを行ごとに分けて、先頭に行番号を出力するStreamを書いてみた。 count_stream.js var stream = require('stream'), util = require('util'); function CountStream() { stream.Stream.call(this); this.readable = true; this.writable = t…

はじめてのWritable Stream + Readable/Writable(Both?) Stream

昨日に引き続き、Streamを書いてました。ReadableもしくはWritable単体だと理解してるつもりなんだけど、両方を扱うStreamを書いてると、途端に???って感じになる…… そしてWritable Streamのソースコードをなくしたw Readable/Writable Stream line_stre…

はじめてのReadable Stream

そろそろstream2が出る(というか開発版はもうstream2使えるけど)のにstream1すら全然理解してないので、いろいろ調べつつ書いてみたのです。 いろんなものを読んでも読んでもさっぱりわからない……状態だったのですが、とりあえず実装してみて若干わかった…

LTSVを処理するモジュールを書いたよ

02/08にLTSVについてのことを知って、http://ltsv.org/を見てみたらPerlとRubyの実装しかなかったのでnode.jsでの実装を書いてみました。 コードを書きつつ、他のPerlとかRubyの実装どうなってるんだろーと思ってページをリロードしたら、なんか別言語での実…

httpsのアクセスをnginxでプロキシしてnode.jsに渡す

httpsアクセスを前面に立てたnginxで受け取って、node.jsに渡すというのをやってみました。 かなり面倒そうだなーと思っていたのですが、それほどでもなかったです。 環境:OS X 10.8.2 / node.js 0.8.17 / nginx 1.3.12 証明書の作成 httpsサーバを実行して…

はじめてのレプリケーション

redisでレプリケーションをやったことがなかったのでやってみました。 ちょっと試したいだけならとっても簡単。 環境:OS X 10.7.5 / redis 2.6.9 インストール 適当な場所にインストールします。 $ wget http://redis.googlecode.com/files/redis-2.6.9.tar…

1月のまとめ

2013年明けたと思ったら、もう1ヶ月経つとか早いねえ…… この調子でどんどん歳を取っていくのかと思うと、のんびりしてられないような気がする。 やったこと hatena.vimを試した zを試した 白MacBookをSnow LeopardからMountain Lionに Server-Sent Eventsを…

C-dをtrapする

sh

trap 'echo exit' EXIT とか書けばいいみたい。 trap 'eval `/usr/bin/ssh-agent -k`' EXIT とか書いたらtmuxでC-d押すたびに発動するから逆に困る事態に…… bash_logoutに書きなおしたけど。