SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
よもやま話
  KISAKA Toshihiro
ktoshihiro@gmail.com




              2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
お前、誰よ?
木坂寿宏 (KISAKA Toshihiro)

         @ktoshihiro_

          http://gplus.to/ktoshihiro

太古:   Fortran
大昔:   漢字 Talk
中昔:   BeOS
最近:   Android, Windows Phone
                               2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
今日のお品書き
最近 (?) の Topic の Overview

● 細かいことは話しません
● Web まわり中心
● 踏み込んで聞きたいことある?
● もしあれば、別途「勉強会」しましょう



                        2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
今日のお品書き




すべて話している時間はない



          2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Cloud
  ○ インターネットを介して分散したコンピューティング環境
  ○ アプリケーション / サービスがどこでどのようにサーブさ
     れているかは気にしない。




                    2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Cloud
  ○ 計算能力
  ○ ストレージ
  ○ ネットワーク
  ○ データベース
  ○ CMS
  ○ etc.



              2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Cloud
  ○ SaaS
    ■ Software as a Service
  ○ PaaS
    ■ Platform as a Service
  ○ IaaS
    ■ Infrastructure as a Service
                               2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
http://itpro.nikkeibp.co.jp/article/Keyword/20110216/357282/

                                                       2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Cloud
  ○ Amazon
  ○ Google App Engine
  ○ Windows Azure
  ○ DotCloud
  ○ Heroku
  ○ Salesforce
  ○ etc.


                        2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Amazon Web Services (AWS)
● Amazon Web Services
  ○ Simple Storage Service (S3)
  ○ Elastic Compute Cloud (EC2)
  ○ Route 53
  ○ etc.




                                  2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
AWS Free Usage Tier (per month)
●   750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit
    platform support) – enough hours to run continuously each month*
●   750 hours of Amazon EC2 Microsoft Windows Server Micro Instance usage (613 MB of memory
    and 32-bit and 64-bit platform support) – enough hours to run continuously each month*
●   750 hours of an Elastic Load Balancer plus 15 GB data processing*
●   30 GB of Amazon Elastic Block Storage, plus 2 million I/Os and 1 GB of snapshot storage*
●   5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests*
●   100 MB of storage, 5 units of write capacity, and 10 units of read capacity for Amazon
    DynamoDB.**
●   25 Amazon SimpleDB Machine Hours and 1 GB of Storage**
●   1,000 Amazon SWF workflow executions can be initiated for free. A total of 10,000 activity tasks,
    signals, timers and markers, and 30,000 workflow-days can also be used for free**
●   100,000 Requests of Amazon Simple Queue Service**
●   100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for Amazon
    Simple Notification Service**
●   10 Amazon Cloudwatch metrics, 10 alarms, and 1,000,000 API requests**
●   15 GB of bandwidth out aggregated across all AWS services*




                                                         2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Web Server
  ○ Apache httpd
  ○ nginx (2012-04-23 ver. 1.2 release)
  ○ node.js




                                2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Server Side
● Frameworks
  ○ Ruby on Rails
  ○ Django
  ○ Symfony2
  ○ Silex




                    2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Silex とは
● MicroFramework
● Symfony2 の component を利用
● ファイルはたった一つ (silex.phar)
  ○ phar = PHP archive




                         2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Silex で "Hello, World!"
require_once __DIR__.'/silex.phar';

$app = new SilexApplication();

$app->get('/hello/{name}', function ($name) use ($app) {
    return 'Hello '.$app->escape($name);
});

$app->run();




                                  2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
Client Side
● Client Side
  ○ Mobile
     ■ Android
     ■ Windows Phone / Windows 8 Slate
     ■ iOS




                            2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
C10k 問題
● 同時接続 10,000
  ○ SNS および SNS 関連サービス
    ■ 動画や写真共有
  ○ スマートフォン
  ○ マルチメディア (動画 / 音声) ファイル
  ○ 接続時間の増大




                     2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
C10k 問題
● 同時接続 10,000
  ○ hardware の問題ではない
    ■ いまどきのサーバー
      ●   Memory 数G
      ●   CPU GHz
      ●   Gigabits Ethernet




                              2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
C10k 問題
● Multi-Thread
  ○ Blocking I/O



● Single-Thread
  ○ Non-Blocking I/O
  ○ Event Loop




                       2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js の特徴
● JavaScript
● Non-Blocking I/O
● Single Thread
● Event Loop
● libev / libeio / libuv




                           2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js の周辺
● NPM (node package manager)
  ○ Express (Web App Framework)
  ○ Railway (MVC Framework)
  ○ Mongoose (MongDB への ORM-like な機能)
  ○ Socket.IO (WebSocket)
● Cloud9IED


                              2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js で "Hello, World!"
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Worldn');
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');




                                 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js で "Hello, World!" #2
var express = require('express');
var app = express.createServer();

app.get('/', function(req, res){
    res.send('Hello World');
});

app.listen(3000);




                                    2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js を hosting
● Windows Azure
● Heroku
● DotCloud
● etc.




                    2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
node.js
● Frontend の技術 (JavaScript) で Backend も
● PaaS を使えば、安価に簡単に
● IDE も WebApplication


ぜひ、やってみましょう!!

Google Web Toolkit (Java) というのもあるけど
                           2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
おまけ
 




      2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
http://blogs.msdn.com/b/malaysia/archive/2012/02/13/windows-8-and-the-future-of-xaml-the-windows-runtime-
winrt.aspx

                                                              2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>

Mais conteúdo relacionado

Destaque

Mobile marketing
Mobile marketingMobile marketing
Mobile marketingZoe10
 
Pointers andmemory
Pointers andmemoryPointers andmemory
Pointers andmemoryAshok Kumar
 
About Jacob Warwick
About Jacob WarwickAbout Jacob Warwick
About Jacob WarwickThinkWarwick
 
ENGLISH PORTFOLIO-DANIA CHARFUELÁN
ENGLISH PORTFOLIO-DANIA CHARFUELÁN ENGLISH PORTFOLIO-DANIA CHARFUELÁN
ENGLISH PORTFOLIO-DANIA CHARFUELÁN maryvallejo
 
Id238 ms super-yachtsbrochure-v18-hr
Id238 ms super-yachtsbrochure-v18-hrId238 ms super-yachtsbrochure-v18-hr
Id238 ms super-yachtsbrochure-v18-hrKathy Kennedy
 
What is interpersonal relationship
What is interpersonal relationshipWhat is interpersonal relationship
What is interpersonal relationshipJohn Owens
 
E人e本产品简介
E人e本产品简介E人e本产品简介
E人e本产品简介power9000
 
Simon says stand out
Simon says stand outSimon says stand out
Simon says stand outSimon Hurry
 
L’aparei circulatori
L’aparei circulatori L’aparei circulatori
L’aparei circulatori cpastormayol
 
English Portfolio----Maritza Vallejo
 English Portfolio----Maritza Vallejo English Portfolio----Maritza Vallejo
English Portfolio----Maritza Vallejomaryvallejo
 
Final project maritza vallejo
Final project maritza vallejoFinal project maritza vallejo
Final project maritza vallejomaryvallejo
 
Animales de granja
Animales de granjaAnimales de granja
Animales de granjarosa2361
 

Destaque (17)

Mobile marketing
Mobile marketingMobile marketing
Mobile marketing
 
Cutigliano
CutiglianoCutigliano
Cutigliano
 
Pointers andmemory
Pointers andmemoryPointers andmemory
Pointers andmemory
 
Portfolio
PortfolioPortfolio
Portfolio
 
About Jacob Warwick
About Jacob WarwickAbout Jacob Warwick
About Jacob Warwick
 
ENGLISH PORTFOLIO-DANIA CHARFUELÁN
ENGLISH PORTFOLIO-DANIA CHARFUELÁN ENGLISH PORTFOLIO-DANIA CHARFUELÁN
ENGLISH PORTFOLIO-DANIA CHARFUELÁN
 
Procrastination
ProcrastinationProcrastination
Procrastination
 
Id238 ms super-yachtsbrochure-v18-hr
Id238 ms super-yachtsbrochure-v18-hrId238 ms super-yachtsbrochure-v18-hr
Id238 ms super-yachtsbrochure-v18-hr
 
What is interpersonal relationship
What is interpersonal relationshipWhat is interpersonal relationship
What is interpersonal relationship
 
E人e本产品简介
E人e本产品简介E人e本产品简介
E人e本产品简介
 
Simon says stand out
Simon says stand outSimon says stand out
Simon says stand out
 
L’aparei circulatori
L’aparei circulatori L’aparei circulatori
L’aparei circulatori
 
English Portfolio----Maritza Vallejo
 English Portfolio----Maritza Vallejo English Portfolio----Maritza Vallejo
English Portfolio----Maritza Vallejo
 
Mi viaje a panamá
Mi viaje a panamáMi viaje a panamá
Mi viaje a panamá
 
Final project maritza vallejo
Final project maritza vallejoFinal project maritza vallejo
Final project maritza vallejo
 
Animales de granja
Animales de granjaAnimales de granja
Animales de granja
 
logika matematika SMA
logika matematika SMAlogika matematika SMA
logika matematika SMA
 

Semelhante a 2012-04-26 よもやま話

僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application祐樹 夏目
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアShinya Sugiyama
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介Sunao Tomita
 
くまあず Nchikita 140628-2
くまあず Nchikita 140628-2くまあず Nchikita 140628-2
くまあず Nchikita 140628-2wintechq
 
Cloudflare Pages/Workersとは
Cloudflare Pages/WorkersとはCloudflare Pages/Workersとは
Cloudflare Pages/WorkersとはHiroshi Morishige
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Koichiro Matsuoka
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Tsukasa Kato
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsKeiji Kamebuchi
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyosoRyosuke Izumi
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with DockerOshitari_kochi
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能Ryusuke Kajiyama
 
Oracle Cloud MySQL Service
Oracle Cloud MySQL ServiceOracle Cloud MySQL Service
Oracle Cloud MySQL ServiceShinya Sugiyama
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会samemoon
 
私のEC2 2015振り返り
私のEC2 2015振り返り私のEC2 2015振り返り
私のEC2 2015振り返りKunihiro Morita
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&AKeiji Kamebuchi
 
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)Takuro Sasaki
 

Semelhante a 2012-04-26 よもやま話 (20)

僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
 
Vscodemeetup6
Vscodemeetup6Vscodemeetup6
Vscodemeetup6
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
 
くまあず Nchikita 140628-2
くまあず Nchikita 140628-2くまあず Nchikita 140628-2
くまあず Nchikita 140628-2
 
Cloudflare Pages/Workersとは
Cloudflare Pages/WorkersとはCloudflare Pages/Workersとは
Cloudflare Pages/Workersとは
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け Tips
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyoso
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
Oracle Cloud MySQL Service
Oracle Cloud MySQL ServiceOracle Cloud MySQL Service
Oracle Cloud MySQL Service
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 
Azure Cloud Shell
Azure Cloud ShellAzure Cloud Shell
Azure Cloud Shell
 
私のEC2 2015振り返り
私のEC2 2015振り返り私のEC2 2015振り返り
私のEC2 2015振り返り
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&A
 
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
第8回JAWSUG大阪 JAWSUG大阪 連携サービス(SNS,SQS,SES)
 
[Japan Tech summit 2017] APP 003
[Japan Tech summit 2017]  APP 003[Japan Tech summit 2017]  APP 003
[Japan Tech summit 2017] APP 003
 

2012-04-26 よもやま話

  • 1. よもやま話 KISAKA Toshihiro ktoshihiro@gmail.com 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 2. お前、誰よ? 木坂寿宏 (KISAKA Toshihiro) @ktoshihiro_ http://gplus.to/ktoshihiro 太古: Fortran 大昔: 漢字 Talk 中昔: BeOS 最近: Android, Windows Phone 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 3. 今日のお品書き 最近 (?) の Topic の Overview ● 細かいことは話しません ● Web まわり中心 ● 踏み込んで聞きたいことある? ● もしあれば、別途「勉強会」しましょう 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 4. 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 5. 今日のお品書き すべて話している時間はない 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 6. Server Side ● Cloud ○ インターネットを介して分散したコンピューティング環境 ○ アプリケーション / サービスがどこでどのようにサーブさ れているかは気にしない。 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 7. Server Side ● Cloud ○ 計算能力 ○ ストレージ ○ ネットワーク ○ データベース ○ CMS ○ etc. 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 8. Server Side ● Cloud ○ SaaS ■ Software as a Service ○ PaaS ■ Platform as a Service ○ IaaS ■ Infrastructure as a Service 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 9. http://itpro.nikkeibp.co.jp/article/Keyword/20110216/357282/ 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 10. Server Side ● Cloud ○ Amazon ○ Google App Engine ○ Windows Azure ○ DotCloud ○ Heroku ○ Salesforce ○ etc. 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 11. Amazon Web Services (AWS) ● Amazon Web Services ○ Simple Storage Service (S3) ○ Elastic Compute Cloud (EC2) ○ Route 53 ○ etc. 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 12. AWS Free Usage Tier (per month) ● 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month* ● 750 hours of Amazon EC2 Microsoft Windows Server Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month* ● 750 hours of an Elastic Load Balancer plus 15 GB data processing* ● 30 GB of Amazon Elastic Block Storage, plus 2 million I/Os and 1 GB of snapshot storage* ● 5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests* ● 100 MB of storage, 5 units of write capacity, and 10 units of read capacity for Amazon DynamoDB.** ● 25 Amazon SimpleDB Machine Hours and 1 GB of Storage** ● 1,000 Amazon SWF workflow executions can be initiated for free. A total of 10,000 activity tasks, signals, timers and markers, and 30,000 workflow-days can also be used for free** ● 100,000 Requests of Amazon Simple Queue Service** ● 100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for Amazon Simple Notification Service** ● 10 Amazon Cloudwatch metrics, 10 alarms, and 1,000,000 API requests** ● 15 GB of bandwidth out aggregated across all AWS services* 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 13. Server Side ● Web Server ○ Apache httpd ○ nginx (2012-04-23 ver. 1.2 release) ○ node.js 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 14. Server Side ● Frameworks ○ Ruby on Rails ○ Django ○ Symfony2 ○ Silex 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 15. Silex とは ● MicroFramework ● Symfony2 の component を利用 ● ファイルはたった一つ (silex.phar) ○ phar = PHP archive 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 16. Silex で "Hello, World!" require_once __DIR__.'/silex.phar'; $app = new SilexApplication(); $app->get('/hello/{name}', function ($name) use ($app) { return 'Hello '.$app->escape($name); }); $app->run(); 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 17. Client Side ● Client Side ○ Mobile ■ Android ■ Windows Phone / Windows 8 Slate ■ iOS 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 18. C10k 問題 ● 同時接続 10,000 ○ SNS および SNS 関連サービス ■ 動画や写真共有 ○ スマートフォン ○ マルチメディア (動画 / 音声) ファイル ○ 接続時間の増大 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 19. C10k 問題 ● 同時接続 10,000 ○ hardware の問題ではない ■ いまどきのサーバー ● Memory 数G ● CPU GHz ● Gigabits Ethernet 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 20. C10k 問題 ● Multi-Thread ○ Blocking I/O ● Single-Thread ○ Non-Blocking I/O ○ Event Loop 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 21. node.js の特徴 ● JavaScript ● Non-Blocking I/O ● Single Thread ● Event Loop ● libev / libeio / libuv 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 22. node.js の周辺 ● NPM (node package manager) ○ Express (Web App Framework) ○ Railway (MVC Framework) ○ Mongoose (MongDB への ORM-like な機能) ○ Socket.IO (WebSocket) ● Cloud9IED 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 23. node.js で "Hello, World!" var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 24. node.js で "Hello, World!" #2 var express = require('express'); var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000); 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 25. node.js を hosting ● Windows Azure ● Heroku ● DotCloud ● etc. 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 26. node.js ● Frontend の技術 (JavaScript) で Backend も ● PaaS を使えば、安価に簡単に ● IDE も WebApplication ぜひ、やってみましょう!! Google Web Toolkit (Java) というのもあるけど 2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>
  • 27. おまけ   2012-04-26 KISAKA Toshihiro <ktoshihiro@gmail.com>