タグ

node.jsに関するhigedのブックマーク (54)

  • Node.jsのイベントループを理解する | POSTD

    (訳注:2015/8/4、いただいた翻訳フィードバックを元に記事を修正いたしました。) Nodeの”イベントループ”は高スループットのシナリオを操作する中枢で、ユニコーンや虹で満ちあふれているような魅力的な場所です。そしてこのイベントループのため、バックグラウンドで任意の処理の実行が可能でありながら、Nodeは質的に”シングルスレッド”になるのです。この記事では、イベントループがどのような処理を行うのかを説明していきます。そうすれば皆さんも、この魔法を使いこなせるようになるでしょう。 イベント駆動型プログラミング イベントループを理解するためにまず必要なのは、イベント駆動型プログラミングのパラダイムを理解することです。イベント駆動型プログラミングは、1960年代から広く知られてきました。現在は主にUIのアプリケーションに使用されています。JavaScriptでは主にDOMとのやりとりで利

    Node.jsのイベントループを理解する | POSTD
  • Nodeでモジュール間(app内)で変数を持ちまわる方法 - コンドルが飛んでいる。

    Node.js jpのMLで話題になってました. ちょうど似たことを考えていた (Sequelizeのインスタンスを使いまわそうと思って) ので追ってたらブログでまとめられてた. expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ 自分で考えてたのは, 上記ブログの3. クロージャを使う 方法だけでした. 色々あるんだなーと思いつつ, その後MLで言及された // app.js require './model' module.exports.instanceA = new instanceA(); //model.js require.main.exports.instanceA; // 使える のやり方がいいなーと思ったのでとりあえずこれでやりながら, 他にも良い方法ないか考えようと思います. Node.js v0.6.1 Manual

    Nodeでモジュール間(app内)で変数を持ちまわる方法 - コンドルが飛んでいる。
  • expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ

    Expressでテンプレートからプロジェクトを作ると、現在の最新版2.5.4では . ├── app.js ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ └── index.js └── views ├── index.jade └── layout.jade 6 directories, 6 filesのようにファイルとディレクトリが作られる。app.jsが体で、 var express = require('express') , routes = require('./routes') var app = module.exports = express.createServer(); ... app.get('/',

    expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ - すぎゃーんメモ
  • Felix's Node.js Style Guide(和訳)

    node.jsアプリケーションのスタイルを支配する公的な文章はありません。このガイドはあなたが美しく、一貫したソフトウェアを作れるようになる教訓を与えようとする私の独断の試みです。 このガイドはあなたがnode.jsのみを対象にしていると仮定しています。もしあなたのコードをブラウザなど他の環境でも動かす必要があるのなら、いくつかのガイドは無視してください。 様々なパッケージだけではなくnode.jsもまた、それぞれ自体のスタイルを持っています。なので何かのパッケージの開発に貢献することに興味があるのならば、それぞれのルールに従ってコーディングを楽しんでください。 Tab vs Spaces まずはこの宗教的な問題の話をしましょう。私達の慈悲深い独裁者様はnodeのコアに2スペースのインデントを選択なさったので、彼の秩序に従うのが賢明でしょう。 セミコロン あなたからセミコロンを奪おうとする

  • node.jsを支えるlibuvのチュートリアル"uvbook" :基礎 - 自由課題

    この文書はuvbookの日語翻訳の一部となります。文書そのものの説明その他については目次をご覧ください。 libuvの基礎 libuvは 非同期、 イベント駆動 のプログラミングスタイルを強制します。 libuvの中心的な機能はイベントループとI/Oと他の活動(activity)の通知をベースにしたコールバックを提供することです。libuvはタイマのようなユーティリティ、ノンブロッキングのネットワークのサポート、非同期のファイルシステムへのアクセス、子プロセス等を提供します。 イベントループ イベント駆動のプログラミングにおいては、アプリケーションは特定のイベントに対する興味を表明し、そのイベントが発生した時にこれらに反応します。OSか他の発生源からイベントを収集する責任はlibuvによって取り扱われ、ユーザはイベントが発生した時に実行されるコールバックを登録することができます。イベント

    node.jsを支えるlibuvのチュートリアル"uvbook" :基礎 - 自由課題
  • Node.js v0.10.32 Manual & Documentation

    Home Download About npm Registry Docs Blog Community Logos Jobs @nodejs Table of Contents About these Docs Synopsis Assertion Testing Buffer C/C++ Addons Child Processes Cluster Console Crypto Debugger DNS Domain Events File System Globals HTTP HTTPS Modules Net OS Path Process Punycode Query Strings Readline REPL Stream String Decoder Timers TLS/SSL TTY UDP/Datagram URL Utilities VM ZLIB Joyent N

  • require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes

    [修正] コメントで指摘されたように、回答4の訳が間違っていたので訂正しました。 Node の ML に以下のような質問が投稿されました。 What is the meaning of require('events').EventEmitter.call(this) 内容としては。 「以下のようなコードがあったんだけど、これってどういう意味?」 var util = require("util"); var events = require("events"); function MyStream() { // ここの意味がよくわからん、これは `new MyStream` と同じに見えるんだけど違うの? events.EventEmitter.call(this); } util.inherits(MyStream, events.EventEmitter); var steam =

    require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes
  • Node.jsのコードのエラー処理の書き方: 初歩からより堅牢な書き方まで - memo.yomukaku.net

    ファイルの内容のJSONを読んでパースして返す、という単純な処理を行う関数を例にもちい、node.jsのエラー処理の書き方、よくやってしまう間違い、より堅牢なエラー処理の書き方について書きます。test.jsonというファイル名で以下の内容が書かれたファイルを準備しておきます。 { "1": "a", "2": "b", "3": "c" } このtest.jsonというファイルを読み、JSON.parse()して返すreadJSON()という関数を作り、この関数のエラー処理の書き方についてみていきます。 まずは全くエラー処理を行っていない書き方からみます。 例外処理を行っていない書き方 さっそくコードをみます。 // code1.js // 例外処理を行っていない書き方 var fs = require('fs'); function readJSON (path, callback)

  • Node.jsのhttp.request関数/http.get関数とタイムアウト - hylom's

    Node.jsのhttpモジュールには、HTTPクライアント機能も実装されている。http.request関数およびhttp.get関数がそれだ。詳細はドキュメントを確認していただきたいが、http.requestは任意のリクエストメソッドを使ってリクエストを送信できるものだ。また、http.getはGETリクエストに限定されるものの、URLを与えるだけで簡単にリクエストを送信できる。 たとえば以下のコード(http-request.js)は、引数で指定したURLに対しGETリクエストを送信し、取得したコンテンツを表示するものだ。 http-request.js #!/usr/local/bin/node var http = require('http'); // check arguments if (process.argv.length < 3) { process.exit(-1

  • Node.js — Blog

    The latest Node.js news, case studies, tutorials, and resources.

    Node.js — Blog
  • Node.js v0.12 がリリースされました。 - from scratch

    Node.js v0.12 がリリースされました。 さてさて、さいきんずっとio.jsの話をしてましたが、この度Node.js v0.12がリリースされました。 これまでずっとNode.js v0.12でどう変わるのかを話してましたが、この際一度、何が変わったのかおさらいしておきましょう。 参考URL Node v0.12.0 (Stable) API changes between v0.10 and v0.12 · joyent/node Wiki · GitHub Stream3 Stream3については前に一度この記事で話しました。 Stream今昔物語 - from scratch Stream2にあったold modeの概念がなくなり、Stream1とStream2の両方のAPIに対応されAPIがシンプルになりました。 Stream中のバッファに出力するcorkとそのバッファか

    Node.js v0.12 がリリースされました。 - from scratch
  • 【javascriptを使う人に知って貰いたい(エンジニア、デザイナ問わず)】karmaを使ったテスト駆動開発入門(ついでにJasmineも)

    $ karma init Which testing framework do you want to use ? Press tab to list possible options. Enter to move to the next question. > jasmine Do you want to use Require.js ? This will add Require.js adapter into files. Press tab to list possible options. Enter to move to the next question. > no Do you want to capture a browser automatically ? Press tab to list possible options. Enter empty string to

    【javascriptを使う人に知って貰いたい(エンジニア、デザイナ問わず)】karmaを使ったテスト駆動開発入門(ついでにJasmineも)
  • 依存するモジュールも解決できる Node/AMD (サーバ/クライアント) 共通化モジュールを書く

    このエントリは、 東京Node学園祭 2012 アドベントカレンダー 5日目の記事です。 ■ 前置き - AMD とは AMD (Asynchronous Module Definition) は、Javascript のコードをモジュールとして定義して、非同期ないし遅延ロードするための仕組みです。 http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition (現在、接続が遅い模様) CommonJS により提唱されたものですが、昨年あたりからクライアントサイド (ブラウザ) で JavaScript モジュールを構築する仕組みとして各所で一気に取り上げられ、現在ではクライアントサイドの主要なライブラリでもサポートされてきている(AMD によるモジュールとして利用できる)状態にあります。 モジュールに依存性を指定する仕組みも用意

  • 東京Node学園祭 2014を開催しました - from scratch

    写真は @summerwind さんからです!ありがとうございました。 僕が最初に参加した学園祭から3年、まさか開催する側に立つとは3年前の僕は思いもしなかった。すごく楽しかった!! 東京Node学園祭 2013にスタッフ兼スピーカーとして参加しました。 - from scratch 東京Node学園祭 2012に行ってきました。 - from scratch 東京Node学園祭に行って来ました。 - from scratch ちなみに今回は2011年にも来たGuillermo Rauch、2012年にも来たMikeal Rogersに加えて新しくStrong Loopの元CEOであるIssac RothとNodeSchoolの主催者であるMaxwell Ogdenの4人を呼んで開催しました。自分で言うのもなんですが、ハンズオンあり、基調講演ありで非常に有意義なカンファレンスだったと思って

    東京Node学園祭 2014を開催しました - from scratch