2013-09-01から1ヶ月間の記事一覧
ECMA-262 Edition 5.1を読む作者: 竹迫良範出版社/メーカー: 秀和システム発売日: 2013/09/25メディア: 単行本この商品を含むブログを見る これもアマゾンでポチってみたが。。。まだ出版されていないのですね。そしてなんか目の端に違和感があったので見直…
Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで作者: Jurg van Vliet,Flavia Paganelli,Steven van Wel,Dara Dowd,玉川憲,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/09/20メディア: 大型本 クリ…
WebStorm7がリリースされてました。ビルドバージョンが131.130から131.202ってことで数字的には72回のCIループを経てるってことなのかな?ダウンロードは激オモです。WebStorm人気なのか?
テスタブルJavaScript作者: Mark Ethan Trostler,牧野聡出版社/メーカー: オライリージャパン発売日: 2013/09/21メディア: 大型本この商品を含むブログ (1件) を見る 先に読んでるもので渋滞していたので持ち歩きだけでしたが、今朝より読み始めました。オラ…
StrongLoopのslcコマンドの中で、lbの説明にある「LoopBack」とはなんだろうと思い調べるとStrongLoopがSuiteの中で提供するモバイルアプリのバックエンドソリューションでした。しかもOSS。 $ slc lb workspace my2ndSL Creating workspace my2ndSL Create …
http://strongloop.com/ Node.jsの企業向けディストリビューションという、StrongLoopをインスコしてみました。がっちり電話や住所も含むユーザー登録を行った後に、ダウンロードサイトにて各OS版のディストロを選択します。tarボールとインストーラ付きの両…
テスタブルJavaScript作者: Mark Ethan Trostler,牧野聡出版社/メーカー: オライリージャパン発売日: 2013/09/21メディア: 大型本この商品を含むブログを見る これ、買ってみた。明日届いたのち、読んだら感想を書く。
WebStrom7EA (WS-131.130)のKarma機能を使うべく、Karmaでテスト環境を組んでみました。まずKarmaって何?からはじまって、ドキュメント一読。たいした量ないので全部読める。 http://karma-runner.github.io/0.10/index.html テストランナーなんですね。テ…
20日、朝練(渋谷の喫茶店で出勤前にコード書いたり本読んだり)の途中、早めに切り上げてビックカメラに寄って見るとそれこそ朝早くからiPhone5sを販売していました。シルバー&ゴールドは在庫無しでもグレイはたくさんあったみたいで、即購入。その場では…
TypeScriptの0.9サポートが無かったことの発覚からWebStorm7のアーリーアクセス版を使い始めましたが、こちらこんな機能がWEBサイトに(まだそこまで勉強が届いていないため、これから)。 For more a complete experience with Sass, there is now support …
TypeScriptから既存のJavaScript製ライブラリを型付きで使うときには、Cのヘッダファイルみたいなものとしてコーディング時だけ型を解決するものがあると便利だという。今朝はiPhone5sを買うのに調査を中断したので、手を動かしての検証作業はできてないけど…
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質作者: Cody Lindley,和田祐一郎出版社/メーカー: オライリージャパン発売日: 2013/06/19メディア: 単行本(ソフトカバー)この商品を含むブログを見る オライリー本に珍しく、薄く(171ページ)小さな版…
ドメイン(Domain)を一通り見てきました。最後のほうは断定しちゃってるけど、まあ大丈夫なんじゃないかとは思います。次はテスト環境だね。これまたしばらく現役から離れているうちにBDDなんていうようなことも。隔世の感の中、なにから触ったものかリサー…
Node.jsはエコシステムが発達していて、コアライブラリだけでなく、サードパーティがたくさん有用な拡張モジュールを提供してくれています。また、自前で書くコードも一つのJSファイルだけで書くのではなく、見通しも良いように、再利用可能なように、機能単…
setTimeout()や、process.nextTick()で設定されるコールバック関数の中で例外が発生した場合、アプリケーションにて通常にtry-catchで補足できないのは、Node.jsの中核たるイベントループで遅延スケジュールされた関数のコールスタックが分断されるためです…
ドメインの実装を徘徊してだいたい裏がとれたので、一旦まとめ。 JavaScriptの言語仕様として例外処理は用意されています。すなわち、何か処理上で継続しがたいような不都合があったら、throw文にて例外を送出します。(脱線:JavaScriptの例外としては一般…
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はどうしているのかというと。 // timers.js (v0.10.18) exports.setTimeout = function(callback, after) { // (省略) timer._onTimeout = function() { callback.apply(timer, args); } // (省略) if (process.domai…
イベントの伝播の仕組みのほうはEventEmitterのemitそのものに組み込まれています。 // events.js (v0.10.18) EventEmitter.prototype.emit = function(type) { //(省略) if (type === 'error') { if (!this._events.error || (typeof this._events.error …
https://github.com/joyent/node/blob/master/src/node.js Node.jsのスタートアップラウンドのコード、その名もnode.js、ですが、こちらにprocess.nextTick()の定義で、特に遅延させた関数のスタックをループで発火させるところとして_tickDomainCallback()…
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のソースコードから手を広げて見て回ってましたが、大体わかってきた。このDomainはTimer関連とEventEmitterに組み込まれる事でNode.jsのコアの一員となってます。そのへんもうちょい理解深めたらまとめたいと思います。 今、わかんないのがDomain#dis…
ざっと積んだもの、さくさく整理していきます。夏休みはじまりから早ひと月、いろいろ読みました。一冊の本を書くのは大変なことですから、それだけでも頭さがりますけど、まあ思うところはコンテキスト無視で書いてみます。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作者: 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の具体的なサービスコードは、例えるならばトランシーバーみたいな考え方です。自分が通話するときはボタン押してしゃべって、あとは手を離しておけば聞こえるという。 //サーバ側 chatroom.on('connection', function(socket) { heartbeat(); sock…
<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のコードの要求とはちょっと違っ…
習作のサーバ側、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の習作としてミニマムでも動きがわかるようなものをこさえてみました。ソースファイルはapp.jsとindex.htmlの二個だけ。サーバ側はexpressとsocket.ioに依存し、クライアント側でjQueryだけは用いてます。例外処理はどうしたものかまだ勉強中。おま…