Enviar pesquisa
Carregar
20140425 ruby conftaiwan2014
•
4 gostaram
•
1,360 visualizações
Hiroshi SHIBATA
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 85
Baixar agora
Baixar para ler offline
Recomendados
20140419 oedo rubykaigi04
20140419 oedo rubykaigi04
Hiroshi SHIBATA
20140918 ruby kaigi2014
20140918 ruby kaigi2014
Hiroshi SHIBATA
20140925 rails pacific
20140925 rails pacific
Hiroshi SHIBATA
From 'Legacy' to 'Edge'
From 'Legacy' to 'Edge'
Hiroshi SHIBATA
Gems on Ruby
Gems on Ruby
Hiroshi SHIBATA
The details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
Hiroshi SHIBATA
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
Hiroshi SHIBATA
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Hiroshi SHIBATA
Recomendados
20140419 oedo rubykaigi04
20140419 oedo rubykaigi04
Hiroshi SHIBATA
20140918 ruby kaigi2014
20140918 ruby kaigi2014
Hiroshi SHIBATA
20140925 rails pacific
20140925 rails pacific
Hiroshi SHIBATA
From 'Legacy' to 'Edge'
From 'Legacy' to 'Edge'
Hiroshi SHIBATA
Gems on Ruby
Gems on Ruby
Hiroshi SHIBATA
The details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
Hiroshi SHIBATA
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
Hiroshi SHIBATA
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Hiroshi SHIBATA
The Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
Hiroshi SHIBATA
20141210 rakuten techtalk
20141210 rakuten techtalk
Hiroshi SHIBATA
How to distribute Ruby to the world
How to distribute Ruby to the world
Hiroshi SHIBATA
Dependency Resolution with Standard Libraries
Dependency Resolution with Standard Libraries
Hiroshi SHIBATA
RubyGems 3 & 4
RubyGems 3 & 4
Hiroshi SHIBATA
The Future of Bundled Bundler
The Future of Bundled Bundler
Hiroshi SHIBATA
Gems on Ruby
Gems on Ruby
Hiroshi SHIBATA
How to distribute Ruby to the world
How to distribute Ruby to the world
Hiroshi SHIBATA
What's new in RubyGems3
What's new in RubyGems3
Hiroshi SHIBATA
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
Hiroshi SHIBATA
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
20140626 red dotrubyconf2014
20140626 red dotrubyconf2014
Hiroshi SHIBATA
The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
Hiroshi SHIBATA
OSS Security the hard way
OSS Security the hard way
Hiroshi SHIBATA
Ruby Security the Hard Way
Ruby Security the Hard Way
Hiroshi SHIBATA
Leave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
Hiroshi SHIBATA
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
Hiroshi SHIBATA
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
Hiroshi SHIBATA
How DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
Fisl - Deployment
Fisl - Deployment
Fabio Akita
Deployment de Rails
Deployment de Rails
elliando dias
Mais conteúdo relacionado
Mais procurados
The Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
Hiroshi SHIBATA
20141210 rakuten techtalk
20141210 rakuten techtalk
Hiroshi SHIBATA
How to distribute Ruby to the world
How to distribute Ruby to the world
Hiroshi SHIBATA
Dependency Resolution with Standard Libraries
Dependency Resolution with Standard Libraries
Hiroshi SHIBATA
RubyGems 3 & 4
RubyGems 3 & 4
Hiroshi SHIBATA
The Future of Bundled Bundler
The Future of Bundled Bundler
Hiroshi SHIBATA
Gems on Ruby
Gems on Ruby
Hiroshi SHIBATA
How to distribute Ruby to the world
How to distribute Ruby to the world
Hiroshi SHIBATA
What's new in RubyGems3
What's new in RubyGems3
Hiroshi SHIBATA
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
Hiroshi SHIBATA
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
20140626 red dotrubyconf2014
20140626 red dotrubyconf2014
Hiroshi SHIBATA
The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
Hiroshi SHIBATA
OSS Security the hard way
OSS Security the hard way
Hiroshi SHIBATA
Ruby Security the Hard Way
Ruby Security the Hard Way
Hiroshi SHIBATA
Leave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
Hiroshi SHIBATA
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
Hiroshi SHIBATA
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
Hiroshi SHIBATA
How DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
Mais procurados
(20)
The Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
20141210 rakuten techtalk
20141210 rakuten techtalk
How to distribute Ruby to the world
How to distribute Ruby to the world
Dependency Resolution with Standard Libraries
Dependency Resolution with Standard Libraries
RubyGems 3 & 4
RubyGems 3 & 4
The Future of Bundled Bundler
The Future of Bundled Bundler
Gems on Ruby
Gems on Ruby
How to distribute Ruby to the world
How to distribute Ruby to the world
What's new in RubyGems3
What's new in RubyGems3
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
20140626 red dotrubyconf2014
20140626 red dotrubyconf2014
The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
OSS Security the hard way
OSS Security the hard way
Ruby Security the Hard Way
Ruby Security the Hard Way
Leave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
How DSL works on Ruby
How DSL works on Ruby
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Semelhante a 20140425 ruby conftaiwan2014
Fisl - Deployment
Fisl - Deployment
Fabio Akita
Deployment de Rails
Deployment de Rails
elliando dias
Rails Performance
Rails Performance
Wen-Tien Chang
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
Fabio Akita
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
DNAD
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
GABeech
RESTful OGC Services
RESTful OGC Services
Pat Cappelaere
StrongLoop Overview
StrongLoop Overview
Shubhra Kar
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
Flowdock
Sinatra
Sinatra
kevinreiss
Toster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability Options
Fabio Akita
Understanding the Rails web model and scalability options
Understanding the Rails web model and scalability options
.toster
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginner
Umair Amjad
Ecossistema Ruby - versão SCTI UNF 2013
Ecossistema Ruby - versão SCTI UNF 2013
Fabio Akita
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
Rakuten Group, Inc.
Sun Web Server Brief
Sun Web Server Brief
Murthy Chintalapati
Gemlist
Gemlist
guest518909
Gemlist
Gemlist
guest9ca915d
Gemlist
Gemlist
guesta4f0c3
Gemlist
Gemlist
guest5f05f8
Semelhante a 20140425 ruby conftaiwan2014
(20)
Fisl - Deployment
Fisl - Deployment
Deployment de Rails
Deployment de Rails
Rails Performance
Rails Performance
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
RESTful OGC Services
RESTful OGC Services
StrongLoop Overview
StrongLoop Overview
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
Sinatra
Sinatra
Toster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability Options
Understanding the Rails web model and scalability options
Understanding the Rails web model and scalability options
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginner
Ecossistema Ruby - versão SCTI UNF 2013
Ecossistema Ruby - versão SCTI UNF 2013
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
Sun Web Server Brief
Sun Web Server Brief
Gemlist
Gemlist
Gemlist
Gemlist
Gemlist
Gemlist
Gemlist
Gemlist
Mais de Hiroshi SHIBATA
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023
Hiroshi SHIBATA
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
Hiroshi SHIBATA
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
Hiroshi SHIBATA
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Hiroshi SHIBATA
Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?
Hiroshi SHIBATA
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
Hiroshi SHIBATA
Productive Organization with Ruby
Productive Organization with Ruby
Hiroshi SHIBATA
RubyGems 3 & 4
RubyGems 3 & 4
Hiroshi SHIBATA
The secret of programming language development and future
The secret of programming language development and future
Hiroshi SHIBATA
Gemification plan of Standard Library on Ruby
Gemification plan of Standard Library on Ruby
Hiroshi SHIBATA
Mais de Hiroshi SHIBATA
(11)
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
Productive Organization with Ruby
Productive Organization with Ruby
RubyGems 3 & 4
RubyGems 3 & 4
The secret of programming language development and future
The secret of programming language development and future
Gemification plan of Standard Library on Ruby
Gemification plan of Standard Library on Ruby
20140425 ruby conftaiwan2014
1.
! From ‘Legacy'
to ‘Edge' 2014 edition ! Hiroshi SHIBATA @hsbt RubyConfTaiwan 2014
2.
Thank you!
3.
SHIBATA Hiroshi(@hsbt)
4.
Ruby Committer
5.
ruby-lang.org
6.
Rails Girls in
Japan
7.
asakusa.rb
8.
9.
ミドルウェアのアップグレード アクセス解析基盤の構築 セキュリティ監査
Ruby/Rails 技術リ基ーンス盤タートチアップ ーム 社内開発基盤の構築 JSOXの運用整備 統計基盤の構築 github テスト基盤の構築コードレビュー 新人教育 開発プロセス 原稿執筆 カンファレンス発表 Jenkins RDBMS OSS開発サーバー構成管理の刷新
10.
http://30d.jp
11.
from 2008/4
12.
380,000 users 230,000,000
photos
13.
Our Rails app
46 models 5000 lines in controllers 400 lines in routes.rb 1:1.3 code to test ratio
14.
system architecture
15.
application server
16.
storage server
17.
job server
18.
transaction server
19.
storage is over
450 TB
20.
database size is
over 250 GB
21.
Development Culture
22.
github workflow
23.
IRC github issue
costomer’s contact nagios
24.
DevOps
25.
4 deploy/day
26.
27.
How to migrate
edge rails from legacy rails?
28.
Ruby 1.8.6 Rails
2.0.2
29.
Ruby 1.8.6 Rails
2.0.2 Ruby 2.1.1 Rails 4.1.0 new!
30.
Why?
31.
32.
Ruby on Rails
33.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
34.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 Slow 4.0 Fast
35.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
36.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
37.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
38.
Rails 2.0 Rails
2.3
39.
Rails 2.0 hotfix
A Rails 2.3 migration A
40.
Rails 2.0 hotfix
A Rails 2.3 migration A
41.
Rails 2.0 hotfix
A Rails 2.3 migration A
42.
43.
Zero Downtime Deploy
44.
cookpad/kage
45.
Kage (kah-geh) is
an HTTP shadow proxy server that sits between clients and your server(s) to enable "shadow requests".
46.
the basic of
kage real request
47.
48.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
49.
rails 2.3 with
bundler
50.
source 'https://rubygems.org'! !
gem 'rails', '~> 2.3.18'! gem 'rake', '~> 0.9.2'! gem 'rdoc'! gem 'rake-confirm'! ! gem 'mysql'! gem "mysql_retry_lost_connection"! gem 'acts_as_paranoid', :github => 'paperboy-30days/acts_as_paranoid'! gem 'passenger', '~> 3.0'! gem 'memcache-client', :require => 'memcache'! gem 'system_timer'! gem 'yajl-ruby', :require => 'yajl'! gem 'will_paginate', '~> 2.3'! gem 'mail'! ! gem 'sass'! gem 'compass-rails'! ! gem 'osaipo_client', :git => 'git@github.com:paperboy-all/ osaipo_client.git', :branch => 'legacy'! gem 'jugem_client', :git => 'git@github.com:paperboy-all/ jugem_client.git'! gem 'ppb_footer', :github => 'paperboy-all/ppb_footer'!
51.
require "./config/environment"! !
use Rails::Rack::LogTailer! use Rails::Rack::Static! run ActionController::Dispatcher.new rack with rails 2.3
52.
can’t use hyphen
30days-front can’t use number can’t convert ! application.rb...
53.
Reduce customer frustration.
54.
app1 app2 backgroundrb
to dj
55.
56.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
57.
Use trunk everyday.
58.
59.
60.
1.8 to 2.0
61.
62.
2.0 to 2.1
63.
CPU Usage(%) 100
75 50 25 0 49 2.0 2.1 69
64.
Resp. time(ms) 250
200 150 100 50 0 189 2.0 2.1 221
65.
4 3 memory
usage(giga byte) 0 2 1 3.8 2.0 2.1 3.2
66.
https://www.ruby-lang.org/en/news/2014/03/10/regression-of-hash-reject-in-ruby-2-1-1/
67.
Ruby 1.8.6 1.8.7
1.9.3 2.0.0 2.1 Rails 2.0/2.1 2.3 3.0 3.2 4.0
68.
69.
Use modern architecture
70.
app1 app2
71.
kyoto tycoon is
slower than mysql…
72.
73.
Resp. time(ms) 300
240 180 120 60 0 287 3.2 4.0 189
74.
Ruby 1.9.3 2.0.0
2.1 2.2 Rails 3.0 3.2 ? 4.0 ? 4.1 ?
75.
Ruby 1.9.3 2.0.0
2.1 2.2 Rails 3.0 3.2 ? 4.0 ? New!! 4.1 ?
76.
77.
1. Flash structure
changes 2. Mutator methods called on Relation
78.
79.
Resp. time(ms) 300
240 180 120 60 0 266 4.0 4.1 287
80.
Ruby 1.9.3 2.0.0
2.1 2.2 Rails 3.0 3.2 ? 4.0 ? 4.1 ?
81.
class Bar! def
bar(foo = foo())! foo! end! ! def buzz(foo = foo)! foo! end! ! def foo! :buzz! end! end! ! p Bar.new.bar! p Bar.new.buzz
82.
% ruby -v
r45272.rb! ruby 2.2.0dev (2014-04-13 trunk 45580) [x86_64-darwin13]! :buzz! nil! ! % ruby -v r45272.rb! ruby 2.1.2p80 (2014-03-01 revision 45231) [x86_64-darwin13.0]! :buzz! :buzz
83.
84.
conclusion
85.
1. fix your
code 2. fix gem 3. fix Rails 4. fix Ruby
Baixar agora