Node.jsに縁のない職場
でNode.jsを使い始める
ための戦術
2016.11.12
Isamu Suzuki / @moomooya
Rakus Co, Ltd.
鈴木 勇 @moomooya
• 株式会社ラクス
• 請求書発行サービスを開発してます
• 仕事ではJava+JavaScript少し
• JSオジサン目指して修行中
• 最近Pythonに浮気したい(機械学習、RaspberryPi)
• Scalaに浮気した チョットダケ
あとカードゲーム作ったり
• 12/11(日) ゲームマーケット @ ビッグサイト
http://gamemarket.jp
本日のお題
職場でNode.jsを使う
と言っても
会場の8割くらいは
もう使ってる?
なので
10分間
職場でNode.jsを使ってない
フリをしてください
あなたはNode.jsを
職場で使っていない、いいね
?
前提
• Node.jsの基本的な使い方がわかる
• Express.jsでカンタンなWebアプリは作れる
• ES2015 (2016)の機能はまだチョット不安
• =>とかfilter/map/forEachとか
あ、これNodeSchoolで
やったやつだ!
職場で使っていない理由を
考えよう
こんな感じ?
• 上司のJavaScript感が世紀末
• 言語を変更する機会がない/事例が少ない
• Node.jsもいいけど先に
ラムダとかJava8の文法覚えなさい
世紀末感
※geocities-izerしたイメージです
消毒するしかない
はい、次
言語を変更する機会がない
別のシステムを作ればいい
長時間Excel使ってたりしませんか
やってられるか
プロダクトじゃなくてもいい
• 日々手作業でやっていることはありませんか
• 定例報告資料の集計とか
• 工数分析とか
プロダクトじゃなくてもいい
• 日々手作業でやっていることはありませんか
• 定例報告資料の集計とか
• 工数分析とか
自動化しよう!
元ネタの出処をチェック
• OSSな管理ツール
→たいていREST APIあるはず
• 社内の(よくわからん)集計システム
→運が良ければAPIとかDB直アクセス出来るかも
• 別のExcel ……
OSSな管理ツール
• Node.js用のHTTPクライアントライブラリで
REST APIを叩きましょう
• superagent
• axios
社内の集計システム
• DBアクセスできるならライブラリは揃ってる
• 各種DB用ライブラリ
→さらっと使うならこっちで十分
• 汎用O/R Mapper : KNEX.js + BookShelf.jsとか
→詳しくないです
社内の集計システム
• DBアクセスも出来ない&WEBシステムの場合
• HTTPをパースしてスクレイピング
→ cheerio-httpcli
別のExcelから……
• 一応xls(x)パーサはあるけど……
• xlsx / excel-stream とか
• たいていExcel方眼紙で構造的ではない
• まずは綺麗なExcelにするところから
• たいてい挫折する→消毒するか、逃げよう
WEBアプリ動かすところない!
• Electronがあるじゃない
• 使う人が増え始めたら
自動アップデート対応しないと面倒かも
Node.jsさわれて
精神も仕事も健康に
他にも……
• 採用の課題に使うよう誘導したり
• 「新しいネタじゃないと学生釣れないよ」
• 単発(かつ他人事)なので通りやすい
• 開発チーム内ツールに使ったり
• 導入カンタンだけど、管理職の目につかないと
拡散させにくい
新卒採用に使った話はこちらで
http://www.slideshare.net/isamusuzuki54/ss-63232044
ラムダとかJava8の勉強しろよ
JavaScriptで覚えましょう
Stream API
• Arrayオブジェクトの関数として
• filter / map / forEach たくさんある
• Java8よりもシンプルです
• MDNにまとまっています 「Array 反復メソッド」とかで
• https://developer.mozilla.org/ja/docs/Web/JavaScript/Refer
ence/Global_Objects/Array#Iteration_methods
ラムダ
• JavaScriptの関数は第一級関数
• 多用しすぎて callback hell を有名にした
• アロー演算子 => もES2015で対応
• Java8のアロー演算子 -> と混乱する……
Optional
• すみません、TypeScriptに頼りましょう
• ライブラリ実装(optional-jsとか)も
あるみたいだけど……
最近Scala触り始めたのです
が
JavaScriptからだと
驚き少なく入ることが
出来ました
JS → Scala
学習パターン
オススメ
逆にJava8が
過去の遺産引きずっている分
ちょっと違和感を感じました
まとめ
• プロダクト以外のシステムでしれっと導入
→「あれ、Nodeで出来てるんですよー」
• 言語仕様の勉強と称して興味を引く
• JS → Scala オススメ
知らないふり
ありがとうございました

Node.jsに縁のない職場でnode.jsを使い始める戦術