Upgrade to Pro — share decks privately, control downloads, hide ads and more …

チーム開発において Node未経験者の学習コストを下げるための工夫 / node.js #tn...

qsona
October 08, 2015

チーム開発において Node未経験者の学習コストを下げるための工夫 / node.js #tng18 LT

東京Node学園 18時限目 LTです。

qsona

October 08, 2015
Tweet

More Decks by qsona

Other Decks in Technology

Transcript

  1. 弊社のNode.js活用事例 • 2011 「ピグライフ」 (0.4系) ◦ ※ 「アメーバピグ」はJava • 2012〜現在

    スマホゲームの一部 ◦ 「ガールフレンド(仮)」などはJava 弊社で多いパターン • Javaエンジニア => Node.jsエンジニア • 新卒でいきなりNode.jsエンジニア 学習コストの問題は弊社でも重要
  2. 直近の成功事例 • フツーのゲームサーバAPI • 開発・運用期間 約1年 • 関わったサーバエンジニア(延べ): 10人 ◦

    Node経験者: 3人 ◦ Node未経験者: 7人 (うち6人はJSも未経験) - 滞り無く開発に入れている
  3. lodashを利用する こみいった処理を書くのを楽にするためのモジュール • 高機能だがシンプルさを重視 • APIに一貫性がある ◦ jdalton による強力で一貫性のある意思決定 -

    今から開発始めるなら、packge.jsonのlodashの向き先をgithubの最新にしてお き、もうすぐ出そうな4.xを待つのがオススメです
  4. いろんな書き方ができる(例2 lodash) lodashのメソッド findの使い方 var objs = [{ x: 1,

    y: 2 }, { x: 2, y: 1 }]; 1. _.find(objs, function(obj) { return obj.x === 2; }); 2. _.find(objs, { x: 2 }); 3. _.find(objs, ‘x’, 2);
  5. いろんな書k 数値の切り捨て var x = 1.4; • Math.floor(x); • x

    | 0; • _.floor(x); • ~~x; • parseInt(x); • x & x; • x >> 0; • x - x % 1; • x << 0; • x >>> 0; • +/(.*?)\./.exec(x+'.')[1];
  6. ルール作りと知識 ルール作りにはある程度の知識が必要 • x === undefined ◦ var undefined =

    1; される危険性 • x === void 0 • typeof x === 'undefined' ◦ ReferenceErrorを握りつぶす危険性 • _.isUndefined(x) 「短い・分かりやすい」が基本