intro nodebrew は バージョンアップの速い node.js を、複数バージョン管理するためのツールです。 ruby の rvm や、 python の virtualenv、 perl の perlbrew などの node.js 版と思ってもらえれば良いです。 自分はこれまで nvm を使っていたんですが、今年初めあたりから全てのマシンで nodebrew に乗り換えました。 今日はこの nodebrew を紹介します。 既存の node.js の環境管理 既存の、ものとしては nvm nave n nodeenv などがありました。 それぞれにあった問題については、過去に愚痴を書いています。 簡単にまとめると以下です。 nvm bash向けに書かれてて、zshなどと相性が悪い場合がある。 nave node へのパスを通した子shellを起動するタイプで、子shellとい
1億総スマホが近づいたこの頃に、JavaScriptのMVCフレームワークに何を使うか? node.jsと使ってみたいウェブアプリのフレームワークの候補を14選んでみました。 MVCフレームワークといっても、純粋なMVCだけではなく、MVVM、MVC2、MVPなど広義のMVCフレームワークを含みます。成熟したフレームワーク backbone.jsのように一定の歴史のあるものや、express.jsのようにnode.jsでのデファクト・スタンダードになっているようなものを含め、今すぐプロダクション環境で使用できる成熟度があると思われるフレームワークをまとめます。 Backbone.js http://documentcloud.github.com/backbone/ 古参のフロントエンド向けMVCフレームワーク。 node.jsに限らず、Rails等のフレームワークでもフロントエンド側の
はじめに node.js の mecab addon 作った - 凹みTipsというタイトルで前に MeCab の Node.js モジュールを作成しました。MeCab モジュールは他の人の手で作られたものが npm や github に幾つか上がっていますが、node-waf でコンパイルする古いものだったりします。 MeCab なので、非同期アドオンの作成も覚えたのと、初 npm 登録もしてみたいと思い、ちょっと作ってみました。 インストール $ npm install mecab-async コンパイルには mecab はもちろんのこと、boost も必要です。 npm : mecab-async github : hecomi/node-mecab-async · GitHub 使い方 コード var MeCab = new require('mecab-async') , mec
この記事は東京Node学園祭2012 アドベントカレンダーの8日目の記事です。 この記事を書こうと思った理由 Node.jsに関するWeb上の記事を読んでいると、「Node.jsは静的コンテンツに弱い」とだけ書いてある記事をよく見かけます。有名なところだと、LinkedInのNode.jsのパフォーマンスに関する10個のTipsの3番目のTipsに"Don't use Node.js for static assets"とばっちり書いてあります。 確かにCDNやNginxに比べれば、Node.jsは静的コンテンツの扱いが遅いとは思います。しかし、それは LinkedIn くらいの超大規模なトラフィックがある場合には問題になるとは思いますが、小〜中規模なサイトでもNginxは必須なほど遅いのでしょうか?512MBしかメモリのないVPSにNginxとNode.jsを入れてやりくりすることがホン
VMware上、LAN上、インターネット上のCentOS6.3で動作確認済み。WebサーバはApache。 クライアントでの確認は以下の通り。 Mac, WindowsのChrome 22, Firefox 16, Safari 6, Opera 12(動作不可), IE 9(動作不可). iPad2(iOS 5.1.1), new iPad(iOS6), iPhone4~5(iOS6)のSafari, Chrome. Galaxy S2(Android2.3.3)のブラウザ(動作不可). 目次WebSocket Chat サーバの実装WebSocket Chat クライアントの実装HTMLJavaScriptWebSocket Chat サーバの起動とアプリの実行WebSocket Chat サーバの実装 // VMware上のCentOS6で動作させたときの例 // 8888番ポートで
うめぇヨーグルトソースでもいかがですか。個人差にもよりますが。もしよろしければ。 お久しぶりです。 最近うんめぇ〜と思ってるヨーグルトソースがあるので、書いていこうと思います。 ヨーグルトとハーブ類をもりもり使うので、そういうのが食べられない方にはうんめぇソースではないです。ごめんなさい…。もしよろしければお茶だけも…旦~ 【用意する…
最近、Coffeescript + node + MongoDB っていう構成にはまっていて、いろいろこの構成で書いている。 nodeは本体では、utf8しか人間が読む文字コードに対応していないので、それ以外の文字コードを扱うには自前で用意する必要がある。 これから作る日本語サイトでutf8以外を使うところはあんまりないと思うけど、昔からあるサイトはutf8じゃない。(mixiはEUC-JP, 2chはSJIS) 某サイトのログを読み込むスクリプトを書いていて、使う場面がそこそこありそうだったのでメモしておく。 node-iconv っていう名前そのままnodeでiconvを使うライブラリがございますので、こちらを使います。ありがたやありがたや。 https://github.com/bnoordhuis/node-iconv requestという、これまたHTTPリクエストをきれいに扱え
普段自分はHeroku+Sinatra+Slim+SassでWebアプリを作っているんだけど、Node.jsやCoffeeScriptについてちょっと調べてたら、Herokuを使う前提で、Node.js(Express), Jade, Sassという組み合わせでCoffeeScriptで書けば、前述のSinatraアプリとほぼ同じような感覚で書けそうなことに気づいて、ぐっとNode.jsに興味が沸いた。 ということで、さっそくHerokuを使ってNode.jsアプリを作ってHello worldしてみた。今回の記事を最後まで行くと、これが出来上がる。ソースコードはGitHubに。 各種インストール この記事ではNode.jsとExpressだけを使ってHello worldする。今回はJadeやSass, CoffeScriptは出てこない。まず、Node.jsとExpressを使うのに必
本書について 本書は、Node.jsでのアプリケーション開発を始めようとする皆さんに、 ”高度な”JavaScriptについて知るべきあらゆることを解説します。 よくある”Hello World”チュートリアルの、はるか上をいくものです。 ステータス 貴方が読んでいるのは、本書のいわゆる最終版となります。 つまり本書は、間違いが見つかった場合や、 Node.jsの新バージョンにおえる変更点を反映する時のみ、改訂されます。 最終更新日は2012年2月12日です。 本書内のコードのサンプルは、Node.jsのバージョン0.6.10でテストしています。 ターゲット読者 本書は、Ruby、Python、PHP、Javaのような、少なくともひとつのオブジェクト指向言語を理解しており、 JavaScriptについてはあまり経験がなく、Node.jsについては全く経験がないという、 著者と同じようなバッ
node.js + expressの環境で、例外やエラーが起きたときにどう対処するのが正解か、これまでわかりませんでした。断片的には、以下のexpressの公式ページに書いていますが、これだけではHTTPステータスコードでいうところの、404に対処できません。 http://expressjs.com/guide.html ページが見つからないパスってどう書くんだろう?app.get(’*’, function (req, res) {});だろうか?など、いろいろ試してみましたが、やっつけ仕事感があってしっくり来ません。 で、どうしたかというと、app.useという関数があるみたいですね。これを使えば、パスが見つからない場合、すべてこの関数がキャッチしてくれます。 エラー内容に応じて表示内容を変えるようにしています。さらに、後からもエラー内容を確認できるように、データベースに保存していま
Just browsing Stack Overflow? Help us improve your experience. Sign up for research
express2.5からexpressコマンドでプロジェクトつくると./routesってディレクトリにルーティングが書かれるようになってる。規模が大きくなるほど煩雑になるので、ルーティングのファイルは分けたほうがいいと思うけど、これでも個人的にはやや微妙。 var express = require('express') , routes = require('./routes') ... app.get('/', routes.index); こんな感じになってるわけだけど、これだとルーティングが増えてコントローラーのファイルをわけたいときに、毎回requireも書かないといけない。つまり var express = require('express') , routesIndex = require('./routes/index') , routesEntry = require('
Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/test'); const Cat = mongoose.model('Cat', { name: String }); const kitty = new Cat({ name: 'Zildjian' }); kitty.save().then(() => console.log('meow'));Mongoose provides a straight-forward, schema
Mongooseを試してみましたが、mongoDBかなり扱いやすいです。 スキーマレスなドキュメント指向データベースはRDBMSのようなカラムをいちいち定義しなくていいので柔軟にデータベースが使えます。 ドキュメント指向データベースになれるとRDBMSはもう使えないかも・・。 1. mongoDBのインストール 前回の記事参照。 → MongoDBインストール手順 2. mongooseのインストール コマンド一発でOKです。 $ npm install mongoose 3. コードサンプル // MongoDB // MongoDBサーバーの設定 var mongoose = require('mongoose'); var crypto = require('crypto'); // Schemaを取得 var Schema = mongoose.Schema; // ModelのS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く