Upload
isamu-suzuki
View
3.214
Download
0
Embed Size (px)
Citation preview
Node.js に縁のない職場で Node.js を使い始めるための戦術2016.11.12Isamu Suzuki / @moomooyaRakus Co, Ltd.
鈴木 勇 @moomooya
• 株式会社ラクス• 請求書発行サービスを開発してます• 仕事では Java + JavaScript 少し• JS オジサン目指して修行中
• 最近 Python に浮気したい(機械学習、 RaspberryPi )• Scala に浮気した チョットダケ
本日のお題
職場で 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/JavaScrip
t/Reference/Global_Objects/Array#Iteration_methods
ラムダ• JavaScript の関数は第一級関数
• 多用しすぎて callback hell を有名にした• アロー演算子 => も ES2015 で対応
• Java8 のアロー演算子 -> と混乱する……
Optional
• すみません、 TypeScript に頼りましょう• ライブラリ実装( optional-js とか)もあるみたいだけど……
最近 Scala 触り始めたのですが
JavaScript からだと驚き少なく入ることが出来ました
JS → Scala学習パターンオススメ
逆に Java8 が過去の遺産引きずっている分ちょっと違和感を感じました
まとめ• プロダクト以外のシステムでしれっと導入→「あれ、 Node で出来てるんですよー」• 言語仕様の勉強と称して興味を引く
• JS → Scala オススメ
知らないふりありがとうございました