Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Development Environment 2019
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.5k
開発環境へのこだわり
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.7k
Social Inclusion for Engineering Organization
hsbt
0
1.2k
Other Decks in Technology
See All in Technology
Power Automateアップデート情報
miyakemito
0
280
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
360
WEBフロントエンド研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
730
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
150
信頼できるテスティングAIをどう育てるか?
odan611
0
160
ウォーターフォール開発案件のPMとしてAI活用を模索している話
hatahata021
2
200
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
CTOキーノート:AI時代の「つなぐ」を再定義 ― 真のIoTとリアルワールドAI【SORACOM Discovery 2026】
soracom
PRO
0
320
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
560
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
360
新たなDBアーキテクチャ「LTAP」にDeep Dive!!
inoutk
0
150
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.6k
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
How to build a perfect <img>
jonoalderson
1
5.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
300
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Six Lessons from altMBA
skipperchong
29
4.4k
HDC tutorial
michielstock
2
760
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
Become a Pro
speakerdeck
PRO
31
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Odyssey Design
rkendrick25
PRO
2
740
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