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
400
大阪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
280
forループを越えて / beyond for loop
craftgear
0
490
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
1
520
Reactハンズオン 02 redux編 コード部分抜粋 / React Handson 02 redux (excerpt)
craftgear
0
510
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
0
600
Reactで作るDrupalサイト
craftgear
0
420
大阪Node学園 六時限目 「generator小咄」
craftgear
1
320
大阪Node学園四時限目 "This crazy testless world"
craftgear
1
330
Other Decks in Technology
See All in Technology
モバイルアプリ研修
recruitengineers
PRO
2
250
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
130
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
230
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
3
870
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
680
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
6
1.8k
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
16
5.3k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Six Lessons from altMBA
skipperchong
28
4k
Into the Great Unknown - MozCon
thekraken
40
2k
How to Ace a Technical Interview
jacobian
279
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Typedesign – Prime Four
hannesfritz
42
2.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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