Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Koichi Uchimura
PDF, PPTX
1,728 views
第1回鹿児島node.jsの会資料_内村
node.jsの簡単かつシンプルな資料です。やっつけともいいます。
Technology
◦
Related topics:
Node.js Development
•
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PPTX
Node.js×mongo dbで3年間サービス運用してみた話
by
leverages_event
PDF
サーバサイドNodeの使い道
by
pospome
PDF
最近のフロントエンドツールの紹介
by
Ryo Iinuma
PDF
Hello, Node.js
by
Shin Sekaryo
PDF
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
by
Shunsuke Watanabe
PDF
Node.jsでサーバプログラマ デビューしよう
by
Yuusuke Takeuchi
PDF
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
by
Kohei Asai
PPTX
Node.jsではじめるサーバ構築
by
AimingStudy
Node.js×mongo dbで3年間サービス運用してみた話
by
leverages_event
サーバサイドNodeの使い道
by
pospome
最近のフロントエンドツールの紹介
by
Ryo Iinuma
Hello, Node.js
by
Shin Sekaryo
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
by
Shunsuke Watanabe
Node.jsでサーバプログラマ デビューしよう
by
Yuusuke Takeuchi
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
by
Kohei Asai
Node.jsではじめるサーバ構築
by
AimingStudy
What's hot
PDF
Node js 入門
by
Satoshi Takami
PDF
JSAI 2020 1J5-GS-2-01 TensorShader 高次元ニューラルネットワーク深層学習フレームワーク
by
Takuma Yoshimura
PDF
データベース勉強会 In 広島 mongodb
by
Ryuji Tamagawa
PPTX
Sails.jsのメリット・デメリット
by
Ito Kohta
PPTX
変数の重要度ってどうやったらわかるん?
by
hiroya akita
PDF
音のなるIoTデバイス
by
Masaki Ota
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
by
Hiroyuki Kusu
PPTX
Node.jsに縁のない職場でnode.jsを使い始める戦術
by
Isamu Suzuki
PDF
Nodeにしましょう
by
Yuzo Hebishima
PDF
Db tech showcase2015 how to replicate between clusters
by
Hiroaki Kubota
PDF
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
PDF
Vue.js ハンズオン資料
by
よしだ あつし
PPT
Node.js で Web アプリ開発
by
Tatsumi Naganuma
PPTX
Non blocking and asynchronous
by
Norio Kobota
PDF
2021 1021 ssmjp_osc
by
Kenichi Kinoshita
PDF
Getting start with knockout.js
by
Akio Ishida
PDF
はんなりPython #45
by
hiroya akita
PDF
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
PDF
真Intermediate languageのキホン
by
Kouji Matsui
PDF
Python Tip LT 20210805 nlog2n2
by
Sekiguchi Toshihiro
Node js 入門
by
Satoshi Takami
JSAI 2020 1J5-GS-2-01 TensorShader 高次元ニューラルネットワーク深層学習フレームワーク
by
Takuma Yoshimura
データベース勉強会 In 広島 mongodb
by
Ryuji Tamagawa
Sails.jsのメリット・デメリット
by
Ito Kohta
変数の重要度ってどうやったらわかるん?
by
hiroya akita
音のなるIoTデバイス
by
Masaki Ota
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
by
Hiroyuki Kusu
Node.jsに縁のない職場でnode.jsを使い始める戦術
by
Isamu Suzuki
Nodeにしましょう
by
Yuzo Hebishima
Db tech showcase2015 how to replicate between clusters
by
Hiroaki Kubota
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
Vue.js ハンズオン資料
by
よしだ あつし
Node.js で Web アプリ開発
by
Tatsumi Naganuma
Non blocking and asynchronous
by
Norio Kobota
2021 1021 ssmjp_osc
by
Kenichi Kinoshita
Getting start with knockout.js
by
Akio Ishida
はんなりPython #45
by
hiroya akita
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
真Intermediate languageのキホン
by
Kouji Matsui
Python Tip LT 20210805 nlog2n2
by
Sekiguchi Toshihiro
Similar to 第1回鹿児島node.jsの会資料_内村
PPTX
how to create a web server with a raspberry pi
by
nshmzlose
PDF
Nodejs
by
和樹 川端
PDF
Node.jsでブラウザメッセンジャー
by
Yahoo!デベロッパーネットワーク
PPTX
オタク×Node.js勉強会
by
虎の穴 開発室
PDF
Node.js Tutorial at Hiroshima
by
Yoshihiro Iwanaga
PPT
第1回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PPTX
Hokuriku.net 2013 01-26 node.js
by
Tadahiro Ishisaka
PDF
第7回鹿児島Node.jsの会勉強会資料
by
Koichi Uchimura
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2
by
Nobuhiro Nakashima
PPTX
Getting started with node.js
by
kouzouman
PDF
120418 tokyo node5_lin_qonnodejs
by
Takayoshi Tanaka
PDF
Bp study39 nodejs
by
Yohei Sasaki
PDF
後期第二回ネットワークチーム講座資料
by
densan_teacher
PDF
JavaScript使いならきっととっつきやすいNode-REDについて
by
Seigo Tanaka
PDF
Nodejs beginner
by
SoheiUchino1
PDF
大阪Node学園八時限目 「expressで作るWebアプリ」
by
Shunsuke Watanabe
PDF
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
by
Yusaku Kinoshita
PDF
densan2014-late01
by
Takenori Nakagawa
PDF
Node.js+MongoDB in SPA
by
Naoki Sasaki
PDF
東京Node学園#3 Domains & Isolates
by
koichik
how to create a web server with a raspberry pi
by
nshmzlose
Nodejs
by
和樹 川端
Node.jsでブラウザメッセンジャー
by
Yahoo!デベロッパーネットワーク
オタク×Node.js勉強会
by
虎の穴 開発室
Node.js Tutorial at Hiroshima
by
Yoshihiro Iwanaga
第1回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
Hokuriku.net 2013 01-26 node.js
by
Tadahiro Ishisaka
第7回鹿児島Node.jsの会勉強会資料
by
Koichi Uchimura
Node.js基礎の基礎 - Miyazaki.js vol.2
by
Nobuhiro Nakashima
Getting started with node.js
by
kouzouman
120418 tokyo node5_lin_qonnodejs
by
Takayoshi Tanaka
Bp study39 nodejs
by
Yohei Sasaki
後期第二回ネットワークチーム講座資料
by
densan_teacher
JavaScript使いならきっととっつきやすいNode-REDについて
by
Seigo Tanaka
Nodejs beginner
by
SoheiUchino1
大阪Node学園八時限目 「expressで作るWebアプリ」
by
Shunsuke Watanabe
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
by
Yusaku Kinoshita
densan2014-late01
by
Takenori Nakagawa
Node.js+MongoDB in SPA
by
Naoki Sasaki
東京Node学園#3 Domains & Isolates
by
koichik
More from Koichi Uchimura
PDF
痛すぽ_プレゼン資料
by
Koichi Uchimura
PDF
第6回鹿児島node.jsの会2資料_内村
by
Koichi Uchimura
PDF
第4回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PDF
第2回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PDF
第6回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PDF
第5回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PDF
第3回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
PDF
痛すぽ事業計画書
by
Koichi Uchimura
PDF
えあすぽ
by
Koichi Uchimura
痛すぽ_プレゼン資料
by
Koichi Uchimura
第6回鹿児島node.jsの会2資料_内村
by
Koichi Uchimura
第4回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
第2回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
第6回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
第5回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
第3回鹿児島node.jsの会資料_内村
by
Koichi Uchimura
痛すぽ事業計画書
by
Koichi Uchimura
えあすぽ
by
Koichi Uchimura
第1回鹿児島node.jsの会資料_内村
1.
第1回勉強会 Node.jsとExpressで簡単検索サイト作成 内村 康一
2.
私の略歴 大学卒業後都内IT商社で新規事業の企画 ・・・2年 帰郷後鹿児島大学内の企業で特許管理業務 ・・・3年 上京しJavascriptによるSNSゲーム開発 ・・・1年 すみません、最近までITにほとんど関係ない仕事してました。
3.
• サーバサイドのJavascriptフレームワークです。 Node.jsを簡単に言うと・・・ クライアント サーバ Node.js リクエスト レスポンス
4.
マルチスレッドの場合 (Apacheなど) Node.jsのメリット1 ~シングルスレッド~ シングルスレッドの場合 (node.js) 1.全てのリクエストを一つのス レッドで対応⇒複数スレッドによ るリソース消費がない 2.待ち時間を他の処理で埋め られるので効率的(ノンブロッキ ングI/O) 1プロセスで数万アクセスの同時接 続をこなすことができる!
5.
シングルスレッドの威力 処 理 速 度 並行処理数 Apache PHPの場合、同時並行処理数が400を超えると突然処理速度が遅くなる。
6.
Node.jsのメリット2 ~超高速V8エンジン~ 1.88 v8-2.1 1.76 C 66.2 Python3.1 50.3 Python2.5 20.8 Ruby1.9 123 Ruby1.8 速度[[[[秒]]]] 処理系 Node.jsはGoogle開発のV8エンジンを搭載。フィボナッチではC言語に迫るパフォー マンスを見せる。
7.
• WebSocketなどを利用したリアルタイム処理 ⇒ チャットアプリなど • 大量のクライアントが発生する処理 ⇒ ソーシャルゲームなど Node.jsに向いている処理
8.
• CPU負荷の高い処理(CPUCPUCPUCPU Heavy) •
画像など静的コンテンツの処理 ⇒ nginxなどで対応 Node.jsを使わない方がいい処理
9.
• ngCore : DeNAが開発するクロスプラットフォームゲームエン ジン。Node.jsを基幹技術として採用。 • GREE
Platform : GREEが提供するサーバーからクライアント まで一貫してJavaScriptベースで開発可能なプラットフォーム。 • LinkedIn : パフォーマンスとスケーラビリティを理由として, 同社のモバイル用バックエンドインフラを Ruby on Rails から Node.js にリプレース。 • アメーバピグ : ピーク時の アクティブユーザが20万人いる にもかかわらず、20台のサーバでのみ運用を行なって いる。 Node.jsの採用例
10.
• Node.js&express&ejsでやります。 • DBはMySQL、ORMはSequelizeでいきます。 今日の方針 Node.js
& Express ejs MySQL APサーバ DBサーバ Sequelize ブラウザ HTTP
11.
Node.js周りのあれこれ1 npm Node Package Manager。Node用のパッケージを管理するツール。 Linuxのapt-getみたいな感じ。 使い方
npm install ○○ -option 例)npm install sequelize -g (sequelizeをグローバルにインストール) express NodeのWebアプリケーションフレームワーク。RubyでいうRuby on rails みたいなもの。でもRoRより軽量で機能は限定的。 使い方 express ○○ -option 例) express hoge -e (ejsを使用してhogeプロジェクトを生成)
12.
Node.js周りのあれこれ2 ejs Nodeのテンプレートエンジン。他にもJadeなどが利用可能。 <%= message %>で変数messageをHTMLエスケープして表示。 <%-
message %>で変数messageをHTMLエスケープせずに表示。 <% var i = 0 %>などJavascriptの記述をHTML内にできる。 sequelize Nodeで使えるMySQLのORM。 npm install mysql と npm install sequlize で簡単インストール。
13.
Windowsの場合 http://nodejs.jp/nodejs.org _ja/docs/v0.10/download/ の「Windows installer」をクリックして msiファイルをダウンロードする。 まずはNodeとnpmのインストールから Macの場合 http://nodejs.jp/nodejs.org _ja/docs/v0.10/download/ の「Mac OS
X installer」をクリックして pkgファイルをダウンロードする。 あとは「同意する」か「はい」を押しとけばOK。環境変数PATHの設定も忘れずに。
14.
・ express $ npm install
express -g $ express hoge -e (これでhogeフォルダが生成される) 以降hogeフォルダに移動して。 ・ ejs $ npm install ejs ・ mysql $ npm install mysql ・ sequelize $ npm install sequelize npmでパッケージのインストール
15.
expressで生成したフォルダ内のapp.jsを指定して $ node app.js と打ち込む。 「Express
server listening on port 3000 in development mode」と出るので、ブラウザのURLに 「localhost:3000」 これでOK。 Expressと表示されれば成功。 早速テスト起動
16.
var express =
require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path'); app.jsを見てみる1 ~モジュールのロード~ require(...)にパスが 書いてある場合 基本的にモジュールの読み込み(npmでインストールしたexpressなどのモジュール) exports.list = function(req, res){ res.send("respond with a resource"); }; ./routes/user.js 無名関数をlistという名前で外部公開する。 ./routes/user.js内の関数やオブ ジェクトにアクセスが可能になる user.listでlistという名の関数にアクセス。
17.
app.jsを見てみる2 ~Expressの設定~ var app =
express(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); ポート3000番を指定 ビューフォルダを指定 テンプレートエンジンをEJSに指定 アイコン設定 ログ設定 POST送信データを自動パース HTTPメソッドのオーバーライド ルーティングの有効化 BodyParserが重要。これがないとreq.body.hogeで値の取得が出来ない。あとクッキーを 使うときはCookieParser,セッションを使うときはsessionを有効にする。
18.
app.get('/', routes.index); ---index.js--- exports.index =
function(req, res){ res.render('index', { title: 'Express' }); }; app.get('/users', user.list); ---user.js--- exports.list = function(req, res){ res.send("respond with a resource"); }; app.jsを見てみる3 ~ルーティング~ リクエスト。フォームの値などクライアント から送られてきたHTTPデータ。 レスポンス。サーバからクライアントに 投げるHTTPデータ。 index.ejs内の<%= title %>に反映 localhost:3000/usersにアクセスしたときに実行
19.
私の場合ファイルを分けずapp.jsに全部書き込みます(面倒な ので)。例えばルートにアクセスしたとき、index.ejsで"hello world"と表示したいときは・・・。 app.get("/", function(req, res){ res.render("index.ejs",
{ msg : "hello world" }); }); でOK。後はindex.ejsの表示したい場所に <p><%= msg %></p> なんて記述してしまえば、hello worldを表示してくれます。 便利でしょ?? 基本的な使い方1~テキスト表示~
20.
フォームの入力値をPOSTで送る場合。例えば <form method="POST" action="/hello"
> <input type="text" name="me" /> <input type="submit" value="送信" /> </form> なんてとき、サーバ側では app.post('/hello', function(req, res){ console.log(req.body.me); }); これで取得できます。簡単でしょ?? 基本的な使い方2~フォームデータ取得~
21.
URLパラメータでデータを送る場合。例えば http://localhost:3000/search?word="hoge" なんてとき、サーバ側では app.get('/search', function(req, res){ console.log(req.query.word); }); これで取得できます。簡単でしょ?? 基本的な使い方3~URLパラメータ取得~
22.
IDなんかを取得するのも簡単ですよ~。 例えば「localhost:3000/user/12」で12番のユー ザIDを取得したいときは。 app.get('/user/:id', function(req, res){ var
id = req.param('id'); これで12番が取得できました。数字以外にも文 字列なんかも取得できますよ。これをもとに DB検索すればいいですね。 基本的な使い方4~ID取得~
23.
• 「npm install
sequelize」でsequelizeをインストールし て下さい。 • MySQLが動くXAMPPなどを用意して下さい。また kagoshimaデータベースとusers テーブルを作成して 下さい。 • 予め以下のフィールドを作成して下さい。 id | int auto_increment primary key name | varchar(32) sex | boolean 今日の本題 ~簡単なDB検索~
24.
• var sequelize
= new Sequelize('kagoshima', 'root', 'password', { host: "localhost",port: 3306 }); var User = sequelize.define('user', { id: Sequelize.INTEGER, name: Sequelize.STRING, sex: Sequelize.BOOLEAN }); app.jsの記述1~DB設定~ DB名 テーブル名(単数形)
25.
app.get("/regist", function(req, res){ res.render("regist.ejs",
{}); }); app.post('/regist', function(req, res){ var SourceCode = User.build({ name : req.body.name, sex : req.body.sex }); SourceCode.save().success(function (){ console.log('DB save success'); }); }); app.jsの記述2~DBへのデータ登録~ <html> <body> <form method="post" action="/regist"> <input type="text" name="name" /> <inputy type="radio" name="sex" value="0">男 <inputy type="radio" name="sex" value="1">女 </body> </html> regist.ejs
26.
app.get('/user/:id', function(req, res){ var
id = req.param('id'); User.find({ where: {id : id}} ).success(function (data){ res.render('index.ejs', { id : data.id, name : data.name, sex: data.sex }); }); app.jsの記述3~データ検索~ Userテーブ ル内を IDが一致するデータを探して 一致したデータ がオブジェクトで 格納される これで「localhost:3000/user/30」なら30番に一致するデータのID、 名前、性別が抽出され、オブジェクトに格納される。後はそれを EJSにレンダリングするだけ。
27.
<html> <body> <p>ID:<%= id %></p> <p>名前:<%=
name %></p> <p>性別:<%= sex %></p> </body> </html> index.ejsの記述 ID : 20 名前 : 野戸 太郎 性別 : 0
28.
• http://localhost:3000/registにアクセスして名 前と性別を登録。(IDは自動割り当て) • http://localhost:3000/user/○○の○○に数 字を入力する。 •
該当するIDの名前と性別が表示される。 使い方
29.
• 第2回鹿児島Node.jsの会勉強会 日本Androidの会鹿児島支部勉強会と併催予 定。講師などは未定。 もし希望があればセッション周りやDB検索の もっと深いところなんか私が担当したいと思い ます。 今後の予定
30.
ご清聴感謝です。 ありがとうございました。
Download