4. @tricknotes I am a software developer who love JavaScript and Ruby. http://tricknotes.hateblo.jp/
4. @tricknotes I am a software developer who love JavaScript and Ruby. http://tricknotes.hateblo.jp/
クライアントサイドでは cho45さんのライブラリなんか結構便利なんですが、 ここが詳しい。Async.js というライブラリに言及してます。 Node の標準サンプルには「コールバックを深く掘り下げるコールバックチェーンとか呼ばれる方式」で照会されます。 でも、コードは、シーケンシャルに書きたいよね。ってときに。 非同期処理を考えることになります。 追記) 2013-04-10 上のとは違いますが、意外とポピュラーなのが、caolan/async.js かも。 こちらは「幾つものユーザ関数のそれぞれをタスクとして捉え、全タスクを処理し、最後に結果を返せばいいんだろ?なら、シンプルなコールバックに纏めることができるぜ!?」てのが 基本コンセプトのようです。 要点1)「複雑にネストしまくる処理をシンプルなコールバック関数に纏める」のが目的のモジュール。 // var rslt = async
Node.js といえば非同期処理です.そして非同期処理と言えばコールバック. そんなわけで (どんなわけで?),すぐにこんなコードになったりしがちですよね. http://stackoverflow.com/questions/3538156/file-i-o-in-every-programming-language/3538377#3538377 fs.writeFile(path, "hello", function (error) { fs.open(path, "a", 0666, function (error, file) { fs.write(file, "\nworld", null, "utf-8", function () { fs.close(file, function (error) { fs.readFile(path, "utf-8", function
nvmを使う $ sudo apt-get install git curl build-essential libssl-dev $ git clone https://github.com/creationix/nvm.git ~/.nvm $ . ~/.nvm/nvm.sh $ nvm install v0.4.7". ~/.nvm/nvm.sh" は .bashrc などに記述しておくと吉 以後、Nodeを使うときには $ nvm use latestを実行する naveを使う $ sudo apt-get install git curl build-essential libssl-dev $ git clone https://github.com/isaacs/nave.git ~/.nave $ ~/.nave/nave.sh use latest $ curl http
本書は、Node.jsを使っての簡単なWebサーバの構築にはじまり、Webアプリケーションやコマンドラインアプリケーションの構築、そして自作Nodeモジュールの開発までをスムーズに学習できるように構成しています。MySQLやMongoDB、CouchDB、Redisといった各種データベースとのインタフェイスや、WebSocketの組み込み方、SMTPなどのプロトコルとのインタフェイスといった基本的な事項を学びます。さらにデータストリームの処理方法やセキュリティを考慮した実装、そして開発したアプリケーションを本番環境で動作させるまでのさまざまなレシピを掲載しています。 Nodeの主要なコアモジュールはもちろん、さまざまなシーンで利用するサードパーティモジュールを広く紹介しており、Express 3に対応した本書は、Nodeを深く知りたいエンジニア必携の一冊です。 翻訳者によるサポートページ
Node.jsとは何か、開発者ライアン・ダール氏が語る(後編)~ 複数コネクションの並列処理とデバッグ いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。 この講演は、サンフランシスコのPHP開発者の集まりであるThe SF PHP Meetup Groupが2月にダール氏を招待して行われたもの。 そのため、Node.jsを知らないデベロッパーに向けて、Node.jsがどのような特徴を持つプログラミング言語なのか、分かりやすく解説しています。内容を紹介しましょう。 (本記事は「Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとは
いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。 この講演は、サンフランシスコのPHP開発者の集まりであるThe SF PHP Meetup Groupが2月にダール氏を招待して行われたもの。 そのため、Node.jsを知らないデベロッパーに向けて、Node.jsがどのような特徴を持つプログラミング言語なのか、分かりやすく解説しています。内容を紹介しましょう。 Node.jsとPHPとの本質的な違いとは何か Node.jsを触ってみよう。今日は特にスライドは用意してなくて、タイプしてどんなものかを動かしながら紹介していくつもりだ(注:ダール氏はここで最初に「
ここ一ヶ月ぐらいからJavaScriptが注目されているようだ。理由は簡単で、GoogleのJavaScriptエンジンを使ったアプリケーション・サーバーであるnode.jsの性能が高いと主張されているからだ。 地味にブームになりつつあり、Ajaxのようにウェブ開発の現場に定着するかも知れない。多数のブログで紹介がされている。現状のその特徴を振り返りつつ、node.jsが普及するかを考察してみた。 1. JavaScriptは、ブラウザ発の人気スクリプト言語 JavaScriptは、LiveScriptとして1995年にNetscape Navigatorというウェブ・ブラウザに搭載されたのが始まりで、すぐに政治的な理由でJavaScriptに改名された。1996年には、その基本的な文法がECMAScriptとして、ECMA-262とISO/IEC 16262で定義されている。言語仕様が簡
サーバサイドJavaScript Node.js入門【電子書籍】清水俊博, 大津繁樹, Jxck, 小林秀和, 佐々木庸平, 篠崎祐輔, 高木敦也, 西山雄也 アスキー・メディアワークス 発行日: 2012-10-29 対応フォーマット: PDF 詳細を見る ご紹介が遅くなりましてすみません、Node.jsについての日本で最初の書籍がアスキー・メディアワークスさんから出版されました。そのPDF版です。 全部で585ページ、というと、相当マニアックな内容かと思われるかもしれませんが、読んでみると案外やさしいというか、まさに「入門」的な内容になっています。とはいえ、インストールやJavaScriptによる非同期っぽい書き方のイロハから、V8のAPIを使ったアドオンの書き方(当然C++)や複数サーバ間でのWebSocketの共有の仕方の「入門」、という幅の広さなので、この分量も納得です。むしろ分
今日、シリコンバレーまで neu.Node (参照)のデモに行って来た。私が「オープンソースにするつもりだ」というと、ホスト役のベンチャー・キャピタリストが「技術的なチャレンジを別とすれば、なぜ Node.js を iPhone の上で動かそうとしたのか」と聞いて来た。 そこで、思わず自分の口から出た言葉が「私は思いついたことを素早く目に見える形にするのが大好きで、特にネットワーク関係のプログラムは JavaScript で書けば Objective-C で書くより10倍ぐらい生産効率が上がるから」というもの。 自分で言ってから再認識したのだが、一度 JavaScript でネットにアクセスするプログラムを書いてしまうと、C++ や Java や Objective-C で同じようなプログラムを書くのが煩わしくて仕方がなくなる。そこで、ネットワークにアクセスする部分だけでも JavaScr
Node.js、MongoDBでデータの保存:Node.jsを使ってみよう(2)(1/4 ページ) Node.jsとSocket.IO、MongoDBを使用して、Webページの更新内容がリアルタイムにView画面に反映されるサイトを作ってみた MongoDBの紹介 前回はNode.jsでWebアプリを作成するために、ExpressやSocket.IOを使用したデモを基に説明した。今回はWebアプリのデータを保存するために必要なデータベースとしてMongoDBの使い方を説明していく。今回の記事でも後半でMongoDBを使った簡単なデモを用意しているので試してみてほしい。 MongoDBとは、ドキュメント指向のデータベースでNode.jsと相性がいいため、Node.jsとともに注目されている。Node.jsで実装したREABLOエンジンを使ったTech Releaseでも記事のデータベースとし
Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. Take your web development skills from browser to server with Node—and learn how to write fast, highly scalable network applications on this JavaScript-based platform. With this hands-o
本稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様
[前回までの話へのリンク] ・node.js と thread hog の話(1) ・node.js と thread hog の話(2) では、なぜ今頃になって HTTP Server の c10k 問題(もしくは、thread hog 問題)が顕在化したのだろう。 当時(90年代の終わり頃)と比べて、もっとも大きく変わったのはCPUの性能である。クロック数は、数百MHzから数GHzへと一桁増えたし、マルチコア化もしている。CPU 性能だけ見れば、当時の数十倍の能力が出てしかるべきである。 しかし、実際の人生はそう簡単ではない。サーバーのパフォーマンスはCPU性能だけが決めるわけではないからだ。そこで、ボトルネックの一つとして注目されはじめたのが、thread の数なのである。 前回述べた様に、thread 一つあたり 2MB~8MB のスタック領域を仮想メモリ空間に確保しなければならな
先日の「node.js と thread hog の話」には、たくさんのコメントをいただいたが、やはり「イベント駆動型」のプログラミングには抵抗がある人も多いようだ。そこで、JavaScript の無名関数を使ったイベント駆動型のプログラミングの可読性が悪くないことを示すために、「朝7時に目覚まし時計をかけて眠りにつき、朝ご飯を食べ終わったら会社に行く」という典型的な「サラリーマンの朝」をイベント駆動型のJavaScriptで記述してみた。 注目して欲しいのは、素早く出来る「着替える」「顔を洗う」などの動作は割り込み不可な動作なので、通常のプログラミングと同じようにシーケンシャルに実行するが、時間のかかる「朝ご飯を食べる」「駅まで歩く」などの動作は割り込み可能な状態で実行し、"complete" のイベントを受けてから次の動作に移る点だ。 ちなみに、目覚まし時計は 「スヌーズボタン」付きな
node.js のような非同期APIを使ったプログラミングに拒絶反応を示すエンジニアが多い理由の一つが、非同期APIと例外処理の相性の悪さだ。 Javascript の場合、例外処理はこんな感じに記述する。 function f(i) { try { throw new Error('an error #'+ i); } catch(e) { console.log('Error caught:', e.message); } } ところが、これに非同期APIが絡むと、とたんに分かりにくくなる。例えば下の例。 function f(i) { try { setTimeout(function() { throw new Error('an error #'+ i); }, 1000); } catch(e) { console.log('Error caught:', e.message)
VMwareのSpringSourceが、JavaScript/HTML5対応のエディタ「Scripted」をオープンソースで公開しました。 Scripted自身がHTML5/JavaScriptで記述されているためWebブラウザ上でエディタとして動作し、HTML/CSS/JavaScriptのシンタックスハイライト、JSLintによる文法チェック、エディタのカスタマイズ機能などを備えています。エディタ部分の機能はEclipse Orionを再利用したとのこと。 Scriptedの全体画面。右側に別ファイルを表示しているところ。
Node.js+Socket.IO+MongoDB こんにちは! 著者は、マインドフリーという会社でNode.jsを使ってWebアプリなどを作成している。この連載では、最新Webテクノロジを使った研究開発の事例や実績を発信する弊社のサイト“Tech Release”のリニューアルで培ったNode.jsに関する知識を分かりやすくお伝えする。 Tech Releaseは一見、普通のブログに見えるが、実は記事の更新内容がリアルタイムにView画面に反映されている。管理者が、記事の文章(データ)に変更を加えると、その記事を見ている人にもページをリロードせずに、リアルタイムに文章(データ)が変化していく。 このUXを実現するために開発したシステムが、REALTIME BLOG ENGINE「REABLO」というエンジンだ。「REABLO」はNode.jsとSocket.IO、MongoDBを使用して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く