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
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
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.4k
Ruby の開発を支えるエコシステム
hsbt
4
2.5k
Why is building the Ruby environment hard?
hsbt
6
8.7k
開発環境へのこだわり
hsbt
16
13k
OSS ことはじめ
hsbt
5
1.6k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
620
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
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
100
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
1
120
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
240
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
150
WireGuard for Apache NuttX - Bringing Secure Remote Access to embedded Devices -
aki310ooooo
0
150
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
180
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
630
自律的なチームを作るためにTechPMがやらないこと
ny7760
1
510
AIコーディングはじめました
miso
0
150
試験勉強はGrokBotでやれ
maigo999
0
110
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
540
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Between Models and Reality
mayunak
4
560
The SEO identity crisis: Don't let AI make you average
varn
0
630
sira's awesome portfolio website redesign presentation
elsirapls
0
490
Being A Developer After 40
akosma
PRO
92
590k
A Tale of Four Properties
chriscoyier
163
24k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
620
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Designing for Performance
lara
612
70k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
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