Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Development Environment 2019
Search
SHIBATA Hiroshi
June 14, 2019
Technology
390
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Development Environment 2019
SHIBATA Hiroshi
June 14, 2019
More Decks by SHIBATA Hiroshi
See All by SHIBATA Hiroshi
How to make faster release cycle of Ruby?
hsbt
2
6.3k
Ruby の開発を支えるエコシステム
hsbt
4
2.4k
Why is building the Ruby environment hard?
hsbt
6
8.6k
開発環境へのこだわり
hsbt
16
12k
OSS ことはじめ
hsbt
5
1.5k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
600
How to become the Psychic
hsbt
0
2.1k
Software Development
hsbt
1
6.8k
Social Inclusion for Engineering Organization
hsbt
0
1.2k
Other Decks in Technology
See All in Technology
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
280
Claude Code本って、 読む必要あるの?
oikon48
1
240
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
290
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
340
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
280
PfEingのアプローチで働こう
rindrics
0
200
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
200
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
130
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
640
2026/09/10 Spring_Bootから_Jakarta_EE_MicroProfileへの移行
megascus
0
250
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
320
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
170
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
Faster Mobile Websites
deanohume
310
32k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
4 Signs Your Business is Dying
shpigford
187
23k
Odyssey Design
rkendrick25
PRO
2
800
Ethics towards AI in product and experience design
skipperchong
2
360
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Transcript
σϑΥϧτઃఆͰΒ͍ͨ͠ ࣲాതࢤ / GMO Pepabo, Inc. 2019.06.14 Pepabo Tech Friday
June ։ൃڥ 2019
ڥΛඋ͢Δͷઐ৬ͷᅂΈ
ϓϩάϥϚͷେਆث wλʔϛφϧ w4IFMM wΤσΟλ
ϓϩάϥϚͷେਆث wλʔϛφϧ w4IFMM wΤσΟλ wϒϥβ
λʔϛφϧ wߴઐ5FSB5FSN wେֶQVUUZ wࣾձਓJ5FSN wࣾձਓϖύϘ5FSNJOBMBQQ wݱࡏ"MBDSJUUZ
4IFMMͷར༻ཤྺ wߴઐUDTI wେֶࣾձਓCBTI wࣾձਓϖύϘೖࣾલ·Ͱ[TI wݱࡏpTI
ΤσΟλ wߴઐࣾձਓ&NBDT wࣾձਓϖύϘೖࣾલ·Ͱ"UPN wݱࡏ7JTVBM4UVEJP$PEF
ಓ۩ΛબͿͱ͖ͷϙϦγʔ
ͷબϙϦγʔ wࣗͷײ֮ʹ͍ۙඪ४ઃఆͷιϑτΣΞΛ͏ɺ߹Θͳ͍ͱ͜Ζ ΧελϚΠζ͔͕ࣗ׳ΕΔɻ w8JOEPXTͰग़དྷΔ͚ͩಉ͡ૢ࡞͕ՄೳͳιϑτΣΞΛ͏ɻ w3VTUͰॻ͔Ε͍ͯΔπʔϧ͍͍ͩͨྑ͍ ͳΜͱͳ͘
"MBDSJUUZ w(16ΛͬͨͨΒͯ͘͵Δ͵Δಈ͘λʔϛφϧ wJ5FSNͷλϒػೳ͕ͳ͍ͷͰUNVYͰؤு͍ͬͯΔ wઃఆ͕ldDPOpHBMBDSJUUZBSBDSJUUZZNMzͱϙʔλ ϒϧͳͷ͕ྑ͍ɻ
pTI w#BTI;TIͷγΣϧ͕ಈ͔ͳ͍໘ͳͭ ఘΊͨ wઃఆΛೖΕͳ͍͍ͯͩͨ͘Γ͍ͨ͜ͱ ಛʹཤྺ ͕Ͱ͖Δ wϓϥάΠϯγεςϜͷpTIFSNBOͬͯɺڥͩ ͍͍ͨ࠶ݱՄೳ
74$PEF w֦ு͋·ΓೖΕͳ͍ ඞਢ&NBDT'SJFOEMZ,FZT͚ͩ wϦϞʔτMJWFTIBSFͳͲࢼ͠ʹೖΕΔ͚Ͳ͍͍ͩͨ์ஔ wAFAʹΤΠϦΞεͯ͠Δ wλʔϛφϧͱߦͬͨΓདྷͨΓͯ͠ޮѱ͍ͱײ͡Δ͕࣌͋ΔͷͰΤ σΟλ͚ͩͰ݁Ͱ͖ΔΑ͏ʹؤுΓ͍ͨʜ
։ൃڥͰ࠷ۙڵຯ͕͋Δ͜ͱ
࠷ۙڵຯ͕͋Δ͜ͱ w(/6DPSFVUJMTͷஔ͖͑ w(&.@)0.&ͷڞ༗ w9%(@
(/6DPSFVUJMTͷஔ͖͑ wMTFYBMTE wDBUCBU wHSFQUIF@TJMWFS@TFBSDIFSSJQHSFQ ͍͍ͩͨ3VTUͷπʔϧͳͷͰ3VTUؤுͬͯ͘Ε
(&.@)0.&ͷڞ༗ w(&.@)0.&Λઃఆ͢Δͱ3VCZ(FNTͦͷσΟϨΫτϦʹHFN ΛೖΕΔɻະࢦఆͷ߹ҎԼɻ w 3VCZ(FNT3VCZͰॻ͔Ε͍ͯΔίʔυͱ$Ͱॻ͔Ε͍ͯΔ ίʔυ͕͋Δ͕3VCZͰॻ͔Ε͍ͯΔίʔυHFNTQFDͰ໌ࣔ͠ ͯͳ͍ݶΓෳόʔδϣϯͰڞ༗ͯ͠ಈ͔͢͜ͱ͕Ͱ͖Δ ~ > l
~/.rbenv/versions/2.6.0-dev/lib/ruby/gems/2.6.0/ build_info cache doc extensions gems specifications
(&.@)0.&Λڞ༗ͯ͠Έͨ w +3VCZ 5SV⒐F3VCZશͯͰ͏HFNΛಉ͡σΟϨΫτϦ ʹೖΕΔ w ͰೖΕͨHFN͕Ͱͳ͍ɺͱ͍͏͜ͱ͕ͳ͘ͳͬͯḿΔ w ࣮HFNTQFD͕૿͑ΔͱSVCZͷىಈ͘ͳΔ w
+3VCZͱࠞͥΔͱ3VCZ(FNTͷෆ۩߹͕ͲΜͲΜݟ͔ͭΔ ~ > l .local/share/gem/gems | wc -l 3843
$֦ுϦϏϧυ͢Δඞཁ͕͋Δ #!/usr/bin/env ruby require 'rubygems/commands/pristine_command' gems = Gem::Specification.all.map do |spec|
[spec.name, spec.version] if spec.platform == RUBY_ENGINE && spec.missing_extensions? end.compact.uniq gems.each do |n,v| cmd = Gem::Commands::PristineCommand.new cmd.options[:args] = [n] cmd.options[:version] = v cmd.execute end
ຖ࠷৽൛ʹ͢Δศརͳͭ #!/usr/bin/env bash eval "$(rbenv init -)" rbenv shell --unset
brew upgrade brew cask upgrade rbenv global system rbenv uninstall -f 2.7.0-dev rbenv install 2.7.0-dev rbenv global 2.7.0-dev gem update rbenv shell 2.4 ~/Documents/github.com/hsbt/tools/exe/all-pristine rbenv shell 2.5 ~/Documents/github.com/hsbt/tools/exe/all-pristine rbenv shell 2.6 ~/Documents/github.com/hsbt/tools/exe/all-pristine rbenv shell 2.7 ~/Documents/github.com/hsbt/tools/exe/all-pristine ~/Documents/github.com/hsbt/tools/exe/gem-shebang rbenv shell --unset
͜ΕΛϓϩάϥϚશһʹ ఏڙ͍ͨ͠ΜͩΑͳ͋
9%(@$0/'*(@ wdDPOpHͱdMPDBMTIBSFʹઃఆϑΝΠϧΛஔ͢Δ wdͷԼʹ͍ΖΜͳϑΝΠϧ͕ͨ͘͞ΜʹͳΒͳͯ͘ศར w࠷ۙͷπʔϧΛݟͯΔͱ͘Β͍9%(Λ͏Α͏ʹͳ͖ͬͯͯ ͍Δɻ w3VCZͷπʔϧͦΕΒΛ͏Α͏ʹ։ൃͯ͠ΔΑ wIUUQTHJUIVCDPNSVCZSVCZQVMM
͕࣌ؒ͋Ε খཻͳπʔϧͷօ͞Μ
খཻͳπʔϧͨͪ wHFNDPEFTFBSDI wBMMSVCZ wHFNTSD
Demo ~ > gemsearch extension_build_error rb2exe-0.3.0/bin/traveling-ruby-2.2.2/l32/lib/ruby/2.2.0/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace
= nil) # :nodoc: rb2exe-0.3.0/bin/traveling-ruby-2.2.2/l64/lib/ruby/2.2.0/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace = nil) # :nodoc: rb2exe-0.3.0/bin/traveling-ruby-2.2.2/osx/lib/ruby/2.2.0/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace = nil) # :nodoc: rb2exe-0.3.0/bin/traveling-ruby-2.2.2/win/lib/ruby/2.2.0/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace = nil) # :nodoc: ruby-compiler-0.1.1/vendor/ruby/lib/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace = nil) # :nodoc: rubygems-update-2.7.7/lib/rubygems/installer.rb: def extension_build_error(build_dir, output, backtrace = nil) # :nodoc: rubygems-update-2.7.7/lib/rubygems/installer.rb: deprecate :extension_build_error, :none, 2018, 12
Demo all-ruby -e "puts ‘foo'&.match?(/foo/)" all-ruby -e "require 'tempfile'; p
Tempfile.new.close!” all-ruby -e "require 'io/console'; p IO.method_defined?(:noecho)” all-ruby -e "require 'uri'; puts URI.const_defined?(:DEFAULT_PARSER)” all-ruby -e "p [].respond_to? :flat_map"
Demo ~ > gem i rails clone http://rubyonrails.org -> /Users/hsbt/Documents/rubyonrails.org
error Could not find version control system: http://rubyonrails.org exists /Users/hsbt/Documents/github.com/rails/rails Successfully installed rails-5.2.3 1 gem installed