Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

ちょっと前からですが、Node.jsで運用しているサービスのデーモン化ツールを node-foreverから、node-pm2へ変更いたしました。 foreverと比較して高機能なpm2をお伝えいたします。 クラスタリング foreverコマンドは、基本的にプロセスが生きている事を管理するのみでした。 pm2では、それはもちろんの事、使っているCPUに合わせてクラスタリングする機能が付いています。 Node.js v0.6で追加されたクラスタリング機能はソケットをネットワーク化されたNode.jsのアプリケーション間でシェアする事が出来ました。 pm2では基本機能として、追加コードなしにそれらを実装しています。pm2本体がマスタープロセスの役割をし、アプリケーションコードをクラスタリング化された子プロセスとして扱います。 すべてのCPUを使ってクラスタリングするには、 pm2 start
最近、色々Node.js + Expressを試しながらWebサービスを作ってみたりしてます。その中で自分がよくつまづいた所をまとめておきます。 前提 Node.js : v0.10.29 Express : v4.2.0 Vagrant どうでもいいけど Node.jsがv0.12リリースされてES6対応になったら、Express4がオワコンで、generator対応なKoa.jsが盛り上がりそうな気配。 http://koajs.com/ つまづきポイント なんか欲しくなったらnpmで探す たいていの欲しい機能は、すでにnpmにモジュール登録されてます。 https://www.npmjs.org/ 似たような機能がたくさんあります。なので、そのモジュールがちゃんとメンテされているか、みんな使っているくらい人気があるかを確認した方がいいです。中には、昔は王道だったけど、メンテされてなく
delete演算子を使うと、削除した要素の値が「undefined」になる。 要素の数は変わらない。 numbers = ['zero','one','two','three']; delete numbers[2]; //3番目の要素を削除 //numbersは['zero','one',undefined,'three']; delete演算子で削除すると、配列に穴が開いてしまう。 この動作が期待した動作ではないことが多い。 要素を削除したら、インデックスを詰めてほしいはずだ。 spliceメソッドを使うと、削除した要素のインデックスを詰める。 要素の数は減少する。 numbers = ['zero','one','two','three']; numbers.splice(2, 1); //3番目の要素を削除 //numbersは['zero','one','three']; spl
[速報]マイクロソフト、HTML5/JavaScriptアプリをiOS/Android/Windows対応に一括変換する「ManifoldJS」をオープンソースで発表。Build 2015 マイクロソフトが米サンフランシスコで開催中のイベント「Build 2015」。2日目の基調講演では、iOSやAndroid、Windows 10などクロスプラットフォーム対応のアプリケーションを一括で生成するツール「ManifoldJS」を発表しました。 マイクロソフト チーフエヴァンジェリストのスティーブ・グッゲンハイマー氏。「Windows対応だけではなく、クロスプラットフォーム対応のアプリケーションをどう作ればいいのかとよく聞かれる。2年前、われわれはゲーム向けにUnityを発表し、昨年はiOSとAndroid対応でXamarinの採用を発表した。今年はWebアプリケーションにフォーカスしよう」
プログラミング言語の文法をまとめた最速基礎文法マスターが流行っていますが、それだけだと物足りないので少し視点を変えてJavaScriptという言語の基礎となっている概念について簡単にまとめてみようと思います。(基礎文法についてはこちらを参照してください) (20010/2/4 記述ミス Typoなどを修正しました) JavaScriptの基本概念 JavaScriptの基本となる概念は次の二つです。 連鎖指向 全てがオブジェクト 連鎖指向はプロトタイプチェーンやクロージャ、全てがオブジェクトであるという性質は連想配列やプリミティブ型などの性質に関わってきます。 連鎖指向 JavaScriptでは変数、オブジェクト、メソッドなどのリソースの利用において鎖のようにリソースを定義や宣言できるポイントが連なり、一番近くの宣言や定義に基づいてリソースの内容が決定される、という仕組みが採用されています
JavaScriptはブラウザから簡単に使えるし、jQuery Pluginも簡単に追加できるので、つい基礎をおろそかにしたまま使っていて、ちょっと凝ったことをしようとした時にいつもハマっていました。ということで今回は、独習JavaScriptの第二版を購入して読み進めつつ、ネットのお勧めのドキュメントを見て、補足しながら勉強していったのでそのメモです。 (03/09 21:50) JavaScriptの習熟度を上げるための勉強フローを追加 🍄 [動画] ドットインストールJavaScript入門 JavaScriptを本当に使ったことがない初学者の方にお勧めしたいのがドットインストールの動画。説明が環境構築からスタートしてくれるので、つまずことなく最初の一歩を踏み出すことができます。 😸 [Web] JavaScript基礎文法最速マスタ 『JavaScript基礎文法最速マスター』
はじめに とある本の検証のために、JavaScript(正確にはECMAScript-262 5.1)の仕様書を読んだりしていた。というのも、JavaScriptの場合、大抵のメソッドについては、どのように実装されるべきか、というアルゴリズムが定義されており、これを見ればどういう挙動になっているのかがわかるからです。詳細については、Array.prototype.reduce() - JavaScript | MDNという信頼できるドキュメントがあるので、そちらに譲るとして、そもそもreduceとは何なのかについて、せっかくなので、調べたことをメモしておきます。 reduceとは 一般的に、reduceというのを一言で説明する言葉として「折りたたみ操作」という言葉が使われることが多いです。どういうことかというと、実例として、某書に頻出する表現を使いますと: [1, 2, 3, 4].red
連載目次 プッシュ通知を秒間1万4000ほど送るには 前回の「大量データ処理時に知っておきたいAmazonDyamoDB活用テクニック4選」では、Pusna-RSのデータ永続化に使っているDynamoDBの活用テクニックについて解説しました。今回は、そのDynamoDBからAPNs/GCMへのデータ送信までを高速化させた方法を紹介します。 Pusna-RSの配信機能とは 連載第1回「プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは」の際に概要をお伝えしましたが、配信機能はPusna-RSの中で実際にプッシュ通知を行うための機能で、以下の【3】に当たる箇所です。 Pusna-RSではこの一連の流れを最適化させるためにNode.jsのStream APIを活用しています。今回は、このStream APIの活用について紹介していきます。 あらためてNode.j
node.jsでUDPサーバーを作ったので、いざこれを適当なサーバー上で運用させてみようと思ったところ、どういった形で運用すればよいのかわからない…。開発時にはnodeコマンドを使ってサーバーを立ち上げていましたが、本番サーバーでもそれでよいのか?調べていたところ、foreverというnode.js用のデーモンマネージャーがあり、これを使うのが楽そうだったので使ってみました。 foreverのインストール foreverはnpmを使ってインストールすることができます。foreverはコマンドライン上で使うので、npm 1.0系では-gオプションをつけてグローバルインストールする必要があります。 sudo npm install forever -g アプリケーションの起動 アプリケーションの管理にはforeverコマンドを使います。 forever start udpserver/udps
はじめに この記事は、 gulpも browserifyも知らない 初心者を対象にしています。 最近になってnode.jsでプログラミングしていますよって人が対象です あまりにも0ステップからで、それくらいわかるよって事もあるかもしれません。 node.jsについて、0から勉強したい人はドットインストールとか便利かもね。 gulpって?browserifyって? まず、gulpもbrowserifyもなんのことだか、さっぱりわからないって! でも、まだ説明しません。 なぜなら、 **なんで必要?**を説明していないから。 目的は ブラウザとサーバで全く同じjavascriptを動かそう 最近は、node.jsでサーバサイドjavascriptも珍しくなくなってきました。 でも、微妙に違うサーバとブラウザでのjavascript! 特に、違うなーと感じるのは、記述する場所ですね。 本当はもっ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 随時更新します。 対象の人 使ったことないけど、軽く理解はしておきたい人 本格的に勉強する前に、大まかな概要を知りたい人 特徴 サーバーサイドのJavaScript 非同期 (I/Oの処理結果を待たず処理を進める) ノンブロッキングI/O (I/Oの結果を待たないで処理をすすめる。I/O処理が終了したらコールバック関数を実行。) イベントドリブン (何かしらのキッカケで動き始める) シングルスレッド (メモリ消費が少ない、仕事切り替えが少ないので速い) JavaScript エンジンが Google の V8 で速い Node.jsで作
Clusterize.js ブラウザ内で50万件のテーブルもサクサクで表示できるようにする「Clusterize.js」 ブラウザ内のDOMに50万件を読むといくら高速なブラウザでもハングしたりしそうですが、こちらを使えば問題なく50万件のデータも読み込んで表示が出来ます DOM構造を50万件作るのではなく、スクロールに応じてDOM内を書き換えているのがその仕組のようです。 大量のデータをブラウザ上で一気に表示したい場合に便利そうです 関連エントリ 高機能&高速なテーブル実装jQueryプラグイン「WATable」 テーブルをGoogle Chartsを使って多様なグラフに変換することが出来る「Chartinator」 HTMLテーブルを JSON、XML、PNG、CSV、PDFなどあらゆる形式に変換できる「HTML table Export」 レスポンシブに要素を消さずに変形するテーブル
この記事はIwate Developers Advent Calendar 2014の6日目の記事です。 Iwate Developers Advent Calendar 2014 - Qiita 記事の内容はというと、岩手にまったく関係ありません。 学生の頃はフロントエンドを軽視してクソコードを量産していたので、今の学生の方にこんな風に作り始めるといいよって紹介する感じで書きたいと思います。 はじめに 昨今のフロントエンド開発はとにかく複雑になってきていて、学習コストが半端なくなってきてます。 angularとかbackbone.jsとか、最近ではreact+fluxなど、トレンドの移り変わりが激しいです。 またGruntやgulp.jsなどのタスクランナーの活用がフロントエンドでは欠かせなくなっていて、使ってないなら今すぐ導入すべき、とも言えます。 最近gulp.jsを使っていて、gu
@wakamshaさんのAltJS,AltCSS課題をGulp, SCSS, TypeScript でやってみた
Gruntfile.js は常々長すぎると思っていました。複数ファイルに分割しようが長いものは長いです。 最近、後発の gulp というものを見つけて使ってみていますが、いい感じです。 設定ファイルが短く書ける上に、速いです。 先日 Grunt 入門の記事「Web デザイナーさん向け Grunt を使った コーディング作業の効率化、はじめの一歩」を読んで、例の Gruntfile.js と同等の内容を gulp で書いたらどうなるかなと思って書いてみました。 サンプルファイル含めたプロジェクト全体 gulpfile.js だけ 67 行から 29 行に。約半減です。また、短くなっただけではなく、処理の流れがわかりやすくなっていると思います。 var gulp = require('gulp'); var concat = require('gulp-concat'); var prefix
普通に使う分には全く困らないほどの数のプラグインがGulpにはあります。 Githubでのstar数からも明らかなように、GoogleのWenStarterKitでもGulpが採用されるなど、注目度はますます高くなっています。 Gruntとの比較 Gruntと比較してのメリット・デメリットは以下のようになります。 メリット Gruntより設定ファイルが記述しやすい StreamAPIを利用することでファイルを毎回書き出すGruntより高速でエコ デメリット 記述がよりNodeに近くなるため、複雑なことは敷居がやや高め プラグイン開発のためのドキュメントが少ない 今日のゴール Gulp.jsを使ってコーディング作業を10倍速くする! そんな環境を作りたいと思います。 1. Node.jsをインストール まずはNode.jsをインストールしましょう。 Node.js http://nodejs
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く