Making good-looking graphs shouldn't be hard. Morris.js is a lightweight library that uses jQuery and Raphaël to make drawing simple charts easy.
Rspec風に使える、という理由で使ったけど、もうなんというか気分的に辛い visionmedia/should.js https://github.com/visionmedia/should.js/ 問題1 nodeのassert依存 ブラウザ用に移植できない 問題2 undefined, null は prototypeを持たない 次のようなコードは getHogeがundefined返してしまうと hoge.shouldを触った時点で落ちる hoge = getHoge() hoge.should.equal 'hoge' アサーションにすらたどり着けず落ちるのはストレスたまる やっぱラップするタイプのexpectの方がよさそう 問題3 nodeのネイティブモジュールに依存したオブジェクトはprototypeを共有していない JSDOMで生成したオブジェクトのアサーションができない
JavaScriptのユニットテストは2年ほど前にQUnitから入って、最近はもっぱらJasmineを利用していました。近年のJavaScriptテスト関連情報をまとめたいなと思い、改めてQUnit最新Version1.10.0のドキュメントとソースを読んで仕様を把握して資料にまとめてみました。 Qunit1.10.0 from Koji Nakamura サーバーサイドJSを開発する時にQUnitを採用する選択肢は僕の中ではないのですが、ブラウザJSを開発する時にはこのシンプルさと導入のしやすさはやはり利点だなと再認識した次第です。
見えてきた「ECMAScript 6」。JavaScriptの生みの親が書く「Harmony of Dreams Come True」 JavaScriptの標準仕様となっているのがECMAScriptで、最新バージョンは2009年12月に策定されたECMAScript 5th Editon。そして次のバージョンとなるECMAScript 6は、コード名「Harmony」もしくは「ES.next」や「ES6」と呼ばれています。 ECMAScript 6にはどのような機能が加わるのか、JavaScriptの生みの親であるBrendan Eich氏が、自身のブログに「Harmony of Dreams Come True」というエントリをポストし、その内容を紹介しています。PublickeyではEich氏の許可を得て日本語訳を掲載します。 (正確な翻訳に務めましたが、言語仕様やガベージコレクシ
最近JavaScriptのユニットテストを再勉強してます。QUnitのソースを見てて、APIの後方互換を維持するためのロジックがすごくいいなと思ったので忘れないようにエントリーを書いておく。 QUnitのAPIで後方互換が維持されているI/F Callbacksと呼ばれる、フレームワークの然るべきタイミングでユーザープログラムに通知を行う関数を登録しておくAPIがQUnitにはあります。現行(v1.10.0)でのI/Fはこんな感じ。 1 2 3 4 // latest I/F QUnit.begin(function() { console.log("QUnit start!!!"); }); なお昔のI/Fは以下。 1 2 3 4 // older I/F QUnit.begin = function() { console.log("QUnit start!!!"); }; 現行I/F
QUnitとは? † JQueryプロジェクトでも利用されているJavaScriptのユニットテストフレームワーク。 結果レポートの出力やブラウザAPIを利用して主にHTML上で実行することを前提に作り込まれているが、Node.jsなどのCLI環境でも実行可能なように内部ロジックの調整は行われている。 ↑ Getting Started † 以下内容のHTMLを作成してブラウザで開く。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>QUnit Example</title> <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.10.0.css"> </head> <body> <div id="qunit"></div> <script
この記事は、日経SYSTEMS 8月号に掲載された連載「新野淳一の技術インパクト」第5回のオリジナル原稿をPublickey掲載用に編集したものです。Publickeyでは日経SYSTEMS編集部との合意を得て、雑誌発行から一定期間後に記事をPublickeyに掲載しています。 JavaScriptは1995年の登場から何年にもわたって、Webページにちょっとした動きを与えるための簡易なプログラミング言語とみなされてきた。しかしいまやJavaScriptはモバイル向けアプリケーションの開発、業務アプリケーションのフロントエンド開発、そして大規模なWebアプリケーションのサーバサイドプログラミングなど、あらゆる分野での活用が始まりつつある。最も注目を集め、急速に適用分野を広げて進化しているプログラミング言語だ。 業務システム開発の視点で見れば、今後の開発言語としてJavaScriptが有力候
JavaScriptテストの基礎知識と使えるフレームワーク6選:フレームワークで実践! JavaScriptテスト入門(1)(1/3 ページ) しっかりとJavaScriptの“テスト”を行うために、最近のJavaScript事情やテストを取り巻く環境、今注目のテストフレームワークを6つ紹介する JavaScriptでもテストを書こう @ITの読者の方たちのほとんどは、どのような言語を主に利用しているのかなどの違いはあるにせよ、日常的にプログラムを書いている方たちが多いかと思います。 アプリケーションを作る、ライブラリを作成する、オープンソースプロジェクトに貢献するなど、皆さんがプログラムを書く場面はそれぞれいくつかあるはずです。それらプログラムを書く場面に共通して大切な習慣の1つとして、「作成するプログラムに対しては必ずテストコードを書く」ことがあるのは、誰にでも同意してもらえることでし
校正段階でレビューだけ手伝いました。若手IT勉強会の皆様による執筆。対象読者はJS中級者、2~3年目のエンジニアとの事です。 JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技 JSサポーターズ 技術評論社 売り上げランキング : 1582 Amazonで詳しく見る テクニックバイブルシリーズなだけあっていろいろ載っている。足回りの開発ツールから、新しめのライブラリの使い方、JSの流儀まで。Node.jsについて3ページ割かれているのを除いてクライアントサイドの話。「現場のJSerが贈る」と表紙にある通り、古いIEでの嵌り所もちゃんと書いてあって親切。 良いなと思った所。次に挙げる4つの章 4章:関数を活用する 5章:ネットワーク通信を改善する 6章:タイマーイベントを活用する 8章:パフォーマンスを改善する は賞味期限の長い普遍的なテクニックが詰まっている、1~2年
This project is an attempt to build re-usable charts and chart components for d3.js without taking away the power that d3.js gives you. This is a very young collection of components, with the goal of keeping these components very customizeable, staying away from your standard cookie cutter solutions. View more examples »
完全にノープランでしたが、唐突にカヤックの社内勉強会に参加してきて、今色々触っているJavaScriptのテストフレームワークのBuster.JSについて発表してきました。(部外者です…) JavaScript Testing FrameworkのBusterJSを使う スライド : JavaScript Testing FrameworkのBusterJSを使う 今JavaScriptのテストフレームワークは色々ありますが、Buster.JSはJsTestDriverと似た仕組みを持ったテストフレームワークです。 Nodeで書かれてる所が大きく違いますが、細かい仕組み等はBuster.JS Architecture overviewという文章が公開されているのでそこを見るのがいいです。 中心となってる作者の一人はSinon.JS、Test-Driven JavaScript Develo
Report Cyclomatic complexity Unused variables Undefined variables Warn About == null About debugging code About unsafe for..in About arguments.caller and .callee About assignments if/for/... About functions inside loops About eval About unsafe line breaks About potential typos in logical operators When code is not in strict mode When new is used for side-effects Assume Browser NodeJS jQuery Develo
各所で良書だと評判の「テスト駆動JavaScript」を途中まで読みまして、自分もこれは良書だと思ったので書評的にブログエントリーを書いてみます。 table of contents 章立て この本を読むべき人 オススメな読み方 所感 まとめ 1.章立て 第1部 テスト駆動開発 第 1章 自動テスト 第 2章 テスト駆動開発プロセス 第 3章 現役で使われているツール 第 4章 学ぶためのテスト 第2部 プログラマのためのJavaScript 第 5章 関数 第 6章 関数とクロージャの応用 第 7章 オブジェクトとプロトタイプの継承 第 8章 ECMAScript第5版 第 9章 控えめなJavaScript 第10章 機能検出 第3部 JavaScriptテスト駆動開発の実際 第11章 Observerパターン 第12章 ブラウザ間の違いの吸収:Ajax 第13章 AjaxとComet
期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオプションなどを諸々付けていたからお気に入りだったのに)と決して良いことばかりで忙しかったわけではないけどね! で、今回は node.js のお話。異様な盛り上がりを見せているものの、じゃぁそれっていったい何かというと「JavaScriptを用いたNon-blocking I/O環境」という非常にシンプルなものだ。 その根底には「うまくスケールできること」と「動作が速いこと」という理念が見受けられる。 まず「うまくスケールできること(多量のアクセスを捌けること)」を解決するにあたり、まずはスレッドモデルか、イベントループかという問題があった。そこで auth
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く