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
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
470
DROBEの生成AI活用事例 with AWS
ippey
0
130
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
WebDriver BiDiとは何なのか
yotahada3
1
140
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
100
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
時計仕掛けのCompose
mkeeda
1
300
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
220
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building an army of robots
kneath
303
45k
Thoughts on Productivity
jonyablonski
69
4.5k
Code Review Best Practice
trishagee
67
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
How to Ace a Technical Interview
jacobian
276
23k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How STYLIGHT went responsive
nonsquared
98
5.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Optimizing for Happiness
mojombo
376
70k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Scaling GitHub
holman
459
140k
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