タグ

node.jsに関するji_kuのブックマーク (57)

  • npmでnode.jsのpackageを管理する

    このTopicはWeb ApplicationのfrontendのProjectを管理するTopicの2つ目です。 node.jsのversionを管理するためにnodebrewを利用する npmでnode.jsのpackageを管理する grunt.jsを使って、frontendのビルドを行う 前提条件として、僕の環境はMac OSです。 npmとは? npmはnode.jsのpackageを管理するためのツールです。 node.js自体はJavaScriptで出来たWeb Serverですが、frontendを管理するためのtoolもたくさんあります。 npmはnode.jsのpackageを管理すためのツールです。 Javaが分かる方は、mavenのようなものだと想像していただければ、分かりやすいかと思います。 npmでpackageをインストールする npmでpackageをインス

    npmでnode.jsのpackageを管理する
  • Mac OSXにnodebrewをインストールする - Qiita

    $ nodebrew -h Usage: nodebrew help Show this message nodebrew install <version> Download and install a <version> (compile from source) nodebrew install-binary <version> Download and install a <version> (binary file) nodebrew uninstall <version> Uninstall a version nodebrew use <version> Use <version> nodebrew list List installed versions nodebrew ls Alias for `list` nodebrew ls-remote List remote

    Mac OSXにnodebrewをインストールする - Qiita
  • リアルタイムウェブな観点からElixir / Phoenix について - Qiita

    ここ最近、 [翻訳] Elixir - 次に来る大物Web言語 - Qiita とか 超高速なJSON APIをElixirフレームワークのPhoenixでビルドしてテストしよう | POSTD を読んで気になっていたので、勉強していた。 前提: 自分はシングルページアプリケーションに特化したフロントエンドエンジニアであり、サーバサイドのプロダクション運用にはそこまで強くない。あとこれはここ2日の勉強した日記でもあり誤解や勘違いも多々あると思う。 リアルタイムウェブアプリケーションのためのサーバー Railsの次の時代、リアルタイムウェブの為のウェブフレームワークがあるとしたら、次のような特長をもつと思う。 HTTP, HTTP/2. WebSocket等のプロトコル対応と抽象化 JSON APIに特化 認証系 キャッシュ管理 Viewに関心がない リアルタイムウェブは、その言葉をどう定義

    リアルタイムウェブな観点からElixir / Phoenix について - Qiita
  • 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間で変数を受け渡す)方法いろいろ - すぎゃーんメモ
  • Node.js を選ぶとき 選ばないとき

    新卒入社3年目のエンジニア集団。それぞれが広告関連システム、ビデオ関連サービス、地図関連サービスの開発に関わる傍ら、Node.js、MongoDBHTML5を組み合わせたブラウザ上で動作する社内用メッセンジャーツールを開発や、WebSocketを使った実験的地図サービスの開発をおこなっている。これらを実験場として、ブラウザの最新仕様やNode.jsのノウハウをヤフー社内に普及・啓蒙中。

    Node.js を選ぶとき 選ばないとき
  • Re* Programming » c#

    今回、中国出身の Designer 王雅さんと一緒に制作した 「寄席の箱」 を SNACKS Vol.2 で展示しました。 実は、王さんは私が学校の授業(IoT)で教えていた生徒なのですが、卒業デザインで発表した内容の世界観がとても良いなと思っていました。 せっかくなので卒業制作とは別に展示やコンテストに出せるものにしないかと声をかけたのでした。 // 一応補足しておくと学校の卒制の合否判定は私の担当では無く、また卒業制作提出後のやり取りです 彼女は、日のデザインと漫才がとても好きで来日し、1年足らずで日語のやり取りがほとんど出来るぐらいになっていました。 お笑いを知るには歴史から(?)ということで漫才について色々と調査し、その流れの中で寄席や漫才、お笑いにはテレビが非常に大きな関わりを持っており、欠かせないものであると感じ、その時代背景とともにお笑いの歴史をブラウン管に映し表現したい

  • Google Chromeに入ったジェネレータとPromiseで非同期処理に革命が起きた - 素人がプログラミングを勉強していたブログ

    Google Chrome Canary(正確にはV8)に、ついにGenerators(yield)が入った。これを上手に使うと、エラー処理を含む非同期コードを同期的に書くことができるようになり、見通しが極めて良くなるので、ここで紹介する。 ここで紹介するものはいずれNode.jsでも使用できるようになるので、Webとの互換性を気にする必要のないNode.jsでは近いうちに活用できるようになると思う。 下のコードを動かすためには、最新のGoogle Chrome Canaryで、chrome://flagsからexperimental javascriptを有効にしておく必要がある。 ES6 HarmonyのGenerator構文について functionではなくfunction*というキーワードを使うと、yieldキーワードが使えるようになる。 function* range(begin

    Google Chromeに入ったジェネレータとPromiseで非同期処理に革命が起きた - 素人がプログラミングを勉強していたブログ
  • Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話

    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

    Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話
  • Node.jsのコンセプトとは? ライアン・ダール氏による東京Node学園祭 基調講演(前編)

    このセッションでは、前半でNodeのコンセプトを、後半では来週にもリリース予定のNodeの新バージョンについて紹介します。 このデニス・リッチーの言葉はNodeの特徴を表していて、Nodeとは機能を加えるよりもむしろ取り去ったものです。 いまのOSのインターフェイスのほとんどは、1970年代のテレプリンタのような歴史をひきずっています。ケン・トンプソンとデニス・リッチーが開発したUNIXやCは当時のPDP11のためにデザインされたもので、いまのOSもその歴史上にあるのです。 UNIXの基概念は、対話的なコマンドラインを作るものでした。lsコマンドを打つとその結果がテレタイプに出力されるといったものです。そして基概念には、ブロックするシステムコールやプロセスが含まれています。 ブロックするシステムコールを呼び出すと、I/Oが完了するまで戻ってきません。戻ってくるまでどれだけかかるかも分か

    Node.jsのコンセプトとは? ライアン・ダール氏による東京Node学園祭 基調講演(前編)
  • これはnode.jsの時代が来るか!?全て揃ったnode.jsフレームワーク·Tower.js MOONGIFT

    Tower.jsはフルスタックのnode.js用Webアプリケーションフレームワークです。 こ、これはやばい…。ついにnode.jsの時代が来るかもしれない、そう感じさせるWebアプリケーションフレームワークがTower.jsです。 インストールはnpmで簡単にできます。 まず新しいアプリケーションを作成します。 Scaffoldで簡単にコントローラ、モデル、ビューを生成。 生成された際の構成はこんな感じです。 towerコマンドのオプションです。 Webサーバを立ち上げ場合です。 Tower.jsはMongoDBをデータベースに、Redisはバックグランドジョブ、CoffeeScriptをメインの記述に使いつつ、Jasmineをテストフレームワーク、jQueryも使えるフレームワークです。メール、マイグレーション、MVC、RailsばりのO/Rマッピング、バリデーション、ルーティング、B

  • Node.js、Socket.IO、MongoDBでリアルタイムWeb

    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を使用して

    Node.js、Socket.IO、MongoDBでリアルタイムWeb
  • node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場

    node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre

    node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場
  • JavaScriptでWebアプリを開発できる「Node.js」活用入門 | OSDN Magazine

    昨今注目を集めているWebアプリケーションプラットフォームの1つに、「Node.js」 がある。Node.jsはJavaScriptでWebアプリケーションのサーバーサイドプログラムを実装できる技術で、高いスケーラビリティが特徴だ。記事ではNode.jsの基的な知識やフレームワーク「express」を用いたWebアプリケーション作成方法を紹介する。また、Webブラウザ上で動作するIDE「Cloud9 IDE」を用いてNode.jsアプリケーションをWindows Azureで実行させる方法についても解説する。 JavaScript、そして非同期・シングルスレッドで注目を浴びるNode.js Node.jsはJavaScriptでWebアプリケーションのサーバーサイドプログラムを実装できる技術で、開発プロジェクトのスタートは2009年と、比較的その歴史は浅い。しかし、ここ数年でプロジェク

    JavaScriptでWebアプリを開発できる「Node.js」活用入門 | OSDN Magazine
  • WebSocket の動作確認に wscat が便利すぎる件 - tricknotesのぼうけんのしょ

    WebSocket を利用したアプリケーションを作る際に、動作確認が煩雑な場合があります。 サーバ側とクライアント側をどちらも実装する必要があって、「ちょっとこの部分だけ動かしてみたいなぁ」っていうときに、簡単に試す方法があると便利ですよね! そんなときにおすすめなのが、 wscat です。 wscat は、コマンドラインで利用できる WebSocket のサーバ/クライアントで、ws に同梱されています。 ws とは、 Node.js 上で WebSocket を使うためのモジュールで、Socket.IO やengine.io の内部でも利用されている今注目のプロダクトです。 今回は、この wscat の使い方をご紹介します。 対象バージョン ws (0.4.7) インストール Node.js のモジュールなので、 npm でインストールするのが簡単です。 $ npm install -

    WebSocket の動作確認に wscat が便利すぎる件 - tricknotesのぼうけんのしょ
  • node.js で人気のあるライブラリ10選 - tokuhirom's blog

    node.js というか npm で依存されているライブラリの上位10個ぐらいがどういうものがはいっているのかをまとめます! 具体的には serach.npmjs.org の Most depends on にのっているリストに註釈をつけただけです! http://search.npmjs.org/ 1位 underscore.js 392個http://search.npmjs.org/#/underscore クライアントサイド JS で人気のたかいユーティリティーライブラリの underscore.js が堂々の第1位。 クライアントサイドでつかってるからそのままつかってる人が多いのかな、とおもっています。

  • Cluster

    Node.js v0.6 の新機能として cluster モジュール が導入されました.cluster モジュールは,HTTP を含めた TCP 接続を複数の子プロセス (ワーカプロセス) で処理することにより,特にマルチコア環境でのスループット (リクエスト/秒) を向上するための機能です.  しかし,ドキュメントにはその使い方が書かれているだけで,どのように実現されているかは書かれていないので,ここで簡単に紹介しておきます.  Node.js のクラスタ機能は v0.5.10 で突然コマンドラインオプションとして導入されましたが,直後の「東京 Node 学園祭 2011」が行われた頃にはコマンドラインオプションは廃止されて cluster モジュールによって API が提供されるようになり,その翌週の v0.6.0 リリース数時間前にはその API が変更されるというドタバタぶりでした

    Cluster
  • node.js で memcached を利用するときのキー生成 | Act as Professional

    memcached を利用するときのキーは、基的に長さや重複を避けるために md5 の形にして利用することが多いのですが、今回はそれを node.js ではどうやるのか。 キーを生成する元の文字列などにスペースが含まれる場合などは、そのままでは memcached では利用できません。また、キーの長さが固定でない場合は長すぎて利用できないケースが存在します。よって、僕はmd5形式にしてしまします。JavaScriptって標準でmd5にする関数が組み込まれていないんですね。そこで、どうやってやるかのサンプルコードを掲載します。

    node.js で memcached を利用するときのキー生成 | Act as Professional
  • node.js から memcached を利用する + おまけ情報 | Act as Professional

    http://nodefest.jp/2011/に参加した日にこのBlogで利用していたAPIが終了するという終了勧告を受けました。まさにnode.js熱が最高の時にこんなことを知ったらnode.jsで書き上げるしか手はありません。 幸いなことに、http://nodefest.jp/2011/参加者にはファーストサーバからβ提供していただけたhttps://node-ninja.com/を利用して、同様のAPIを半日もかからずに書き上げられました。 今回はキャッシュとしてよく利用するmemcachedをnode.jsから利用するサンプルスクリプトを紹介します。 インストールnode.jsでmemcachedを利用するライブラリの開発はgithubを利用しておこなわれています。 https://github.com/elbart/node-memcache導入は難しいことを考えることなく、

    node.js から memcached を利用する + おまけ情報 | Act as Professional
  • Nodeにテンプレートエンジンはもういいかな

    正確に言うと、 「サーバサイドでテンプレートエンジン使って画面を作ってから、そいつを丸っとレスポンスで返す」のはNodeにはあまり合わないんじゃないかと常々思っている。 理由は、レンダリングはCPUヘビーな処理だから。 CPUヘビーな処理は、Nodeのメインループを止めて全体に影響してしまう。これはあまりよろしく無いはず。 どうしたいかというと、やっぱりシングルページなアプローチがしたい。 完全にシングルでないとしても、準シングルくらい。 リソースはAPIで公開。Ajax,WSで取得してクライアント側で組み立てたい。サーバはCUPでの処理の代わりに、クライアントからのコネクション増加を負うけど、Nodeにはその方が良さそう。特にWSで。 画面構築はクライアントに押し付けるけど、最近それをあまりにも気にする感じではないよね。 重たくなるのは、一気にやろうとするからで、最初にテンプレートを受け

    Nodeにテンプレートエンジンはもういいかな
  • Fabric Engine Server Performance Benchmarks | Fabric Engine

    Revision History Date Author Description 11/11/2011 Peter Zion Describe results of Monte Carlo Value-at-Risk benchmark Introduction The purpose of this document is to provide an objective comparison between computational algorithms implemented in JavaScript (alone), single-threaded C++, multithreaded C++ and JavaScript using Fabric Engine. All tests were performed on an Amazon EC2 High-CPU Extra