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.5k
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
XP, Testing and ninja testing
m_seki
3
570
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
470
ERB, ancient and future
m_seki
3
900
ERB Hacks
m_seki
1
1.5k
わりこまれるはなし
m_seki
0
850
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
2
1.3k
Learn Ractor
m_seki
1
2.7k
How many copies did you buy the first print?
m_seki
1
970
Create my own search engine.
m_seki
1
5.3k
Other Decks in Programming
See All in Programming
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
220
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
160
Gemini CLI のはじめ方
ttnyt8701
1
100
CDK引数設計道場100本ノック
badmintoncryer
2
570
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
180
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
1
220
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
120
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
210
MCPで実現できる、Webサービス利用体験について
syumai
7
2k
Reactの歴史を振り返る
tutinoko
1
110
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
2
390
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
480
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
YesSQL, Process and Tooling at Scale
rocio
173
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
109
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Adopting Sorbet at Scale
ufuk
77
9.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
A Tale of Four Properties
chriscoyier
160
23k
Code Review Best Practice
trishagee
69
19k
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