Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
(2015/10/21追記) 記事を書いてから半年経ちましたが、最近はRxの良さを理解したり、ES7のasync/awaitがbabelによって実用的になりつつあったり等、またもやベストプラクティスとはなんだったのか状態です。とはいえ、いまのところPromiseは非同期処理の土台であり続けそうですし、Generatorもasync/awaitへの足がかりとして知っておくことのメリットは大きいかと思いますので、引き続き公開させたままとさせて頂きます。 (追記ここまで) 数ある非同期処理のプラクティスを試してみて、だいたいこれが良いんじゃないかというパターンが固まったので書きます。効用はコールバック地獄からの脱出と結局非同期どれが良いの感の払拭。ES6寄りです。 前提知識 JavaScript Promiseの本 http://azu.github.io/promises-book/ ジェネレ
Please use native promises instead if at all possible. Native Promises have been stable in Node.js and browsers for around 10 years now and they have been fast for around 7. Any utility bluebird has like .map has native equivalents (like Node streams' .map). This is a good thing, the people working on Bluebird and promises have been able to help incorporate most of the useful things from Bluebird
node-webkitとは node-webkit wiki 日本ではあまりnode-webkitは知名度が高くないが、簡単に言うとIntelが開発に関わっている、nodeとWebKitを統合し、DOMコンテキスト上でnode.jsの機能を使えるようにするソフトウェア。一言でいうと言うと、ウェブでnode.jsを動かすプラットフォーム。 何ができるのか node.jsで出来ることと、ウェブで出来ることと、node-webkitが用意している機能(GUIの操作など)が使える。 例えば/etc/hostsを読み込む場合 node-webkitと同一のディレクトリに下記のようなindex.htmlを用意して <!doctype html> <html> <body> <pre id="hosts"></pre> </body> <script> var fs = require('fs'); f
http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ Nicholas ZakasはYahoo出身で現在Boxに勤めるフロントエンジニアで、JavaScriptに関する複数のオライリー本の著者でもあります。彼が自身のブログで、Node.jsをサーバサイドUIレイヤのみで活用することを提言してます。 JavaScriptエンジニアはフロントエンドのコントロールはできるが、サーバサイドのUIレイヤはバックエンドエンジニアの領域で、それがフロント(JavaScript)エンジニアとバックエンドエンジニア双方のストレスであった。(参照図1) Node.jsの登場で、サーバサイドのUIレイヤをサーバサイドのビジネスロジックから分離し、フロントエンジニアはブラウザ & サーバのUIレイヤ、バックエンドエン
Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモで、markdownとかのリアルタイムプレビューできるものを作って試してみたもの、やっぱりテキストエリアでmarkdownを書くってことはあまりしないなー、と思い。 大抵は使い慣れたエディタを使って編集すると思うので、それが変更されたときにブラウザ上で自動更新される方が嬉しいような気がして、 ファイルの変更監視でmarkdownファイルの編集->保存を検知 markdown->html変換したものをSocket.IOでリアルタイム更新 というものを作ってみた。 Node版 まずはNodeで。実行時引数で監視対象ファイルを指定し、fs.watchFileでそれを500msごとに監視、変更あれば変換したHTMLを普通にSocket.IOでクライアント側に通知する。 #!/usr/bin/env node
Socket.IOBidirectional and low-latency communication for every platform PerformantIn most cases, the connection will be established with WebSocket, providing a low-overhead communication channel between the server and the client. ReliableRest assured! In case the WebSocket connection is not possible, it will fall back to HTTP long-polling. And if the connection is lost, the client will automatical
Node.js の次のメジャーバージョン 0.12 で yield が使えるようになります。 そのおかげで、JavaScript のコールバック地獄に光が差し込むのです。ああ、さようなら、コールバック地獄。 7 年ごしで実現した yield 2006 年、Firefox 2 のリリースと同時に yield は JavaScript 界に登場しました。随分と前の話ですね。 登場した当時は JavaScript 界隈でけっこう話題になっていました。 JavaScript 1.7 の yield が凄すぎる件について - IT戦記 Latest topics > JavaScript 1.7のyield文ってなんじゃらほ - outsider reflex JavaScript 1.7 の新機能: Days on the Moon 登場したときにはインパクト大きかったものの、結局 Firefox
WebSocketが一番速いアプリケーションサーバはどれだ?:Tomcat、Jetty、Socket.IO/Node.js性能比較(1/3 ページ) はじめに 2012年の10月にWindows 8が発売され、そこに搭載されたInternet Explorer(以下、IE) 10ではHTML5の機能が利用できるようになりました。また、2013年の2月にWindows 7版のIE 10もリリースされ多くのユーザーがHTML5の恩恵を受けられるようになりました。 HTML5の機能の多くは、Webブラウザ側で実装されれば、HTMLやCSSを適切に記述することで利用が可能です。しかし、今回取り上げるWebSocketはサーバ側でも機能の実装が必要です。このため、WebSocketを利用する場合はWebブラウザだけではなくサーバを選ぶ必要があります。 WebSocketそのものの技術的な解説は、以下
どうも、LesCochons最年少メンバーのryogです。 最近自分の中から若さを感じなくなってきたので、ちょっと年齢を強調してみました。 LesCochonsでは「活動内容のまとめ」以外にも、情報を発信していきたいと思っています。 話し合いの末、週に1回はメンバーの誰かが日記を書いていく事が決まりました。 その記念すべき第1回はMr_K_Oが書いたこの記事です。 『エリック・エバンスのドメイン駆動設計』読書メモー序文から第1章 - ぶたのわるつ 私は技術が好きなので、技術の紹介を中心に日記を書くことにしました。 今回紹介するのは『CoffeeScript』です。 ではでは、早速この素敵な言語を紹介していきましょう! CoffeeScriptとは CoffeeScript is a little language that compiles into JavaScript. http://
最近は弊社のブログにもNode.js関連の記事が増えてきました。私も勉強中なのですが、社内ブログを参考にさせてもらうことがよくあります。 毎回探すのもちょっと面倒なのでClassmethid.dev()内のNode.js関連の記事をジャンルごとにまとめてみました。 1年以上前の記事もあり、情報が古い可能性があるので注意して下さい。今後も新しい記事が追加されたら更新していこうと思います。 メール送信 node.jsのいろいろなモジュール3 - Nodemailer node.js上から簡単にメールの送信ができるモジュールの記事です。 ファイル関連 node.jsのいろいろなモジュール1 - node-gzip node.js上で簡単にgzip圧縮ができるモジュールの記事です。 node.jsのいろいろなモジュール4 - Node Basic FFmpeg ffmpegという動画と音声を変換す
AndroidアプリからWebViewなどを介さずにnode.js+Socket.IOと双方向通信するための簡単なサンプルを紹介します。 サーバ側の実装 Androidアプリからnode.js+Socket.IO間で双方向通信するには、socket.io-java-clientというライブラリを使用します。 今回はサーバ側には弊社うえじゅん氏が公開している記事で作ったチャットアプリを使用しますので、まずは以下の記事を参考にチャットアプリを作っちゃってください。 Node + Socket.IO で簡単なチャットアプリの作成 チャットアプリの準備が終わったら、早速Androidアプリ側の準備をしましょう。 Androidアプリの実装 サンプルプロジェクトのダウンロード 今回紹介するAndroidアプリのソースコードをGitHubにあげてあるのでダウンロードしてください。 hakamata/S
どうも僕です。 今日は、サーバサイドJavaScript(node.js)でjQueryチックにDOMを操作して、Webサイトをクローリングする方法についてまとめようと思うよ! 要は、既存のWebサイトから必要な情報を収集してきて、データベースに突っ込もうということ。 これができると何がうれしいかって、簡単にまとめサイトが作れるんだよね。 クローリングする方法は数々あれど、なにゆえサーバサイドJavaScriptのnode.jsを使ってこれをするかというと、「クローリング対象の部分をjQueryのセレクタで指定できる」のが大きいわけです。 みんな、好きだよね!jQuery!とっても便利だよね!jQuery! 好みにもよるかと思うが、JavaScriptのようなふにゃふにゃした言語をあえて使う理由は、クライアントサイドプログラミングを組むか、JQueryの恩恵を受けるためといっても過言ではあ
はじめに 2011年はサーバサイドJavaScriptのnode.jsがエンジニアの間で流行した年でした。そこで、2011年に書かれたnode.jsに関する記事を、はてなブックマーク数順に並べてランキングを作ってみました。 全部チェックされている方もそうでない方も、この週末を使って読み返してみると良いかもしれません。 ランキングの抽出条件 はてなウェブ検索を使って、以下の条件でつくりました。 3 users 以上で絞り込み ユーザ数でソート 2011年1月1日 〜 2011年12月31日の間にpostされたもの 2012.1.7追記 ポストしてから気づきましたが、上記抽出条件ではてなウェブ検索しても、漏れるエントリがいくつかあるみたいです。それと、2010年の記事がいくつか混ざっていましたので、修正しました。 2011年 node.jsに関する記事のブクマ数ランキングTOP50 No.タイ
JavaScriptなどのスクリプト言語は動作が遅く、最適なパフォーマンスを得るにはC/C++で実装しなければならないという常識に挑んだ先進的な講演が話題になっています。この話題の発端は2012年10月7日から10月8日までベルリンで開催されたJSConf.euでFelix Geisendörfer氏が行った講演です。 彼の講演の題材はnode.jsからMySQLに接続する為のバインディングのパフォーマンスに着目しています。2010年当時、node.jsにはMySQLのバインディングが存在しておらず、増井さん作のnode-mysqlモジュールが開発中の状態でした。このモジュールはJavaScriptでバイナリを解析しておりJavaScriptのみで開発されていました。この状況を受けてFelix氏が新たにnode-mysqlモジュールを新規に開発を始めました。このモジュールもJavaScri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く