Node.jsをリアルタイム解析サービスの開発で5年間使って知ったメリットやデメリットを紹介します。大規模な解析サービスをNode.jsで記述する上での工夫などについても解説しています。
![PLAIDがNode.jsを採用し、5年間で12万行書いてわかったこと | PLAID engineer blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/8da735647db4b7acd5e356338e756dd801dfc72b/height=288;version=1;width=512/https%3A%2F%2Fik.imagekit.io%2Fnewt%2F61b151f921640c0018173598%2F51217002-f510-48d6-80e8-474700ceef57%2Fshutterstock_746652745.jpg%3Ftr%3Dw-1000%2Ch-1000%2Cc-at_max)
Login to Meetup | Meetup Find groups that host online or in person events and meet people in your local community who share y... ECMAScript Modules とは? JavaScript には、AMD や UMD、CJS のような多くのモジュールシステムがあります。 ECMAScript Modules は当初 ES2015 に入る予定でした。 さて、ESM の仕様は WHATWG と TC39 が管理しますが、役割が違います。 TC39 は ESM のシンタックスや JS のルールを管理します。 例えば、モジュールは strict mode になるとか、thisの扱いとか。 しかし、モジュールの読み込みに関しては、WHATWG が管理します。 理由は、
Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに
(注:2017/07/19、いただいたフィードバックを元に翻訳を修正いたしました。) ESM、CJS、UMD、AMD — どれを使うべき? 最近、 Twitter では、 ESモジュール の現状、特に、 *.mjs をファイル拡張子として導入すると決めた Node.js の現状について大騒ぎになっています。この話題は複雑で、かなりの労力を費やしてそれに専念しないと議論について行けないので、 皆が恐れと不安を抱く のも無理はありません。 古き恐れ フロントエンド開発者なら、 JavaScriptの依存関係の管理に悩まされた日々 を憶えている人も多いでしょう。あの頃は、ライブラリをベンダーフォルダにコピー&ペーストし、グローバル変数に依存し、あらゆる物を正しい順序でconcatしようとしてもネームスペースの問題に対処する必要がありました。 何年もかかって、私たちは共通モジュール形式と中央集権
CircleCI 2.0 GA が無事リリースされたので、betaが取れるのを待ってた方は是非どうぞ。 今の所は爆速だったbeta時代と遜色ない速度で動いてる。 circleci.com 1.0やTravis CIと比較してのCircleCI 2.0のメリットは前回記事に書いたのでご参照ください。 CircleCI 2.0 でNode.jsのマルチバージョンビルド - teppeis blog Workflows 前回の記事でcurlを使った無理やりなマルチビルド並列実行を紹介したけど、当時クローズドアルファだったWorkflowsといういわゆるビルドパイプラインのようなものを組める機能が無事搭載された。 Orchestrating Workflows - CircleCI これを使うとNode.jsのマルチバージョンビルドはこんな感じで書ける。 workflows: version: 2
Node.js Foundation 相関図 委員会 TSC(Technical Steering Comittee) CTC(Core Technical Committee) Core Working Groups CommComm(Community Committee) Working Groups Teams 会議 カレンダー CoreのMTGノート 各MTGの動画リスト Summit Node LTS(Long Term Support) 担当リポジトリ Node.jsに具体的な機能追加がある場合 将来的な機能追加の提案 ヘルプ CI PR 貢献する 読むべきもの CoC(Code of Conduct) Contributing to Node Good First Contribution Documents サポート さいごに Node.js Foundation Nod
渋谷かと思ってたら東京だった回! 「npm v4/v5/next」 by @othiym23 node-gakuen-201610.md · GitHub これは事前に共有してもらえたスクリプトです。 ほぼこれの通りに話されてたので、ざっくりメモ。 自己紹介 npmのCLIチームのリーダーです チームにはKatとRebeccaがいるよ ありがとう @watilde さん! npmのいままで 今やmillions of users, over 350,000 packagesな大プロジェクト なので機能追加は慎重にやっていく SemVerはある種の契約 npm@2からnpm@3 まさにメジャーアップデートだった でもいまだにnpm@2を使ってる人もいる npm@2のほうがインストールが早いケースもある npm@4 メジャーアップデートではあるがそんなに変わらないかも depricatedにな
Kyoto.js #11 というのがあって、せっかくなので最近ぽちぽち作っていた「node-midiで仮想MIDIデバイスを作る」という内容で LT しました。他には GitBook とか arduino と Node.js で格闘してる話とか自分も似たような事をしそうだな〜的なものから、あんまり知らない話とかあって良かった。戦ってる話が多かった気がする。 kyotojs.connpass.com 要約するとMIDIデバイスって便利だけど持ってないと使えなくて困る。でも node-midi というパッケージを使えば、仮想MIDIポートが作れて、それだとパソコンを騙してMIDIデバイスを持っていることにできるので Electron で UI をつけたら万事オッケー。三つくらい作ってやったわー。くぅ〜。という内容です。 speakerdeck.com 使ったライブラリ node-midi -
目次 初めに 極小理論 ステップ1. 問題の再現と確認 ステップ2. 最低3回のヒートダンプ採取 ステップ3. 問題の発見 ステップ4. 問題解決の確認 他のリソースへのリンク まとめ Something you might want to bookmark: Simple Guide to Finding a JavaScript Memory Leak in Node.js by @akras14 https://t.co/oRyQboa8Uw — Node.js (@nodejs) January 6, 2016 注釈:お気に入りに登録してください。 Simple Guide to Finding a JavaScript Memory Leak in Node.js (Node.jsでのJavaScriptメモリリーク発見簡単ガイド) @akras14 http://www.ale
書こう書こうと思いながらこのタイミングまでのがしてしまいました。 今一番 Node.js の中で hot な discussion の一つと言えるでしょう、『ES Modules が Node.js の中でどうなるか』です。 ES Modules 現況 ES2015 が発刊されてそろそろ一年です。 ES2015 にある機能は Node.js v6でも 93% 程度カバーされています。モダンブラウザでも大体が90%を超えています。しかし、 ES Modules だけはまだどのブラウザも実装しきれていません(kangax compat table は ES Modules は省かれてます)。 そもそも ECMAScript 2015 自身で定義されたのは構文だけなので、構文はともかく、どうやってモジュールを取ってくるかという Loader の部分がまだ決まりきっていません。 https://w
本ページは npm.org 提供文書を翻訳したものです。 原文は 本家参照 、誤謬・誤記の指摘は こちら からお願いします。 × npm package.json 取扱説明書 記述方法 このドキュメントを通じて、あなたの package.json に必要な全てを 学ぶことが出来ます。記述は JavaScript のオブジェクトリテラルではなく、 正しい JSON でなければなりません。 このドキュメントの多くの振る舞いは npm-config(7) に書かれている設定に影響を受けています。 name package.json の中で最も大事な項目は "name"(名前) と "version"(バージョン) です。必須であり、パッケージはこれらなしで インストール出来ません。name と version をもってして、パッケージが 完全に一意となることが想定されています。よってパッケージ内
こんにちは、freeeでエンジニアをやってます @yo_waka です。 これは、freee Engineers Advent Calendar 2015の11日目の記事です。 これまでの弊社のAdvent Calendarでは、社内で革命と呼ばれるフロントエンドの改善ネタが多いと思いますが、その流れとして、RailsアプリケーションにおけるフロントエンドのビルドツールであるところのSprocketsをどのようにしたら外せるかという話を書きます。 Sprocketsがやってくれること まずはSprocketsが裏側でどういうことをやっているのか知る必要があります。 Advent Calendar4日目の記事で既に概要が書かれていますが、もう少し細かく内部動作に踏み込んで書いてみます。 尚、Sprocketsのコードは現状のRailsの最新版である4.2.5で利用されている、Sprocket
Promiseは非同期処理をベースにした並列処理の実装方法の一種です。Promiseでは並列処理の各タスクが必ず1回実行されることが保証され、タスクとタスクからの結果を取得する処理を分離することできます。また、タスクの並列処理/直列処理をユーザーが自由に制御することができます。 ECMAScript Language Specification 6th EditionにPromiseが追加されたことから、しばらくの間JavaScriptの非同期処理に関する話題の中心はPromiseになると思われます。 Node.jsでも既にPromise対応したモジュールも多く、Promiseでのみ非同期処理を提供しているモジュールも存在します。Promiseを使用する機会は今後必然的に増えていくでしょう。 今回のエントリーでは、Node.jsでPromiseを使用する方法を説明します。コード例を中心に理
!!! 5 html(lang="en") head title= pageTitle(car insurance montana) :javascript | if (foo) { | bar() | } body h1 Jade - node template engine #container - if (youAreUsingJade) You are amazing - else Get on it! Get on it! Get on it! Get on it! <!DOCTYPE html> <html lang="en"> <head> <title>Jade</title> <script type="text/javascript"> //<![CDATA[ if (foo) { bar() } //]]> </script> </head> <body> <h1>J
Visual Studio Code は JavaScript 開発が超絶便利になる可能性を秘めている! クロスプラットフォームでオープンソースな IDE 環境、Visual Studio Code が公開されたので試してみた。 拡張を入れなくても、デフォルトで JavaScript の「自動 Lint」「Grunt、Gulp 連携」「デバッグ」が動いた。なんだかすごく便利そうな予感。 Windows 環境で起動してみたらこんな画面だった。 なんか黒いが、色は好みにカスタマイズできるし、プリセットからも選べる。 フォルダーを開くことから始まる Visual Studio Code にはプロジェクトの概念はない。 [File] > [Open Folder] からフォルダーを開けばよい。 ためしに、過去に作った Node.js 製の livereloadx のフォルダーを開いてみた。 左側に
楽しかったです。 「フロントエンドに秩序を取り戻す方法」 発表に至るまで きっかけ スライド作成 社内勉強会 トークの練習 当日 Q&A Util系のモジュールをnpmで公開しないの? リファクタリングの工数、どうやって確保した? テストについての補足 イベントの感想 NodeDiscuss おひるごはん 懇親会 終わってみて 「フロントエンドに秩序を取り戻す方法」 speakerdeck.com togetter.com はてなブログチームで行った改善についてのトークです。 アンケートの結果では5位にランクインしました!!! 発表を聞いてくださった皆様、ありがとうございました。 発表に至るまで きっかけ 応募のきっかけはYAPC2015でした。 yapcasia.org YAPC1日目のLTを見てるうちに自分も発表したくなって、即LT応募しました。 絶対通るでしょと思ってスライドまで作成
はじめに Electronをご存知でしょうか. Electron(旧称: Atom-Shell)は, Atomエディタを開発するために生まれたクロスプラットフォームデスクトップアプリケーションエンジンです. Node.js + Chromiumをランタイムとしており, Atomだけでなく, Slackや先日のBuildで発表されて話題となったVisualStudio CodeもElectronで実装されています. いわゆるWeb系の技術, Node.js + HTML + CSSでアプリケーションを作成できるのが特徴です. 類似した思想のフレームワークとして, node-webkit(NW.js)もありますが, アプリケーションのエントリポイントの考え方等が異なります. このエントリでは, Electronの使い方をサンプルアプリを実装しながら説明していきます. お題 このエントリのお題と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く