Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Search
Shunsuke Watanabe
September 28, 2013
Technology
1
390
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
JAWS FESTA Kansai 2013でのスライドです。
node.jsの概要から主なモジュールの紹介、ElasticBeanStalkでのアプリケーション実行までを紹介しています。
Shunsuke Watanabe
September 28, 2013
Tweet
Share
More Decks by Shunsuke Watanabe
See All by Shunsuke Watanabe
いますぐ {id: number;} をやめろ
craftgear
1
24
forループを越えて / beyond for loop
craftgear
0
250
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
1
330
Reactハンズオン 02 redux編 コード部分抜粋 / React Handson 02 redux (excerpt)
craftgear
0
330
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
0
290
Reactで作るDrupalサイト
craftgear
0
180
大阪Node学園 六時限目 「generator小咄」
craftgear
1
280
大阪Node学園四時限目 "This crazy testless world"
craftgear
1
300
Other Decks in Technology
See All in Technology
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
いざ、BSC討伐の旅
nikinusu
2
780
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Navigating Team Friction
lara
183
14k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Rails Girls Zürich Keynote
gr2m
94
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Bash Introduction
62gerente
608
210k
Being A Developer After 40
akosma
86
590k
Transcript
JAWS FESTA Kansai 2013 出張版 大阪 Node 学園七時限目 ゼロからはじめる node.js
2013/09/28
Agenda 1. はじめに 2. node.js の概要 3. node.js の特徴 4.
はじめよう node.js 5. node packaged modules 6. サーバサイド環境としての node.js 7. コーディングツールとしての node.js 8. node.js と AWS 9. 今後の予定 10. 宣伝
はじめに
想定対象者 これから node.js を触り始めようという方
リンクは です 上の例をのぞいてスライド内のリンクはクリックで外部のサイトが開きます この色
自己紹介 渡辺俊輔 フリーランス Web エンジニア 大阪 Node 学園主催 Blog :
質問、訂正な ありましたら下記から うぞ google+ twitter gmail A Node in Nodes 大阪 node 学園 @craftgear
[email protected]
node.js の概要
node.js 正式名称 node 生まれてから 4 年
runs javascript javascript で処理を書く
runs on google V8 google v8 上で動く v8 は chrome
に乗っている javascript エンジン
without DOM DOM はない
with APIs ファイル操作な の API がある Node.js v0.10.18 Manual &
Documentation
二つの側面 サーバサイド環境としての node.js コーディングツールとしての node.js
javascript の実行環境
node.js の特徴
高いハフォーマンス I/O バウンドな処理のみ
非同期処理 従来の LL 言語はほぼすべて同期処理 javascript は生まれながらにして非同期
豊富なモジュール node packaged modules https://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 manager npm モジュールの管理を行う 個別モジュールのインストール モジュールのアンインストール ※
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 モジュール express restify sailsjs
WebSocket サーバ ws Socket.IO SockJS
データベースアクセス (driver) node-mongodb-native redis node-postgres node-mysql
データベースアクセス (ODM/ORM) mongoose sequalize bookshelf jugglingdb
テストフレームワーク mocha nodeunit QUnit
ユーティリティ ... and more and more underscore async johnny-five
コーディングツールとしての node.js
メタ言語 coffee-script jade less
ユーティリティ ... and more and more UglifyJS jshint grunt yeoman
モジュールを活用しよう 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 flickr Lance Johnson