タグ

Node.jsに関するHHRのブックマーク (129)

  • 旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section2 ~CommonJSモジュールと仲良くなろう~ - Qiita

    はじめに この記事は「旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門」の2つ目の記事です。 シリーズの最初から読みたい方は 旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section1 ~すぐにでも現代っぽく出来るワンポイントまとめ~ へどうぞ。 また、このシリーズではECMAScript5を概ね対応するブラウザを対象としています。 もっと平たくいうと、IE8以下は切り捨てます。ご了承ください。 そしてプロによるマサカリ 対策として一つ重要な注意書きをします。 この記事中で出てくる「CommonJSモジュール」という表現は全て「CommonJSのModules 1.0仕様をベースとして、Node.jsが独自に拡張したCommonJS派生のモジュール仕様及びインターフェース(require/exports

    旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section2 ~CommonJSモジュールと仲良くなろう~ - Qiita
    HHR
    HHR 2016/01/22
    Browserify
  • Unit Testing Express Middleware

    Even for JavaScript software developers well-versed in Agile practices, using test-driven development in Node.js and Express can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD with Express, including mocking data in MongoDB / Mongoose, using promises to control asynchronous testing in Mocha with Chai, and separating concerns to wr

    Unit Testing Express Middleware
  • Node.js Express using Session with Redis Cluster

    Dependencies express express-session connect-redis ioredis $ npm install express express-session connect-redis ioredis Redis – Single Node install & run redis run in cmd $ redis-cli run this in redis-cli redis> FLUSHALL redis> keys * then there are no keys in redis store. and make js file for running express. refer below code var express = require('express'); var app = express(); var session = req

    Node.js Express using Session with Redis Cluster
    HHR
    HHR 2016/01/08
    expressのsession storeにioredisを使う
  • 意外と知らない? JavaScript トレンド 2015 - Gaiax Engineers' Blog

    Gaiax Advent Calendar 2015 18日目担当の @hoto17296 です。 昨今の JavaScript は状況がめまぐるしく変化していて、それほど関心がない人にとっては追随するだけでも一苦労なのではないでしょうか。そこで今回は最近の JavaScript がわからない人向けに「昨今の JavaScript トレンド」について書きます。 トレンドっぽいキーワード一覧 ひとまずパっと思いつくキーワードを列挙してみます。 Node.js v4.2 "Argon" (LTS) npm v3 ES2015 / ES2016 Class Arrow Function let, const Promise Generator Async/Await co Observable 開発環境 Babel Gulp Browserify Webpack TypeScript アーキテク

    意外と知らない? JavaScript トレンド 2015 - Gaiax Engineers' Blog
  • Docker コンテナごと Node.js アプリケーションをホットデプロイする方法 | Tokyo Otaku Mode Blog

    こんにちは。Tokyo Otaku Mode(以下 TOM)ソフトウェアエンジニアの稲田です。 TOM が運営している otakumode.com は現在 1 日約 3、4 回ほどの頻度で更新されています。 これを多いと見るか少ないと見るかは人によって違うと思いますが、デプロイのたびにサイトにアクセスできない状態になっていては、まともなサイト運営とは言えないでしょう。 そこで、サイトへのアクセスを一瞬も止めることなくデプロイする、いわゆるホットデプロイと呼ばれるものが必要になります。 TOM ではアプリケーションサーバーに Node.js を使っており、既に Cluster モジュールを使った独自のホットデプロイの仕組みが実装されています。 今回はこのホットデプロイを Docker と Node.js でもできるようにしていきます。 Docker とは Docker, Inc.(旧 dot

    Docker コンテナごと Node.js アプリケーションをホットデプロイする方法 | Tokyo Otaku Mode Blog
    HHR
    HHR 2015/12/18
    SO_REUSEPORT は Linux カーネル 3.9 から入った機能で、これを使うことによって同じポートで待ち受けるアプリケーションを複数立ち上げられるようになります
  • Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita

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

    Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita
    HHR
    HHR 2015/12/15
  • ESLintのルールを自作しよう!

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 12月から福岡勤務の穴井(@pirosikick)です。 私が所属しているリッチラボ株式会社(以下、リッチラボ)では、スマートフォン向けのリッチ広告の企画・開発と、ヤフー・ソニーと協業のクラウドファンディングサイト「First Flight」の開発・運用を行っています。 今回は、リッチ広告の開発で利用しているESLintのルールを自作する方法について書きたいと思います。 サンプルの動作環境について 記事に登場するサンプルは、下記の環境で実行しましたので、適宜ご自身の環境に置き換えてご覧ください。 Mac OS Node.js 4系(4.2.1) npm 3.3.9 サンプルのJavaScriptは一部ES6で書いておりますので、

    ESLintのルールを自作しよう!
  • npm initでauthorやlicenseなどの初期値を指定する - teppeis blog

    JavaScript Advent Calendar 2015の2日目。小ネタです。 npm initするときにauthorとかlicenseとか毎回同じこと入力するの面倒だったりしません?実はいくつかの項目は初期値を設定できるのだけど、ググってもあまり日語情報が無いようなので共有。 設定方法は.npmrcで以下のように指定すればOK。 init-author-name=Teppei Sato init-author-email=teppeis@gmail.com .npmrcの場所は以下の順で優先される。(詳細は公式を参照) per-project config file (/path/to/my/project/.npmrc) per-user config file (~/.npmrc) global config file ($PREFIX/etc/npmrc) npm buil

    npm initでauthorやlicenseなどの初期値を指定する - teppeis blog
    HHR
    HHR 2015/12/07
    .npmrc
  • 別サーバにあるnodeプロセスをリモートデバッグする方法 - Qiita

    概要 ローカルマシンで起動したnodeプロセスのブラウザ経由のリモートデバッグはnode-inspectorを使って簡単に出来たのですが、 別マシンで起動したnodeプロセスのデバッグをしようとしたらうまく行かなかったのでその解決法を書いておきます。 ローカルマシンで起動したnodeプロセスのリモートデバッグの場合 $ node-debug -p 8888 app (..略) debugger listening on port 5858 Node Inspector is now available from http://127.0.0.1:8888/?ws=127.0.0.1:8888&port=5858 (..略) # netstatで調べるとローカルアドレスが127.0.0.1でローカルからしかアクセス出来ないようです。 $ netstat -ano | grep 8888 tc

    別サーバにあるnodeプロセスをリモートデバッグする方法 - Qiita
    HHR
    HHR 2015/12/04
    node-inspectorの起動方法が変わった。新しい方法。
  • 今からでも間に合う!Node.js v4&v5は何が変わったか?

    Node.js v4リリースに向けて とうとうメジャーバージョンアップにされたNode.jsである、Node.js v4がリリースされました。今回はこのNode.js v4がこれまでのNode.js v0.12やv0.10と比較してどう違うのかを解説します。また、最新ではv5もリリースされていますので、合わせてお伝えしていきます。 なんでいきなりv4なのか おそらく一番最初に抱く感想は、v0.10とかv0.12みたいな数字からv1.0を飛ばして、なんでいきなりv4.0がリリースされたのかという疑問だと思います。これにはio.jsというプロダクトが関係しています。 2014年の年末、io.jsというプロダクトが発表され、2015年の初めにv1.0がリリースされました。io.jsというのは Node.js のforkで別リポジトリによって実装されたプロダクトです。io.jsの詳細は筆者のブログ

    今からでも間に合う!Node.js v4&v5は何が変わったか?
  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
    HHR
    HHR 2015/12/02
    良記事。Promise Generator bluebird.promisify() co
  • Sinon.JS を使った JavaScript のテスト - mixi engineer blog

    初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。稿ではテストフレームワークは QUnit を採用しています。 時間

    Sinon.JS を使った JavaScript のテスト - mixi engineer blog
    HHR
    HHR 2015/12/01
    spy stub mock
  • jsでTDD!MochaとChaiとsinon.js入門 - lxyuma BLOG

    ※この記事は社内勉強会向けの資料の下書きです。書きなぐりの下書きで見直すと最後の方の文書がヤバいので、いつか書き直します。読み辛い所は申し訳ないです。 概要 TDD テスト自動化とTDDを整理 TDDとBDDの違い Test Framework in javascript QUnit/jasmine/mochaについて、違いやメリデメを知る mocha 基的な書き方 アサーションライブラリのメリデメを整理する chai 記述形式の違い整理 基文法 sinonjs spy stubs mock TDD Test Driven Development テスト駆動開発 by ケントベック 特徴 xUnit系/BDD系のテストフレームワーク使う テストするコードも実装 テストファースト 実装の後にテストするのではなく、テストを先に書いて実装する サイクル Red(失敗) => Green(通過

    jsでTDD!MochaとChaiとsinon.js入門 - lxyuma BLOG
    HHR
    HHR 2015/11/26
    良資料。spy(スパイ)とstub(スタブ)とmock(モック)
  • Node + Express のルーターをテストする - ぶるーすくりーん

    なんかいろいろ基的なとこからわかってないなぁと最近思う。 ので、自分のできないとこ、できるようになったとこを当たり前のことでも書き残していきたいなぁと思ったので、これからしばらく基礎に立ち返りつつ、日記書くように努力してみます。 とりあえず、node + express でサーバたてたときに個人的には最初の方に必要になるルーター部分のテスト。 使うもの テスト対象(Node で書いた HTTP エンドポイント) supertest mocha(gulp + gulp-mocha) やり方 node というのは、当に素晴らしいエコシステムで何かしようと思えば、誰かがたいていよくできたライブラリを作成してくれて、npm (および github)で公開してくれている。 ルーター周りのテストしたい場合には、visionmedia さん作の supertest 使えばいいとわかってしまえば、そん

    Node + Express のルーターをテストする - ぶるーすくりーん
  • node.jsのいろいろなモジュール22 – mochaでテストを書こう | DevelopersIO

    mochaとは mocha(モカ)は、javascriptの単体テストでよく使用されているテストフレームワークです。 node.jsやブラウザから実行ですることもできます。また、非同期のテストも可能になってます。 なお、mocha自体はアサーション機能は持っていません。なので、値の検証は標準のassertとかchaiとかshouldを使用します。 TDDやBDDスタイルでテストを記述でき、テスト結果もいろいろな形式で出力できます。 今回はmochaの基的な使用方法について紹介します。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 Node.js : v0.8.15 npm : 1.1.66 適当なディレクトリを作成し、そこでnpmを使用してmochaをインストールします。 mochaコマンドを使用するので、gオプションつきでインストールし

    node.jsのいろいろなモジュール22 – mochaでテストを書こう | DevelopersIO
    HHR
    HHR 2015/11/24
    テストの変更を検知して自動で実行する機能 mocha -w test.js
  • テストフレームワーク mocha - hokaccha memo

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)3日目のhokacchaです。Node.jsのテストフレームワーク、mochaについて書きます。 mochaはTJが新しく作り始めているテストフレームワークです。ドキュメントを見ればできることは大体書いてありますので、ドキュメントを元にどういうことができるのかを解説していきます。現時点でのバージョンは0.2.0です。 http://visionmedia.github.com/mocha/ shouldについて まずmochaでどういうことができるかの前にshouldについて解説しておきます。mochaのドキュメントには特に説明もなくshouldが使われていて、shouldでどういうことができるかわかってないと、ドキュメントを読んだときにmochaの機能なのかshouldの機能なの

    テストフレームワーク mocha - hokaccha memo
    HHR
    HHR 2015/11/24
    mochaの設定
  • 最近のjs非同期処理 PromiseとGeneratorの共存 - Qiita

    (2015/10/21追記) 記事を書いてから半年経ちましたが、最近はRxの良さを理解したり、ES7のasync/awaitがbabelによって実用的になりつつあったり等、またもやベストプラクティスとはなんだったのか状態です。とはいえ、いまのところPromiseは非同期処理の土台であり続けそうですし、Generatorもasync/awaitへの足がかりとして知っておくことのメリットは大きいかと思いますので、引き続き公開させたままとさせて頂きます。 (追記ここまで) 数ある非同期処理のプラクティスを試してみて、だいたいこれが良いんじゃないかというパターンが固まったので書きます。効用はコールバック地獄からの脱出と結局非同期どれが良いの感の払拭。ES6寄りです。 前提知識 JavaScript Promiseの http://azu.github.io/promises-book/ ジェネレ

    最近のjs非同期処理 PromiseとGeneratorの共存 - Qiita
    HHR
    HHR 2015/11/24
    並列はPromise.all()で直列はcoにgeneratorを渡す
  • 2016年版 Node.jsで幸せになれる10の習慣 - Qiita

    はじめに Herokuのブロク記事10 Habits of a Happy Node Hacker (2016)を、「洋の東西を問わず、みんな『10のなんとか』って好きなんだな」と思いながら眺めていたら、結構面白かったので内容をピックアップしてみます。 以前、Go言語で幸せになれる10のテクニックというのをあるブログ記事を元にして書いた時には、原題の "Ten Useful Techniques in Go"を意訳して「幸せになれる」としたのだが、今回は原題にシッカリ"Happy"が入っているというおまけ付き。 なお、「2016年版」と言っているのは2013(2014?)年版があるから。これらを読み比べてみるのもまた面白いが、とりあえず今回は最新の2016年版のご紹介。 1. 新しいプロジェクトは npm init で始めろ 新しいプロジェクトはこう始めようよ、と言っている。

    2016年版 Node.jsで幸せになれる10の習慣 - Qiita
    HHR
    HHR 2015/11/20
  • Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) : ATNDも皆さんのご協力で25日間終わり、無事新しい年が迎えられそうです。参加された方、ご苦労様でした。もしアドカレに穴が空きそうだったら書いてみようと思ってたネタを作っていましたので、アドカレ終了記念の番外編で書いてみます。 ちょっと前のブログになりますが、Node.js Module – exports vs module.exportsな記事が掲載されていました。 Node.js のモジュールを作成する際に使用する exports 変数と module.exports 変数の違いについての記事です。私も以前から「 module や exports って変数はいったい何だろう?」とか、「require()関数って突然どこから現れてくるのだろうか?」など実際その仕組みはどう

    Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記
    HHR
    HHR 2015/11/19
  • phiary

    Node.js6連投. 第5弾! npm と Node.js 上で require を使ったモジュール読み込みの仕組みについてメモ Node.js 用に作った自作モジュール『merger』を npm で公開してみた Node.js 用の自作モジュールの作り方メモ Node.js 用に作った自作モジュールを npm に登録して公開する方法 JavaScript テストフレームワーク『Mocha』の使い方メモ <- いまここ JavaScript テストフレームワーク『Mocha』をブラウザ上で使う方法 Node.js もしくはブラウザ上で動く JavaScript テストフレームワーク『Mocha』の使い方について書きます. 最近, JavaScript による大規模開発も増えてきました. それに比例して重視されてくるのが, テスト環境の構築です. そこで, node.js のテストフレーム

    phiary