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
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
320
ERB, ancient and future
m_seki
3
830
ERB Hacks
m_seki
1
1.4k
わりこまれるはなし
m_seki
0
750
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
1
1.1k
Learn Ractor
m_seki
1
2.5k
How many copies did you buy the first print?
m_seki
1
690
Create my own search engine.
m_seki
1
5.2k
Rinda in the real-world embedded systems.
m_seki
0
410
Other Decks in Programming
See All in Programming
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
120
sappoRo.R #12 初心者セッション
kosugitti
0
260
PRレビューのお供にDanger
stoticdev
1
200
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
110
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.1k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
170
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
130
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
190
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
350
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
480
昭和の職場からアジャイルの世界へ
kumagoro95
1
400
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
The Language of Interfaces
destraynor
156
24k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Music & Morning Musume
bryan
46
6.3k
RailsConf 2023
tenderlove
29
1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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