インストールからモジュールによる拡張まで!
var Point = new StructType('Point', { x: UInt32, y: UInt32 }); var RGB = new StructType('RGB', { r: UInt8, g: UInt8, b: UInt8 }) var Pixel = new StructType('Pixel', { point: Point, color: RGB }) var Triangle = new ArrayType('Triangle', Pixel, 3) //--> ‹Triangle›(33b) [ 3 ‹Pixel›(11b) | point: ‹Point›(8b) { x: ‹UInt32› | y: ‹UInt32› } | color: ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› } ] va
こんにちは KOBA789 です。最近はおうちクラウドにご執心です。あ、おうちクラウドについては後日書きますね(伏線)。 mocha でカバレッジが取れると聞いて ほうほう。それでそれで? mocha --reporter html-cov > coverage.html && open coverage.html あれー、おっかしいなー とりあえずググります Mocha test coverage なるほど。 こうすればよいそうです $ sudo npm install -g jscoverage $ cd ./your/project/dir/ $ jscoverage ./lib ./lib-cov 自分はなんか npm からインスコできなかったので Github からソース落としてビルドしました。 で、 まだやることはあって、TJ のブログには「index.js を書き換えろよ」っ
Tower.jsはフルスタックのnode.js用Webアプリケーションフレームワークです。 こ、これはやばい…。ついにnode.jsの時代が来るかもしれない、そう感じさせるWebアプリケーションフレームワークがTower.jsです。 インストールはnpmで簡単にできます。 まず新しいアプリケーションを作成します。 Scaffoldで簡単にコントローラ、モデル、ビューを生成。 生成された際の構成はこんな感じです。 towerコマンドのオプションです。 Webサーバを立ち上げ場合です。 Tower.jsはMongoDBをデータベースに、Redisはバックグランドジョブ、CoffeeScriptをメインの記述に使いつつ、Jasmineをテストフレームワーク、jQueryも使えるフレームワークです。メール、マイグレーション、MVC、RailsばりのO/Rマッピング、バリデーション、ルーティング、B
SequelizeはnodeJSで使えるORM npm install sequelizeでサラッとインストールできます.MySQL本体さえ入っていれば,すぐに使えます. 初期化 Sequelize自体は,requireして,必要な情報を与えてnewすれば簡単に初期化できます. var Sequelize = require('sequelize').Sequelize; var Seq = new Sequelize('データベース名', 'ユーザー', 'パスワード'); /* hostとかportを指定するときはこう var Seq = new Sequelize('データベース名', 'ユーザー', 'パスワード', { 'localhost', 3306 }); */ モデルをつくる 最低限のモデルの定義.ここではUserモデルに対して,文字列型のユーザー名を定義しました. va
nude.jsは画像をCanvasで読み込んでヌード画像か否かを判定するソフトウェアです。 裸が見たい!たくさんの画像の中からとにかく裸を見たい!と思う人はnude.jsを自動実行してみると幸せになれるかも知れません。 デモ画像です。もちろん裸ではありません。Scan Imageボタンを押します。 No nude判定です。当然です。 続いて二つの画像です。水着もありますが、やはりNo nude判定です。当然です。 おっ!ということでボタンを押すと見事Nude判定です(黒塗りはどうかと思う訳ですが、そこは致し方ありません)!イヤッホウ! nude.jsはHTML5を使って画像をスキャンし、それが裸であるか否かを一定のアルゴリズムで判定しています。裸であれば残し、でなければ消してしまうスクリプトを書くと幸せになれそうです。nude.jsはHTML5をサポートしたWebブラウザで飲み動作しますが
I’m currently in the midst of creating an application that utilizes Socket.IO for real-time communication between users. Using mocha and should.js I was able to test objects within my node app. However, I quickly found that there were some odd synchronization issues between clients that the test cases couldn’t cover. To test the interaction between clients I needed a way to programatically communi
node.jsでニコ生のコメントを取得してみる。意外に難しそうだかnetモジュールを使えば数行で書ける。 これとWebSocketを組み合わせたりすればHTML5でニコ生のコメントに対して反応することができるかも。 var net = require('net'); socket.connect(data.msPort, data.msAddr); socket.setEncoding('utf-8'); socket.on('connect', function() { console.log('connected'); socket.write('<thread thread="' + data.msThread + '" res_from="' + data.resFrom + '" version="20061206" >' + "\0"); }); socket.on('data
Node.jsの統合開発環境(IDE)「Nide 0.2」が公開された。Webブラウザでアクセスして利用するWebベースIDEで、ローカルにインストールして利用するほか、リモートサーバーにインストールしても利用できる。また、本バージョンからはスタンドアロンで動作する「Mac Application」版もリリースされている。 NideはNode.jsを使って作成された、Node.js向けのWebベースIDE。プロジェクトツリー表示、複数の言語向けのシンタックスハイライトとコード編集、リアルタイムでのプロジェクトツリーフィルタリング、HTMLプレビュー、NPM統合などの機能を持ち、ローカル、あるいはリモートサーバーにインストールして利用できる。ライセンスはMIT License。 Nide 0.2ではコマンドライン版に加え、Mac OS X上でスタンドアロンで利用できる「Mac applica
たまたま新環境にNode.js入れてたらv0.7.0がリリースされてたのに気がついたので、勢いで新機能を試してみた。 V8のバージョンが上がったとかもあるけど多分一番の目玉はIsolates(マルチスレッド)のサポートかな、と思う。開発ブランチでは他にもDomainsという機能も実装中らしいと聞いてたがそれはまだv0.7.0では使えないようだ。 Isolatesの使い方がドキュメントの方には載ってなかったのでソースをisolateとかthreadとかで探してみたところ、どうやらchild_processモジュールのspawnやforkのオプションに thread:true を渡してやればマルチスレッドを使ってくれるっぽいことが分かった。 シングルスレッドと非同期I/Oでシンプル&ハイパフォーマンスが売りのNodeだが、よく「マルチコアが使い切れない、重たいCPU処理したら固まるじゃんプギャ
先日、Stylusのコードをいじってたらグローバルリークがあったので、修正してPullリクエストしました。(TJが即マージしてリリース済みだよ!) リークを見つけたのは、StylusのテストコードにGlobalオブジェクト汚染を検出するテストがあってそれをたまたま走らせただけなのですが、このテストがシンプルかつ効果的でいいなと思いました。 https://github.com/LearnBoost/stylus/blob/master/test/run.js // Testの初期化時にデフォルトのグローバルオブジェクトのキーを保存。 var globals = Object.keys(global); ... // Testが終わったらグローバルオブジェクトの差分をチェック function done() { Object.keys(global).forEach(function(nam
※この記事は現時点での node.js 最新版 v0.6.6 に付属する npm 1.1.0-beta-4 を元にしています。 ※間違い等ありましたらご指摘いただけると幸いです。 npm は node.js のパッケージマネージャーですが意外と色々な機能が搭載されています。 「man を読め」とは良く言われますが、結構 ドキュメント を読むだけでも大変でした。 npm で使えるコマンドは以下の通りです。 adduser 対話的に username, password, email を登録します。.nvmrc に credential を保存します。後述の npm star する為にはこの登録が必要です。npm config set で username, _password, email をセットしているとデフォルト値として採用される?npm whoami した時に登録したユーザー名が表示
ほとんど自分のためのメモ。 サーバサイドJSを使っているとクライアントにwebsocket経由で渡したりmongodbやnstoreで永続化する際にピュアなJSONとしてデータを宣言しなおす必要があって面倒。 じゃあModelクラス自身が読み込み/書き出しできると嬉しいのでは。 coffee-scriptで書いてみた。 class Model _iparam_ : {} constructor : (data={})-> for k,v of @_iparam_ @[k] = data[k] or @_iparam_[k] toJson : (cls)-> return @toJson(@) if cls is undefined return cls unless cls instanceof Object json = {} for k,v of cls if typeof v is
libxmljsこれが結局本命です。普通につかいやすいです。 ドキュメンテーションとかはちょっとあまいかも。 elem.text('string') したいけどドキュメントには Getter ってかいてあるなーとおもってたけどソースよんだら Setter も用意されてた! みたいなのが普通にある。 libxml-to-jsXML to JavaScript object parser based on libxmljs なので、そもそも求めているものとちがいます。 Perl でいうと XML::Simple にちかいものです。XML::Simple がほしいときならアリかも。 そしてこれは libxmljs のラッパーです。 libxmlextlibxmljs に css selector の機能を追加するものなようです。libxmlext/node_modules/ 以下に libxml
2011年12月19日 Node.jsのテスティングフレームワーク「Mocha」(前編) Mochaのチュートリアルに沿ってMocha(読み:もか)を使ってみました。 長いので前編・後編の二部構成にします。 使用するMochaのバージョンは0.3.6です。 はじめにこのエントリーのために書いたサンプルコードは以下に置いておきます。 https://github.com/ryu22e/mocha-example FeaturesGoogle翻訳と辞書を頼りに翻訳しました。もっと適切な訳があればご指摘お願いします。 browser support(ブラウザサポート) simple async support(シンプルな非同期サポート) proper exit status for CI support etc(CIサポート等のための適切な終了ステータス) auto-detects and di
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く