2013-09-01から1ヶ月間の記事一覧

ECMA-262 Edition 5.1を読む

ECMA-262 Edition 5.1を読む作者: 竹迫良範出版社/メーカー: 秀和システム発売日: 2013/09/25メディア: 単行本この商品を含むブログを見る これもアマゾンでポチってみたが。。。まだ出版されていないのですね。そしてなんか目の端に違和感があったので見直…

Amazon Web Servicesプログラミング

Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで作者: Jurg van Vliet,Flavia Paganelli,Steven van Wel,Dara Dowd,玉川憲,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/09/20メディア: 大型本 クリ…

WebStorm7リリース

WebStorm7がリリースされてました。ビルドバージョンが131.130から131.202ってことで数字的には72回のCIループを経てるってことなのかな?ダウンロードは激オモです。WebStorm人気なのか?

テスタブル JavaScript(ちょっと読んだ)

テスタブルJavaScript作者: Mark Ethan Trostler,牧野聡出版社/メーカー: オライリージャパン発売日: 2013/09/21メディア: 大型本この商品を含むブログ (1件) を見る 先に読んでるもので渋滞していたので持ち歩きだけでしたが、今朝より読み始めました。オラ…

LoopBack探訪

StrongLoopのslcコマンドの中で、lbの説明にある「LoopBack」とはなんだろうと思い調べるとStrongLoopがSuiteの中で提供するモバイルアプリのバックエンドソリューションでした。しかもOSS。 $ slc lb workspace my2ndSL Creating workspace my2ndSL Create …

StrongLoopをインスコしてみた

http://strongloop.com/ Node.jsの企業向けディストリビューションという、StrongLoopをインスコしてみました。がっちり電話や住所も含むユーザー登録を行った後に、ダウンロードサイトにて各OS版のディストロを選択します。tarボールとインストーラ付きの両…

テスタブル JavaScript

テスタブルJavaScript作者: Mark Ethan Trostler,牧野聡出版社/メーカー: オライリージャパン発売日: 2013/09/21メディア: 大型本この商品を含むブログを見る これ、買ってみた。明日届いたのち、読んだら感想を書く。

WebStrom7のKarmaでテスト環境組んでみた

WebStrom7EA (WS-131.130)のKarma機能を使うべく、Karmaでテスト環境を組んでみました。まずKarmaって何?からはじまって、ドキュメント一読。たいした量ないので全部読める。 http://karma-runner.github.io/0.10/index.html テストランナーなんですね。テ…

DiskAidでiPhoneのLineトーク履歴引越しが簡単完了

20日、朝練(渋谷の喫茶店で出勤前にコード書いたり本読んだり)の途中、早めに切り上げてビックカメラに寄って見るとそれこそ朝早くからiPhone5sを販売していました。シルバー&ゴールドは在庫無しでもグレイはたくさんあったみたいで、即購入。その場では…

WebStorm7

TypeScriptの0.9サポートが無かったことの発覚からWebStorm7のアーリーアクセス版を使い始めましたが、こちらこんな機能がWEBサイトに(まだそこまで勉強が届いていないため、これから)。 For more a complete experience with Sass, there is now support …

TypeScriptを使うための.d.tsファイル

TypeScriptから既存のJavaScript製ライブラリを型付きで使うときには、Cのヘッダファイルみたいなものとしてコーディング時だけ型を解決するものがあると便利だという。今朝はiPhone5sを買うのに調査を中断したので、手を動かしての検証作業はできてないけど…

開眼!JavaScript

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質作者: Cody Lindley,和田祐一郎出版社/メーカー: オライリージャパン発売日: 2013/06/19メディア: 単行本(ソフトカバー)この商品を含むブログを見る オライリー本に珍しく、薄く(171ページ)小さな版…

ドメインを一通り見た後はテストかな

ドメイン(Domain)を一通り見てきました。最後のほうは断定しちゃってるけど、まあ大丈夫なんじゃないかとは思います。次はテスト環境だね。これまたしばらく現役から離れているうちにBDDなんていうようなことも。隔世の感の中、なにから触ったものかリサー…

Node.jsの例外処理(ドメインの存在意義)

Node.jsはエコシステムが発達していて、コアライブラリだけでなく、サードパーティがたくさん有用な拡張モジュールを提供してくれています。また、自前で書くコードも一つのJSファイルだけで書くのではなく、見通しも良いように、再利用可能なように、機能単…

Node.jsの例外処理(イベントループによって分断されるコールスタック)

setTimeout()や、process.nextTick()で設定されるコールバック関数の中で例外が発生した場合、アプリケーションにて通常にtry-catchで補足できないのは、Node.jsの中核たるイベントループで遅延スケジュールされた関数のコールスタックが分断されるためです…

Node.jsの例外処理(承前:なぜ例外処理が必要なのか)

ドメインの実装を徘徊してだいたい裏がとれたので、一旦まとめ。 JavaScriptの言語仕様として例外処理は用意されています。すなわち、何か処理上で継続しがたいような不都合があったら、throw文にて例外を送出します。(脱線:JavaScriptの例外としては一般…

node.ccでのDomain対応

https://github.com/joyent/node/blob/master/src/node.cc ですね。ここには来たくなかったのですが、実はキレイなコードで読みやすかったw。 Handle<Value> MakeDomainCallback(Environment* env, const Handle<Object> object, const Handle<Function> callback, int argc, Handle<Value> a</value></function></object></value>…

Timer系でのDomain対応

そしてほぼ最後。Timer系関数でのDomainはどうしているのかというと。 // timers.js (v0.10.18) exports.setTimeout = function(callback, after) { // (省略) timer._onTimeout = function() { callback.apply(timer, args); } // (省略) if (process.domai…

EventEmitterでのDomain対応

イベントの伝播の仕組みのほうはEventEmitterのemitそのものに組み込まれています。 // events.js (v0.10.18) EventEmitter.prototype.emit = function(type) { //(省略) if (type === 'error') { if (!this._events.error || (typeof this._events.error …

process.nextTick()でのDomain対応

https://github.com/joyent/node/blob/master/src/node.js Node.jsのスタートアップラウンドのコード、その名もnode.js、ですが、こちらにprocess.nextTick()の定義で、特に遅延させた関数のスタックをループで発火させるところとして_tickDomainCallback()…

Domain#bind()がやってること

var d = require('domain').create(); d.on('error', function(e) { console.log('handled error: ' + e.message); }); d.enter(); //やってることは process.domain = d; fireError.apply(d, []); d.exit(); function fireError() { throw new Error('fire …

Domain#dispose()の存在意義?

Domainのソースコードから手を広げて見て回ってましたが、大体わかってきた。このDomainはTimer関連とEventEmitterに組み込まれる事でNode.jsのコアの一員となってます。そのへんもうちょい理解深めたらまとめたいと思います。 今、わかんないのがDomain#dis…

積読棚卸

ざっと積んだもの、さくさく整理していきます。夏休みはじまりから早ひと月、いろいろ読みました。一冊の本を書くのは大変なことですから、それだけでも頭さがりますけど、まあ思うところはコンテキスト無視で書いてみます。Node.jsをはじめるにあたって読む…

Node.jsの商用サポート

http://www.infoq.com/jp/news/2013/06/strongloop-node http://www.strongloop.com/ 6月のニュースでしたが。Node.jsの中核コミッタが属する会社で商用サポート/ディストロを開始ということで、ビジネスモデルはRedhatみたいな感じですね。JoyentもNode.js…

Node.js in Action

Node.js in Action作者: Mike Cantelon,Marc Harter,Tj Holowaychuk,Nathan Rajlich出版社/メーカー: Manning Pubns Co発売日: 2013/09/28メディア: ペーパーバック クリック: 3回この商品を含むブログを見る こちらExpress作者が書いてるものです。アマゾン…

そして例外処理へ

socket.ioの仕組みは面白いですがそこまでならずとも、すでにNode.jsコアでHTTPをハンドルしている仕組みのレベルで面白いです。というか、大変好き。 http://mk.hatenablog.com/search?q=Grizzly https://grizzly.java.net/ こちらはこのブログの検索リンク…

socket.ioの習作解説その参

socket.ioの具体的なサービスコードは、例えるならばトランシーバーみたいな考え方です。自分が通話するときはボタン押してしゃべって、あとは手を離しておけば聞こえるという。 //サーバ側 chatroom.on('connection', function(socket) { heartbeat(); sock…

socket.ioの習作解説その弐

<script src='/socket.io/socket.io.js'></script> <script src='/javascripts/jquery-2.0.3.min.js'></script>今回サンプルのHTMLにはサーバ側で動くコードは一切なく、すべてブラウザ上で実行されます。その中でsocket.ioの賢い仕組みとしてはこちら。/socket.io/socket.io.jsを要求してダウンロードします。一緒に並べているjQueryのコードの要求とはちょっと違っ…

socket.ioの習作解説その壱

習作のサーバ側、app.jsの最初の5行で静的WEBサーバを立ててます。 //サーバ側 var express = require('express'); var app = express(); app.use(express.favicon()); app.use(express.static(require('path').join(__dirname, 'public'))); var server = r…

socket.ioの習作

socket.ioの習作としてミニマムでも動きがわかるようなものをこさえてみました。ソースファイルはapp.jsとindex.htmlの二個だけ。サーバ側はexpressとsocket.ioに依存し、クライアント側でjQueryだけは用いてます。例外処理はどうしたものかまだ勉強中。おま…