大阪Node学園 七時限目 「ゼロからはじめるnode.js」

Preview:

DESCRIPTION

JAWS FESTA Kansai 2013でのスライドです。 node.jsの概要から主なモジュールの紹介、ElasticBeanStalkでのアプリケーション実行までを紹介しています。

Citation preview

JAWS FESTA Kansai 2013 出張版

大阪Node学園七時限目

ゼロからはじめる

node.js2013/09/28

Agenda1. はじめに2. node.jsの概要3. node.jsの特徴4. はじめようnode.js5. node packaged modules6. サーバサイド環境としてのnode.js7. コーディングツールとしてのnode.js8. node.jsとAWS9. 今後の予定

10. 宣伝

はじめに

想定対象者

これからnode.jsを触り始めようという方

リンクは です

上の例をのぞいてスライド内のリンクはクリックで外部のサイトが開きます

この色

自己紹介

渡辺俊輔

フリーランスWebエンジニア大阪Node学園主催Blog :

質問、訂正な ありましたら下記から うぞ

google+twittergmail

A Node in Nodes

大阪node学園@craftgearcraftgear@gmail.com

node.jsの概要

node.js正式名称 node生まれてから4年

runs javascriptjavascriptで処理を書く

runs on google V8google v8上で動く

v8はchromeに乗っているjavascriptエンジン

without DOMDOMはない

with APIsファイル操作な のAPIがある

Node.js v0.10.18 Manual & Documentation

二つの側面

サーバサイド環境としてのnode.jsコーディングツールとしてのnode.js

javascriptの実行環境

node.jsの特徴

高いハフォーマンス

I/Oバウンドな処理のみ

非同期処理

従来のLL言語はほぼすべて同期処理javascriptは生まれながらにして非同期

豊富なモジュール

node packaged moduleshttps://npmjs.org/

活発なコミュニティ

主に欧米

node.jsの採用例

eBay, LinkedIn, Microsoft, Yahoo なnode.jsを利用している企業、団体の一覧

非同期処理がもたらす恩恵

豊かなエコシステム

はじめようnode.js

インストール

バイトリをダウンロードして解凍するのが早くて簡単

自分でコンハイルしたい人はnodebrewとかhttp://nodejs.org/download/

まず覚えたいこと

2つのコマンドnodeコマンドnpmコマンド

2つの概念コールバック関数

イベントドリブン

nodeコマンドnode.jsの本体スクリプトを実行する

バージョン表示

スクリプト実行

対話環境

> node --version

v0.11.6

> node hello.js

Hello!

> node

> console.log('Hello!');

Hello!

npmコマンドnode package managernpmモジュールの管理を行う

個別モジュールのインストール

モジュールのアンインストール

※ Macのhomebrewでnode.jsをインストールした場合にはnpmコマンドの実行にsudoが必要

> npm install less

> npm uninstall less

コールバック関数

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

イベントドリブン

こちらもjQueryで 馴染み

jQueryの例documentがreadyになったらネンドラを実行する

node.jsの例ファイルを読み込ん らコールバック関数を実行する

何かの状態になった → 何かの処理をする

|| ||イベント発生 → コールバック関数を実行

nodeとnpmの二つのコマンドを使う

コールバックスタイルに慣れよう

node packaged modules

モジュールの探し方

npm search でモジュールを探せる

ウゥブサイトを利用すると便利

キーワードでインクリメンタルサーチ

フォーク数、スター数な でソート可能

カテゲリから探せる

しばらく落ちている模様

本家サイト

検索結果の総数が出ない上、ソートが出来ないので使い らい

> npm search less

nipster

node toolbox

npmjs.org

サーバサイド環境としてのnode.js

Webサーバ標準のhttpモジュールexpressrestifysailsjs

データベースアクセス

(ODM/ORM)

mongoosesequalizebookshelfjugglingdb

テストフレームワーク

mochanodeunitQUnit

ユーティリティ

... and more and more

underscoreasyncjohnny-five

コーディングツールとしてのnode.js

メタ言語

coffee-scriptjadeless

ユーティリティ

... and more and more

UglifyJSjshintgruntyeoman

モジュールを活用しよう

Githubのフォーク数、スター数、最終更新日を見る

node.jsとAWS

Elastic Beanstalk自分でサーバを作る必要がない

オートスケーリング

対応言語Java .NET node.js Python PHP Ruby

参考:5ステップでらくらく!アプリ開発者のためのクラウド まかせ構築術

Elastic Beanstalk環境の作成

からElasticBeanstalkを選択

自動で構築が始まるのでしばらく待つ

グリーンになったら完了Default Environmentのリンクをクリックすると起動中のサーバにアクセスできる

マネジメントコンソール

node.jsのバージョンをあげる起動時のデフォルトが0.8.24なので0.10.10に変更する

ConfigurationのEditボタンをクリックする

Software Configurationの歯車をクリック

Node versionに0.10.10と入力ページ下部のsaveボタンをクリックすると自動

で環境のアップデートが始まる

最新バージョンはドキュメントににひっそりと書いてある

自作アプリのアップロード

app.jsを含むファイル一式をzipにまとめるこのときディレクトリ とzipにしないこと、"Failed to find package.json"というエラーの原因になる

Upload and Deployボタンをクリックする

ファイルを選択をクリックし、先ほ 作ったzipファイルを選択する

Deployをクリックすると自動でアップデートが始まる

Elastic Beanstalkを使うとnode.jsアプリケーションのデプロイも簡単

今後の予定

大阪Node学園八時限目 node.jsみちしるべ10/28 Innovation EGG 第一回勉強会 出張版

宣伝

半年ほ 前に本を書きました

HTML5とJavaScriptによるiPhone/Android両対応アプリ開発ガイド(DESIGN & WEB TECHNOLOGY)

Thank you!

photo by from flickrLance Johnson

Recommended