SlideShare a Scribd company logo
1 of 100
Download to read offline
! 
How to Change 
Organization 
! 
Hiroshi SHIBATA 
@hsbt 
Rakuten TechTalk
SHIBATA 
! Hiroshi 
! @hsbt
commit bit collector 
ruby 
rubygems 
rake 
rdoc 
psych 
syck 
ruby-build 
railsgirls 
railsgirls-jp 
kaminari 
tdiary 
hiki 
jenkins.rb 
fastladder
Ruby Committer
文字
asakusa.rb
RailsGirls in Japan
もっと 
おもしろく 
できる
支社本社
A long time ago..
Pepabo 
Hosting EC Media
Over 250 people
organizations which design systems ... are constrained to 
produce designs which are copies of the communication 
structures of these organizations 
— M. Conway
PHP 
MySQL5 
PHP 
MySQL4 
Ruby and PHP 
Rails 
MySQL5 
Pepabo
ミドルウェアのアップグレード 
アクセス解析基盤の構築 
セキュリティ監査 
Ruby/Rails 
技術リ基ーンス盤タートチアップ 
ーム 
社内開発基盤の構築 
JSOXの運用整備 
統計基盤の構築 
github 
テスト基盤の構築コードレビュー 
新人教育 
開発プロセス 
原稿執筆 
カンファレンス発表 
Jenkins 
RDBMS 
OSS開発サーバー構成管理の刷新
Pepabo 
技術基盤チーム 
PHP 
MySQL5 
PHP 
MySQL4 
Ruby and PHP 
Rails 
MySQL5
Ruby 
Rails 
MySQL5 
Ruby 
Rails 
MySQL5 
Ruby and PHP 
Rails 
MySQL5 
Pepabo 
技術基盤チーム
Why Ruby?
Why Ruby? 
1. testing 
2. environment 
3. references
Testing
powerful testing 
framework 
1. test-unit 
2. minitest 
3. rspec
Capybara
1) Failure: 
TestPowerAssert#test_power_assert_failed [test/test_power_assert.rb:10]: 
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class } 
| | | | | 
| | | | Array 
| | | [1, 2, 3] 
| | #<Enumerator: 3:times> 
| 3 
String 
Power Assert
testcase 
class TestPowerAssert < Minitest::Test! 
def test_power_assert_failed! 
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class }! 
end! 
end 
assertion 
1) Failure: 
TestPowerAssert#test_power_assert_failed [test/test_power_assert.rb:10]: 
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class } 
| | | | | 
| | | | Array 
| | | [1, 2, 3] 
| | #<Enumerator: 3:times> 
| 3 
String
Typical usecase 
1. run test -> fail 
2. add inspection code 
3. run test -> fail -> detect fail reason 
4. fix code 
5. run test -> success
Typical usecase 
1. run test -> fail 
2. add inspection code 
3. run test -> fail -> detect fail reason 
4. fix code 
5. run test -> fail!!! -> turn to 2
Typical usecase 
1. run test -> fail 
1) Failure: 
TestPowerAssert#test_power_assert_failed [test/test_power_assert.rb:10]: 
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class } 
4. fix code 
| | | | | 
| | | | Array 
| | | [1, 2, 3] 
| | #<Enumerator: 3:times> 
| 3 
String 
5. run test -> fail!!! -> turn to 4
Development 
Environment 
1. osx + homebrew 
2. rbenv + ruby-build
Many references
Why Rails?
Why Rails? 
1. modern architecture 
2. oss way 
3. admin integration
enforce 
modern architecture
case.1 
Ruby 1.8.6 to Ruby 2.1.2
http://30d.jp
from 2008/4
380,000 users 
230,000,000 photos
Our Rails app 
46 models 
5000 lines in controllers 
400 lines in routes.rb 
1:1.3 code to test ratio
storage is over 
450 TB
system architecture
application server
storage server
job server
transaction server
Ruby 1.8.6 
Rails 2.0.2
Ruby 1.8.6 
Rails 2.0.2 
Ruby 2.1.3 
Rails 4.1.6 new!
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/4.1
Rails 2.0 
Rails 2.3
Rails 2.0 
hotfix A 
Rails 2.3 
migration A
Rails 2.0 
hotfix A 
Rails 2.3 
migration A
Rails 2.0 
hotfix A 
Rails 2.3 
migration A
case.2 
replace legacy middleware 
KyotoTycoon 
to 
memcached
app1 
app2
rails4 need to dalli 
begin! 
require 'dalli'! 
rescue LoadError => e! 
$stderr.puts "You don't have dalli installed in your 
application. Please add it to your Gemfile and run 
bundle install"! 
raise e! 
end
kyoto tycoon is slower 
than mysql… 
dalli is not support 
to kyoto tycoon…
enforce oss way
Ruby 
Rails 
MySQL5 
Ruby 
Rails 
MySQL5 
Ruby and PHP 
Rails 
MySQL5 
Pepabo 
技術基盤チーム
Use trunk everyday.
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
% 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
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'!
admin integration
What’s admin? 
1. customer support 
2. payment/refund 
3. no console
organizations which design systems ... are constrained to 
produce designs which are copies of the communication 
structures of these organizations 
— M. Conway
Our Typical Team 
Developer Director 
Customer 
Support
unmaintained…
better admin 
1. app internal 
2. Rails Engine 
3. other app
app internal 
pros 
better testing 
better deploy 
cons 
including difference application 
including effective code
Rails Engine 
pros 
splitting application code 
better deploy 
cons 
difficulty testing 
can’t use production code directly
Other app 
pros 
definitely splitting app 
cons 
separated develop cycle 
duplicated code
No silver bullet
Optimize Your Company 
Rails 
like a php 
MySQL5 
Rails 
like a java 
MySQL5 
Rails 
like a php 
MySQL5 
技術基盤チーム
できるだけ長い間,ユーザに価値を 
提供し,利潤を生み続けるWebサー 
ビスを運営するためには,継続的な 
改善を行うことが必要です。Webサー 
ビスを改善するには,技術的な取り組 
みはもちろん,開発投資とそのリター 
ンという経営的な観点,チームビル 
ディングなどの開発プロセス,ビジネ 
スメトリクスへの注視など,考慮すべ 
きことがたくさんあります。
スクラムは、「複雑で変化の激しい 
問題」に対応することを第一目標 
としたアジャイル開発手法です。数 
あるアジャイル開発手法の中でも、 
いま圧倒的に採用されています。   
本特集では、現在のソフトウェア 
開発におけるスクラムの意義から、 
実際の現場における取り組みま 
で、スクラムを徹底解説します。
平鍋さんによる講演
アジャイル導入研修
PO研修
Lern to 
Rails 
Internal 
step 
by 
step
Lern to 
Active 
Record 
Internal
github workflow
ChatOps 
github issue 
costomer’s 
contact 
nagios
DevOps
4 deploy/day
Go to the 
next 
10 years
もっと 
おもしろく 
できる

More Related Content

What's hot

Leave end-to-end testing to Capybara
Leave end-to-end testing to CapybaraLeave end-to-end testing to Capybara
Leave end-to-end testing to CapybaraHiroshi SHIBATA
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesHiroshi SHIBATA
 
How to test code with mruby
How to test code with mrubyHow to test code with mruby
How to test code with mrubyHiroshi SHIBATA
 
How to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHow to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHiroshi SHIBATA
 
Gemification plan of Standard Library on Ruby
Gemification plan of Standard Library on RubyGemification plan of Standard Library on Ruby
Gemification plan of Standard Library on RubyHiroshi SHIBATA
 
Gate of Agile Web Development
Gate of Agile Web DevelopmentGate of Agile Web Development
Gate of Agile Web DevelopmentKoichi ITO
 
Middleware as Code with mruby
Middleware as Code with mrubyMiddleware as Code with mruby
Middleware as Code with mrubyHiroshi SHIBATA
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?Hiroshi SHIBATA
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the worldHiroshi SHIBATA
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for RubyHiroshi SHIBATA
 
The Future of library dependency management of Ruby
 The Future of library dependency management of Ruby The Future of library dependency management of Ruby
The Future of library dependency management of RubyHiroshi SHIBATA
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02Hiroshi SHIBATA
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the worldHiroshi SHIBATA
 
The Future of Bundled Bundler
The Future of Bundled BundlerThe Future of Bundled Bundler
The Future of Bundled BundlerHiroshi SHIBATA
 
OSS Security the hard way
OSS Security the hard wayOSS Security the hard way
OSS Security the hard wayHiroshi SHIBATA
 

What's hot (20)

Leave end-to-end testing to Capybara
Leave end-to-end testing to CapybaraLeave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
How to test code with mruby
How to test code with mrubyHow to test code with mruby
How to test code with mruby
 
How to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rbHow to develop Jenkins plugin using to ruby and Jenkins.rb
How to develop Jenkins plugin using to ruby and Jenkins.rb
 
Gems on Ruby
Gems on RubyGems on Ruby
Gems on Ruby
 
Gemification plan of Standard Library on Ruby
Gemification plan of Standard Library on RubyGemification plan of Standard Library on Ruby
Gemification plan of Standard Library on Ruby
 
Gate of Agile Web Development
Gate of Agile Web DevelopmentGate of Agile Web Development
Gate of Agile Web Development
 
Middleware as Code with mruby
Middleware as Code with mrubyMiddleware as Code with mruby
Middleware as Code with mruby
 
How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?How to develop the Standard Libraries of Ruby?
How to develop the Standard Libraries of Ruby?
 
RubyGems 3 & 4
RubyGems 3 & 4RubyGems 3 & 4
RubyGems 3 & 4
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
 
Practical ngx_mruby
Practical ngx_mrubyPractical ngx_mruby
Practical ngx_mruby
 
The Future of library dependency management of Ruby
 The Future of library dependency management of Ruby The Future of library dependency management of Ruby
The Future of library dependency management of Ruby
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
 
What's new in RubyGems3
What's new in RubyGems3What's new in RubyGems3
What's new in RubyGems3
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
The Future of Bundled Bundler
The Future of Bundled BundlerThe Future of Bundled Bundler
The Future of Bundled Bundler
 
OSS Security the hard way
OSS Security the hard wayOSS Security the hard way
OSS Security the hard way
 

Viewers also liked

GitHub Enterprise with GMO Pepabo
GitHub Enterprise with GMO PepaboGitHub Enterprise with GMO Pepabo
GitHub Enterprise with GMO PepaboHiroshi SHIBATA
 
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby CoreHow to Begin to Develop Ruby Core
How to Begin to Develop Ruby CoreHiroshi SHIBATA
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略Hiroshi SHIBATA
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 
Practical Testing of Ruby Core
Practical Testing of Ruby CorePractical Testing of Ruby Core
Practical Testing of Ruby CoreHiroshi SHIBATA
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesHiroshi SHIBATA
 
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜 SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜 SORACOM,INC
 
SORACOM LoRaWAN Conference 2017 | キーノート
SORACOM LoRaWAN Conference 2017 | キーノートSORACOM LoRaWAN Conference 2017 | キーノート
SORACOM LoRaWAN Conference 2017 | キーノートSORACOM,INC
 
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM,INC
 
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜SORACOM,INC
 

Viewers also liked (10)

GitHub Enterprise with GMO Pepabo
GitHub Enterprise with GMO PepaboGitHub Enterprise with GMO Pepabo
GitHub Enterprise with GMO Pepabo
 
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby CoreHow to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Practical Testing of Ruby Core
Practical Testing of Ruby CorePractical Testing of Ruby Core
Practical Testing of Ruby Core
 
Advanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutesAdvanced technic for OS upgrading in 3 minutes
Advanced technic for OS upgrading in 3 minutes
 
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜 SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜
SORACOM LoRaWAN Conference 2017 | SORACOMプラットフォームのLoRaWAN対応 〜データ取得とクラウド連携〜
 
SORACOM LoRaWAN Conference 2017 | キーノート
SORACOM LoRaWAN Conference 2017 | キーノートSORACOM LoRaWAN Conference 2017 | キーノート
SORACOM LoRaWAN Conference 2017 | キーノート
 
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
 
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
SORACOM LoRaWAN Conference 2017 | LoRaゲートウェイとデバイス 〜デバイス開発と、無線連携〜
 

Similar to 20141210 rakuten techtalk

Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009pratiknaik
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Yan Cui
 
Developing a Culture of Quality Code (Midwest PHP 2020)
Developing a Culture of Quality Code (Midwest PHP 2020)Developing a Culture of Quality Code (Midwest PHP 2020)
Developing a Culture of Quality Code (Midwest PHP 2020)Scott Keck-Warren
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Intro to-rails-webperf
Intro to-rails-webperfIntro to-rails-webperf
Intro to-rails-webperfNew Relic
 
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Zivtech, LLC
 
Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Yan Cui
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginnerUmair Amjad
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyRobert Dempsey
 
VodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingVodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingpoojaelkunchwar
 
Reducing Build Time
Reducing Build TimeReducing Build Time
Reducing Build TimeAman King
 
VodQA_Parallelizingcukes_AmanKing
VodQA_Parallelizingcukes_AmanKingVodQA_Parallelizingcukes_AmanKing
VodQA_Parallelizingcukes_AmanKingvodQA
 
Static Code Analysis PHP[tek] 2023
Static Code Analysis PHP[tek] 2023Static Code Analysis PHP[tek] 2023
Static Code Analysis PHP[tek] 2023Scott Keck-Warren
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB
 
Rails-3-app-auto-generator-20100817
Rails-3-app-auto-generator-20100817Rails-3-app-auto-generator-20100817
Rails-3-app-auto-generator-20100817Tse-Ching Ho
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Yan Cui
 

Similar to 20141210 rakuten techtalk (20)

Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)Serverless in production, an experience report (LNUG)
Serverless in production, an experience report (LNUG)
 
Developing a Culture of Quality Code (Midwest PHP 2020)
Developing a Culture of Quality Code (Midwest PHP 2020)Developing a Culture of Quality Code (Midwest PHP 2020)
Developing a Culture of Quality Code (Midwest PHP 2020)
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Intro to-rails-webperf
Intro to-rails-webperfIntro to-rails-webperf
Intro to-rails-webperf
 
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
 
Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)Serverless in Production, an experience report (cloudXchange)
Serverless in Production, an experience report (cloudXchange)
 
Wider than rails
Wider than railsWider than rails
Wider than rails
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
 
Rails Performance
Rails PerformanceRails Performance
Rails Performance
 
VodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKingVodQA_ParallelizingCukes_AmanKing
VodQA_ParallelizingCukes_AmanKing
 
Reducing Build Time
Reducing Build TimeReducing Build Time
Reducing Build Time
 
VodQA_Parallelizingcukes_AmanKing
VodQA_Parallelizingcukes_AmanKingVodQA_Parallelizingcukes_AmanKing
VodQA_Parallelizingcukes_AmanKing
 
Static Code Analysis PHP[tek] 2023
Static Code Analysis PHP[tek] 2023Static Code Analysis PHP[tek] 2023
Static Code Analysis PHP[tek] 2023
 
Code Quality Analysis
Code Quality AnalysisCode Quality Analysis
Code Quality Analysis
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
 
Rails-3-app-auto-generator-20100817
Rails-3-app-auto-generator-20100817Rails-3-app-auto-generator-20100817
Rails-3-app-auto-generator-20100817
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 

More from Hiroshi SHIBATA

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023Deep dive into Ruby's require - RubyConf Taiwan 2023
Deep dive into Ruby's require - RubyConf Taiwan 2023Hiroshi SHIBATA
 
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?Hiroshi SHIBATA
 
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?Hiroshi SHIBATA
 
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Hiroshi SHIBATA
 
Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?Hiroshi SHIBATA
 
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩Hiroshi SHIBATA
 
Dependency Resolution with Standard Libraries
Dependency Resolution with Standard LibrariesDependency Resolution with Standard Libraries
Dependency Resolution with Standard LibrariesHiroshi SHIBATA
 
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Hiroshi SHIBATA
 
Ruby Security the Hard Way
Ruby Security the Hard WayRuby Security the Hard Way
Ruby Security the Hard WayHiroshi SHIBATA
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyHiroshi SHIBATA
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with RubyHiroshi SHIBATA
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Hiroshi SHIBATA
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Hiroshi SHIBATA
 
The secret of programming language development and future
The secret of programming  language development and futureThe secret of programming  language development and future
The secret of programming language development and futureHiroshi SHIBATA
 

More from Hiroshi SHIBATA (17)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long 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 2023Deep 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?
 
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 を用いたプロダクト開発Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発
 
Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?Why ANDPAD commit Ruby and RubyKaigi?
Why ANDPAD commit Ruby and RubyKaigi?
 
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
 
Dependency Resolution with Standard Libraries
Dependency Resolution with Standard LibrariesDependency Resolution with Standard Libraries
Dependency Resolution with Standard Libraries
 
Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3Roadmap for RubyGems 4 and Bundler 3
Roadmap for RubyGems 4 and Bundler 3
 
Ruby Security the Hard Way
Ruby Security the Hard WayRuby Security the Hard Way
Ruby Security the Hard Way
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
 
Gems on Ruby
Gems on RubyGems on Ruby
Gems on Ruby
 
RubyGems 3 & 4
RubyGems 3 & 4RubyGems 3 & 4
RubyGems 3 & 4
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
The secret of programming language development and future
The secret of programming  language development and futureThe secret of programming  language development and future
The secret of programming language development and future
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

20141210 rakuten techtalk