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
12k
OSS ことはじめ
hsbt
5
1.6k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
610
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
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
280
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
880
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
140
大型犬好きによるPugの紹介
yamanoku
1
150
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
2
860
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.9k
会社説明資料
persolserverworks
0
9.7k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
100
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
今さら理解するウェブフォントver.2026
takanorip
3
690
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
150
Featured
See All Featured
The Curse of the Amulet
leimatthew05
3
15k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Designing Experiences People Love
moore
143
24k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
How to build a perfect <img>
jonoalderson
1
6.1k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
So, you think you're a good person
axbom
PRO
2
2.2k
The Cult of Friendly URLs
andyhume
79
7k
Un-Boring Meetings
codingconduct
0
450
Code Review Best Practice
trishagee
74
20k
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