大阪Node学園 七時限目 「ゼロからはじめるnode.js」
-
Upload
shunsuke-watanabe -
Category
Technology
-
view
3.007 -
download
3
description
Transcript of 大阪Node学園 七時限目 「ゼロからはじめるnode.js」
![Page 1: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/1.jpg)
JAWS FESTA Kansai 2013 出張版
大阪Node学園七時限目
ゼロからはじめる
node.js2013/09/28
![Page 2: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/2.jpg)
Agenda1. はじめに2. node.jsの概要3. node.jsの特徴4. はじめようnode.js5. node packaged modules6. サーバサイド環境としてのnode.js7. コーディングツールとしてのnode.js8. node.jsとAWS9. 今後の予定
10. 宣伝
![Page 3: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/3.jpg)
はじめに
![Page 4: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/4.jpg)
想定対象者
これからnode.jsを触り始めようという方
![Page 5: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/5.jpg)
リンクは です
上の例をのぞいてスライド内のリンクはクリックで外部のサイトが開きます
この色
![Page 6: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/6.jpg)
自己紹介
渡辺俊輔
フリーランスWebエンジニア大阪Node学園主催Blog :
質問、訂正な ありましたら下記から うぞ
google+twittergmail
A Node in Nodes
大阪node学園@[email protected]
![Page 7: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/7.jpg)
node.jsの概要
![Page 8: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/8.jpg)
node.js正式名称 node生まれてから4年
![Page 9: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/9.jpg)
runs javascriptjavascriptで処理を書く
![Page 10: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/10.jpg)
runs on google V8google v8上で動く
v8はchromeに乗っているjavascriptエンジン
![Page 11: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/11.jpg)
without DOMDOMはない
![Page 13: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/13.jpg)
二つの側面
サーバサイド環境としてのnode.jsコーディングツールとしてのnode.js
![Page 14: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/14.jpg)
javascriptの実行環境
![Page 15: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/15.jpg)
node.jsの特徴
![Page 16: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/16.jpg)
高いハフォーマンス
I/Oバウンドな処理のみ
![Page 17: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/17.jpg)
非同期処理
従来のLL言語はほぼすべて同期処理javascriptは生まれながらにして非同期
![Page 19: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/19.jpg)
活発なコミュニティ
主に欧米
![Page 20: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/20.jpg)
node.jsの採用例
eBay, LinkedIn, Microsoft, Yahoo なnode.jsを利用している企業、団体の一覧
![Page 21: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/21.jpg)
非同期処理がもたらす恩恵
豊かなエコシステム
![Page 22: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/22.jpg)
はじめようnode.js
![Page 23: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/23.jpg)
インストール
バイトリをダウンロードして解凍するのが早くて簡単
自分でコンハイルしたい人はnodebrewとかhttp://nodejs.org/download/
![Page 24: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/24.jpg)
まず覚えたいこと
2つのコマンドnodeコマンドnpmコマンド
2つの概念コールバック関数
イベントドリブン
![Page 25: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/25.jpg)
nodeコマンドnode.jsの本体スクリプトを実行する
バージョン表示
スクリプト実行
対話環境
> node --version
v0.11.6
> node hello.js
Hello!
> node
> console.log('Hello!');
Hello!
![Page 26: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/26.jpg)
npmコマンドnode package managernpmモジュールの管理を行う
個別モジュールのインストール
モジュールのアンインストール
※ Macのhomebrewでnode.jsをインストールした場合にはnpmコマンドの実行にsudoが必要
> npm install less
> npm uninstall less
![Page 27: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/27.jpg)
コールバック関数
jQueryで 馴染み
jQueryのdocument.readyの例
jQueryでの呼び名はネンドラ
node.jsでのファイル読み出しの例
4行目から7行目のfunctionがコールバック関数
$( document ).ready(function() {
// Handler for .ready() called.
});
1
2
3
var fs = require('fs');
fs.readFile(__dirname + '/ong6.txt', {encoding: 'utf-8'}
, function (error, result) {
console.log(result);
process.exit();
}
);
1
2
3
4
5
6
7
8
![Page 28: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/28.jpg)
イベントドリブン
こちらもjQueryで 馴染み
jQueryの例documentがreadyになったらネンドラを実行する
node.jsの例ファイルを読み込ん らコールバック関数を実行する
何かの状態になった → 何かの処理をする
|| ||イベント発生 → コールバック関数を実行
![Page 29: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/29.jpg)
nodeとnpmの二つのコマンドを使う
コールバックスタイルに慣れよう
![Page 30: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/30.jpg)
node packaged modules
![Page 31: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/31.jpg)
モジュールの探し方
npm search でモジュールを探せる
ウゥブサイトを利用すると便利
キーワードでインクリメンタルサーチ
フォーク数、スター数な でソート可能
カテゲリから探せる
しばらく落ちている模様
本家サイト
検索結果の総数が出ない上、ソートが出来ないので使い らい
> npm search less
nipster
node toolbox
npmjs.org
![Page 32: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/32.jpg)
サーバサイド環境としてのnode.js
![Page 33: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/33.jpg)
Webサーバ標準のhttpモジュールexpressrestifysailsjs
![Page 34: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/34.jpg)
WebSocketサーバwsSocket.IOSockJS
![Page 35: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/35.jpg)
データベースアクセス
(driver)
node-mongodb-nativeredisnode-postgresnode-mysql
![Page 36: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/36.jpg)
データベースアクセス
(ODM/ORM)
mongoosesequalizebookshelfjugglingdb
![Page 37: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/37.jpg)
テストフレームワーク
mochanodeunitQUnit
![Page 38: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/38.jpg)
ユーティリティ
... and more and more
underscoreasyncjohnny-five
![Page 39: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/39.jpg)
コーディングツールとしてのnode.js
![Page 41: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/41.jpg)
ユーティリティ
... and more and more
UglifyJSjshintgruntyeoman
![Page 42: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/42.jpg)
モジュールを活用しよう
Githubのフォーク数、スター数、最終更新日を見る
![Page 43: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/43.jpg)
node.jsとAWS
![Page 44: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/44.jpg)
Elastic Beanstalk自分でサーバを作る必要がない
オートスケーリング
対応言語Java .NET node.js Python PHP Ruby
参考:5ステップでらくらく!アプリ開発者のためのクラウド まかせ構築術
![Page 45: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/45.jpg)
Elastic Beanstalk環境の作成
からElasticBeanstalkを選択
自動で構築が始まるのでしばらく待つ
グリーンになったら完了Default Environmentのリンクをクリックすると起動中のサーバにアクセスできる
マネジメントコンソール
![Page 46: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/46.jpg)
node.jsのバージョンをあげる起動時のデフォルトが0.8.24なので0.10.10に変更する
ConfigurationのEditボタンをクリックする
Software Configurationの歯車をクリック
Node versionに0.10.10と入力ページ下部のsaveボタンをクリックすると自動
で環境のアップデートが始まる
最新バージョンはドキュメントににひっそりと書いてある
![Page 47: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/47.jpg)
自作アプリのアップロード
app.jsを含むファイル一式をzipにまとめるこのときディレクトリ とzipにしないこと、"Failed to find package.json"というエラーの原因になる
Upload and Deployボタンをクリックする
ファイルを選択をクリックし、先ほ 作ったzipファイルを選択する
Deployをクリックすると自動でアップデートが始まる
![Page 48: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/48.jpg)
Elastic Beanstalkを使うとnode.jsアプリケーションのデプロイも簡単
![Page 49: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/49.jpg)
今後の予定
大阪Node学園八時限目 node.jsみちしるべ10/28 Innovation EGG 第一回勉強会 出張版
![Page 50: 大阪Node学園 七時限目 「ゼロからはじめるnode.js」](https://reader034.fdocuments.net/reader034/viewer/2022052311/556a5dead8b42a7a138b51c8/html5/thumbnails/50.jpg)
宣伝
半年ほ 前に本を書きました
HTML5とJavaScriptによるiPhone/Android両対応アプリ開発ガイド(DESIGN & WEB TECHNOLOGY)