Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,410 views

Published on

2016/11/12(土)にあった東京Node学園祭2016でLT発表した資料です。

※表示文字消え対策にpptxに変換したら若干レイアウト崩れたorz

Published in: Business
  • Be the first to comment

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

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

×