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
120
forループを越えて / beyond for loop
craftgear
0
340
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
1
360
Reactハンズオン 02 redux編 コード部分抜粋 / React Handson 02 redux (excerpt)
craftgear
0
360
Reactハンズオン 01 入門編 コード部分抜粋 / React Handson 01 components (excerpt)
craftgear
0
340
Reactで作るDrupalサイト
craftgear
0
220
大阪Node学園 六時限目 「generator小咄」
craftgear
1
290
大阪Node学園四時限目 "This crazy testless world"
craftgear
1
310
Other Decks in Technology
See All in Technology
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
1.4k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.3k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.9k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
640
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
390
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Building Products in the LLM Era
ymatsuwitter
10
5k
Culture Deck
optfit
0
390
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
120
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
470
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
350
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.3k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Code Reviewing Like a Champion
maltzj
521
39k
Writing Fast Ruby
sferik
628
61k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
320
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
YesSQL, Process and Tooling at Scale
rocio
171
14k
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