SlideShare a Scribd company logo
第6回勉強会 
Node.js v0.10 でハンズオン! 
~Hello World!まで~ 
内村 康一
今日の目次 
第1章 Node.js v0.10 の変更点(v0.6から) 
第2章 Expressの変更点(3.xから4.x) 
第3章 改めてhello world! 
第4章 ちょっと高度なこと
第1章 
第1章 Node.js v0.10 の変更点(v0.6から)
第1章 Node.js v0.10 の変更点(v0.6から) 
変更点 
・eeeexxxxpppprrrreeeessssssssのインストール 
npm install -g expreess   
⇒ nnnnppppmmmm iiiinnnnssssttttaaaallllllll ----gggg eeeexxxxpppprrrreeeessssssss----ggggeeeennnneeeerrrraaaattttoooorrrr 
・ccccrrrryyyyppppttttooooにggggeeeettttHHHHaaaasssshhhheeeessss(((()))) と ggggeeeettttCCCCiiiipppphhhheeeerrrrssss(((())))が追加された。 
・ffffssssにffffttttrrrruuuunnnnccccaaaatttteeee(((())))  と ffffttttrrrruuuunnnnccccaaaatttteeeeSSSSyyyynnnncccc(((())))が追加された。 
良く見たらそんなに変ってなかった 
(私が使う機能は)
第2章 
第2章 Expressの変更点(3.xから4.x)
第2章 Expressの変更点(3.xから4.x) 
変更点 
使えなくなったもの 
・app.configure() : 基本的にapp.setで設定。 
・app.router : app.mountpath で代用。 
・express.createServer() : 書かなくてOK。 
ミドルウェアを別個インストールする必要があるもの 
・bodyParser : body-parserを別個インストール 
・cookieParser : cookie-parserを別個インストール 
・favicon : serve-faviconを別個インストール 
・session : express-sessionを別個インストール 
・methodOverride : method-overrideを別個インストール 
・express.logger : morganで代用
例えば・・・ 
• app.use(express.bodyParser()); みたいな書き 
方はできなくなりました。 
• var bodyParser = require('body-parser'); 
• app.use(bodyParser().json()); みたいに 
書けばOK。 
Expressがかなーり変わってた 
(私が使う機能は)
第3章 
第3章 改めてhello world!
1.準備 その1 
① hhhhttttttttpppp::::////////nnnnooooddddeeeejjjjssss....oooorrrrgggg//// で「INSTALL」をクリック 
② ダウンロードしたファイルを開く。 
③ ひたすら「次へ」をクリック 
④ 環境変数「PATHHHH」を指定 
これでNodeのインストールは完了
1.準備 その2 
① npm install -nnnpppmmm iiinnnssstttaaallllll ---gggg eeeexxxxpppprrrreeeessssssss----ggggeeeennnneeeerrrraaaattttoooorrrr 
でexpressをインストール 
② eeeexxxxpppprrrreeeessssssss ----eeee kagonode 
でプロジェクトを作成 
③ node app.jsで起動すると「cannot find 
module '○○'」が何度か出るので 
npm install ○○で片っ端からインストール
2.やることはこれだけ 
<<<<rrrroooouuuutttteeeessssiiiinnnnddddeeeexxxx....jjjjssss>>>> 
router.get('/', function(req, res) { 
res.render('index', { title: 'Express' }); }); 
''''HHHHeeeelllllllloooo WWWWoooorrrrlllldddd!!!!''''に変更! 
<<<<aaaapppppppp....jjjjssss>>>> 
aaaapppppppp....lllliiiisssstttteeeennnn((((3333000000000000))));;;; を最後に追加 
やることはこれだけ!
3.成功すると 
この画面が出ると成功です。 
おめでとうございます!!
第4章 
第4章 ちょっと高度なこと
1 EJSテンプレートの理解 
sssstttteeeepppp1111 
viewフォルダにある「index.ejs」をテキストエディタで 
開いてください。 
sssstttteeeepppp2222 
<h1><<<<%%%%==== mmmmyyyynnnnaaaammmmeeee %%%%>>>></h1> 
のように、ttttiiiittttlllleeeeをmmmmyyyynnnnaaaammmmeeeeに変更して下さい。
1 EJSテンプレートの理解 
sssstttteeeepppp3333 
routesフォルダにある「index.js」をテキストエディタ 
で開いてください。 
sssstttteeeepppp4444 
router.get('/', function(req, res) { 
res.render('index', 
{ ttttiiiittttlllleeee: ''''HHHHeeeelllllllloooo WWWWoooorrrrlllldddd!!!!'''' ,,,, mmmmyyyynnnnaaaammmmeeee:::: ''''kkkkooooiiiicccchhhhiiii'''' }); }); 
のように、「mmmmyyyynnnnaaaammmmeeee: '○○'」を加えてください。
1 EJSテンプレートの理解 
nnnnooooddddeeee aaaapppppppp....jjjjssssで起動・・・ 
こうなっていれば 
成功です。 
おめでとうございます!
2 要するに 
<<<<iiiinnnnddddeeeexxxx....jjjjssss>>>> 
rrrroooouuuutttteeeerrrr....ggggeeeetttt((((''''////'''',,,, ffffuuuunnnnccccttttiiiioooonnnn((((rrrreeeeqqqq,,,, rrrreeeessss)))) {{{{ 
rrrreeeessss....rrrreeeennnnddddeeeerrrr((((''''iiiinnnnddddeeeexxxx'''',,,, 
{{{{ ttttiiiittttlllleeee:::: ''''HHHHeeeelllllllloooo WWWWoooorrrrlllldddd!!!!'''' ,,,, mmmmyyyynnnnaaaammmmeeee:::: ''''kkkkooooiiiicccchhhhiiii'''' }}}}))));;;; }}}}))));;;; 
<<<<iiiinnnnddddeeeexxxx....eeeejjjjssss>>>> 
<h1><<<<%%%%==== mmmmyyyynnnnaaaammmmeeee %%%%>>>></h1> 
という感じで対応しているわけです。
ありがとうございました。 
ご清聴ありがとうございました。

More Related Content

What's hot

Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Sho Shimizu
 
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」minami.rb最初で最後のLT大会「Wakayama.rbの紹介」
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」三七男 山本
 
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみたServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
Taira Hajime
 
Ruby build
Ruby buildRuby build
Ruby build
Yuichiro Naito
 
Vagrant intro
Vagrant introVagrant intro
Vagrant introt9md
 
membase
membasemembase
membase
Yohei Sasaki
 
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
Iwana Chan
 
全人類Linuxを使え
全人類Linuxを使え全人類Linuxを使え
全人類Linuxを使え
KotaIsozaki
 
Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitchkazuyas
 
処理概要図&構築手順書1124
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124Kazuki Miura
 
Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料
Iwana Chan
 
Varnishのログの眺め方
Varnishのログの眺め方Varnishのログの眺め方
Varnishのログの眺め方
Iwana Chan
 
実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技
Akira Maruyama
 
kvm-clock に時間を尋ねるのは 間違っているだろうか
kvm-clock に時間を尋ねるのは間違っているだろうかkvm-clock に時間を尋ねるのは間違っているだろうか
kvm-clock に時間を尋ねるのは 間違っているだろうか
Takaaki Fukai
 
Iocage
IocageIocage
mq 使ってみたよ
mq 使ってみたよmq 使ってみたよ
mq 使ってみたよ
Tomohiro NAKAMURA
 
20151118卒研進捗LT
20151118卒研進捗LT20151118卒研進捗LT
20151118卒研進捗LT
mohemohe
 

What's hot (19)

Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像 Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
 
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」minami.rb最初で最後のLT大会「Wakayama.rbの紹介」
minami.rb最初で最後のLT大会「Wakayama.rbの紹介」
 
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみたServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
 
Ruby build
Ruby buildRuby build
Ruby build
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
Monit
MonitMonit
Monit
 
membase
membasemembase
membase
 
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
 
全人類Linuxを使え
全人類Linuxを使え全人類Linuxを使え
全人類Linuxを使え
 
Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitch
 
処理概要図&構築手順書1124
処理概要図&構築手順書1124処理概要図&構築手順書1124
処理概要図&構築手順書1124
 
Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料
 
Varnishのログの眺め方
Varnishのログの眺め方Varnishのログの眺め方
Varnishのログの眺め方
 
実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技
 
Docker やってみた
Docker やってみたDocker やってみた
Docker やってみた
 
kvm-clock に時間を尋ねるのは 間違っているだろうか
kvm-clock に時間を尋ねるのは間違っているだろうかkvm-clock に時間を尋ねるのは間違っているだろうか
kvm-clock に時間を尋ねるのは 間違っているだろうか
 
Iocage
IocageIocage
Iocage
 
mq 使ってみたよ
mq 使ってみたよmq 使ってみたよ
mq 使ってみたよ
 
20151118卒研進捗LT
20151118卒研進捗LT20151118卒研進捗LT
20151118卒研進捗LT
 

Viewers also liked

Final live project
Final live projectFinal live project
Final live project
Khushbu Shah
 
第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村
Koichi Uchimura
 
Big data wonderland
Big data wonderlandBig data wonderland
Big data wonderland
Sarah Daniels
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
第3回鹿児島node.jsの会資料_内村
第3回鹿児島node.jsの会資料_内村第3回鹿児島node.jsの会資料_内村
第3回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
What's new in digital marketing to improve your subscription marketing
What's new in digital marketing to improve your subscription marketingWhat's new in digital marketing to improve your subscription marketing
What's new in digital marketing to improve your subscription marketing
JellyfishPublishing
 
Stinnes-Entscheidung des BGH
Stinnes-Entscheidung des BGHStinnes-Entscheidung des BGH
Stinnes-Entscheidung des BGH
SpruchZ
 

Viewers also liked (8)

Final live project
Final live projectFinal live project
Final live project
 
第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村
 
Big data wonderland
Big data wonderlandBig data wonderland
Big data wonderland
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
第3回鹿児島node.jsの会資料_内村
第3回鹿児島node.jsの会資料_内村第3回鹿児島node.jsの会資料_内村
第3回鹿児島node.jsの会資料_内村
 
第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村
 
What's new in digital marketing to improve your subscription marketing
What's new in digital marketing to improve your subscription marketingWhat's new in digital marketing to improve your subscription marketing
What's new in digital marketing to improve your subscription marketing
 
Stinnes-Entscheidung des BGH
Stinnes-Entscheidung des BGHStinnes-Entscheidung des BGH
Stinnes-Entscheidung des BGH
 

Similar to 第6回鹿児島node.jsの会資料_内村

分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案Keisuke Umeno
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
 
Xen Nic
Xen NicXen Nic
Xen Nic
Kazuhisa Hara
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
y-uti
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化
sakura-mike
 
Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理Takeshi Arabiki
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング
Takeshi Takaishi
 

Similar to 第6回鹿児島node.jsの会資料_内村 (7)

分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
Xen Nic
Xen NicXen Nic
Xen Nic
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化
 
Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理Rのデータ構造とメモリ管理
Rのデータ構造とメモリ管理
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング
 

More from Koichi Uchimura

痛すぽ事業計画書
痛すぽ事業計画書痛すぽ事業計画書
痛すぽ事業計画書
Koichi Uchimura
 
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
Koichi Uchimura
 
えあすぽ
えあすぽえあすぽ
えあすぽ
Koichi Uchimura
 
痛すぽ_プレゼン資料
痛すぽ_プレゼン資料痛すぽ_プレゼン資料
痛すぽ_プレゼン資料
Koichi Uchimura
 
第5回鹿児島node.jsの会資料_内村
第5回鹿児島node.jsの会資料_内村第5回鹿児島node.jsの会資料_内村
第5回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
 

More from Koichi Uchimura (7)

痛すぽ事業計画書
痛すぽ事業計画書痛すぽ事業計画書
痛すぽ事業計画書
 
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
 
えあすぽ
えあすぽえあすぽ
えあすぽ
 
痛すぽ_プレゼン資料
痛すぽ_プレゼン資料痛すぽ_プレゼン資料
痛すぽ_プレゼン資料
 
第5回鹿児島node.jsの会資料_内村
第5回鹿児島node.jsの会資料_内村第5回鹿児島node.jsの会資料_内村
第5回鹿児島node.jsの会資料_内村
 
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 

第6回鹿児島node.jsの会資料_内村