43
Node.js にににににににに Node.js ににににににににににに 2016.11.12 Isamu Suzuki / @moomooya Rakus Co, Ltd.

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

Embed Size (px)

Citation preview

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

Node.js に縁のない職場で Node.js を使い始めるための戦術2016.11.12Isamu Suzuki / @moomooyaRakus Co, Ltd.

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

鈴木 勇 @moomooya

• 株式会社ラクス• 請求書発行サービスを開発してます• 仕事では Java + JavaScript 少し• JS オジサン目指して修行中

• 最近 Python に浮気したい(機械学習、 RaspberryPi )• Scala に浮気した チョットダケ

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

あとカードゲーム作ったり• 12/11( 日 ) ゲームマーケット @ ビッグサイト

http://gamemarket.jp

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

本日のお題

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

職場で Node.js を使う

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

と言っても

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

会場の 8 割くらいはもう使ってる?

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

なので

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

10 分間職場で Node.js を使ってないフリをしてください

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

あなたは Node.js を職場で使っていない、いいね?

アッ ハイ

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

前提• Node.js の基本的な使い方がわかる• Express.js でカンタンな Web アプリは作れる• ES2015 (2016) の機能はまだチョット不安

• => とか filter/map/forEach とか

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

あ、これ NodeSchool でやったやつだ!

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

職場で使っていない理由を考えよう

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

こんな感じ?• 上司の JavaScript 感が世紀末• 言語を変更する機会がない/事例が少ない• Node.js もいいけど先にラムダとか Java8 の文法覚えなさい

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

世紀末感

※geocities-izer したイメージです

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

消毒するしかない

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

はい、次

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

言語を変更する機会がない

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

別のシステムを作ればいい

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

長時間 Excel 使ってたりしませんか

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

やってられるか

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

プロダクトじゃなくてもいい• 日々手作業でやっていることはありませんか

• 定例報告資料の集計とか• 工数分析とか

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

プロダクトじゃなくてもいい• 日々手作業でやっていることはありませんか

• 定例報告資料の集計とか• 工数分析とか

自動化しよう!

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

元ネタの出処をチェック• OSS な管理ツール→たいてい REST API あるはず• 社内の(よくわからん)集計システム→運が良ければ API とか DB 直アクセス出来るかも• 別の Excel ……

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

OSS な管理ツール• Node.js 用の HTTP クライアントライブラリで

REST API を叩きましょう• superagent• axios

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

社内の集計システム• DB アクセスできるならライブラリは揃ってる

• 各種 DB 用ライブラリ→さらっと使うならこっちで十分• 汎用 O/R Mapper : KNEX.js + BookShelf.jsとか→詳しくないです

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

社内の集計システム• DB アクセスも出来ない &WEB システムの場合

• HTTP をパースしてスクレイピング→ cheerio-httpcli

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

別の Excel から……• 一応 xls(x) パーサはあるけど……

• xlsx / excel-stream とか• たいてい Excel 方眼紙で構造的ではない

• まずは綺麗な Excel にするところから• たいてい挫折する→消毒するか、逃げよう

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

WEB アプリ動かすところない!• Electron があるじゃない

• 使う人が増え始めたら自動アップデート対応しないと面倒かも

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

Node.js さわれて精神も仕事も健康に

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

他にも……• 採用の課題に使うよう誘導したり

• 「新しいネタじゃないと学生釣れないよ」• 単発(かつ他人事)なので通りやすい

• 開発チーム内ツールに使ったり• 導入カンタンだけど、管理職の目につかないと拡散させにくい

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

新卒採用に使った話はこちらでhttp://www.slideshare.net/isamusuzuki54/ss-63232044

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

ラムダとか Java8 の勉強しろよ

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

JavaScript で覚えましょう

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

Stream API

• Array オブジェクトの関数として• filter / map / forEach たくさんある• Java8 よりもシンプルです

• MDN にまとまっています 「 Array 反復メソッド」とかで• https://developer.mozilla.org/ja/docs/Web/JavaScrip

t/Reference/Global_Objects/Array#Iteration_methods

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

ラムダ• JavaScript の関数は第一級関数

• 多用しすぎて callback hell を有名にした• アロー演算子 => も ES2015 で対応

• Java8 のアロー演算子 -> と混乱する……

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

Optional

• すみません、 TypeScript に頼りましょう• ライブラリ実装( optional-js とか)もあるみたいだけど……

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

最近 Scala 触り始めたのですが

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

JavaScript からだと驚き少なく入ることが出来ました

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

JS → Scala学習パターンオススメ

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

逆に Java8 が過去の遺産引きずっている分ちょっと違和感を感じました

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

まとめ• プロダクト以外のシステムでしれっと導入→「あれ、 Node で出来てるんですよー」• 言語仕様の勉強と称して興味を引く

• JS → Scala オススメ

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

知らないふりありがとうございました