Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
@amatsuda Coming Soon...💎 @amatsuda
Slide 2
Slide 2 text
ಥવͰ͕͢ɺ
Slide 3
Slide 3 text
OSSΓ͍ͨʂ 🛤 Α͍͘ΖΜͳͱ͜ΖͰ૬ஊ͞ΕΔ
Slide 4
Slide 4 text
͍ΖΜͳͱ͜Ζ 🛤 Asakusa.rb 🛤 ӬγεςϜϚωδϝϯτ͞ΜͷOSSύονձ 🛤 ͍ΖΜͳձࣾ 🛤 Πϯλʔωοτ
Slide 5
Slide 5 text
🤔
Slide 6
Slide 6 text
ʮΓ͍ͨͳΒΕ͍͍ͷ Ͱʁʯ 🛤 ʮύονΛॻ͘ʯҎ֎ʹΔ͖͜ͱͳ͍ 🛤 ύονΛॻ͘ରͷιϑτΣΞੈͷதʹແʹ ͋Δ
Slide 7
Slide 7 text
🔜
Slide 8
Slide 8 text
ͨͿΜࠓ͙͢ύονΛॻ͔ͳ͍ ཧ༝ٕज़ྗෆͱ͔Ͱͳ͍ 🛤 Έ 🛤 Ϟνϕʔγϣϯ 🛤 ετʔϦʔ 🛤 ͖͔͚ͬ
Slide 9
Slide 9 text
͖͔͚ͬ͞·͟· 🛤 ࠓɺ͍ΖΜͳϓϩμΫτΛհ͠ͳ͕ΒɺͦΕ Λॻ͍͖͔͚ͨͬͦͷͱ͖ߟ͍͑ͯͨ͜ͱͳͲΛ ͝հ 🛤 OSS։ൃʹڵຯ͕͋Δ͚Ͳ࢝Ί͔͕ͨΘ͔Βͳ ͍ɺܧଓͰ͖ͳ͍ɺͱ͍͏ํͷࢀߟʹͳΕ
Slide 10
Slide 10 text
ͱ͍͏ײ͡ͰɺࠓࣗຫΛ ͠ʹདྷ·ͨ͠ʂ 🛤 ࣗຫͱࣗըࣗࢍ 🛤 RubyKaigiͰ͍ͭεϐʔΧʔͷօ͞Μʹ͓ئ͍ ͯ͠Δͭ
Slide 11
Slide 11 text
self 🛤 name: Akira Matsuda 🛤 GitHub: @amatsuda 🛤 Twitter: @a_matsuda
Slide 12
Slide 12 text
ੈքతʹ༗໊ͳϓϩάϥϚʔ ͡Ί·ͨ͠
Slide 13
Slide 13 text
ոจॻ
Slide 14
Slide 14 text
https://jp.quora.com/ϓϩάϥϛϯάʹ͓͍ͯ- ੈքతʹ༗໊ͳຊਓ͍/answers/141576838
Slide 15
Slide 15 text
https://twitter.com/joker1007/ status/1157578882184183808
Slide 16
Slide 16 text
ͦΜͳ͜ͱͳ͍Ͱ͢ʼʻ 🛤 ݺΕΕͲ͜Ͱߦ͘ؾຬʑͳͷʹࠃ͔Β ͥΜͥΜ͔͚ͯΒ͑ͳ͍͚ͩͳΜͰ
Slide 17
Slide 17 text
Rubyίϛολʔ
Slide 18
Slide 18 text
Railsίϛολʔ
Slide 19
Slide 19 text
͔ͤͬ͘ͷୈ1ճKaigi on RailsͳͷͰ ͪΐͬͱ͚ͩRailsͷ
Slide 20
Slide 20 text
Railsͱࢲ
Slide 21
Slide 21 text
ݹגίϯτϦϏϡʔλʔ 🛤 https://contributors.rubyonrails.org/
Slide 22
Slide 22 text
https:// contributors.rubyonrails.org/
Slide 23
Slide 23 text
SinceͷཝΛݟΔͱΘ͔Δ
Slide 24
Slide 24 text
13
Slide 25
Slide 25 text
͜ͷதͰɺݱͰίϛοτ ͯ͠Δਓ 🛤 ҾୀΛද໌ͨ͘͠͠3Ҏ্ίϛοτͯ͠ͳ͍ ਓΛফ͜͠ΜͰΈΔ
Slide 26
Slide 26 text
ݱ
Slide 27
Slide 27 text
RailsίϛολʔͲΜͲΜਓ͕ ೖΕସΘ͍ͬͯΔ͜ͱ͕Θ͔Δ 🛤 ྺͷઙ͍ϝϯόʔ͕ͨͪ׆༂͍ͯ͠Δ
Slide 28
Slide 28 text
RailsϓϩδΣΫτɺଓ͍͍ͯΔΘΓ ʹɺ͔ͳΓ݈શʹӡӦ͞Ε͍ͯΔͷͰͳ͍͔
Slide 29
Slide 29 text
RubyRailsͷपลͷ͍Ζ͍Ζ
Slide 30
Slide 30 text
Asakusa.rbओ࠵ͯ͠·͢
Slide 31
Slide 31 text
Asakusa.rbओ࠵ͯ͠·͢
Slide 32
Slide 32 text
ΦϯϥΠϯͰຖिՐ༵ʹͬͯΔ ͷͰ͓ؾܰʹ༡ͼʹདྷ͍ͯͩ͘͞
Slide 33
Slide 33 text
RubyKaigiͷ νʔϑΦʔΨφΠβʔͬͯ·͢
Slide 34
Slide 34 text
RubyKaigi Takeout 2020͝ࢀՃ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
Slide 35
Slide 35 text
RubyKaigi 2021 🛤 https://rubykaigi.org/2021
Slide 36
Slide 36 text
Kaigi on Railsͱࢲ
Slide 37
Slide 37 text
ͳΜ͔RailsͷΠϕϯτΓ͍ͨͬͯݴͬͯΔେ͞Μ Λogijun͞ΜʹҾ͖߹ΘͤͯKaigi on Railsͷ໊લΛ ݱʹોΒͤͨͷΦϨΦϨ 🛤 ͱ͍͏ઌिͷۜ࠲RailsͰ͏ͬͨͷͰলུ
Slide 38
Slide 38 text
झຯͰΑ͘ύονΛ ॻ͍͍ͯ·͢
Slide 39
Slide 39 text
ࠓिɺͱ͋Δ͓ࣄͷRailsΞϓϦ ͷϦϙδτϦͰूܭͯ͠Έͨ݁Ռ 🛤 Railsຊମ͓ΑͼrailsΦʔΨχθʔγϣϯͰϝϯς͍ͯ͠Δgemͨͪ (16ݸ) 🛤 ͕ࣗ࡞ͬͨͷ (6ݸ) 🛤 ϝϯςφΛͬͯΔ(= ίϛοτݖΛ͍࣋ͬͯΔ)ͷ (4ݸ) 🛤 ্هҎ֎ͷ͏ͪɺաڈʹ1ͭҎ্Կ͔Λίϛοτͨ͜͠ͱ͕͋Δͷ (86ݸ) 🛤 ະίϛοτͷͷ (211ݸ)
Slide 40
Slide 40 text
ΞϓϦͰbundle͍ͯ͠Δgemͷ͏ͪ 112/323 ʹԿ͔͠Βίϛοτͯͨ͠ 🛤 3ͷ1ڧ͙Β͍ 🛤 ͜Μͳײ͡Ͱɺͱʹ͔͍͘ΖΜͳgemΛಡΈॻ͖ ͠·͘ΔελΠϧ
Slide 41
Slide 41 text
͍ΖΜͳਓ͕ॻ͍͍ͨΖΜͳίʔυΛ ಡΈॻ͖͢Δͷָ͍͠ͷͰ͓͢͢Ί
Slide 42
Slide 42 text
ͦͷͨΊʹɺࠒ͔Β͍ΖΜͳίʔυΛಡΈ ॻ͖͢Δ·ͰͷϋʔυϧΛԼ͓͛ͯ͘ͷ͕େࣄ 🛤 ಡΈ͍ͨɺͱࢥͬͨ࣍ͷॠؒʹαοͱಡΈ࢝ΊΒ ΕΔΑ͏ʹ 🛤 ͦͷͰ͙͢ʹύονΛॻ͖࢝ΊΒΕΔΑ͏ʹ
Slide 43
Slide 43 text
OSSϥΠϒϥϦͷίʔυΛಡΜͰ ύονΛॻ͘ϋʔυϧΛԼ͛Δʹ 🛤 ·ͣgem-src
Slide 44
Slide 44 text
💎 gem-src 🛤 ͍ΖΜͳgemͷιʔείʔυ͕ϞϦϞϦऩूͰ͖Δ ͭ 🛤 gem installίϚϯυΛ֦ுͯ͠ɺΠϯετʔϧͷ ͍ͭͰʹgemͷιʔείʔυΛউखʹखݩʹclone ͯ͘͠ΕΔΑ͏ʹ͢Δ
Slide 45
Slide 45 text
ࠓேɺେ͖ͳػೳՃΛ ͠·ͨ͠
Slide 46
Slide 46 text
gem-src as a Bundler Plugin! % bundler plugin install gem-src
Slide 47
Slide 47 text
ࠓ·Ͱࠔ͍ͬͯͨ͜ͱ 🛤 ͠Β͘લͷBundlerͷ༷มߋͷ͍ͤͰɺ Bundlerܦ༝ͰΠϯετʔϧ͞ΕͨgemͰafter- install hook͕Βͳ͘ͳ͍ͬͯͨ
Slide 48
Slide 48 text
BundlerϓϥάΠϯԽ͢Δ͜ͱͰɺBundlerܦ༝ͰΠϯ ετʔϧ͞Εͨgemʹgem-src͕ޮ͘Α͏ʹͳͬͨ
Slide 49
Slide 49 text
RubyGemsϓϥάΠϯ݉ rbenvϓϥάΠϯ݉BundlerϓϥάΠϯ 🛤 1ϦϙδτϦͰτϦϓϧϓϥάΠϯʂ 🛤 ͜ΜͳϓϩμΫτͨͿΜੈքॳͩͱࢥΘΕΔ 🛤 ͱ͍͏͔RubyGemsϓϥάΠϯrbenvϓϥάΠϯ BundlerϓϥάΠϯϚΠφʔ͗ͯ͢୭࡞ͬͯ ͳ͍
Slide 50
Slide 50 text
ࠓ͔Βɺrbenvͱbundlerͷ྆ํ ͱʹΈࠐΜͰ͓͘ͷ͕ਪઃఆ % git clone https://github.com/amatsuda/gem-src.git "$(rbenv root)/plugins/gem-src" % bundler plugin install gem-src
Slide 51
Slide 51 text
ར༻͍ͯ͠Δgemͷιʔείʔυશͯखݩʹ ஔ͍͓͚ͯΔΑ͏ʹͳͬͯɺύονΛൃࣹ͢Δ·Ͱ ͷϦʔυλΠϜ͕ܶతʹॖ·Δ 🛤 ͷखݩͰਪఆ2000ݸఔ͕cloneࡁΈͰɺ ͍ͭͰύον͕ॻ͚Δঢ়ଶʹͳ͍ͬͯΔ 🛤 ͜Ε͕ແ͍ͱOSS׆ಈ͕Ͱ͖ͳ͘ͳΔ͘Β͍ศར
Slide 52
Slide 52 text
͜ΕͰࠓ͔Βύον͕ૉૣ͘ ॻ͚ΔΑ͏ʹͳΔͣͰ͢
Slide 53
Slide 53 text
🔜
Slide 54
Slide 54 text
ࠓ͔ΒύονΛͨ͘͞Μ ॻ͍͍͖ͯ·͠ΐ͏
Slide 55
Slide 55 text
ͦΕ͔Βɺͷ߹ɺଞਓͷϓϩμΫτʹύονΛ ͛Δ͚ͩ͡Όͳͯ͘ɺझຯͰΑࣗ͘࡞ͷgemΛ ࡞͍ͬͯ·͢
Slide 56
Slide 56 text
ࣄฑɺओʹʮRailsϓϥΪϯʯ
Slide 57
Slide 57 text
"Rails Plugin" 🛤 ࢮޠʁ 🛤 ࠷ۙͰ୯ʹ"gem"ͬͯݴΘΕͯΔʁ
Slide 58
Slide 58 text
gem != Rails Plugin
Slide 59
Slide 59 text
ͨΓલ͚ͩͲɺੈͷதʹRailsͷ֦ ுҎ֎ͷgem͋Δ
Slide 60
Slide 60 text
💎 rfd
Slide 61
Slide 61 text
rfd 🛤 RubyͰ࡞ͬͨFD(ϑΝΠϥʔ)ͷΫϩʔϯ
Slide 62
Slide 62 text
ݟͲ͜Ζ 🛤 rfd/commands.rb 🛤 Կ͔Ωʔ͕ԡ͞ΕΔͱɺͱʹ͔ͦ͘ͷΩʔͷ໊લͷ ϝιου͕࣮ߦ͞ΕΔ
Slide 63
Slide 63 text
͖͔͚ͬ 🛤 ͜ͷcommands.rbͷΈΛࢥ͍͍ͭͯ͠·ͬͨ ͷͰ࣮ͯ͠Έͨ͘ͳͬͯ࡞ͬͨ
Slide 64
Slide 64 text
ϝϯς 🛤 2ը໘ରԠͱ͔͍ͨ͠ͱࢥ͍ଓ͚ͯؒ์ஔத…… 🛤 ։ൃΛखͬͯ͘ΕΔํืूத
Slide 65
Slide 65 text
gem != Rails Plugin 🛤 ࠓٯʹɺgemͰͳ͍Rails pluginͷύλʔϯ
Slide 66
Slide 66 text
ੲRailsͷ֦ுgem͡Ό ͳ͔ͬͨ
Slide 67
Slide 67 text
💎 i18n_generators
Slide 68
Slide 68 text
i18n_generators 🛤 Rails I18nͷϦιʔεϑΝΠϧΛࣗಈ༁Ͱੜ͠·͘Δͭ 🛤 ͕ॳΊͯࣗͰ࡞ͬͨRails plugin 🛤 (ͦΕҎલʹଞਓ͕࡞ͬͨͷΛforkͯ͠ϝϯςͱ͔͙ͯͨ͠Β͍) 🛤 2008 🛤 GitHubͱ͔Asakusa.rbͱ͔͕Ͱ͖ͨ
Slide 69
Slide 69 text
First CommitΛݟͯΈΔͱ…… 🛤 https://github.com/amatsuda/ i18n_generators/commit/7a9b45c
Slide 70
Slide 70 text
Installation
Slide 71
Slide 71 text
gem install ͱ͔ bundle install ͡Όͳ͍ʂ 🛤 ࣌gem͡Όͳ͔ͬͨ͜ͱ͕Θ͔Δ
Slide 72
Slide 72 text
Rails pluginͱͯ͠ൺֱతྺ࢙ ͕ͯͣͬ͘ͱϝϯςͯ͠ΔͷͰ 🛤 Ruby 1.8ʙ3.0ͷશͯͷόʔδϣϯRubyͰಈ͘ 🛤 Rails 3.0ʙ6.1ͷશͯͷόʔδϣϯRailsͰಈ͘ 🛤 ݱଘ͢ΔRails I18nؔ࿈ϓϩμΫτͱͯ͠࠷ݹͷ ͷ͔͠Εͳ͍
Slide 73
Slide 73 text
࡞͖͔͚ͬͨͬ 🛤 Rails I18nϓϩδΣΫτʹ࠷ॳ͔ΒؔΘͬͨຊਓͩͬͨ 🛤 ࣌͘ΘΕ͍ͯͨ gettext-rails ͷϦιʔεΛϕʔεʹͯ͠ɺຊମଆ ͷ ja.yml Λॻ͍ͨ 🛤 ΞϓϦͷYAMLΩʔͷ໋໊نଇ͕ܾ·ͬͯΔΜ͔ͩΒࣗಈੜͰ͖ ΔͷͰʁͱࢥͬͨͷͰͬͯΈͨ 🛤 Rails I18n͢ΔͳΒ͜͏͍͏ͷ͕ඞਢͰʁͱࢥͬͯ࡞͚ͬͨͲɺ ҙ֎ͱ·Βͳ͔ͬͨ
Slide 74
Slide 74 text
ٯʹɺ࡞ऀ͕ࢥͬͨҎ্ʹ ·ͬͯ͠·ͬͨͷ
Slide 75
Slide 75 text
💎 kaminari
Slide 76
Slide 76 text
kaminari 🛤 ϖʔδωʔγϣϯ͢Δͭ 🛤 2011
Slide 77
Slide 77 text
࡞͖͔͚ͬͨͬ 🛤 ࣌σϑΝΫτͩͬͨwill_paginate͕Rails 3ʹ ͳ͔ͳ͔ରԠͯ͘͠Εͳͯ͘ࠔͬͯͨ 🛤 ͦͷ͜Ζ࡞ऀͨͪGitHub͍ͬͯ͏ελʔτΞοϓ Λۀ͔ͯͯͬͨ͠͠ 🛤 Rails 3ͷ৽ػೳΛ͑ͬͱ͏·͘࡞ΕΔؾ͕ͨ͠
Slide 78
Slide 78 text
Rails 3ͷ৽ػೳ 🛤 Active RecordͷϝιουνΣΠϯํࣜͷ৽API 🛤 Rails Engine
Slide 79
Slide 79 text
Rails 3ͷ৽ػೳʹ͍ͭͯͷৄ͍͜͠ͱ ࣌ WEB+DB Press Vol. 58 ʹॻ͍ͨ 🛤 ૯ूฤͷDVDΛങ͑ࠓͰಡΊ·͢
Slide 80
Slide 80 text
ݱଘ͢ΔதͰੈքͰԿ൪͔ʹ ݹ͍Rails Engine͔͠Εͳ͍
Slide 81
Slide 81 text
kaminari͍ͬͯ͏;໊͚ͨ͟લ 🛤 ίʔυॻ͚ͨΜ͚ͩͲɺ໊લ͕ܾΊΒΕͳͯ͘ 2ि͙ؒΒ͍ϦϦʔεͰ͖ͳ͔ͬͨ 🛤 ౦ژRubyձ͔ٞͳΜ͔Ͱhsbt͞Μʹ͖ͯͱ͏ʹ ܾΊͯΒͬͨ
Slide 82
Slide 82 text
ڞಉϝϯςφ 🛤 @yuki24 🛤 ࣌Issue͕100ݸͱ͔ཷ·ͬͯΔͷΛݟΔʹݟ͔Ͷ ͯɺAsakusa.rbͷmeetupͰʮख͍·͠ΐ͏ ͔ʁʯͬͯݴͬͯ͘Εͨ
Slide 83
Slide 83 text
ͻͲ͍ίʔυ 🛤 ·͍͋Ζ͍Ζྺ࢙తܦҢ͕͋ΔΜͰ͢Α 🛤 ࠓͱͳͬͯݟͲ͜Ζಛʹͳ͍͠ɺίʔυ৭ʑ ͻͲ͍ΜͰಛʹಡΉඞཁͳ͍
Slide 84
Slide 84 text
2011ͭͳ͕Γ 🛤 2011ʹ࡞ͬͨଞͷgem
Slide 85
Slide 85 text
💎 action_args
Slide 86
Slide 86 text
action_args 🛤 Railsͷίϯτϩʔϥʔ͕MerbΈ͍ͨʹͳΔͭ 🛤 ͜ΕφγͰRailsͳΜ͔͑ͳ͘ͳΔ͙Β͍ศར ͳͭ
Slide 87
Slide 87 text
͕ࣗ࡞ͬͨgemͷதͰҰ൪͖ ͳ͔ͭ͠Εͳ͍
Slide 88
Slide 88 text
࡞͖͔͚ͬͨͬ 🛤 Rails 3ͷίϯτϩʔϥʔͷίʔυ͕ؾʹ৯Θͳ ͔͔ͬͨΒ
Slide 89
Slide 89 text
Rails 2 + Merb = Rails 3 🛤 ίϯτϩʔϥʔʹؔͯ͠ɺྑ͘ͳ͍ํͷAPIΛ બͯ͠͠·ͬͨ 🛤 ͜͜ͰMerbํࣜΛαϙʔτͰ͖ͳ͔ͬͨͷRails ͷྺ্࢙গͳ͍DHHͷஅϛεͩͱࢥ͏
Slide 90
Slide 90 text
ݟͲ͜Ζ 🛤 https://github.com/asakusarb/action_args/ commit/895b1ad
Slide 91
Slide 91 text
"using Refinements in order not to reveal our plugin internal methods"
Slide 92
Slide 92 text
͜ͷgemͷதͰ͔͠Θͳ͍ϓϥΠϕʔτͳ ϝιουΛੜͨ͢ΊʹrefinementsΛ׆༻ 🛤 ͜͜ͰɺActionController::Base ʹϓϥΪϯ ෦༻ͷϩδοΫΛՃ͍ͯ͠ΔΜ͚ͩͲɺͦΜͳ ͷ͕ϢʔβʔͷΞϓϦʹ࿙Εग़ͪ͠Ό͏ͱΧοίѱ ͍ 🛤 ͦ͜ͰɺϑΝΠϧείʔϓͳϝιουΛݺͼ͍ͨͱ ͜ΖͰ͚ͩੜ͢Α͏ʹ͢Δ
Slide 93
Slide 93 text
20158݄ 🛤 ͜ͷίϛοτ͕ߦΘΕͨ20158݄ʹԿ͕͋ͬͨͷ ͔ʁ
Slide 94
Slide 94 text
͖͔͚ͬ @_ksss_ ͞Μͷπ Πʔτ
Slide 95
Slide 95 text
https://twitter.com/_ksss_/ status/631458253688340480
Slide 96
Slide 96 text
https://twitter.com/a_matsuda/ status/631470723974873093
Slide 97
Slide 97 text
https://twitter.com/_ksss_/ status/631478188414144512
Slide 98
Slide 98 text
https://twitter.com/_ksss_/ status/631589269283303424
Slide 99
Slide 99 text
https://twitter.com/a_matsuda/ status/631608168175415296
Slide 100
Slide 100 text
ͪͳΈʹཌʹRailsʹೖΕͨ 🛤 https://github.com/rails/rails/commit/ 571f0f32 🛤 ͜Ε͕Rails্࢙ॳrefinements
Slide 101
Slide 101 text
https://github.com/rails/ rails/commit/571f0f32
Slide 102
Slide 102 text
Refinements 🛤 ͓ࣄͷRailsΞϓϦͰ΄ͱΜͲ͍ಓ͕ͳ͍͚ ͲɺϥΠϒϥϦϑϨʔϜϫʔΫͷ։ൃʹ͛͢ʔ ศར
Slide 103
Slide 103 text
͓ͦΒ͘͜ͷػೳΛ͏·͘͏ͱɺΊͪΌΊ ͪΌ៉ྷͳϑϨʔϜϫʔΫΛ࡞Δ͜ͱՄೳ͔ 🛤 public APIϝιουҎ֎ϢʔβʔʹԿݟ͑ͯͳ ͍Έ͍ͨͳ 🛤 ͰRails͍·͞Βແཧ͔ͳ……
Slide 104
Slide 104 text
ͦΕ͔Βɺ2011ʹ࡞ͬͨͷΛ ͏ͻͱͭ
Slide 105
Slide 105 text
💎 active_decorator
Slide 106
Slide 106 text
active_decorator 🛤 ͍ΘΏΔσίϨʔλʔ 🛤 Active Model͕ੜͨ͜͠ͱ͋ͬͯɺ Presenterύλʔϯͱ͔ͦ͏͍͏ͷ͕ྲྀߦͯͨ͠ 🛤 Draper͕Ͱ͖ͨͷ͜ͷ͜Ζ
Slide 107
Slide 107 text
͖͔͚ͬ 🛤 Draperͷख৮Γ͕͋·ΓʹRubyΒ͘͠ͳͯ͘ ؾ࣋ͪѱ͍ͷͰɺࣗͰͬͱײ৮ͷྑ͍ͷΛ ࡞ͬͨ 🛤 ਖ਼͍͠ઃܭͱਖ਼͍࣮͠Λࢥ͍͍ͭͯ͠·ͬͨ
Slide 108
Slide 108 text
ਖ਼͍͠ઃܭͱਖ਼͍࣮͠ 🛤 view helperͳΜ͔ͩΒɺhelperͱಉ༷viewͷதͰ ͚ͩ༗ޮʹͳΔ͖ => 🛤 ͋ɺͱ͍͏͜ͱɺview_assigns ͷλΠϛϯάͰҾ ͖͠ରͷivarΛObject#extend͢Ε͍͍ͷͰ ʂ
Slide 109
Slide 109 text
view_assignsͱ͔;ͭ͏Βͳ͍ ͱࢥ͏ΜͰ͚͢Ͳɺ 🛤 ͜ͷAPIͷ͕ࣝ͋Δ͔ͳ͍͔͕ɺDraperͱͷ ख৮ΓͷࠩΛੜΜͩ
Slide 110
Slide 110 text
WEB+DB Press Vol.58ͷಛू1Λॻͨ͘Ίʹ Rails 3ͷίʔυΛಡΈ·ͬͨ͘ͷ͕࣮݁ͨ͠
Slide 111
Slide 111 text
ख৮Γ 🛤 ;ͭ͏ͷRubyͷϞδϡʔϧΛૉʹ͏͚ͩ 🛤 ಛघͳجఈΫϥεΛܧঝͱ͔͠ͳ͍ 🛤 ͓·͡ͳ͍Λ֮͑ͳͯ͘ྑ͍ 🛤 RubyͷύϫʔΛͦͷ··͏
Slide 112
Slide 112 text
ࣅͨΑ͏ͳίϯηϓτͷͷΛ ͏1ݸ
Slide 113
Slide 113 text
💎 jb
Slide 114
Slide 114 text
jb 🛤 JSONΛ࡞ΔͨΊͷςϯϓϨʔτΤϯδϯ 🛤 jbuilder͍ͬͯ͏DSL͕ԚΒ͍ͯ͘͠ํ͕֮͑ ʹ͍ͭ͘ͷalternative
Slide 115
Slide 115 text
ίϯηϓτ 🛤 JSONͱRubyͷHash͍͍ͬͯͩͨҰॹͩΑͶ 🛤 ςϯϓϨʔτͷதͰจࣈྻΛͬͨுͬͨͯ͠ JSONͬΆ͍จࣈྻΛΈཱͯΔΜ͡Όͳͯ͘ɺ HashͷΠϯελϯεΛ࡞ͬͨΒͦΕΛJSONʹ͠ ͯ͘ΕΔ΄͏͕ײతͩ͠ے͕ྑ͍ͷͰʁ
Slide 116
Slide 116 text
ઃܭͱ࣮ 🛤 Action ViewͰ1ຕ1ຕͷςϯϓϨʔτ͕ίϯύΠϧ͞Εͨ ͷ͕ϝιουͱͯ͠ఆٛ͞ΕΔ 🛤 jbͰίϯύΠϧԿͳͯ͘ɺςϯϓϨʔτʹॻ͍ͨͷ ͕ͦͷ···ΔͬͱϝιουbodyʹͳΔ 🛤 ͦͷϝιου͕HashͷΠϯελϯεΛฦ͢Α͏ʹ͢Ε͍ ͍͚ͩɻͱʹ͔͘;ͭ͏ͷRubyΛॻ͚ྑ͍
Slide 117
Slide 117 text
ϝϦοτ 🛤 ṖͷDSLΛ֮͑ͳͯ͘ྑ͍ 🛤 Կͯ͠ͳ͍ͷͰ͍ 🛤 jbuilderΑΓϑΝΠϧ໊ͷ֦ுࢠ͕͍
Slide 118
Slide 118 text
ݟͲ͜Ζ 🛤 template handlerͷԿͬͯͳͬ͞Γ
Slide 119
Slide 119 text
lib/jb/handler.rb
Slide 120
Slide 120 text
handler͕Կͬͯͳ͍ςϯϓϨʔτ ΤϯδϯΛ͏1ݸ
Slide 121
Slide 121 text
💎 string_template
Slide 122
Slide 122 text
ݱଘ͢ΔRubyͷςϯϓϨʔτ ΤϯδϯͷதͰӉ࠷
Slide 123
Slide 123 text
jbͱಉ͡ײ͡ͰɺςϯϓϨʔτ͕ ͦͷ··ϝιουbodyʹͳΔ 🛤 ͦ͜Ͱฦͨ͠String͕ͦͷ··HTMLͱ͔ʹͳΔ
Slide 124
Slide 124 text
ςϯϓϨʔτ͕ΫΦʔτ͞Εͨͷ͕ ·Δ͝ͱ1ຊͷStringϦςϥϧʹͳΔ 🛤 ແବͳbufferΦϒδΣΫτ͕ΘΕͣʹҰܸͰ String͕ΈཱͯΒΕΔͷͰੈք࠷
Slide 125
Slide 125 text
ͨͩͷRubyͳͷͰɺಛघͳຒΊࠐΈ ه๏ͱ͔Ұͳ͍
Slide 126
Slide 126 text
<%= %> ͱ͔ແͯ͘େৎͳͷʁ
Slide 127
Slide 127 text
RubyͷStringʹ #{} ͷ interpolation ͕͋ΔΜͰ͢Αʂ 🛤 ͜ΕͰ͚ͬ͜͏ͳΜͱ͔ͳΔ
Slide 128
Slide 128 text
͍Ͳ͜Ζ 🛤 layoutϑΝΠϧͱ͔Έ͍ͨͳɺΊͬͪΌrender͞ ΕΔ͚Ͳ͋·Γසൟʹ͍͡Βͳ͍Α͏ͳͷ͜Ε Ͱॻ͍͓ͯ͘ͱύϑΥʔϚϯε͕Ք͛Δ͔
Slide 129
Slide 129 text
ݟͲ͜Ζ 🛤 ͬͺΓtemplate handlerͷԿͬͯͳͬ͞ Γ
Slide 130
Slide 130 text
lib/string_template/ handler.rb
Slide 131
Slide 131 text
Τϯδϯͭͳ͕Γ 🛤 ΤϯδϯΤϯδϯͰɺࠓςϯϓϨʔτΤϯ δϯ͡Όͳͯ͘ Rails Engine
Slide 132
Slide 132 text
💎 heavens_door
Slide 133
Slide 133 text
heavens_door 🛤 ΈΜͳେ͖Capybaraͷςετίʔυ͕ɺϒϥ βͷૢ࡞͔ΒੜͰ͖ΔEngine
Slide 134
Slide 134 text
໊લ 🛤 ࿐ઌੜͷελϯυ 🛤 ͳΜ͔ͦΕͬΆ͍ؾ͕ͨ͠Μ͚ͩͲɺ·͋Θ͔Γʹ ͔ͬͨ͘Ͱ͢Ͷ
Slide 135
Slide 135 text
͖͔͚ͬ 🛤 ZOZOςΫϊϩδʔζ͞Μͷ৽نҊ݅ͰɺΈΜͳͰ systemςετॻ͜͏͍ͥͬͯ͏͜ͱʹͳͬͯ 🛤 Ͱखॻ͖Ͱ͍͍ͪͪॻ͘ͷେมͩͬͨͷͰ
Slide 136
Slide 136 text
࣮ϒϥβૢ࡞Ϟʔυ͚ͩ͡Όͳͯ͘ ίϚϯυϥΠϯϞʔυ͋ͬͨΓ͢Δ
Slide 137
Slide 137 text
ίϚϯυϥΠϯϞʔυʁ 🛤 ࡞ͬͨຊਓʹ͔͍͠ํ͕Θ͔Βͳ͍πʔϧʹͳΓ ͦ͏ͳͷͰ৸͔ͤͯ͋Δ
Slide 138
Slide 138 text
ઌߦݚڀ 🛤 ͜ͷϒϥβ্ͷૢ࡞Λهͯ͠capybaraͷίʔ υΛు͘ػೳɺ2010ʹ࡞ͬͨhocus_pocusͬ ͍ͯ͏Rails Engine pluginͷػೳͱͯ͠طʹ࣮ ࡁΈͩͬͨͷ
Slide 139
Slide 139 text
͜Μͳ;͏ʹxxܦ͔ͬͯΒੲॻ͍ͨ ίʔυͷժ͕ग़ͨΓ͢Δ͜ͱ͋Δ 🛤 ίʔυΛॻ͖ଓ͚ͯΔͱΞυόϯςʔδ͕͋ͬ ͨΓ͢Δɺͱ͍͏ࣄྫ
Slide 140
Slide 140 text
💎 hocus_pocus
Slide 141
Slide 141 text
hocus_pocus 🛤 WikiΈ͍ͨͳײ֮Ͱɺϒϥβ্Ͱૢ࡞ͨ͠Βαʔ όʔ্Ͱϖʔδ͕࡞ΕΔRails Engine
Slide 142
Slide 142 text
࡞Γ࢝Ίͨͷ2010 🛤 Kaminari͕Engineͱͯ͠૬ݹ͍͖ͬͯͬ͞ ݴ͚ͬͨͲɺͦΕΑΓݹ͔ͬͨ 🛤 ͍͢͝Φʔύʔπ͔͠Εͳ͍
Slide 143
Slide 143 text
͍·͍ͪྲྀߦΒͳ͔ͬͨ…… 🛤 UI͕ϔϘ͗ͨ͢ 🛤 πʔϧࣗମͷ֓೦͕͗ͨ͢͠ 🛤 υΩϡϝϯτ͕ແͩͬͨ 🛤 Γ͔ͨͬͨ͜ͱͰ͖ͦ͏ʂͬͯࢥͬͨΒͳΜ͔ ͖ͨ
Slide 144
Slide 144 text
͍͍ͩͨͰ͖ͨʂ => ͪΌΜͱ͑ Δ·Ͱ࡞ΓࠐΉͷ͕ۤख
Slide 145
Slide 145 text
ίϯηϓτ͕ಛघ͍ͩ͠ํղͰɺ࡞ͬͨ ຊਓʹ͔͍͠ํ͕Θ͔Βͳ͍πʔϧʹͳͬͯ ͠·ͬͨ
Slide 146
Slide 146 text
͜ͷϓϩμΫτ͕ٴ΅ͨ͠Өڹ 🛤 Railsඪ४ͷweb-consoleΛΠϯεύΠΞ 🛤 https://github.com/rails-girls-summer-of- code/summer-of-code-2014/wiki/Project- ideas#conductor-web-based-assistant-for- development
Slide 147
Slide 147 text
࡞ͬͨߕ൹͋ͬͨΈ͍ͨ 🛤 ݁ہweb-consoleͬͯΔ͜ͱͥΜͥΜҧ͏ ͚Ͳ……
Slide 148
Slide 148 text
Capybaraؔ࿈ͷϏδϡΞϧܥͷ EngineΛ͏1ͭ (͋ͱ͍ͭͰʹݴ͏ͱϓϩάϨۂ໊ͭͳ͕Γ)
Slide 149
Slide 149 text
💎 roundabout
Slide 150
Slide 150 text
roundabout 🛤 ը໘ભҠਤੜπʔϧ
Slide 151
Slide 151 text
ը໘ભҠਤͷੜ 🛤 ࣮ͱͯ͠CapybaraͷϞϯΩʔύον 🛤 ςετίʔυதʹCapybaraͰൃੜͨ͠ϦΫΤετ ͷભҠΛશ෦ه͢Δ 🛤 ͜ΕΛͭͳ͛ͯֆʹ͢Δͱը໘ભҠਤʹͳΔ
Slide 152
Slide 152 text
͜Μͳײ͡(RedmineϓϩδΣΫτͰ ࣮ߦͨ݁͠Ռ)
Slide 153
Slide 153 text
ਤʹςετ͕ॻ͔Ε͍ͯΔ ͷ͔͠ग़ͯ͜ͳ͍ 🛤 ͭ·Γɺ͋ΔछͷςετΧόϨοδతͳͷ͕Մࢹ Խ͞ΕΔπʔϧͰ͋Δͱݴ͑Δ
Slide 154
Slide 154 text
ΞΠσΞ͓͠Ζ͍͠ɺϙςϯγϟϧ͋Δ ؾ͕͢ΔΜ͚ͩͲɺ͋·ΓΘΕͯΔखԠ͑ ͳ͍͔ 🛤 ͜ΕΛػʹͥͻ͝ར༻͍ͩ͘͞
Slide 155
Slide 155 text
ΧόϨοδؔ࿈ͭͳ͕ΓͰ
Slide 156
Slide 156 text
💎 per_file_coverage (unreleased)
Slide 157
Slide 157 text
per_file_coverage (Ծ) 🛤 ςετ࣮ߦ࣌ʹɺΞϓϦΛߏ͢Δ֤ϑΝΠϧ͕ Ͳͷςετ͔Βݺͼग़͞Ε͍ͯΔ͔(ͱɺͦͷٯ)Λ શ෦ચ͍ग़ͯ͠ՄࢹԽ͢Δ
Slide 158
Slide 158 text
࣮ͱͯ͠SimpleCovͷ ϓϥάΠϯ 🛤 (ͨͩ͠SimpleCovʹϓϥάΠϯͳͲͱ͍͏֓೦ ͳ͍)
Slide 159
Slide 159 text
ࠈͷϞϯΩʔύον 🛤 ͦ͏͍͍͓͑ͪ͏ SimpleCov ͷίϛολʔͰ ͋ΔͷͰɺ֦ு͕͍͢͠Α͏ʹϑΟʔυόοΫ͙ Β͍͍͖͍ͯͨ͠
Slide 160
Slide 160 text
RubyͷCoverageϞδϡʔϧΛ ར༻
Slide 161
Slide 161 text
͖͔͚ͬ 🛤 ANDPADࣾͷͦͦ͜͜ͷنͷطଘΞϓϦʹࢀը ͯ͠ɺʮ͜ͷίʔυͲͷspecϑΝΠϧ͔Βςε τ͞ΕͯΔΜͩΖ͏ʁʯͱ͔ɺٯʹʮ͜ͷspec Ͳ͜ΒΜͷϑΝΠϧΛςετͯ͠ΔΜͩΖ͏ʯͱ ͔Γͨ͘ͳͬͨͷͰ
Slide 162
Slide 162 text
application_controller͚ͩͰ300ݸͱ͔͋Δ ͷͰɺͬͺ͜͏͍͏ͷ͕Γͨ͘ͳΔΜͰ͢Α
Slide 163
Slide 163 text
Ξτϓοτྫ
Slide 164
Slide 164 text
͔͠͠ɺgem·ͩͳ͍…… 🛤 HTML͕ڊେԽͨ͠߹ͷύϑΥʔϚϯε͕ ͍ͤͯͳ͍ 🛤 ໊લ͕ܾ·͍ͬͯͳ͍ʂ
Slide 165
Slide 165 text
୭໊͔͍͍લΛ͚͍ͭͯͩ͘͞ 🛤 ͓ئ͍͠·͢
Slide 166
Slide 166 text
Coming Soon...💎
Slide 167
Slide 167 text
࠷ۙͷ͓ࣄؔ࿈Ͱ࡞ͬͨͷΛ ͏1ͭ
Slide 168
Slide 168 text
💎 lightweight_attributes
Slide 169
Slide 169 text
lightweight_attributes 🛤 Active RecordͷϞσϧͷΠϯελϯεੜΛۃྗ ܰ͘͢ΔͨΊͷ͑͛ͭͳ͍ϞϯΩʔύον
Slide 170
Slide 170 text
ARͷϞσϧͷΠϯελϯεੜ 🛤 AR 4͙Β͍Ͱೖͬͨtype castingͱ͔͍͏୭ͬͯͳ ͍ػೳͷͨΊʹٸܹʹॏͨ͘ͳͬͨ 🛤 ͱʹ͔͘DB͔ΒϞσϧΛΨόοͱҾͬுͬͯฦ͚ͩ͢Έͨ ͍ͳAPIͱ͔ͩͱɺ͕͜͜ϘτϧωοΫʹͳΔ 🛤 RubyϨϕϧͰɺಛʹTimeతͳͭͷparse͕͔ͬͨ Γ͢Δ
Slide 171
Slide 171 text
RubyͰTimeతͳͭͷparse͕ ͘ͳΔͱ͍͍ͳ͊ 🛤 https://bugs.ruby-lang.org/issues/16005
Slide 172
Slide 172 text
https://bugs.ruby-lang.org/ issues/16005
Slide 173
Slide 173 text
ͱ͋Εɺ lightweight_attributes ʹ͍ͭͯ
Slide 174
Slide 174 text
sponsored by ΞΧπΩ 🛤 ࠓ͔Βnobuͷύτϩϯʹͳͬͨ͋ͷΞΧπΩࣾ Ͱ͢ʂ
Slide 175
Slide 175 text
ίʔυ͕͑͛ͭͳ͗ͯ͢͞ ϝϯςෆೳ 🛤 ͜ͷΜͷίʔυRailsͷόʔδϣϯ͝ͱʹͥΜ ͥΜҧͬͯͯɺෳόʔδϣϯରԠͱ͔Ϛδແཧ
Slide 176
Slide 176 text
ͱ͍͏͜ͱͰɺ·ͱʹϝϯς ͞Εͯͳ͍ͷͰར༻ඇਪ
Slide 177
Slide 177 text
type castingΛԆͤ͞Δͱ͍͏ ΞΠσΞ 🛤 kamipo͞Μ͕͏·͍͜ͱरͬͯActive Record 6.1ʹίϛοτͯ͘͠Ε͔ͨΒ͏͓ଂೖΓͰ͍͍͔ ͳ……
Slide 178
Slide 178 text
Rails 6.1
Slide 179
Slide 179 text
Coming Soon...💎
Slide 180
Slide 180 text
ΞΧπΩ͞ΜεϙϯαʔͰ͏1ͭ
Slide 181
Slide 181 text
💎 activerecord-ruby (unreleased) 🛤 ΞϓϦதͰߋ৽͞Εͳ͍͜ͱ͕લఏͷ͍ΘΏΔ ʮϚελʔσʔλʯΛΠϯϝϞϦʹల։ 🛤 ARͷΦϒδΣΫτͷ··Ωϟογϡ͢Δ 🛤 readonlyͳͷͰ҆৺͍ͯ͠ճͤΔ
Slide 182
Slide 182 text
ૂ͍ 🛤 ΫΤϦͷແବଧͪΛ੍ 🛤 ARͷΦϒδΣΫτੜίετΛݮ 🛤 GCෛՙΛܰݮ
Slide 183
Slide 183 text
͜͜·ͰͳΒ୭͕ߟ͑ͨ͜ͱ͋Δͱࢥ͏ Μ͚ͩͲɺΠϯλʔϑΣΠεͱ࣮͕ 🛤 Model.fetch_from_cache ͱ͔ͦ͏͍͏ײ͡ͷ μα͍ίʔυઈରॻ͖ͨ͘ͳ͍ 🛤 ϓϩμΫγϣϯͷίʔυ;ͭ͏ͷARͷίʔυ͔Β Կม͑ͣʹɺͰͲͷϞσϧ͕ʮϚελʔςʔϒ ϧʯ͔͚ͩڭ͑ͯͬͨΒউखʹۭؾΛಡΜͰಈ࡞ ͢Δ͙Β͍͕͍͍
Slide 184
Slide 184 text
activerecord-ruby ͷAPI 🛤 ʮϚελʔʯͬΆ͍ϞσϧʹҎԼͷΑ͏ͳએݴΛ ೖΕΔ class Country < ActiveRecord::Base find_by_ruby! end
Slide 185
Slide 185 text
ͦΕ͚ͩ 🛤 ଞͷίʔυҰ͍͡Βͳͯ͘ɺҎԼͷΫΤϦͨ ͕ͪDBΛݺͼग़͢͜ͱͳ͘దͳΛฦ͢ Model.find(id) Model.where(prefecture: 'Tokyo').order(:created_at)
Slide 186
Slide 186 text
joins͕ೖͬͯͨΓ͢ΔΑ͏ͳෳࡶͳΫΤϦ ͕͛ΒΕͨΒDBʹϑΥʔϧόοΫ͢Δ
Slide 187
Slide 187 text
ϝϞϦ͔Βऔ͖ͬͯͨͷͱDB͔Βऔ͖ͬͯͨ ͷʹᴥᴪ͕ͳ͍͔Ͳ͏͔ൺֱ͢ΔϞʔυΛࡌ 🛤 ςετΛ͜ΕͰճ͓ͯ͘͠ͱ҆৺Ͱ͖Δͣ
Slide 188
Slide 188 text
ύϑΥʔϚϯεήΠϯ 🛤 ະ 🛤 ਖ਼ͳͱ͜Ζɺ·ͱͳ࣮ΞϓϦͰͷޮՌݶఆత ͳ༧ײ͍ͯ͠Δ 🛤 DBͷଓ͕ύοπϯύοπϯΈ͍ͨͳڥͰ ޮ͔͘
Slide 189
Slide 189 text
ݟͲ͜Ζ 🛤 ARͷΠϯλʔϑΣΠεͱγʔϜϨεʹ࿈ܞ͢ΔͨΊ ͷςΫχοΫ
Slide 190
Slide 190 text
࣮ৄࡉ 🛤 AR͕ΈཱͯͨASTΛSQLͰͳͯ͘Rubyͷ ίʔυʹม͢Δ ToRuby visitor ΛΰϦΰϦ࣮
Slide 191
Slide 191 text
gem·ͩͳ͍
Slide 192
Slide 192 text
Coming Soon...💎
Slide 193
Slide 193 text
ࠓ·Ͱʹແ͔ͬͨΞϓϩʔνͩ͠ɺίʔυ͔ ͳΓ͓͠Ζ͍ͷͰɺੈʹग़ͨΞΧπΩʹͥͻ ͍ͬͯ͡Έ͍ͯͩ͘͞
Slide 194
Slide 194 text
ઌߦݚڀ 🛤 arel_ruby
Slide 195
Slide 195 text
💎 arel_ruby 🛤 https://github.com/amatsuda/arel_ruby 🛤 (2012)
Slide 196
Slide 196 text
ArelͷASTͷRuby visitor 🛤 ͭ·ΓɺࠓճͷϓϩμΫτͷΤϯδϯ෦ͦͷͷ
Slide 197
Slide 197 text
͜Ε࣌ɺRDB͔ΒΓͯ͠Rubyͷੈք͚ͩ ͰΞϓϦͷςετ͕࣮ߦͰ͖ͨΒ͓͠Ζ͍͔ɺ ͱࢥͬͯͬͯΈͨͷ 🛤 ͋·Γݱ࣮తͳϢʔεέʔεͰͳ͔ͬͨͷͰɺ ୯ʹ໘നͦ͏͔ͩΒ࡞ͬͯΈ͚ͨͩΈ͍ͨͳײ͡ʹ ͳͬͯ͠·ͬͨ 🛤 ͦͯͣͬ͠ͱ͓ଂೖΓ
Slide 198
Slide 198 text
ίʔυॻ͚ͯϢʔεέʔε Λݟޡͬͨྫ
Slide 199
Slide 199 text
8ܦͬͯɺ৽ͨͳϢʔεέʔεΛ ݟ͚ͭͯ෮׆
Slide 200
Slide 200 text
͜Μͳ;͏ʹxxܦ͔ͬͯΒੲॻ͍ͨ ίʔυͷժ͕ग़ͨΓ͢Δ͜ͱ͋Δ 🛤 ίʔυΛॻ͖ଓ͚ͯΔͱΞυόϯςʔδ͕͋ͬ ͨΓ͢Δɺͱ͍͏ࣄྫ
Slide 201
Slide 201 text
·ͱΊ
Slide 202
Slide 202 text
ͬͺRails 🛤 RailsΛ͍ͬͺ͍ಡΜͩΓॻ͍ͨΓ͍ͯ͠ΔͱRails ʹৄ͘͠ͳΔ
Slide 203
Slide 203 text
͍ͭͰͲ͜Ͱૉૣ͘ ύονΛॻ͜͏ 🛤 Railsʹৄ͘͠ͳΔͱɺRails͚ͩ͡Όͳ͍ͯ͘ΖΜ ͳͷʹύον͕ॻ͚ΔΑ͏ʹͳΔ 🛤 gem-srcΛrbenvbundlerͱ࿈ܞ͓͍ͤͯͯ͞ɺ ৗʹ࠷खॱͰύονΛ͚͛ͭΕΔ४උΛ͑ͯ ͓͜͏
Slide 204
Slide 204 text
ͱʹ͔ͨ͘͘͞Μ ύονΛॻ͜͏ 🛤 ύονΛͨ͘͞Μॻ͔ͳ͍ͱɺύον͕ॻ͚Δ Α͏ʹͳΒͳ͍ 🛤 ྔ͕࣭ʹస͡Δ͜ͱ͋Δ
Slide 205
Slide 205 text
gem࡞Ոͷಓ 🛤 ͍ΖΜͳͷʹύονΛॻ͍ͯΔͱɺଞਓʹॻ͔ͤ ΔΑΓࣗͰॻ͍ͨ΄͏͕ྑ͍ͷ͕Ͱ͖Δ͜ͱ͕ Θ͔Δ 🛤 ͖͔͚ͬϢʔεέʔεΛ͔ͭ·͑ͯɺϓϩμΫτ ʹ͍ͯ͜͠͏
Slide 206
Slide 206 text
ͦΜͳΜ୭Ͱࢥ͍ͭ͘Ͱ͠ΐɺΈ͍ͨ ͳgemͰͱʹ͔ͬͯ͘ΈΔͱྑ͍ 🛤 ҙ֎ͱ୭Ζ͏ͱͯ͠ͳ͔ͬͨΓɺ͕ࣗੈքͰ Ұ൪͏·͘ΕͨΓ͢Δ
Slide 207
Slide 207 text
໊લॏཁ 🛤 ໊લ͚ͭΔͷΉ͍ͣ 🛤 ໊લ͕͚ͭΕͳͯ͘ࠓͷൃදʹؒʹ߹Θͳ͔ͬͨ ͷ͕͍͔ͭ͋͘ΔͷͰɺ୭͔Ұॹʹ໊લΛߟ͑ͯ ΄͍͠……
Slide 208
Slide 208 text
gemͷख़ 🛤 ࡞ͬͨgem͙͢ʹժ͕ग़ͳͯ͘ɺޙ͔ΒϢʔε έʔε͕͍͖ͭͯͯɺԿܦ͔ͬͯΒʹཱͬͨ Γ͢Δ 🛤 ͷͰɺͬͺΓΞΠσΞΛ͖ͪΜͱίʔυʹམͱ͠ ͓ͯ͘͜ͱ͕େࣄ
Slide 209
Slide 209 text
ϝϯς 🛤 gemΛ͍ͬͺ͍࡞ͬͨΓͯ͠Δͱɺϝϯςର͕ ૿͑͗ͯ͢ख͕ճΒͳ͘ͳΔ 🛤 ͖ͦͦͬΆ͍ਖ਼֬ͳͷͰϝϯςͱ͔ۤख…… 🛤 ͳͷͰɺ୭͔ϝϯςखͬͯ͘ΕΔͱͱͯخ͠ ͍……
Slide 210
Slide 210 text
Future Works 🛤 ࠓޙͱɺԿ͔ϓϩμΫτͷΞΠσΞ͕͖߱ͬͯͨ Βɺϲ݄ʹ1ճ͙Β͍ͷϖʔεͰgemΛ࡞Γଓ͚ ͍ͨ 🛤 @amatsuda ͷ࣍ճ࡞ʹ͝ظ͍ͩ͘͞ʂ
Slide 211
Slide 211 text
Coming Soon! 💎
Slide 212
Slide 212 text
·ͱΊ 🛤 গ͠Ͱօ͞Μͷ͜Ε͔ΒͷOSS׆ಈͷώϯτʹ ͳ͍ͬͯΕ͍Ͱ͢
Slide 213
Slide 213 text
end 🛤 name: Akira Matsuda 🛤 GitHub: @amatsuda 🛤 Twitter: @a_matsuda