ひろうぃん @heroween 実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION) Steve Freeman http://t.co/ohNIrySMCS #html5j
先週の4/26に開催された第38回HTML5とか勉強会「Webアプリ×テスト最新事情」で、JavaScriptのテストについて話させてもらいました。 発表資料はこちら。 JavaScript Unit Test Why? What? How? from teppeis 恥ずかしいビデオはこちら。http://www.ustream.tv/recorded/31976691 発表内容は、前回のWEB+DB PRESSで書かせてもらった内容の要約版+アルファでした。 個人的には、最近ようやく実践テスト駆動開発(通称GOOS本)を読んで、2重のフィードバックループとアジャイルテストの4象限、TDD/BDDなんかが自分内でガシーンと、ザ・ワールドが時の歯車をがっちり掴んだときのようなつながった感があったのですが、まだ言語化するには早かったらしくあまりうまくは伝えられなかったかなと反省しました。 座
追記:@cocoa_ruto 様の指摘を受けて修正しました。ありがとうございます。勉強になります。訳しただけじゃなくて内容を理解しないと意味ないですね。。。 @koty 「TypeScript 0.8と0.9の間での破壊的変更」( URL )の英語についてコメントを書きました。URLはてなのIDを持っていないのでTwitterからメンション致します。 2013-04-30 13:18:29 via OS X to @koty TypeScript0.9のalpha版が先日公開されました。このバージョンではかなり破壊的変更が入っています。それを調べるついでに、こちらのページを訳してみます。おかしな所があればご指摘ください。 読んでみると結構変わってますね。staticメソッドの呼び出しにクラス名の修飾が必須になったのが結構痛いです。 0.8と0.9の間の既知の破壊的変更 - Known br
The concept of "Promises" has changed the way we write asynchronous JavaScript. Over the past year, many frameworks have incorporated some form of the Promise pattern to make asynchronous code easier to write, read and maintain. For example, jQuery added $.Deferred(), and NodeJS has the Q and jspromise modules that work on both client and server. Client-side MVC frameworks, such as EmberJS and Ang
第4回ブラウザー勉強会 第4回「ブラウザー勉強会」 on Zusaar に参加してきたので、その時のメモです。 午前の部 : コミュニティ セッション オフラインキャッシュについて – hebikuzure IE のキャッシュのオフライン調査について(改訂版) IE のキャッシュのオフライン調査について の改訂版 Content.IE5 IEのキャシュデータ構造はIE5から変わってなかった Window2000 の頃と同じ IE10のキャシュのシステム変更 IE10ではキャッシュのシステムを変更されてる Content.IE5の中身 index.dat インデックスファイル 英数8文字のキャッシュフォルダ 実際のファイルが並んでる 4個つづキャッシュフォルダを作ってキャッシュを書き込む キャッシュの情報はどこ? 最終更新日時とかのメタデータはどこ? index.datに含まれている バイナ
前の記事のコメントで npmのコーディングスタイル を紹介されて、ちょっと読んでみたら面白かったので翻訳してみました。 なお、かなり意訳している部分やそもそも上手く理解できなかった部分もあります。 以下、本文。 npmは面白いコーディングスタイルです。(原文: npm's "funny" coding style) 説明 npmのコーディングスタイルはちょっと変わっています。それは異なる理由から変えられてるのではなく、故意的に見かけの混乱を減少させバグを明確にするという、製作に優しいスタイルになっているというわけです。 もしあなたがnpmにコードを送ろうとしているなら(応援します)、あなたはこのnpmスタイルに適合するようにコーディングするべきです。 Note: npmjs.orgのパッケージまで一々チェックしているわけではありません。 一行の長さ 一行は80文字短くなるようにしてください
2012/4/26に行われた第38回HTML5とか勉強会「Webアプリ×テスト最新事情」に参加してきました。 JavaScriptのテストフレームワークについていろいろな話を聞くことができました。 遅れて参加したうえに、ノートパソコンの電源入れたとたんに電池切れ orz 途中の休憩時間にコンセントのある席へ移動したのですが、前半はメモれてないですw メモとるのが全然追いつけなかったので、コードとか省略してたり間違ってたりすると思いますが、雰囲気だけでも感じて頂ければと。 Sinon.jS 外村和仁さん テストしにくいもののダミーを作成する。 spy メソッドの代わりにダミーを作成できる。 // オブジェクト作成。spyはメソッドオブジェクト // これをテストしたいメソッドを上書きする感じで。 var spy = sinon.spy(); // 試しにメソッド読んでみる spy('foo'
GWが始まりましたが、鎌倉のGWは観光客多すぎて逆に住民はげんなりして外に出なくなる感じです。とはいえ路地まで観光客が攻め込んでくることは少ないので、路地を散歩する分には天気がよくていい感じですね。ちなみに人力車のおにーさんはそういう味のある路地を知り尽くしているので人力車で移動するのはそこそこオススメです(ぼくは乗ったことないけど「こんなところも通るんだ!」ってところで見かけたりします)。 さて、jqというコマンドをご存じでしょうか。 jq jq is a lightweight and flexible command-line JSON processor. と書いてあるとおり、コマンドラインでJSONを扱うことができるコマンドです。で、今まさに仕事で巨大JSONと戦うことが多く、このコマンドが大活躍です。 とはいえ、ぼくの使い方としては「巨大JSONをキレイに整形して表示する」とい
jQuery#triggerのテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); $el.bind('foo', function(event, val) { expect(val).to.be('bar'); done(); }); $el.trigger('foo', 'bar'); }); }); コールバックが2回呼ばれるかをテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); var count = 0; $el.bind('foo', function(event,
これは、とても歴史的な話で、僕たちの知っている現在の “Mozilla” よりも時はさかのぼる (とはいえ、現在の Mozilla もその精神を受け継ぐ末裔だ)。 質問をブレイクダウンしよう: 最初に: この文脈でいう “mozilla” はなにを指すのか? ヒント: それは Mozilla Corporation や Mozilla Foundation のことではなく、Gecko エンジンのことでもない。 90 年代初頭、Mosaic というブラウザがイリノイ大学・米国立スーパーコンピュータ応用研究所 (NCSA) のとあるグループによって開発される。Mosaic の使いやすさや特徴的な機能は当時の “world wide web” の一般化に役立った。Mosaic の共同開発者の一人は Netscape という会社を設立し、この会社は Netscape という商用ウェブブラウザを生み
Sending and Receiving Binary Data https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data 場所変わったので↑https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Data 「JavaScript バイナリ」でググっても古い情報ばかり見つかるので、ついカッとなって勢いで翻訳しました。 多分精度は低いのでおかしい所は指摘を頂けると嬉しいです。すぐ直します、恥ずかしいので。 初めに追記 (2013/04/27) 本家の方に翻訳文を移しました。↓こちらの文章の方が精度が高いのでお勧めです。 バイナリデータ
かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基本。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く