Facebookのほうでは2週間程前に告知していたのですが、2013年11月22日付けで株式会社オルトプラスを退職することとなりました。先週まで有給休暇を消化していて、今週の月曜日からは晴れて無職となっております。 今後はまだ未定です。時間はたっぷりあるのでゆっくり考えようかと。誰かお茶でもしませんか。
Facebookのほうでは2週間程前に告知していたのですが、2013年11月22日付けで株式会社オルトプラスを退職することとなりました。先週まで有給休暇を消化していて、今週の月曜日からは晴れて無職となっております。 今後はまだ未定です。時間はたっぷりあるのでゆっくり考えようかと。誰かお茶でもしませんか。
connect (express) は Ruby の Rack と同じようにミドルウェアを使うことで簡単に拡張する事が出来ます。このミドルウェアの使い方・作り方を知っているだけで express での開発が相当楽になりますので覚えておいて損は無いでしょう。 ミドルウェアを使う# ミドルウェアを express に組み込むには use メソッドを使います。つまり、普段よく使う bodyParser や cookieParser, logger なども実は connect のミドルウェアです。 var express = require('express') var app = express.createServer(); app.configure(function() { app.use(app.logger()); app.use(app.bodyParser()); app.use(
Node.js アプリをデプロイする場合、Heroku などの PaaS を使っているとすごく簡単なのですが、デプロイ先が VPS や専用サーバの場合、何かしらのツールを使ってデプロイをする事になると思います。 今回はデプロイツールに Capistrano を使うことにしました。ただ、Capistrano はそのままだと Rails 用になっているので、Node.js 用に少しレシピを書き換えます。ちなみに当初の予定では起動・監視ツールに Node.js製の Forever を使うはずだったのですが、v0.5系でうまく動作しなかったので急遽 Upstart で代用することにしました。他にも Upstart + God という組み合わせも良さそうですがまだ未検証。 # This program is free software. It comes without any warranty,
Node.jsで使えるTDD, BDDフレームワークはいくつかあるのですが(nodeunit, Jasmine, etc)コールバック・イベント周りのテストのしやすさとCoffeeScriptが利用出来る Vows が非常に熱い感じです。 特にテストコードをCoffeeScriptで(別途コンパイルせずに)そのまま記述出来るのは、テストコードの可読性を考えると大きなメリットだと思います。 Vowsのインストール# VowsはNode Package Manager(npm)でインストールする事が出来ます。vowsコマンドを有効にするためにカレントディレクトリの node_modules の他にグローバルにも入れておきましょう。 npm install vows npm install -g vows Vowsを使った開発手順# サンプルとして自分のフルネームを返す事しか出来ないPerson
Node におけるスケールアーキテクチャ考察(Scale 編)というエントリーを読んで、RedisはPub/Sub型通信をサポートしているという事を知りました。エントリーでも言及されているように、Pub/Subを使えば Node.js + WebSocket サーバをスケールする際に、中継サーバの役割を果たす事が出来るはずです。 そんな訳で実際に Node.js と Redis を使って Pub/Sub の実験を行なってみました。ユーザが別々のNode.jsサーバに接続していてもWebSocketを通してメッセージのやり取りを出来るようにします。 イメージとしてはこんな感じです。 下準備# Ubuntuの場合は apt-get で1発でインストールする事が出来ます。 $ sudo apt-get install redis npmでredisモジュールをインストールします。 $ npm i
RESTful API の作成に特化したマイクロフレームワーク grape の存在を知ったので調査してみる事にしました。API の実装 に Rails の ActionController は重厚すぎる、Sinatra は軽いけど手間がかかる。。。という中で作られたこのフレームワーク、はたしてその実力は… grape の特徴# grape の特徴は概ね以下の通りです。grape 自体が Rack アプリケーションなので Rails3 に組み込むことが出来ます。というよりは組み込んで使うのが前提のようです(勿論単体でも動きます)。 Rack アプリケーション Sinatra ライクな DSL 自動で JSON にシリアライズ(#serializable_hash または #to_json が存在すればOKみたい) grape を使ってみる# 特徴を掴んだところで、実際にインストールして使って
私の所属している会社では、2年程前にバージョン管理システムをSubversionからGitに移行し、現在まで開発フローを試行錯誤してきました。ようやく形になってきたということで、守秘義務に接触しない程度に紹介&考察していきたいと思います。 形になってきたとはいえ、まだまだ試行錯誤中ですので色々なツッコミは大歓迎です。 現在の開発フローの俯瞰図# 現在の開発フローを俯瞰してみると大体下記図のような感じになっています。途中で図を書くのが面倒になった都合上、Jenkinsさんが1人しか居ませんが、実際はmasterブランチの他にreleaseブランチも監視してもらっています。 以降この図を元に話を進めていきたと思います。 Gitoriousを利用して自由に開発# GitoriousというGitHubに似たサービスがあります。このGitoriousはオープンソースとしても公開されていますので社内に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く