CONTRIBUTING.mdっていうファイルを置いとくと、Pull Request出す画面に、注意書きみたいのをだせるらしい。 https://github.com/blog/1184-contributing-guidelines こんな感じで書いとけばいいらしい。 https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md
aliasとunaliasというコマンドを追加したnodebrew v0.5.0をリリースした。 https://github.com/hokaccha/nodebrew 僕は常に最新版のnodeを使ってるわけじゃなくて一個固定のやつ(今はv0.6.6)を使ってて、必要な時に必要なバージョンをuseして、終わったらまたいつも使ってるバージョンに戻してる。っていうのはnpm install -gしたモジュールを毎回インストールするのがめんどいから。 んでそういうときに $ nodebrew alias default v0.6.6とかしとくとuseするときに設定したキーワードを使えるようになる。 $ nodebrew use default use v0.6.6ってできて嬉しい。あとは開発してるサービス名で使ってるバージョンをaliasしとくとかも便利だと思う。 ちなみにaliasの情報は
Node.jsでつくったサービスをJenkinsで自動テスト走らせるようにした。gitでpushしたら自動でテストが走って失敗したらメールとかチャットに通知してくれる。便利。 インストール サーバーはUbuntu(v10.04@sakura vps)なのでここに書いてある通りにする。 http://pkg.jenkins-ci.org/debian/ まずキーを取得。 $ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -次に以下を/etc/apt/sources.listに追加。 deb http://pkg.jenkins-ci.org/debian binary/んでインストール。 $ sudo apt-get update $ sudo apt-get insta
git push/pullは何気なく使ってるけど実はよくわかってなかった。ことのきっかけはこういう質問。 hogeというリモートブランチをローカルのhogeブランチにもってきたい hogeをローカルのmasterにはマージしたくない pullでなんかこんな感じでいけそう? $ git pull origin hoge:hogeでもこれは間違えで、なぜか今いるブランチ(master)にhogeがmergeされるし、期待してる動作じゃない。正解はこう。 $ git branch hoge origin/hogeもしくはチェックアウトも同時にするなら $ git checkout -b hoge origin/hogeこう。自分は普段後者のやり方でやってたけど、なんで上のはダメで下のが正解なのか説明できなかったのでちゃんと調べてみた。 入門Gitと実用Git、あとhelpを参考にした。 ブランチ
やってみた。Travice CIにログインしたら自分のGithubのプロジェクトが一覧で出るのでCIしたいプロジェクトをONにする。んでgithubのプロジェクトに.travis.ymlおいてpushするだけ。超簡単。 http://travis-ci.org/#!/hokaccha/node-chain-tiny .travis.ymlはこんなん。 language: "node_js" node_js: - 0.4 - 0.5 - 0.6 テストはnpm testで実行されるっぽいのでpackage.jsonのscripts.testのとろろに実行したいコマンドを書いとく。 これでpushする度にテストしてくれて結果をメールとかで知らせてくれる。 chain-tinyはnodeの0.5と0.6でnodeunitの指定してたバージョンが古くてテスト落ちてた。こういうの気づきにくいのでホン
JavaScript Advent Calendar 2011 (フレームワークコース)6日目です。この前のエントリーで予告したとおりmochaを使ったフロントエンドでのテストについて書きます。ちなみにこの前エントリー書いたときは0.2.0だったんですけどすでに0.3.2です。 必要なファイルを読み込んでこんな感じで書きます。jQueryに依存してるみたいなのでjQueryも読み込みます。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>mocha sample</title> <link rel="stylesheet" href="mocha.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.m
JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)3日目のhokacchaです。Node.jsのテストフレームワーク、mochaについて書きます。 mochaはTJが新しく作り始めているテストフレームワークです。ドキュメントを見ればできることは大体書いてありますので、ドキュメントを元にどういうことができるのかを解説していきます。現時点でのバージョンは0.2.0です。 http://visionmedia.github.com/mocha/ shouldについて まずmochaでどういうことができるかの前にshouldについて解説しておきます。mochaのドキュメントには特に説明もなくshouldが使われていて、shouldでどういうことができるかわかってないと、ドキュメントを読んだときにmochaの機能なのかshouldの機能なの
perlでいうと if (-t STDOUT) { say 'tty'; } else { say 'not tty'; } こういうことがやりたくてnodeだとこうするといけるみたい。 var tty = require('tty'); if (tty.isatty(1)) { console.log('tty'); } else { console.log('not tty'); } 1はSTDOUTね。これで $ node test.js tty $ node test.js > foo.txt $ cat foo.txt not ttyってなる。 標準出力に色つけて出力すると、ログとかに書き出したときエスケープシーケンスが入るのでそういうときに使えるかな。
前回に引き続きconnect.jsを読む。今回はconnect/http.js。ここがconnectのコア。 まず最初にコンストラクタ。ここでhttp.Serverを継承してる。んでhttp.Server.call(this, this.handle)ってやってるのでリクエストハンドラをthis.handleにしてる。リクエストは全部このthis.handleで処理されるということになる。 var Server = exports.Server = function HTTPServer(middleware) { this.stack = []; middleware.forEach(function(fn){ this.use(fn); }, this); http.Server.call(this, this.handle); }; /** * Inherit from `http.
node-devがどういう仕組みでファイルを監視してるのか気になって調べたのでメモ。基本的にはfs.watchFileで監視するんだけど、ロードしてるモジュールも全部監視してるのが謎だった。 node.jsはrequireでモジュールをロードするときrequire.extensionsというのを見て、拡張子毎にコールバックが設定されていて、そのコールバックでモジュールを読み込んでるみたい。 node本体のソース見るとこんな感じ Module.prototype.load = function(filename) { debug('load ' + JSON.stringify(filename) + ' for module ' + JSON.stringify(this.id)); assert(!this.loaded); this.filename = filename; this.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く