SlideShare a Scribd company logo
1 of 25
いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく
やまぐち たかひろ
@hiro93n
2015/4/12 nodeschool tokyo (東京Node学園 入学式) LT
自己紹介
元々黒い画面は平気だったディレクター。
自社サービス開発でここ2ヶ月くらいNode.js
(express)を触っていた。
2
やまぐちたかひろ(@hiro93n)
株式会社パエリア(paeria.co.jp)所属
WebとかAppのディレクター
ステッカー描きました!
3
みんなのステッカー制作室 Hexi https://hexi.pics
Hexiの構成
• Application
• io.js / express 4 / mySQL
• Infra
• nginx + ngx_small_light / SPDY /EC2 + S3
7
SPDY使いたかったのでELB諦め
2ヶ月前の悩み
• エンジニア工数足りなくて基本的に待ちが多い。
なんとかしたい!
• 自分で書けるなら書きたいけど職業エンジニアじゃ
ない、適当な実装怖い
• でも多少のひよコードでもプロダクトがずっと完成
しないよりはマシ(と割り切る)
8
とは言うものの現実
9
あ、はい・・・
(とは言うものの、すぐ欲しい)
こういうのやらなくていいので
自分の仕事やってください
10
おきなさい、わたしのかわいい 強欲 や
しれっと、プルリクのレビューに
ちっちゃな提案から信頼積むことにした
つたえたいことその1
11
ちっちゃな機能でたくさんコケろ
文法エラーレベルから悩む機会を増やす
12
たくさん文法ミスする
⇩
必然的に先輩のコードを読む
つたえたいことその2
13
相手は一枚岩じゃない
誰が誰なのかわからないところから始めると辛い
for q in cats
User.findOne({where{id:id}})
app.get(‘env’)
14
Node.jsがあらわれた!しょうたいはわからない
分けると消化しやすい、調べやすい
15
javascript
for q in cats
DB
user.findOne
express
app.get(‘env’)
Node,js
Node.jsが3体にぶんれつした
正体がわかったら部屋にガサ入れ
config・・・設定値
models・・・DB情報、DB向け関数
routes・・・URLに紐づくロジック
16
関係のある部屋はだいたい定義されているもの
つたえたいことその3
17
おやくそくを学ぶの大事
使った辞書(厚い)
18
Node.jsもjavascript
(1桁章だけでも斜め読み)
使った辞書(長い)
19
http://expressjs.com/api.html
req.xxxシリーズの定義はだいたい使う
使った辞書(蒼い)
20
ORマッパーわからなくても
まずはここに戻る
こころがけ
21
初心者がやりたいものはだいたいもう世の中、
あるいは先輩のコードにある
⇩
作る前に各種辞書やコードをみるのが結果早く
やみくもに検索してもわからない
2ヶ月後、チョットは書けるようになってる
22
重要機能はレビュー頂きつつ完成
ちょっとだけ頼られるようになり、うれしい
23
あ、はい・・・
(俺やっちゃっていいのか)
これちょっとやっといてください
おすすめ教材(ちょっと手直す必要があるのが特に)
24
express3.x向け。現状最新は4.9なので一部修正必要
https://github.com/hiro93n/express_blog
25
怖がらずに書いてみよう!

More Related Content

What's hot

「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
 

What's hot (20)

一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法
 
Webデザイナー視点で使ってみた Microsoft Azureの話
Webデザイナー視点で使ってみたMicrosoft Azureの話Webデザイナー視点で使ってみたMicrosoft Azureの話
Webデザイナー視点で使ってみた Microsoft Azureの話
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
 
サーバを運用する時代は終わった
サーバを運用する時代は終わったサーバを運用する時代は終わった
サーバを運用する時代は終わった
 
グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
 
gulp芸
gulp芸gulp芸
gulp芸
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
モノづくりを楽しもう! ~ このデバイスとクラウドでできることモノづくりを楽しもう! ~ このデバイスとクラウドでできること
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
 
altJSの選び方
altJSの選び方altJSの選び方
altJSの選び方
 
ビルド職人の朝は早い
ビルド職人の朝は早いビルド職人の朝は早い
ビルド職人の朝は早い
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
ご注文は構成管理ですか??
ご注文は構成管理ですか??ご注文は構成管理ですか??
ご注文は構成管理ですか??
 
脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた
 
BluemixでサクッとIoT ! ~ IoT Foundation, Node-RED や Azure Event Hub との連携もお助けヾ(o´∀`o)ノ
BluemixでサクッとIoT ! ~ IoT Foundation, Node-RED や Azure Event Hub との連携もお助けヾ(o´∀`o)ノBluemixでサクッとIoT ! ~ IoT Foundation, Node-RED や Azure Event Hub との連携もお助けヾ(o´∀`o)ノ
BluemixでサクッとIoT ! ~ IoT Foundation, Node-RED や Azure Event Hub との連携もお助けヾ(o´∀`o)ノ
 
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore DataをシンプルにするCocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
 
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
 

Viewers also liked

Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
慶信 若松
 

Viewers also liked (20)

Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()
Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()
Loop backを使った極初歩的なapiとswiftで作るオシャレアプリ()
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよ
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
 
Extensible web
Extensible webExtensible web
Extensible web
 
Socket.ioを使ってライフゲームで遊ぶ
Socket.ioを使ってライフゲームで遊ぶSocket.ioを使ってライフゲームで遊ぶ
Socket.ioを使ってライフゲームで遊ぶ
 
送る言葉
送る言葉送る言葉
送る言葉
 
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテストCake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
 
Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112
 
RICOH THETAの全天球画像でペーパークラフト
RICOH THETAの全天球画像でペーパークラフトRICOH THETAの全天球画像でペーパークラフト
RICOH THETAの全天球画像でペーパークラフト
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
 
FizzBuzzではじめるテスト
FizzBuzzではじめるテストFizzBuzzではじめるテスト
FizzBuzzではじめるテスト
 
EC2とVarnishで画像配信
EC2とVarnishで画像配信EC2とVarnishで画像配信
EC2とVarnishで画像配信
 
これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版
 
Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法
 
Nodeについて
NodeについてNodeについて
Nodeについて
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 
How I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloudHow I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloud
 

Similar to いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく

そうだApi公開しよう feat. 有志のエンジニア
そうだApi公開しよう feat. 有志のエンジニアそうだApi公開しよう feat. 有志のエンジニア
そうだApi公開しよう feat. 有志のエンジニア
recotech
 

Similar to いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく (20)

これができたらエンジニア|YAPC::Asia 2015 LT rejected
これができたらエンジニア|YAPC::Asia 2015 LT rejectedこれができたらエンジニア|YAPC::Asia 2015 LT rejected
これができたらエンジニア|YAPC::Asia 2015 LT rejected
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjpAPIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
 
LT#6 Taskete
LT#6 TasketeLT#6 Taskete
LT#6 Taskete
 
デ部会 プロトタイプ
デ部会 プロトタイプデ部会 プロトタイプ
デ部会 プロトタイプ
 
Yidev201406.pub
Yidev201406.pubYidev201406.pub
Yidev201406.pub
 
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
cochica
cochicacochica
cochica
 
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
 
趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送る趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送る
 
リーンアジャイルで開発を加速しよう
リーンアジャイルで開発を加速しようリーンアジャイルで開発を加速しよう
リーンアジャイルで開発を加速しよう
 
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
 
そうだApi公開しよう feat. 有志のエンジニア
そうだApi公開しよう feat. 有志のエンジニアそうだApi公開しよう feat. 有志のエンジニア
そうだApi公開しよう feat. 有志のエンジニア
 
Hatena blogdevelopmentflow
Hatena blogdevelopmentflowHatena blogdevelopmentflow
Hatena blogdevelopmentflow
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにEngineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
 
Team Foundation Server 2012 「Express」って何?
Team Foundation Server 2012 「Express」って何?Team Foundation Server 2012 「Express」って何?
Team Foundation Server 2012 「Express」って何?
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 

いまNode Express4で書いてるディレクターが
初めて書き始める2ヶ月前くらいの自分に言っておく