タグ

node.jsに関するkarur4nのブックマーク (23)

  • Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita

    Node.jsはシングルスレッド、ノンブロッキングI/O、イベントループなどの特徴があり、「向いていること」と「向いていないこと」があると思います。 言語選定の際に使えるメモとして、Node.jsの構築事例も加えてまとめてみました。 Node.jsに「向いていること」 処理が短時間でイベント処理が重要なアプリ 例えば、チャットアプリなどの大量のアクセスのあるリアルタイムなネットワークプログラミングが得意 シングルCPUのサーバー シングルCPUの環境化でもその性能を十分使い切れるため、比較的性能の小さいサーバ上で大きなパフォーマンスを発揮できる Node.jsに「向いていないこと」 CPU負荷の高い処理 CPUリソースを大量に必要とするJavaScriptの処理を行うとイベントループが回らない状態になり、イベントハンドリングが行えない状態に陥る。このため、CPU処理が大量に必要とされるアプ

    Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita
  • Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-

    タイトルは釣りです。すいませんほんと。 2015年12月0c8日に行われたAktsk Tech Meetup #1: Elixir & GraphQLで発表した際の資料です。 === Node.js+Koaで開発していたサービスを、なぜリリースせずにElixir+Phoenixに書き換…

    Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-
  • node.jsでrssをparseしてみた - Qiita

    'use strict'; var express = require('express'); var router = express.Router(); var FeedParser = require('feedparser'); var http = require('http'); router.get('/parse', function(request, response) { var feedMeta; var episodes = []; // 指定urlにhttpリクエストする http.get('http://leoville.tv/podcasts/sn.xml', function(res) { //レスポンスにフィードパーサをパイプで渡す res.pipe(new FeedParser({})) .on('error', function(error) { re

    node.jsでrssをparseしてみた - Qiita
  • JSオジサン#1 LT「node-webkitとchrome-remote-interfaceでブラウザオートメーション」 - ayapi.github.io

    渋谷21Cafeで開催された、「JSオジサン #1」 ぁゃぴ、⑤分間のLTとゅーことで、人生初プレゼンさせてもらぃました その時に映してもらってたスライドと、 ぁとで反省するために自分で録音をしてたから、それを公開します slideshare: node-webkit & chrome-remote-interfaceでブラウザオートメーション ↓LT㊥の㊢メを撮って頂ぃてました\(^o^)/ ↓21cafeのFaceBookページにぃっぱぃ載せてもらってました\(^o^)/ 投稿 by 21cafe<ニイイチカフェ>. 投稿 by 21cafe<ニイイチカフェ>. 投稿 by 21cafe<ニイイチカフェ>. ↓ぁの有名な、おだんみつさんと一緒に㊢メ撮って頂きました\(^o^)/ ↓おだんみつさんのまとめページ IT業界で密かに話題…エンジニアに萌えるお姉さん『おだんみつ』って誰?

  • GitHub - sahat/hackathon-starter: A boilerplate for Node.js web applications

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sahat/hackathon-starter: A boilerplate for Node.js web applications
  • Gruntfile.js が長すぎてつらい人は gulp を使ってみよう - Qiita

    Gruntfile.js は常々長すぎると思っていました。複数ファイルに分割しようが長いものは長いです。 最近、後発の gulp というものを見つけて使ってみていますが、いい感じです。 設定ファイルが短く書ける上に、速いです。 先日 Grunt 入門の記事「Web デザイナーさん向け Grunt を使った コーディング作業の効率化、はじめの一歩」を読んで、例の Gruntfile.js と同等の内容を gulp で書いたらどうなるかなと思って書いてみました。 サンプルファイル含めたプロジェクト全体 gulpfile.js だけ 67 行から 29 行に。約半減です。また、短くなっただけではなく、処理の流れがわかりやすくなっていると思います。 var gulp = require('gulp'); var concat = require('gulp-concat'); var prefix

    Gruntfile.js が長すぎてつらい人は gulp を使ってみよう - Qiita
  • いぇーい yield と co と koa

    express の後継だけあって期待が高まってる Koa ですが、あの珍妙な yield による同期処理っぽい記述がどのようにして支えられているかメモってみます。 年末年始を経てヤル気が高まってきたので、久々にnodeの話。 visionmedia/co さて題。 早速ですが、koa の middleware における、あの特徴的な yield 天国は、koa ではなく co というモジュールによるものです。サンプルを見るのが早いです。 件は yield を使うので、現時点では node v0.11.x を --harmony オプション付き実行が必要なことに注意してください 下記は co を単品で利用した場合のサンプルです。 /** * GETリクエストを非同期処理するモジュールを想定 * @example get('http://example.com')(function() {

    いぇーい yield と co と koa
  • Jadeのテンプレート継承を使ってみた

    Jadeのテンプレート継承を使ってみたnode.jsの数あるテンプレートエンジンのうちJadeというのものがあり、expressで使っているのですが、0.16辺りでテンプレート継承をサポートしてたみたいなので使ってみた。 使い方extendsとblockを使うことによってテンプレート継承を行う。 継承元となるテンプレートはこんな風に書く。ファイル名は base.jade としておく。 //- base.jade !!! 5 html head h1 My Site block scripts script(src="/jquery.js") body block header header p some header content block content block footer footer p some footer content blockには名前をつけることができる。このコ

  • koa入門 - from scratch

    さて、2013年12月19日にkoaというフレームワークの0.1.0がリリースされ、Hackers Newsに乗り、それが話題になっています。 これまでNode.jsのWeb Application Frameworkとして最もメジャーなのはExpressだと思いますが、Expressの作者であるTJを筆頭にExpressチームがKoaを積極的にエンハンスし始めているため、今後のNode.jsのフレームワーク勢力図が変わる可能性があります。 作者のメッセージを引用すると Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and A

    koa入門 - from scratch
  • 新しいWebフレームワーク Koa について

    新しいWebフレームワーク Koa についてこの記事はNode.js Adevent Calendar 2013 - Adventarの25日目の記事です! メリークリスマス!! 大とりの記事に相応しいかどうか分かりませんが、Expressの作者であるTJ Holowaychuk(@visionmedia)氏がここ最近開発しているKoaというWebフレームワークについて紹介し、最後にちょこっとコメントして、Node.jsのAdevent Calendarをしめくくりたいと思います。 Koaとは?Koa とは、WebアプリケーションやRESTなAPIアプリケーションを作るための新しいWebフレームワークです。 同氏が手がけたフレームワークとしてConnectとExpressがありますが、知っている人、使っている人からすると何が違うの?疑問に思うかと思います。これについては、READMEやFA

  • Node.jsの開発を超速化するGitHub連携 三種の神器 - teppeis blog

    Node.js Advent Calendar 2013 - Adventar 9日目です。 あまりネタを用意する時間がなかったので、GitHubにNode.jsのリポジトリを置いたりnpmにパッケージを公開したりしたときに便利な定番サービスを3つ紹介します。 Travis CI Coveralls David タイトルは釣りですが、特にTravisとCoverallsは一度体験すると離れられないぐらいほんとにlife changing。コードをpushしたらブランチのビルド結果をプルリクに表示してくれたり、カバレッジ結果をコメントで書き込んでくれるので、それを見ながらコーディングを進めていけます。これが無料なのは意味不明なぐらいの神です*1。 サンプルコードはこちらのプロジェクトで見てください。 Github: https://github.com/teppeis/fixclosure

    Node.jsの開発を超速化するGitHub連携 三種の神器 - teppeis blog
  • APIのモックを簡単に作成できる「node-easymock」 - 大学生からの Web 開発

    フロントエンド・バックエンドを分離してAPI主体で開発していく「APIファースト」がホットっぽいですね。 http://wazanova.jp/items/698 それに捗りそうな「node-easymock」を紹介します。 何をしてくれるか 例えば、localhost:3000/userにアクセスしたら { "name": "taro", "age": 22, "comment": "Hi" } みたいなJSONを返してほしいなー、ってのをちゃっちゃと作れるツールです。 API実装はしてないけど、テスト用に使うためのモックサーバーを簡単に立てられるツール。 インストール node.js製でnpmを使ってインストールします。 $ npm install -g easymock 使おう localhost:3000/userから取得したければ、user_get.jsonに色々書いていきます。

    APIのモックを簡単に作成できる「node-easymock」 - 大学生からの Web 開発
    karur4n
    karur4n 2013/11/30
    書いた
  • GitHub - ca-archived/node-easymock: A simple but powerful mock server in nodejs

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ca-archived/node-easymock: A simple but powerful mock server in nodejs
  • 結婚式二次会用に Node.js x ブラウザでタイピング対決アプリを作ってみた - 凹みTips

    はじめに 先月、友人結婚式の二次会でタイピング対決をしたいとの企画を、幹事の友人から受けました。面白かった要件としては、 二人の顔を 2 台のカメラで映したい タイピングしてる様子をリアルタイムで見たい というものです。これをサーバは Node.js で、クライアントはブラウザで作成しました。エントリ書いてもいいよ、と許可を頂いたので、今後似たような依頼を受けた方のご参考になるように、エッセンス部分をご紹介します。 (追記:2013/11/20) 幹事さんも記事を公開されました: http://tjun.org/blog/2013/11/wedding-typing/ やったこと ホスト PC 側で新郎新婦それぞれの PC からのログインを待ち受けします。イイ感じに○で切り抜いてくれるような PNG をイラレで作っておきました。 それぞれの PC からログインしてもらいます。 ログインし

    結婚式二次会用に Node.js x ブラウザでタイピング対決アプリを作ってみた - 凹みTips
  • Groupon: 単一のRailsアプリから複数のNode.jsアプリへの移行 - ワザノバ | wazanova.jp

    https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/ Grouponのビジネス自体はかつての盛り上がりはないですが、シンプルなRailsアプリが、事業の成長 & グローバル化に従って、アーキテクチャを変えていった過程をエンジニアブログで紹介してるので、参考になればと。 1) まとめ Grouponは、Railsのシングルコードベースを独立した20個のNode.jsアプリにアーキテクチャを変更した。 ページの読み込み時間が概ね50%改善。これはテクノロジーの効果とコードの書き直しでwebページが軽くなったのとの相乗効果。 同じトラッフィクに対してハードウェアが削減できた。 チーム間の依存関係が少なくなったので、新機能リリースのペースが早くなった 同じ機能を複数の国にそれぞれ導入するような冗長さが

  • Yeoman入門(第一部、yoを使う) - from scratch

    ※ 追記: id:TokyoIncidents さん"補足"の誤字修正しました、ありがとうございます!! これからYeomanに関して説明していきます。 Yeoman自体が何者なのかよくわかっていない人も多いと思います。また、ある程度Yeomanの概要は知っているので、generatorの作り方が知りたい、という方もいると思います。今回は三部構成で、yeomanを使う話、yeomanのgeneratorを作る話、最後にyeomanのAPIに関して説明していきます。今回は第一部のyeomanを使う話について説明します。 Yeomanとは Google社が作成した総合開発ツール群です、「ヨーマン」と呼びます。公式サイトには MODERN WORKFLOWS FOR MODERN WEBAPPS (モダンWEBアプリケーションのためのモダンワークフロー) と記述されています。 Yeomanを使う

    Yeoman入門(第一部、yoを使う) - from scratch
  • Node.js + Express + MongoDB でのセッション管理 - hogehoge

    なんでMongoDBでセッション管理するのか Node.js + Express (Connect) で標準で提供されている MemoryStore でセッション管理を行うとメモリ上での管理になるため node が落ちるとセッションデータが消えることになりセッションの永続化ができませんし、動作確認もソースの確認も行っていませんが、production で起動した際に出力されるメッセージ(https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L199)に Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak memory, and will n

    Node.js + Express + MongoDB でのセッション管理 - hogehoge
  • Socket.IO API 解説 - Block Rockin’ Codes

    追記 11/7/31 Socket.IO v0.7 解説を最初に途中までで出す。 11/8/1 だいたい全部新機能なので '(新機能)' って書くのやめた。 11/8/4 オプションの設定周りを追記 11/8/6 認証周りを追記 11/8/12 スタンドアローンのサンプルを追記 11/9/27 Socket.IO v0.8 対応について追記 11/9/27 タイトルを Socket.IO API 解説に変更 11/9/27 翻訳サイトリンク追加 公式マニュアル翻訳サイト そういえば公式サイトの翻訳をフォークしたリポジトリで、それなりの更新頻度でやってます。 リポジトリの wiki も地味に訳しててこっちは結構役に立ちます。記事と合わせてどうぞ。 家 http://socket.io/ 翻訳ページ http://jxck.github.com/socket.io wiki https:/

    Socket.IO API 解説 - Block Rockin’ Codes
  • grunt-contrib-watch が重いので grunt-este-watch を試したら幸せになった

    最近、Grunt と grunt-contrib-watch を使っているのだけど、grunt-contrib-watch が CPU を消費しがちである。 watch 対象のファイルが少ないうちは grunt-contrib-watch は問題なく動くんだけども、ファイル数が増えてくると CPU の消費量が増えてくる。自分の環境では、1,000 個ぐらいのファイルを監視していると、常時 10% 程度 CPU を消費している。 この問題は既知であり、FAQ には次のように書いている。 たくさんのファイルを監視している場合、デフォルトの interval の値が小さすぎるかもしれない。options: { interval: 5007 } のようにして増やしてみてほしい。詳しくは issues #35 と #145 を参照のこと (※日語訳は私によるもの) Another reason i

    grunt-contrib-watch が重いので grunt-este-watch を試したら幸せになった
  • socket.ioとenchant.jsでネトゲ作り始めた - mizchi log

    某所に提出するように昔作ったもののコア部分を詰めて作ったんだけど、興が乗ったので今日そのまま作りこんでみた。 同時にログインして相手に近づいて殴ったらHPバーが減って死ぬ。死ぬと4秒でリポップする。 まだマップを実装したりモンスターを徘徊させたりしてない。実質一日で作ったものなので現状この程度。 ガワはenchant.jsで書いた。はじめてまともにつかってみたが、意外と複雑な構成に耐える印象。とくにアニメーション部分はavatar.enchant.jsの仕組みにほぼ乗っかっているのだが、サーバーサイドでステートを決定してクライアントで受け取っている。こんなこと自分以外はやっていないと思う。 一応Githubに置いた。グワーッと作りたかったので、まだテストコードを書いていない。 mizchi/node-mmo https://github.com/mizchi/node-mmo git cl

    socket.ioとenchant.jsでネトゲ作り始めた - mizchi log