JavaScript はある程度 読み書きできる人 を対象に、Node.js および npm を実際に使ってみます。 環境は何でもよいのですが、今回は Windows 環境で Visual Studio Code という エディタ を利用して、コンソール に "Hallo World" を出力する プログラム を作成します。 このスライドで Node.js を始める足掛かりが得られる ハズ。
![Node.js を選ぶとき 選ばないとき](https://cdn-ak-scissors.b.st-hatena.com/image/square/267c3b2e3105fd5d475f6fed4839ecad5a1303ee/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fthe-case-of-using-node-or-not-131026021415-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
JavaScript はある程度 読み書きできる人 を対象に、Node.js および npm を実際に使ってみます。 環境は何でもよいのですが、今回は Windows 環境で Visual Studio Code という エディタ を利用して、コンソール に "Hallo World" を出力する プログラム を作成します。 このスライドで Node.js を始める足掛かりが得られる ハズ。
クライアントサイドでは 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を深く知りたいエンジニア必携の一冊です。 翻訳者によるサポートページ
本番環境にperlとかrubyとかnodeを入れるんだけど、もちろん system perl じゃやってられないので指定したバージョンのものを一般ユーザの管理下に突っ込みたい。 で、そういうのをこれまで perlbrew とか rvm とか rbenv とか nvm とか nodebrew とかでやってたんだけど、さすがに色々疑問が湧いてきた。バッチで単発実行するために eval "$(rbenv init -)" とかさすがにおかしくね? みたいな。 ということで tokuhirom method 的にインストール用の簡単コマンドを使って実行、あとはパスを通せばいいじゃん、ということにしようかと思う。 参考: サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - blog.64p.org これ、今朝までは Perl::Build をどうにかしてC
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で定義されている。言語仕様が簡
node-chromeはnode.jsをバックエンドに、フロントエンドをChromeを使ってローカルアプリケーションを開発します。 node.jsを使っていると何でもJavaScriptで完結したい気分になってきます。そこでターゲットになるのがローカルアプリケーションです。Gtkなどを使うことなく、何とChromeを使ってしまうソフトウェアがnode-chromeです。 デモアプリを立ち上げたところ。 デモのコードです。 node-chromeではGoogle Chromeのパスを指定し、普段使っているプロセスとは別でWebブラウザを立ち上げます。後はnode.jsのサーバとして動くのみです。ローカルでWebアプリケーションを立ち上げて利用するという新しいスタイルが実現しそうです。 node-chromeはnode.js製のソフトウェア(ソースコードは公開されていますがライセンスは明記され
sqlite3 = require('sqlite3').verbose() db = new sqlite3.Database('/tmp/blog.db') readAllRows = -> db.all "SELECT perma,title FROM entries", (err, rows) -> rows.forEach (row) -> console.log("#{row.perma}: #{row.title}") closeDb() closeDb = -> console.log "closeDb" db.close 1355998432: PersistentのMigrationが便利そうだ 1356131853: カタカナのしりとりの圏 1356162470: ScottyはHaskellのSinatraクローン 1356235849: 本棚オーバーフロー 135
サーバサイド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の仕様
pythonでちょっとしたクローラーを書いて終夜で流したい時に、夜中に落ちたりすると時間がもったいないので、死んでも生き返るようにしておきたいことがある。 追記121203 はてブで指摘された通り で良かった。ドキュメントにちゃんと書いてあった。 node.jsで書いた場合にはforeverが使えて便利だが、他の言語で書いた場合にはchild_processで子プロセスにして呼び出せばいいので、javascriptをちょっと書いておけば、PythonでもPerlでもHaskellでもなんでも使える。 でもjavascriptを毎回書くのは(忘れるし)面倒なのでforever用のjavascriptを出力するスクリプトをpythonで書いてみた(foreverizeっていう名前)。 #!/usr/bin/env python import sys js_str = """var spawn
[前回までの話へのリンク] ・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 のスタック領域を仮想メモリ空間に確保しなければならな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く