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
cookpad_tech_kitchen_7
Search
seki at druby.org
April 21, 2017
Programming
8
4.4k
cookpad_tech_kitchen_7
#cookpad_tech_kitchen
seki at druby.org
April 21, 2017
Tweet
Share
More Decks by seki at druby.org
See All by seki at druby.org
ERB, ancient and future
m_seki
3
750
ERB Hacks
m_seki
1
1.3k
わりこまれるはなし
m_seki
0
680
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
1
980
Learn Ractor
m_seki
1
2.4k
How many copies did you buy the first print?
m_seki
1
650
Create my own search engine.
m_seki
1
5.2k
Rinda in the real-world embedded systems.
m_seki
0
390
xpjug2019 A-4: チケットシステムの設計と実装、『あのチーム』の運用
m_seki
6
6.4k
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
920
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
ヤプリ新卒SREの オンボーディング
masaki12
0
130
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Arm移行タイムアタック
qnighy
0
320
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
RailsConf 2023
tenderlove
29
900
How to train your dragon (web standard)
notwaldorf
88
5.7k
How GitHub (no longer) Works
holman
310
140k
The Invisible Side of Design
smashingmag
298
50k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Speed Design
sergeychernyshev
25
620
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Building Your Own Lightsaber
phodgson
103
6.1k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
ཧͷ։ൃݱͷ ʮ;ͭ͏ʯͷ͓ ·͓ͭ!,B[V@DPDPB ͖͋·!BLJZBNB ͖ͤ!N@TFLJ ΈΘ!NJXB
!,B[V@DPDPB ·͓ͭ͘Μ ΫοΫύουͷςετΤϯδχΞ ࠾༻త
!N@TFLJ ͖ͤ͘Μ 3VCZίϛολ ϓϩͷແ৬ એత➡ ਓࣄ෦ॻ͍ͯΔΑʂ
!BLJZBNB ळࢁ͘Μ 4PGUXBSF5FTUJOH4QFDJBMJTU ݺͼग़ͪ͠Όͬͨ
!NJXB ΈΘ ΈࠐΈγεςϜʢࣗࣾʣͷ࿀Ѫܥςελʔ ळࢁత
ɻ ΫοΫύουΤϯδχΞτʔΫφΠτ ʙΫοΫύουςετΤϯδχΞWPM5FTUJOHฤʙ ΫοΫύουͱΘͨ͠ͷݱͷςετΤϯδχΞɺ ςελʔͷΛ͠·ͨ͠
ɻ ͜ͷΠϕϯτͷ͋ͱɺळࢁ͘Μ͕͜ΜͳจΛൃද͠ ·ͨ͠
ຊ৴པੑֶձࢽ7PM /PQQΑΓ
zಠཱͨ͠ςετઐνʔϜ͕ςετ͢ΔͷͰͳ͘ɼ։ൃνʔϜ ͷதʹςετΤϯδχΞΛ༗͠ςετΤϯδχΞ͕ৗతʹෆ۩ ߹ʹ௨͡Δҧײ͕ͳ͍͔ײ֮Λݚ͗·͢͜ͱʹΑͬͯෆ۩߹ Λݟ͚͍ͭͯΔνʔϜ͕͋Δɽz zͦͷ৫Ͱʮਓϛε͢Δʯͱ͍͏ࣄ࣮ΛνʔϜͷશһ͕ड͚ ೖΕ͍ͯΔɽͦͷͨΊɺ։ൃऀͱςετΤϯδχΞ͕ରܾ͢Δߏ ਤʹͳΒͣɼ։ൃऀςετΤϯδχΞෆ۩߹ΛݮΒ࣭͠ Λ্͢Δͱ͍͏ڞ௨ͷతʹ͕͍͍ͯΔɽςετͷݱͷ ཧܗͷҰͭͱࢥ͏ɽz ຊ৴པੑֶձࢽ7PM
/PQQΑΓ
ղઆ͠·͢ Ͷ
ʮςετͷݱͷཧܗͷҰͭͱࢥ͏ʯ Θͨ͠ͷνʔϜ͕΄ΊΒΕͯخ͍͠ʂ ळࢁ͘Μςετͷଆ໘͔Βઆ໌ͯ͘͠Ε·͕ͨ͠ɺ ͜ͷνʔϜ։ൃͱςετ͕Ұମʹͳͬͯ·͢ ࠓςετ։ൃ྆ํ;͘Ίͯɺ͓͠·͠ΐ͏
Θͨ͠ͷνʔϜ !N@TFLJͷνʔϜͷ͜ͱͰ͢ ςετΛத৺ͱͨ͠෮։ൃͷνʔϜͰ͢ ͘Β͍ଓ͍͍ͯΔνʔϜ +B445ɺσϒαϛͰใࠂͨ͜͠ͱ͕͋ΔͷͰ ͖͍ͨਓ͍Δ͔ͳ
ࠓͷਐΊํ Θͨ͠ͷνʔϜͰΑ͘͏ϑϨʔζɺتΕΔ;Δ·͍ Λ͍͔ͭ͘༻ҙ͖ͯ͠·ͨ͠ ͦΕΛࡐʹɺΈͳ͞Μͱ͓͍ͨ͠ͱࢥ͍·͢
ʮ໌͔ΒΒͰग़དྷͦ͏ͱࢥͬͯΒ͑Δ ͕ྑ͍ͱࢥ͍·͢ɻʯ Θͨͦ͠͏ࢥ͏ʂ ؔ͘Μͷɺฉ͍ͯΑ͘Θ͔Βͳ͍ΜͩΑͳʜ
ল ͜Ε·ͰɺνʔϜΛ၆ᛌͯ͠։ൃͷྲྀΕʢ෮։ൃɺ ׂ࣌ؒͷ͜ͱɺϓϩηε͕มԽ͢ΔͨΊͷ͔͚͠ʣ Λใࠂ͖ͯ͠·ͨ͠ Ͱɺ͜ΕͰ͖͕͋ͬͨνʔϜͷ༷ࢠΛઆ໌ͨ͠ ͚ͩͰ͢ ʢಡΜͩΓฉ͍ͨΓ͚ͨͩ͠ͰɺͰ͖ΔΘ͚ͳ͍ͩΖʂʣ
Ծઆ νʔϜ͕νʔϜʹͳΔաఔΛࢥ͍ฦͯ࣍͠ͷΑ͏ʹ ԾઆΛཱͯ·ͨ͠ Λղܾ͍ͯ͘͠࠷தʹ͓͜Δʮখ͞ͳձʯ͕ ʮΑ͍νʔϜʯΛ͔ͨͪ࡞ΔʢͷͰͳ͍͔ʂʣ ͔ͬ͜Α͘ݴ͏ͱνʔϜͷՁ؍ɹ ϑϨʔζˠ;Δ·͍ˠՁ؍
None
None
ࡐ ࣄͷΓํ ʮ͏·͍ͬͨ͘ΒͲ͏ͳΔͷʁʯ ʮͳΜͰΔΜ͚ͩͬʁʯ ʮΓͨ͘ͳ͍ͷʁʯ γάφϧʮ͑ʔʯ تΕΔ;Δ·͍ʹ͍ͭͯ ࠓ͜ΜͳࡐΛͬͯɺͲΜͳྑ͍͜ͱ͕͋Δͷ͔ɺ༻͢Δঢ়گͳͲΛհ ͠·͢ɻ Έͳ͞ΜͷνʔϜ৫ͰࣅͨΑ͏ͳঢ়گʹͳͬͨ࣌ɺͲΜͳ͜ͱ͕ى͖Δͷ͔ɺ
Έͳ͞ΜͲ͏ߦಈ͍ͯ͠Δͷ͔ɺ಄ͷதͰߟ͑ͳ͕Βฉ͍͍ͯͩ͘͞Ͷɻ
ʮ͏·͍ͬͨ͘ΒͲ͏ͳΔͷʁʯ ͜Μͳྑ͍͜ͱ͕ى͖Δ ΰʔϧ͕Θ͔Δ ͔֬ΊΔํ๏͕Θ͔Δ ΰʔϧ·Ͱͷεςοϓ͕Θ͔Δ ͏·͘໎͑Δ ʮ˓˓͕Θ͔Δʯ݁ՌͰ͚͢ΕͲɺ͜ͷϑϨʔζ͕τϦΨʔͱͳΓʮԿ͕Θ͔͍ͬͯͯɺ Կ͕Θ͔Βͳ͍ͷ͔ʯ͕໌Β͔ʹͳΓ·͢ͶɻͦͷޙɺΘ͔ΔͨΊͷ׆ಈ͕ߦΘΕɺͦͷ݁ ՌʮΘ͔ΔʯΑ͏ʹͳΔͱ͍͏͜ͱͰ͢ɻʮ͏·͘໎͑Δʯͱ͍͏ͷɺͪΐͬͱઆ໌͕ ͍͠ͷͰ͕͢ɺΰʔϧ·ͰͷԾઆΛཱͯͯஈ֊తʹղ͘ΜͰ͢Ͷɻͦ͏͢Δͱؒҧ͍ʹؾ͕
͖ͭ͘͢ͳΔɻ࠷ޙͷ࠷ޙʹͳͬͯ͏·͍͔͘ͳ͍͜ͱ͕͔ͬͯɺ࿏಄ʹ໎ͬͯ͠·͏͜ ͱ͕ى͖ͳ͍Α͏ʹͳ͍ͬͯΔɻ͔ͩΒɺઓུతʹؒҧ͑ΒΕ·͢ɻ҆৺ͯ͠໎͑ΔΜͰ͢Ͷɻ
ʮ͏·͍ͬͨ͘ΒͲ͏ͳΔͷʁʯ ঢ়گ ˓˓ͷௐࠪΛ͠·͢ ༷Λ˓˓͞Μʹ֬ೝ͠·͢ ετʔϦʔͷλΠτϧ͕ʮ˓˓ػೳͷ࣮ʯ ˓݄˓ʹϦϦʔε͠·͢ ϨάϨογϣϯςετɺը૾సςετɺɺɺ ߟ͑ͯΈΑ͏
ୈᶜ෦ɹຊਓࣥචऀʹΑΔνʔϜϦʔμʔγοϓʹ͍ͭͯΔ͖͜ͱ ষɹϦʔυʹ͍ͭͯ ؔকढ़ ষɹҰॹʹͰ͖ΔϦʔμʔΛҭͯΑ͏ ঙ࢘Յ৫ ষɹ͏·͍ͬͨ͘ΒͲ͏ͳΔͷ ؔকढ़
ʮͳΜͰΔΜ͚ͩͬʁʯ ͜Μͳྑ͍͜ͱ͕ى͖Δ ΰʔϧͷҙຯ͕Θ͔Δ ͲΜͳͱ͖ʹ͍͍ͷʁ ͳʹΛղܾ͢Δͷʁ ͩΕ͕΄͍͠ͷʁ Γ͗͢Λ͑ΒΕΔ Ͳͷ͘Β͍Ε͍͍ͷʁ ͍·͕ࣗɺνʔϜ͕Ζ͏ͱ͍ͯ͠Δʢ͍ͬͯΔʣ࡞ۀԿͷͨΊʹ͍ͬͯΔΜ͚ͩͬʁ ͱߟ͑Δ͖͔͚ͬʹͳΓ·͢ɻ࡞ۀࣗମͷҙຯΛߟ͑Δ͜ͱʹͳΔ͔͠Ε·ͤΜ͠ɺͦͷ࡞
ۀͰ࡞Ζ͏ͱ͍ͯ͠ΔϞϊʹ͍ͭͯߟ͑Δ͜ͱ͋Γ·͢ɻԿͰΕ͍͍ͬͯͷͰͳ͍ ͷΘ͔͍ͬͯΔ͚ͲɺΓ͍͗ͯ͢ΔͷΘ͔ΓͮΒ͍ΜͰ͢ΑͶɻ
ʮͳΜͰΔΜ͚ͩͬʁʯ ঢ়گ ͠߹͍ͬͯͯಓʹ໎ͬͯͦ͏ͳ࣌ ٸʹ੩͔ʹͳΔ ͕݁ग़ͳ͍ ࡞ۀதʹ ࠔ͍ͬͯΔΑ͏ʹݟ͑Δͱ͖ த͍ͯ͠Δͱ͖ ߟ͑ͯΈΑ͏
ʮΓͨ͘ͳ͍ͷʁʯ ͜Μͳྑ͍͜ͱ͕ى͖Δ Γͨ͘ͳ͞Λ͔Γ߹͑Δ ͜Μͳͱ͜Ζ͕ΠϠͰ͢ ΞϨ͕ͦ͠͏Ͱ͢ ΈΜͳͷʮΓͨ͘ͳ͍ʯʹͳΔ Δؾͷ͍ͤʹ͠ͳ͍Ͱ͢Ή ୭͔͕ͬͯ͘ΕΔ Γͨ͘ͳ͍͜ͱɺ͋Γ·͢ΑͶɻͦΜͳͱ͖νʔϜͷ୭͔ʹʮΓͨ͘ͳ͍ͷʁʯͱฉ͔Ε ͨΒͳΜͯ͑·͔͢ʁ
Θͨ͠ͷνʔϜͰʮΓͨ͘ͳ͍ʯ͕ೝΊΒΕ͍ͯΔΑ͏ʹײ͡·͢ɻϞνϕʔτ͢ΔΑΓ ΠϠͳ͜ͱΛͳ͘͢ɺ·ͨΈΜͳͷͷʹ͢Δ΄͏͕؆୯ʂ
ʮΓͨ͘ͳ͍ͷʁʯ ঢ়گ ͍ͦ͏ͳͱ͖ Λલʹݴ༿͕ग़ͳ͍ͱ͖ ʮϞνϕʔγϣϯ͕ʔʯ͍ͬͯ͏ਓ͕͍Δͱ͖ ؔ͘Μ͕Γ͍ͨͱ͖ ߟ͑ͯΈΑ͏
͏·͍ͬͨ͘Β Ͳ͏ͳΔͷʁ ͳʹͯ͠Δͷʁ ͳΜ͚ͩͬʁ Ͱ͖ͦ͏ʁ ࠶ݱͤͨ͞Β Θ͔Δͷʁ ͳΜͰ ΔΜ͚ͩͬʁ ͜Εμϝͳͭͩ
ͳΜͰͰ͖Δͱ ࢥ͏ͷʁ ࣗͰ৮ͬͯ Έͨʁ ଟܾͰܾΊΔʁ Γͨ͘ͳ͍ͷʁ ͳʹ͕େࣄ͡Ό ͳ͍ͷʁ Ͳ͕ࣗ͜৴ ͋Δͷʁ ͕ΜΒͳ͍Ͱʂ Έͤͯ ͑ʔ
ʮ͑ʔʯ ͜Μͳྑ͍͜ͱ͕ى͖Δ ॠ࣌ʹҧײΛ͑Δ͜ͱ͕Ͱ͖Δ ͦΕ͕Կͳͷ͔ΛΈΜͳ͕Ұ੪ʹߟ͑ɺ࢝͠ΊΔ େͷ߹ɺ՝ʢʣ͕ݟ͔ͭΔ Θͨ͠ͷνʔϜʮ͑ʔʯΛฉ͔ͳ͍͕ͳ͍͘Β͍ʮ͑ʔʯΛ͍·͢ɻͪΐͬͱݴͬͯΔ ͜ͱ͕͔Βͳ͍ͳʔͱ͍͏͍࣌·͢͠ɺͦΕ͓͔͍͠Μ͡Όͳ͍͔ͳͱࢥ͏࣌ɺ· ͣʮ͑ʔʯΛݴͬͯΈΔ͜ͱ͕ଟ͍Ͱ͢ɻ͠ɺ͋ͳ͕ͨ୭͔͔Βʮ͑ʔʯͱݴΘΕͨΒɺ ͲͷΑ͏ͳؾ࣋ͪʹͳΓ·͔͢ʁԿ͔͓͔͠ͳ͜ͱΛݴͬͯ͠·ͬͨΜͩΖ͏͔ͱෆ҆ͳؾ ࣋ͪʹͳͬͨΓɺԿ͔Λ൱ఆ͞ΕͨΑ͏ͳؾ࣋ͪʹͳͬͯ͠·͏͔͠Ε·ͤΜͶɻͦͦ
ԿͰͦΕΛݴΘΕΔͷ͔͔Βͣɺࠔͯ͠͠·͏͔͠Ε·ͤΜɻΘͨ͠ͷνʔϜͷ ʮ͑ʔʯͦ͜·ͰਂࠁͳʢϝϯόʔΛই͚ͭͯ͠·͏Α͏ͳʣͷͰ͋Γ·ͤΜɻ୭͔ ͕ʮ͑ʔʯΛݴͬͨॠؒʹɺΈΜͳͷ՝ʹͳΓ·͢ɻ
ʮ͑ʔʯ ঢ়گ ͍ͭͰ͑Δ Α͘͏ϑϨʔζͷલʹ͏ͱɺΑΓޮՌత ͑ʔɺ͏·͍ͬͨ͘ΒͲ͏ͳΔͷʁ ͑ʔɺͳΜͰΔΜ͚ͩͬʁ ୯ಠͰͬͯ0, ߟ͑ͯΈΑ͏
تΕΔ;Δ·͍ ͋Εɺมͩͳʁͱࢥͬͨ࣌ʹɺ͙͢ʹ୭͔ʹݴ͏ ͜Εόά͔ͳʁͱࢥͬͨ࣌ʹɺ͙͢ʹ୭͔ʹݟͤΔ ༷͕Θ͔Βͳ͍࣌ɺ୭͔ʹฉ͘ ςετͷΓํ͕Θ͔Βͳ͍࣌ɺ୭͔ʹฉ͘ ςετΛࢥ͍͍ͨ࣌ɺΔલʹ୭͔ʹݴ͏ ͜Ε·ͰΘ͕ͨ͠ܦݧ͖͍͔ͯͨͭ͘͠ͷνʔϜͰʮ͜͏͢Δ͖ʯͱ͞Ε͍ͯͨ;Δ·͍ͱ ҧ͍ɺ͡Ί᪳ͨ͠ΓɺͦΕ͕ग़དྷΔΑ͏ʹͳΔ·Ͱ͕͔͔࣌ؒͬͨͷɻ
ʮ໌͔Βग़དྷͦ͏ʁʯ
ʮ໌͔Βग़དྷͦ͏ʁʯ ϥϜμϊʔτͷέʔε
ʮ໌͔Βग़དྷͦ͏ʁʯ ࠓ൩ɺ͜ͷձͰɺग़དྷͯͨͰ͠ΐʁ
None