2011.rubyworld-conf.org2011.rubyworld-conf.org/files/slides/key-3.pdf · $ mkdir hello $ cd hello $...
TRANSCRIPT
!"#$%&'%()*)!"#$%&'(')*'+,*-./0,10.2
1Sunday, August 28, 2011
2Sunday, August 28, 2011
3Sunday, August 28, 2011
34/.).5)0,6%7,/8#98:..;
4Sunday, August 28, 2011
37,/8#98:..;<
3はー・おぅ・くー;<
4Sunday, August 28, 2011
37,/8#98:..;%@*%>2,/@0')%*?B+,1
3h!r-ó"-ku:;=)%=4>%-./2'?$%@?%@*A
5Sunday, August 28, 2011
7??(ACC,)1D@:@(,6@'1./ECD@:@CF@+,A=4>GH.D,+G07'/?GIJJK1()E
h!r-ó"-ku?
6Sunday, August 28, 2011
&'('),*,%0')L?%(/.).5)0,%@?%(/.(,/+B1%%"7,%),'/,*?%*.5)6%2'B%M,A
“はろぅく”7Sunday, August 28, 2011
N.$%@?%*?@++%*.5)6*%-5))B%-./%&'('),*,1%O7'?%'M.5?%/,'6@)E%+@:,%37,/;%P%3.:5;<%
“はーおく”
8Sunday, August 28, 2011
O,++$%M,??,/$%2'BM,1%%Q5?%@?L*%-'/%-/.2%?7,%./@E@)'+%*.5)61%R.%B.5%:).D%@?%0.2,*%-/.2%39,/.;%P%39'@:5;<%
“ひーろーく”
9Sunday, August 28, 2011
N.$%=?%*.5)6*%*?5(@61%%O7B%6.)L?%D,%S5*?%/,'6%'*%@?%@*$%@)%T.2')@U,6%&'('),*,%D'B<
10Sunday, August 28, 2011
11Sunday, August 28, 2011
+,,#
12Sunday, August 28, 2011
13Sunday, August 28, 2011
14Sunday, August 28, 2011
+,,#
15Sunday, August 28, 2011
16Sunday, August 28, 2011
17Sunday, August 28, 2011
18Sunday, August 28, 2011
-.)/0&+0",1%"/
19Sunday, August 28, 2011
V(6'?,*4'E,/
R,(+.B
W.)@?./
W'@)?'@)
20Sunday, August 28, 2011
20Sunday, August 28, 2011
$ heroku create$ git push heroku master
21Sunday, August 28, 2011
!"#$%#"&'!#(&)"*+')"*'*(,-.'./,#"$+/0&'(0.'",/*(&-"0'")'1/2'(,,3
22Sunday, August 28, 2011
J
KJJJJ
XJJJJJ
XKJJJJ
R,(+.B,6%>((*
23Sunday, August 28, 2011
2$3&4"5675"1&45)18".9
24Sunday, August 28, 2011
4/.E/'22@)E%Y')E5'E,*
COBOL PL/I
Fortran
Eiffel
Java
Lisp
Prolog
Pascal
Ada LogoC C++
C#Lua
Erlang
PythonPHP Smalltalk
Objective-C
Ruby
JavaScript
Clojure
Node.js
Perl
GoScala
Basic
ALGOL
Haskell
1993
1970
1954
1959 1958
1958
1964
1964
1968
1970
1971
1971
1983
1983
1979
1987
19861987
1991
1995
1995
1995
2000
2007
1993
2007
2003
2009
1986
25Sunday, August 28, 2011
:31&;1).130&*%1$&)&<)/7=)73
4/.E/'22,/*A
!""Y')E5'E,%*B)?'Z%')6%+@M/'/@,*
!"""..+*
!""F/'2,D./:*
!""R,(+.B2,)?%2,?7.6*
!""!.225)@?@,*
26Sunday, August 28, 2011
:31&;1).130&*%1$&)&<)/7=)73
!.2(')@,*%M5@+6%5(A%
!""!.6,%M'*@*
!""=)-/'*?/50?5/,
!""R,H,+.(2,)?C#(,/'?@.)%4.+@0@,*
!""[).D+,6E,*
27Sunday, August 28, 2011
4/.E/'2@)E%Y')E5'E,*%'/,%\@+.*
28Sunday, August 28, 2011
2$3&<)*&"8&1$3&D/#1.=93/1
:%>3&)	)55&?"6&)&$)993.@&)/0&$3&*%55&A/0&1$)1&3>3.61$%/7&$3&3/B"=/13.#&/330#&,"=/0%/7C
— Abraham Kaplan, “The Conduct of Inquiry”, 1964
D8&)55&6"=&$)>3&%#&)&$)993.@&3>3.61$%/7&5""(#&5%(3&)&/)%5— Abraham Maslow, “The Psychology of Science”, 1966
!“
!“
29Sunday, August 28, 2011
2$3&E"03./&+73F&4"5675"1
V?@+@U,%2')B%+')E5'E,*%,],0?@H,+B
V*,%?7,%T@E7?%"..+%-./%?7,%&.M
30Sunday, August 28, 2011
2$3&E"03./&+73F&4"5675"1
W.6,/)%4/.E/'2@)E%Y')E5'E,*%'/,A
!%^'*B%?.%F@)6C[).D%
!%^'*?B%?.%>00,**%
!%^'*B%?.%=)*?'++
31Sunday, August 28, 2011
"7,%W@**@)E%4@,0,A%=)-/'*?/50?5/,
R@H,/*,%@)-/'*?/50?5/,%@)%4.+BE+.?%,)H@/.)2,)?
!%R,(+.B2,)?
!%\0'+@)E
!%W.)@?./@)E
!%W')'E,2,)?
32Sunday, August 28, 2011
$ mkdir hello$ cd hello$ echo -e “require ‘sinatra’\\nget ‘/’ do \“Hello\” end” > hello.rb$ echo -e “source :rubyforge\\ngem ‘sinatra’, ‘1.1.0’\\ngem ’thin’, ‘1.2.7’” > Gemfile
$ echo -e “web: bundle exec ruby hello.rb -p \$PORT” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&;%/)1.)&+,,
33Sunday, August 28, 2011
G.3)13&;%/)1.)&+,,
34Sunday, August 28, 2011
$ mkdir hello$ cd hello$ echo -e “require ‘sinatra’\\nget ‘/’ do \“Hello\” end” > hello.rb$ echo -e “source :rubyforge\\ngem ‘sinatra’, ‘1.1.0’\\ngem ’thin’, ‘1.2.7’” > Gemfile
$ echo -e “web: bundle exec ruby hello.rb -p \$PORT” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&;%/)1.)&+,,Write your code
35Sunday, August 28, 2011
$ mkdir hello$ cd hello$ echo -e “require ‘sinatra’\\nget ‘/’ do \“Hello\” end” > hello.rb$ echo -e “source :rubyforge\\ngem ‘sinatra’, ‘1.1.0’\\ngem ’thin’, ‘1.2.7’” > Gemfile
$ echo -e “web: bundle exec ruby hello.rb -p \$PORT” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&;%/)1.)&+,,
Declare process type
36Sunday, August 28, 2011
$ mkdir hello$ cd hello$ echo -e “require ‘sinatra’\\nget ‘/’ do \“Hello\” end” > hello.rb$ echo -e “source :rubyforge\\ngem ‘sinatra’, ‘1.1.0’\\ngem ’thin’, ‘1.2.7’” > Gemfile
$ echo -e “web: bundle exec ruby hello.rb -p \$PORT” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&;%/)1.)&+,,
Store your app in Git
37Sunday, August 28, 2011
$ mkdir hello$ cd hello$ echo -e “require ‘sinatra’\\nget ‘/’ do \“Hello\” end” > hello.rb$ echo -e “source :rubyforge\\ngem ‘sinatra’, ‘1.1.0’\\ngem ’thin’, ‘1.2.7’” > Gemfile
$ echo -e “web: bundle exec ruby hello.rb -p \$PORT” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&;%/)1.)&+,,
Deploy to Heroku
38Sunday, August 28, 2011
$ mkdir hello$ cd hello$ vi hello.java$ vi pom.xml$ echo -e target > .gitignore
$ echo -e “web: sh target/bin/webapp” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&H)>)&+,,
39Sunday, August 28, 2011
$ mkdir hello$ cd hello$ vi hello.java$ vi pom.xml$ echo -e target > .gitignore
$ echo -e “web: sh target/bin/webapp” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&H)>)&+,,
40Sunday, August 28, 2011
$ mkdir hello$ cd hello$ vi hello.js$ vi package.json$ echo -e node_modules > .gitignore
$ echo -e “web: node hello.js” > Procfile
$ git init$ git add .$ git commit -m ‘simple hello’
$ heroku create --stack cedar$ git push heroku master$ heroku open
G.3)13&I"03CJ#&+,,
41Sunday, August 28, 2011
K33,&K%>3
42Sunday, August 28, 2011
L".731&;3.>3.#
M=/&+/61$%/7
;33&N>3.61$%/7
2.=#1&O&E)/)73
43Sunday, August 28, 2011
L".731&;3.>3.#
F.05*%XJJ_%.)%0.6,F5++B%2')'E,6%(+'?-./2
\@)E+,%E@?%(5*7%6,(+.B*%'((*
44Sunday, August 28, 2011
L".731&;3.>3.#
$ heroku createCreated sushi.herokuapp.com | [email protected]:sushi.git
$ git push heroku master-----> Heroku receiving push-----> Rails app detected-----> Compiled slug size is 8.0MB-----> Launching... done, v1http://sushi.herokuapp.com deployed to Heroku
45Sunday, August 28, 2011
M=/&+/61$%/7
T5MB$%N.6,1S*$%!+.S5/,$%&'H'>)B%?B(,%.-%D,M%6B).
>)B%?B(,%.-%M'0:E/.5)6%6B).\0'+,%6B).*%,'*@+B
46Sunday, August 28, 2011
M=/&+/61$%/7
$ cat Procfileweb:! bundle exec rails server -p $PORTworker:! bundle exec rake resque:work QUEUE=*urgentworker:! bundle exec rake resque:work QUEUE=urgentclock:! bundle exec clockwork clock.rb
$ heroku scale web=4 worker=2 urgentworker=1 clock=1Scaling processess... done
47Sunday, August 28, 2011
V)@`,6%+.EE@)Ea%>((%.(,/'?@.)*
a%>62@)@*?/'?@H,%0.22')6*a%>++%@)-/'*?/50?5/,
T,'+%?@2,%RB).%@)-./2'?@.)
;33&N>3.61$%/7
48Sunday, August 28, 2011
;33&N>3.61$%/7
$ heroku psProcess State Command----------- ----------- -----------------------------web.1 up for 6s bundle exec rails serverworker.1 up for 5s bundle exec rake resque:work
$ heroku logs --tail2011-05-31 04:04:48 heroku[router] GET / dyno=web.12011-05-31 04:04:48 app[web.1] 66.75.123.123 - -
49Sunday, August 28, 2011
2.=#1&O&E)/)73
^/.*@.)8T,*@*?')0,!.)?/.+%\5/-'0,%>4=*
IbZc%(+'?-./2%2.)@?./@)E
50Sunday, August 28, 2011
+00P"/#
51Sunday, August 28, 2011
Dyno Manifold
Logplex
Control Surface APIs
Routing
Dynos Process Types
52Sunday, August 28, 2011
+
53Sunday, August 28, 2011
54Sunday, August 28, 2011
Q3."(=&R&;LKG
"'*?,*%E/,'?%C%Y,**%`++@)E
!.)*52,%?7,%T@07%F./0,%>4=
R,H,+.(,/%T5MB%\R[%-./%@[email protected]'?@0%'00,**
W')B%'((+@0'?@.)*%'+/,'6B%M5@+?%?.6'B
55Sunday, August 28, 2011
56Sunday, August 28, 2011