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
410
大阪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
500
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
1
520
Reactハンズオン 02 redux編 コード部分抜粋 / React Handson 02 redux (excerpt)
craftgear
0
520
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
0
610
Reactで作るDrupalサイト
craftgear
0
430
大阪Node学園 六時限目 「generator小咄」
craftgear
1
320
大阪Node学園四時限目 "This crazy testless world"
craftgear
1
330
Other Decks in Technology
See All in Technology
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
250
エンタメとAIのための3Dパラレルワールド構築(GPU UNITE 2025 特別講演)
pfn
PRO
0
630
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
430
「魔法少女まどか☆マギカ Magia Exedra」の多様なバトルの開発を柔軟かつ効率的に実現するためのPure C#とUnityの分離について
gree_tech
PRO
0
240
React19.2のuseEffectEventを追う
maguroalternative
2
590
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
1.7k
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
290
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.2k
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
1
490
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
2
2.1k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
2
110
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Faster Mobile Websites
deanohume
310
31k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Code Review Best Practice
trishagee
72
19k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How STYLIGHT went responsive
nonsquared
100
5.8k
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