A-Listers

140字に収まらない海外テックネタヘッドライン

Posts Tagged ‘Node.js

C言語より高速なJavaScriptによるバイナリ操作が話題

with one comment

JavaScriptなどのスクリプト言語は動作が遅く、最適なパフォーマンスを得るにはC/C++で実装しなければならないという常識に挑んだ先進的な講演が話題になっています。この話題の発端は2012年10月7日から10月8日までベルリンで開催されたJSConf.euでFelix Geisendörfer氏が行った講演です。

左側がFelix氏

彼の講演の題材はnode.jsからMySQLに接続する為のバインディングのパフォーマンスに着目しています。2010年当時、node.jsにはMySQLのバインディングが存在しておらず、増井さん作のnode-mysqlモジュールが開発中の状態でした。このモジュールはJavaScriptでバイナリを解析しておりJavaScriptのみで開発されていました。この状況を受けてFelix氏が新たにnode-mysqlモジュールを新規に開発を始めました。このモジュールもJavaScriptでMySQLのプロトコルを処理しています。

続いて発表されたのがOleg Efimov氏のmysql-libmysqlclientバインディングです。こちらの場合はその名の通りC言語で実装されたlibmysqlを利用しておりパフォーマンスが大きく向上しています。

この圧倒的な性能差はちょっとした最適化で埋まるものではなさそうです。これにはFelix氏も心が折れかけ、「マテ、V8 ってコードをアセンブラにするんだろ?それってめちゃめちゃ速いんじゃないか?それになんだかんだいっても Node ならどんな問題でも解決できるんじゃないの?なに騙されてたの?(But wait … wasn’t V8 supposed to turn my code into assembly? And was it not supposed to be insanely fast? And wasn’t node going to solve all of my problems anyway? Had I been lied to?)」弱気になりつつも、気合を入れ直します。そして才気溢れるFelix氏はNode.jsの底力を信じてパーサーの改良を努力し、なんとlibmysqlを越えるパフォーマンスを実現します。

素晴らしい改善です。しかしなんと更に彗星の如く現れたバインディングがさらに圧倒的なパフォーマンスを見せつけます。それがBrian White氏が公開したnode-mariasqlです。

この性能差にはFelix氏の心も折れかけ、「もうCのバインディングに勝つなんて無理だよ…( maybe it’s time to finally give up and accept that I cannot compete with a well engineered C binding.)」と弱音を吐きかけますが、彼の更なる努力がJavaScript実装でmariasqlを越えるパフォーマンスを引き出します。

彼のパーサーの再実装から得られた知見は元記事の後半部分に記載されています。V8の特性に配慮したJavaScriptを書くことでの極限のパフォーマンスを実践したい方にとっては参考になるのではないでしょうか。というか、彼スゴすぎますね。

via:https://github.com/felixge/faster-than-c

Written by yandod

2012/10/10 at 11:24

カテゴリー: Uncategorized

Tagged with ,

node.jsの開発リーダーがRyan Dahl氏からIsaac Schlueter氏に

leave a comment »

Ryan Dahl
photo by franksvalli

http://news.ycombinator.com/item?id=3530546
飛ぶ鳥を落とす勢いのnode.jsについて創始者のRyan Dahl氏がプロジェクトのゲートキーパーのポジションをIsaac Schlueter氏に移譲するとのアナウンスがHacker Newsで話題になっていました。Ryan氏は優しい独裁者の例としてWikipediaに記載されているほどの強い影響力を持っていましたが、今後はアドバイスに徹しつつ別のプロジェクトを進めるようです。(joyent社にも引き続き在籍するとの事)

コメント欄を見てみるとRuby on RailsのDHHがプロジェクトを引っ張る立場から退いた件と同じなのか?というようなやりとりがされています。DHHは現在でもそれなりにプロジェクトにコミットしているようですが、Ryan氏の今後のプロジェクトの関わりはより限定的になるとの予測のようです。


(黄色がRyan氏、青色がIssac氏の活動状況)

とはいえ直近のアップデートの状況から見るとIssac氏の活躍はコミュニティに知られているようで、この体制の変更は祝福されている様子です。やはり活動状況をウォッチすることでしか実際の状況はわからないものなんですね。

via:http://news.ycombinator.com/item?id=3530546

Written by yandod

2012/01/31 at 16:39

カテゴリー: Uncategorized

Tagged with ,

2011年の定番オープンソースソフトウェアリスト(開発編)

leave a comment »

日常の開発に欠かす事の出来ないソフトウェアといったら何が思いかびますか?数多くのソフトウェアの中から昨今のトレンドを元にInfoWorldがセレクトした2011年のオープンソフトウェアランキングが発表されていました。10本のソフトウェアに選ばれたのは下記のソフトウェアです。

  • CakePHP
    Ruby on Railsの影響を受けたPHP用のフレームワーク。習得の容易さとコミュニティの活発さで人気。
  • CoffeeScript
    インターフェースやサーバーサイドに欠かす事のできないJavaScriptをより記述しやすくする中間言語
  • git
    バージョン管理の標準になりつつある分散型SCM
  • hadoop
    大規模分散処理を実現するフレームワーク
  • Hudson / Jenkins
    継続的ビルド(Continuous Integration)を行う為のサーバーソフトウェア
  • jQuery mobile / Sencha Touch
    スマートフォン向けのUIを実装する為のフレームワーク
  • MongoDB
    NoSQLデータベースの中でも抜きん出ているスキーマレスデータベース。
  • Node.js
    サーバーサイドまでもJavaScriptで記述しスレッドを使わない事で効率的なメモリ利用を実現する。
  • Web2py
    デポール大学のMassimo Di Pierro氏が開発した使いやすくパワフルなWEBアプリケーションフレームワーク

どのソフトウェアも大きな知名度を持ち、実際の活用を聞く事が増えて来たようなものではないでしょうか。選定の条件はいまひとつ不透明ではありますが、この中で利用した事がないものがあれば一考の価値はありそうです。なおリンク先にはデスクトップアプリケーションやデータセンターソフトウェアなどのランキングも掲載されており、7ZipやEucalyptusなどが選定されています。

via:http://www.infoworld.com/d/open-source-software/bossie-awards-2011-the-best-open-source-application-development-software-171759-0

Written by yandod

2011/09/09 at 10:48

ソーシャル音楽サイト outloud.fm

leave a comment »

outloud.fm

本エントリは普段から少し指向を変えて、僕の友人 Mike O’brien と Steven Hyunh が始めた outloud.fm を紹介したいと思います。

outloud.fm は最新の HTML5 を使った social music サイトです。だいぶ前に取り上げた A-lister で取り上げた turntable とアイデアは似ているかもしれません。まだメディアへの露出はほとんどありませんが、非常に面白いアイデアだと思います。

今アメリカでは Facebook の映画で話題になった Sean Parker を取締役会にむかえる Spotify がローンチされたばかりで、音楽サイトが大きな話題の一つになっています。

以下独占インタビューをどうぞ。


outloud.fm で何が出来るの?


Steven

outloud.fm は、友達とリアルタイムでチャットしながら音楽が聴けるサイト。ログインしたら、新しい room を作るか 既存の room に参加するかして、音楽をアップロードしてみて。Room にいる誰でもが、アップロードできてプレイリストに音楽を追加できるんだ。Room にいる皆がプレイリストの曲を同時に聞けるよ。

( Public room の様子 )

outloud.fm はどうやって始まったの?アイデアはどこから?


Mike

Steven と僕はオフィスでチャットしながら YouTube のビデオクリップとか、blog のリンクとかを送り合って、よく音楽を一緒に聞いてた。いろんな音楽サイトにもいろいろ登録してたけど、最終的に僕らでなんかやってみようってことになったんだ。

最初のバージョンまでどれくらいかかった?


Mike

最初のバージョンをどう定義するかによるけど…2,3週間で、最初のおおざっぱなプロトタイプができてたかな。まぁほんとにアップロードが出来て、チャットが出来て、音楽をストリームするだけのやつ。そこから、バグ修正をしつつ、デザインと機能を繰り返し追加して改善してって…実際、今もまだそんな感じ。少なくとも1週間に1度か2度は何か新しい機能をリリースしてる。


Steven

そうそう、Mike が1週間くらいで作ったっていうプロトタイプを送ってきたのを覚えてる。Twitter ログインがあって、ユーザが入れる Room は一つしかなかった。それって、『こんなアイデアうまくいきっこないからなんか他のことしようぜ』って、Mike に言ったあとだったんだよね。ハハハ。今日に至るまでまでそのことは忘れられない…

これから outloud.fm はどうなるの?


Mike

サイトに関してやりたいこと、アイデアはいっぱいあるし、ユーザも追加機能リクエストをいっぱい送ってきてくれる。実際問題、やることは山ほどあるし今は何に注力すればいいか注意深く決める必要があるね。短期的な目標としては基本機能の充実(例えば曲の人気投票/格付けとかね)だけど、長期的には、ソーシャルネットワーキングサイトや音楽サイトとのインテグレーションに関する何かと、API だな。あとモバイルバージョンもなんとかしたい。いつかは。

2人はどうやって出会ったの?他に支援者はいるの?


Steven

Meetup で一緒に働いているときに出会ったんだ。outloud.fm は現在のところ2人でやってる。でもフィードバックやアイデア、その他の支援してくれる人たち( Takashi も含めてね!)の助けなしにはここまでこれなかったね。


日本でも使えますし(Turntable って日本だと block されてるんですよね?)、利用は無料です。Mike もこのために仕事を辞めて、本気でやっていくみたいなので、ぜひ応援していきたいところです。何かコメントなどありましたら @beatak まで伝えてもらえれば、彼らに伝えておきます!

What outloud.fm can do?

(Steven) outloud.fm allows you to listen to music with your friends while chatting in real-time. After you log in to the site, you can create or join a ‘room’ and start uploading music. Anyone in the room can upload, and the songs are added to a playlist that everyone hears at the same time.

How did outloud.fm started? Where’s the idea coming from?

(Mike) Steven and I used to chat and share music with each other at work, by sending youtube clips or links to blogs. We also were into a bunch of other music sites, and eventually decided we wanted to take a crack at it ourselves.

How long did it take to the first version?

(Mike) I guess it depends on how you qualify the “first” version. Within a couple of weeks I had the first really crude prototype working, which was just barebones uploading, chatting, and streaming music. After that, the design and features have been iteratively added and improved, along with bug fixes. In fact, we’re still in this phase, and have been deploying new stuff at least once or twice a week.

(Steven) Yeah I remember Mike sending me that prototype that he threw together in about a week. It had Twitter login, and there only one room that everyone could join. This came after I told him that I didn’t think the site would work, and that we should focus on something else. Haha, and to this day he won’t let me forget about that…

Where outloud.fm will go?

(Mike) We have a ton of ideas for what we want to do with the site, and we’ve been getting feature requests from users. In fact there’s so much to do that I think we’ll have to be careful about how we focus our efforts. In the short term we want to build out some of the basic features (voting/rating on tracks, for example) but longer-term, some of the ideas center around integration with social networks, and other music sites and APIs. I’d also like to see mobile versions come about, eventually.

Can you tell us how did you meet? Is there any other contributor to the project?

(Steven) We met while working together at Meetup (www.meetup.com). outloud.fm is currently a 2 man operation, but we couldn’t have pulled it off without feedback, ideas, and contributions from a ton of people (including you, Takashi!).

Written by beatak

2011/07/21 at 10:13

カテゴリー: Uncategorized

Tagged with , , ,

HerokuがNode.jsのサポートを開始

leave a comment »

RubyアプリケーションのPaaSとして知られるHerokuが、Node.jsで書かれたアプリケーションへの対応を開始しました。現時点ではパブリックベータという位置付けですが、これまでと同様の使い勝手で簡単にNode.jsアプリケーションをデプロイすることが可能となっています。

Herokuでは、アプリケーションが稼働するOSとRubyインタプリタの組み合わせをスタックと呼び、これまでは2種類のスタックが用意されていました。そこに、今回新たにRuby 1.9.2とNode.jsをインタプリタとして含んだCeladon Cedarというスタックが追加され、これを使うとRails3アプリケーション、Sinatraアプリケーションなどのほかに、Node.jsを使ったアプリケーションにも対応するという形です。

HerokuでNode.jsアプリケーションを動かす手順については、Getting started with Node.js on Heroku/Cedarが詳しいので、興味のある方はぜひ試してみてください。各種パッケージもインストール可能なので、expressフレームワークやPostgreSQL(Herokuが標準提供するデータベース)を利用した本格的なアプリケーションも運用できそうです。

これまでもHerokuはNode.jsの試験的なサポートを行なっており、クローズドなベータテストが続けられていましたが、今回突然パブリックベータとして公開された背景には、このところ新しいPaaSプレイヤーが続々と登場していることも大きく影響しているのでしょうね。

via: Heroku Gets Node.js and More in New Beta Version – ReadWriteCloud

Written by junya

2011/06/02 at 08:00

カテゴリー: Uncategorized

Tagged with ,

DotCloudがNode.jsが使えるクラウドのDuostackを買収

with one comment

先日紹介したNode.jsが使えるクラウドサービスのDuostackDotCloudに買収されるとのニュースが話題になっていました。クラウドサービスの主戦場は単純な仮想サーバー環境の提供からPaaSに移っていきそうですが、単一のメジャーなサービスで全てのスタックが利用できるようになるのではとの予測もでていました。

なおDuoStackからのニュースレターによるとDuostackのユーザーはDotCloudにもまもなくアクセスできるようになるそうです。これによりDotCloudのユーザーが利用できるスタックはPHP, Ruby, Python, Perl, Java, Node.js, MySQL, Redis, RabbitMQ, Solr, PostgreSQL, MongoDBとなるそうです。ほとんど何でもできますね。。。

via:http://gigaom.com/cloud/exclusive-paas-startups-unite-dotcloud-buys-duostack/

Written by yandod

2011/05/25 at 22:13

カテゴリー: Uncategorized

Tagged with , ,

GitはNoSQLデータベースなのか?

with one comment

目を疑うようなタイトルですが、ReadWriteHackに「Is Git a NoSQL Database?」という記事が投稿されていました。事の発端はMarkus Winandさんのブログに投稿された記事、「Choosing NoSQL For The Right Reason(NoSQLを正しい理由で選ぼう)」内でNoSQLのインデックスについて述べた後に提示した疑問発端です。GitがNoSQLなのかもしれないという理由は下記の通り。

  • GitはSQLのフロントエンドインターフェースを持っていない
  • GitはSQLをバックエンドで使っていない
  • Gitは分散型だ
  • コンフリクトが起こりうる

Markusさんは「何がNoSQLの最小要件が何で、それをGitが満たしているのかどうか分からないが、NoSQLを正しい理由で使わなければと」所感を述べています。

それを受けたこの記事の中ではNode.jsをフロントエンドに、データストアにGitを使ったWheatというブログエンジンを例に挙げ、「GitってNoSQLなのだろうか?」とさらに疑問を深めています。
コメント欄によるとこのテーマについてのセッションがRuby Conferenceで行われていたそうです。NoSQLとは何なのかを考え直すきっかけになりそうなテーマですね。

さて、皆さんはどう思いますか?

via:http://www.readwriteweb.com/hack/2011/05/is-git-a-nosql-database.php

Written by yandod

2011/05/17 at 21:02

カテゴリー: Uncategorized

Tagged with , ,

YammerがNode.jsの運用で学んだこと

leave a comment »

Node.jsのカンファレンス NodeConf 2011にて、YammerのリードエンジニアであるMatthew Eernisse氏がNode.jsの運用を通じて学んだことについての発表を行いました。発表のサマリーは5 Lessons Learned Running Node.js in Productionで読むことができます(スライドはまだ公開されていないようです)。

「コールバックを使ったスタイルのコードは、イテレーティブに開発をしやすいが、結果としてスパゲッティコードになりがち」という意見は他所でも見かけることがありますね。また、

  • 物事は失敗すると仮定せよ
    • コールバックは失敗すると仮定してデフォルトではエラーメッセージを出力するようにし、処理が上手くいった場合にエラーを取り消すようにする
    • あとで原因を調査できるよう、すべてのエラーはログに記録しておくこと
  • 可視性とメトリクス
    • 初期段階から、あらゆるものを測定して記録するようにすべき
    • Yammerではメトリクスライブラリとしてmikejihbe/metricsを利用している

といったところは、実際にサービスを運用しているところらしい意見です。

私も普段からYammerを利用しており、ここ数カ月でリアルタイム性がかなり向上してきている印象があったのですが、その裏にはNode.jsのパワーがあったのですね。

Written by junya

2011/05/06 at 16:41

カテゴリー: Uncategorized

Tagged with ,

Duostack – RubyとNode.jsが無料で使えるクラウドがオープンベータ開始

leave a comment »

ゴールデンウィークまっただ中に新しい事に挑戦したい方にいいアイデアです。Duostack公式ブログにてRubyとNode.jsが使えるクラウドサービスのオープンベータが開始した事が告知されていました。
HerokuやPHP Fogなど各言語に対応したクラウドが流行していますがそこにNode.jsが選択肢に加わりました。5月6日までに登録したユーザーには後に特典がある事もアナウンスされていますので、この機会にNode.jsに触れてみるのはどうでしょうか。登録はメールアドレスとパスワードだけでものすごく簡単です。オープンベータはとりあえず無料です。

メールアドレス登録

確認メールのリンクからパスワード登録

ダッシュボード(これだけ!)

ここからはNode.jsならnpm、RubyならgemでDuostackのクライアントを入れればgitでpushするだけでデプロイができるようになります。

via:http://blog.duostack.com/post/5128347496/public-beta-launch

Written by yandod

2011/05/03 at 22:21

カテゴリー: Uncategorized

Tagged with ,

LAMPは死に、そしてNode.jsとJavaScriptの時代

leave a comment »

サンフランシスコのスタートアップ、Metamarkets社CTOのMICHAEL DRISCOLL氏がブログ上で書いた記事が話題になっていました。彼の記事によると、それまでのPythonとDjangoで構成されていたサーバサイドアプリケーションをnode.jsで置き換える決断をしたとの事。その理由は「LAMP構成は誕生から20年が経過し既に死んでいる」という事実を理解したからだそうです。またWEBを以下の3つの時代に分けて説明しています。

  • 1991 – 1999: HTML時代 静的なドキュメントがサーバーから公開されていた時代
  • 2000 – 2009: LAMP時代 様々な言語で構成されたアプリケーションがHTMLのテンプレートとデータベースの値を元に動的なコンテンツを公開。ただしクライアントサイドは静的なまま
  • 2010 – ????: JavaScript時代 サーバーサイドアプリケーションは小さなデータをイベントを介してクライアントに提供し、クライアントサイドでDOMに反映する。

たしかに最近のWEBアプリケーションではJSONやXMLを通じてデータを返却する事が増えて来ているように思います。またコードに占めるJavaScriptの割合も増加傾向になります。そういった中でデータの断片をイベントに対して返却するというスタイルのサーバーサイドアプリケーションにはNode.jsが適しているというのはシンプルな論理ですね。

via: http://metamarketsgroup.com/blog/node-js-and-the-javascript-age/

Written by yandod

2011/05/02 at 12:00

カテゴリー: Uncategorized

Tagged with ,