SlideShare a Scribd company logo
Node.js  基礎
iwanaga
第78回  Web Touch Meeting
in HIROSHIMA
今⽇日のゴール
1. Node.js の基礎を理理解
2. ⾮非同期 I/O を体で覚える
3. Node.js を仕事や趣味に導⼊入
開発の現場ではどういうコードを書いているの?
知っているだけで終わらせない。
Node.js の根幹「イベントループ」を習得。
他の⼈人に  Node.js の凄さを語れるようになろう。
⾃自⼰己紹介
⼤大学〜~⼤大学院。素粒粒⼦子物理理学。
地震速報
広島に6年年間いました
仕事
ウェブアプリ (フルスタック)
執筆
「Arduinoで始める
  Web技術者のための  IoT ⼊入⾨門」
www.atmarkit.co.jp/ait/kw/arduino_js.html
@y_iwanaga_
Node.js の魅⼒力力
⼊入出⼒力力の無駄を簡単に撲滅
同じコンピュータリソース (= 予算) で
より多くの処理理を捌くことができる
⼊入出⼒力力なくしてシステムなし!
ネットワーク:HTTP,  DNS
DB:検索索、書き込み
ディスク:ローカルファイル
でも、I/O 処理理は時間がかかる
I/O の待ち時間
https://software.intel.com/sites/products/collateral/hpc/vtune/performance_analysis_guide.pdf
http://mechanical-sympathy.blogspot.jp/2013/02/cpu-cache-flushing-fallacy.html
I/O CPU  クロック 時間
L3 Cache 38 12 ns
RAM 250 65 ns
Disk 41,000,000 10,000,000 ns
Network 240,000,000 60,000,000 ns
I/O 完了了を待つのは勿体ない
⼊入出⼒力力の処理理パターン
同期 ⾮非同期
⼊入出⼒力力の処理理パターン
同期
・ I/O 待ちの間、他の処理理をブロック
・  複数の同時 I/O を実現するには
  ・ multi thread:メモリ消費量量が多い
  ・ select:処理理速度度は I/O の数と共に劣劣化
⾮非同期
・ I/O 待ちの間も処理理を続⾏行行
・ Single thread で複数の I/O をさばける
・  処理理速度度は I/O の数が増えても安定
同期 ⾮非同期
⼊入出⼒力力の処理理パターン
処理理性能を⽐比較
Node.js の Design Goals
1.    Event  Driven  Async  I/O
2.    全ての  I/O  を  Stream  に
API の内側でバッファしない。メモリを節約。
I/O の完了了は全て event で受け取る  
3.    シンプルな  API
ブラウザの click イベントと同じインターフェース
どうやって実現しているの?
V8 Engine
http://docs.libuv.org/en/v1.x/design.html
Node.jsの基礎
同期・⾮非同期 I/O パターン
ファイル読み出しで実演
本⽇日使うコード
https://github.com/	
iwanaga/nodejs-hands-on
同期読み出し
2. 同期  I/O
3. ファイルの中⾝身を表⽰示
1. fs  モジュール  をインポート
⾮非同期読み出し
⾮非同期読み出し
・・・1
・・・2
⾮非同期読み出し
← 後
← 先に実⾏行行
実⾏行行順序はどうやって決まる?
event loop
event loop
ファイル読み出し
メインコンテキストを実⾏行行した後
event loop
終わるまでファイル読み出し
event loop
ファイル読み込み完了了。
コールバック関数を実⾏行行!
⾮非同期読み出し
← 後
← 先に実⾏行行
Node.jsの基礎
Event Loop を使いこなす
イベントを操る
EventEmitter
fs.readStream,  net,  http.Server  は
EventEmitter  を継承。
1. on メソッド    イベント名とハンドラを紐紐づける
2. emit メソッド  イベントを発⽕火
最低限  押さえておくべきこと
EventEmitter を使ってみよう
EventEmitter を使ってみよう
EventEmitter を使ってみよう
EventEmitter を使ってみよう
Node.jsの基礎
npm の基礎知識識
npm
・ XML を扱いたい
・ MySQL を利利⽤用したい
・ Web Framework を活⽤用したい
Node.js に実装されていない機能を使うとき
etc…
npm
package.json でモジュールを管理理
・  利利⽤用するモジュール
・  バージョン
ハンズオン前半で実際に触ります
デプロイ先で依存関係を簡単に再現できる
座学の最後に
https://nodejs.org/api/
ブックマークしときましょう。
今後、何度度も⾒見見ることになります。
ハンズオン  前半
1. Node.jsインストール
2. http  サーバを実装
3. npm  を使う
ハンズオン  前半
1. Node.jsインストール
2. http  サーバを実装
3. npm  を使う
オススメは  nvm
インストール、バージョン変更更が簡単
・  プロジェクトによってバージョンが違うとき
・  バイナリが⽤用意されていないとき
nvm を使ってインストール
1. “nvm github” で検索索!
2. Install  script  
curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash	
source ~/.nvm/nvm.sh	
nvm install 0.12.2	
nvm alias default 0.12.2	
node -v	
3. Usage  
ハンズオン  前半
1. Node.jsインストール
2. http  サーバを実装
3. npm  を使う
まず
https://nodejs.org/api/
⼀一覧の真ん中にある  HTTP  をクリック
http.Server
http.Server
http.Server
リクエストを出してみよう
curl http://localhost:3000/index.html
curl http://localhost:3000/ -d '{a: 1}'
ハンズオン  前半
1. Node.jsインストール
2. http  サーバを実装
3. npm  を使う
管理理ファイルを作る
コマンドラインで  npm init ↩️
項⽬目 説明 例例
name アプリの名前 node-hands-on
version アプリのバージョン 0.0.1
description 説明 hands-on codes
entry point 実⾏行行ファイル index.js
test
command
テスト実⾏行行コマンド
(npm test で実⾏行行できるようになる)
grunt test
author 開発者の名前 iwanaga
→ package.json が出来る
package.json
モジュールインストール
npm install lodash --save
1. lodash  をダウンロード
2. node_̲modules  ディレクトリにインストール
3. 依存モジュールとして  package.json  に追記
package.json
使い⽅方は
ビルトインモジュールと同じ。
メモ
node_̲modules  ディレクトリを
リポジトリにコミットしない
・  デプロイ先で  npm install を実⾏行行すれば
    同じバージョンの全モジュールをインストールしてくれる。
・ C++ をバインドしたモジュールがある。
    デプロイ先でコンパイルする⽅方が確実。
ハンズオン  後半
Node.js  を仕事や趣味で活⽤用する
短い時間で⽬目的の機能を実装し、
メンテナンスしやすいコードを維持したい!
それを実現するには、かなりの経験が必要でした。
しかし、時代は劇的に良良くなりました!
Node.js を⽤用いたWeb 開発の
ベストプラクティスの結晶
generator-angular-fullstack
angular-fullstack
YEOMAN
MongoDB	
Express	
AngularJS	
Node.js
SocketIO
説明より先にやってみる
npm install –g yo	
npm install –g bower	
npm install –g grunt-cli	
npm install –g generator-angular-fullstack	
	
yo angular-fullstack HandsOnApp
質問に答えていきます
? What would you like to write scripts with?	
›❯ JavaScript	
	
? What would you like to write markup with?	
›❯ HTML	
	
? What would you like to write stylesheets with?	
›❯ CSS
質問に答えていきます
? What Angular router would you like to use?	
›❯ uiRouter	
	
? Would you like to include Bootstrap?	
n	
	
? Would you scaffold out	
an authentication boilerplate?	
n
質問に答えていきます
? Would you like to use mongoDB with Mongoose	
for data modeling?	
y	
	
? Would you like to use socket.io?	
Y	
→ サーバとクライアントのコードを⾃自動⽣生成。
    依存モジュールをインストール
サーバ起動
grunt serve:dist
クライアント⽤用の
コードをビルド
・画像、JavaScript、CSS を minify
・構成ファイルをもとに
  script タグと link タグを⾃自動挿⼊入
・AngularJS は CDN からロードさせる
・上記の結果を  dist に配置
サーバ起動
・リクエストを  dist 配下にルーティング
・node server/app.js を実⾏行行
次にやること
⽣生成されたコードを⾒見見ながら、
全体像を掴みます。
ディレクトリ構成
server
client
dist
e2e
Node.js で動くウェブサーバのコード群
ブラウザにサーブする HTML, JavaScript, CSS
End To End テストのためのコード
build:dist or serve:dist 実⾏行行時に作られる。
production 環境⽤用のアセットを配置。
server
app.js
routes.js
サーバ起動ファイル。
モジュールのインポートに専念念。
HTTP リクエストのルーティング定義。
基本的に触らない。
YEOMAN が全て⾃自動的に更更新してくれます。
→ 詳細を知りたい⼈人は、Express の API ドキュメントを  
server
api
⼤大前提:動的なデータは全て API で取得します
resourceName
index.js
resourceName.controller.js
resourceName.model.js
resourceName.socket.js
resourceName.spec.js
server 側の開発
yo angular-fullstack:endpoint resourceName
Model を修正
(必要に応じて  Controller, Socket を修正)
(spec を修正。grunt test:server でテスト実⾏行行)
client
bower_components
index.html
・  この2つも基本的に触らない。
・  grunt:build や bower install で
    全て⾃自動的に更更新されます。
必要な script, CSS をロードするだけ
bower でインストールした
コードが配置される
client
app
AngularJS のベストプラクティスが詰まっています!
uiName uiName.js
uiName.controller.js
uiName.controller.spec.js
uiName.html
uiName.css
compenents
client 側の開発
yo angular-fullstack:route uiName
Controller, HTML を修正
(必要に応じて  uiName.js を修正)
(spec を修正。grunt test:client でテスト実⾏行行)
もう⼀一つオススメ。
bower install angular-material
https://material.angularjs.org/
ハンズオン  後半
TODO  アプリを作ってみよう
完成イメージ
server 側
コード⽣生成
yo angular-fullstack todo	
yo angular-fullstack:endpoint todo
server 作り込み
server/api/todo/todo.model.js
client 側
コード⽣生成
yo angular-fullstack:route todo	
yo angular-fullstack:service todoService	
bower install angular-material --save
client 側
client/app/todo/todo.html
client 側
client/app/todoService/todoService.js
client 側
client/app/todo/todo.controller.js
client 側
client/app/todo/todo.js
dev でも  SocketIO を serve する
server/app.js
angular-material
client/app/app.js
起動してみましょう
grunt serve
・  複数のタブで
    作成/変更更をリアルタイムに同期。
    WebSocket を活⽤用しています。
・ DB に保存しているので、
    リロードしても元通り。
いかがでしたか?
わずかなコーディングで、
リアルタイム&双⽅方向通信のウェブアプリが
出来ました。
今後も是⾮非、Node.js を活⽤用していって下さい

More Related Content

What's hot

サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
Shin Sekaryo
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsTadahiro Ishisaka
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
Akihiro Kuwano
 
Nodejs
NodejsNodejs
後期講座01
後期講座01後期講座01
後期講座01
Takenori Nakagawa
 
ビルド職人の朝は早い
ビルド職人の朝は早いビルド職人の朝は早い
ビルド職人の朝は早い
Masashi MATSUI
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascriptTakayoshi Tanaka
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
Ryuji Tamagawa
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
spg_games
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料
Daisuke Ando
 
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
furandon_pig
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
Tsuyoshi Maeda
 

What's hot (20)

サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 
20131012 nodejs
20131012 nodejs20131012 nodejs
20131012 nodejs
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
 
Nodejs
NodejsNodejs
Nodejs
 
後期講座01
後期講座01後期講座01
後期講座01
 
ビルド職人の朝は早い
ビルド職人の朝は早いビルド職人の朝は早い
ビルド職人の朝は早い
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
 
20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料20151029 ヒカラボ講演資料
20151029 ヒカラボ講演資料
 
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 

Viewers also liked

Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミングJava script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
健一 茂木
 
JUNOS: OSPF and BGP
JUNOS: OSPF and BGPJUNOS: OSPF and BGP
JUNOS: OSPF and BGP
Zenith Networks
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
 
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築AimingStudy
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作
slankdev
 

Viewers also liked (9)

Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミングJava script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
 
JUNOS: OSPF and BGP
JUNOS: OSPF and BGPJUNOS: OSPF and BGP
JUNOS: OSPF and BGP
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
libpgenでパケット操作
libpgenでパケット操作libpgenでパケット操作
libpgenでパケット操作
 

Similar to Node.js Tutorial at Hiroshima

worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
yo_waka
 
Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介
Hitachi, Ltd. OSS Solution Center.
 
Getting started with node.js
Getting started with node.jsGetting started with node.js
Getting started with node.js
kouzouman
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
岡田 裕行
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
卓馬 三浦
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
Uemura Yuichi
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
Kazumi IWANAGA
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
Koichi Uchimura
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
 

Similar to Node.js Tutorial at Hiroshima (20)

worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
 
Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介
 
Getting started with node.js
Getting started with node.jsGetting started with node.js
Getting started with node.js
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
Mongodb World 2014
Mongodb World 2014Mongodb World 2014
Mongodb World 2014
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
ZendStudioのご紹介
ZendStudioのご紹介ZendStudioのご紹介
ZendStudioのご紹介
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 

More from Yoshihiro Iwanaga

Arduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest wayArduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest way
Yoshihiro Iwanaga
 
Web Technology for Hardware Control (html5 conference 2015)
Web Technology for Hardware Control (html5 conference 2015)Web Technology for Hardware Control (html5 conference 2015)
Web Technology for Hardware Control (html5 conference 2015)
Yoshihiro Iwanaga
 
http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
Yoshihiro Iwanaga
 
JavaScript と Arduino でオリジナルデバイスを作ろう
JavaScript と Arduino でオリジナルデバイスを作ろうJavaScript と Arduino でオリジナルデバイスを作ろう
JavaScript と Arduino でオリジナルデバイスを作ろう
Yoshihiro Iwanaga
 
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Anomaly Detection by Mean and Standard Deviation (LT at AQ)Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Yoshihiro Iwanaga
 
Anomaly detection using correlations of load
Anomaly detection using correlations of loadAnomaly detection using correlations of load
Anomaly detection using correlations of loadYoshihiro Iwanaga
 
HOTATE (Developers Summit 2012)
HOTATE (Developers Summit 2012)HOTATE (Developers Summit 2012)
HOTATE (Developers Summit 2012)Yoshihiro Iwanaga
 
WebComponents LT at AQ
WebComponents LT at AQWebComponents LT at AQ
WebComponents LT at AQ
Yoshihiro Iwanaga
 
20130725 LT at AQ
20130725 LT at AQ20130725 LT at AQ
20130725 LT at AQ
Yoshihiro Iwanaga
 

More from Yoshihiro Iwanaga (10)

Arduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest wayArduino and johnny-five, creating IoT device in easiest way
Arduino and johnny-five, creating IoT device in easiest way
 
Web Technology for Hardware Control (html5 conference 2015)
Web Technology for Hardware Control (html5 conference 2015)Web Technology for Hardware Control (html5 conference 2015)
Web Technology for Hardware Control (html5 conference 2015)
 
Map
MapMap
Map
 
http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
 
JavaScript と Arduino でオリジナルデバイスを作ろう
JavaScript と Arduino でオリジナルデバイスを作ろうJavaScript と Arduino でオリジナルデバイスを作ろう
JavaScript と Arduino でオリジナルデバイスを作ろう
 
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Anomaly Detection by Mean and Standard Deviation (LT at AQ)Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
 
Anomaly detection using correlations of load
Anomaly detection using correlations of loadAnomaly detection using correlations of load
Anomaly detection using correlations of load
 
HOTATE (Developers Summit 2012)
HOTATE (Developers Summit 2012)HOTATE (Developers Summit 2012)
HOTATE (Developers Summit 2012)
 
WebComponents LT at AQ
WebComponents LT at AQWebComponents LT at AQ
WebComponents LT at AQ
 
20130725 LT at AQ
20130725 LT at AQ20130725 LT at AQ
20130725 LT at AQ
 

Recently uploaded

Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 

Recently uploaded (14)

Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 

Node.js Tutorial at Hiroshima