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
数学とバッファ
Search
YasuhiroKimesawa
November 29, 2019
Programming
0
250
数学とバッファ
YasuhiroKimesawa
November 29, 2019
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
350
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
91
DIPのことを知っておこう
yasuhirokimesawa
0
19
タスク管理術
yasuhirokimesawa
0
19
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
360
良いコードに正解はあるか
yasuhirokimesawa
0
360
Other Decks in Programming
See All in Programming
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
Milestoner
bkuhlmann
1
410
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
690
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
Anthropic Cookbook のおすすめレシピ
schroneko
7
970
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Goのmultiple errorsについて (2024年4月版)
syumai
3
840
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
840
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
370
Node.js v22 で変わること
yosuke_furukawa
PRO
9
3.4k
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Designing for Performance
lara
601
67k
Typedesign – Prime Four
hannesfritz
36
2.1k
Clear Off the Table
cherdarchuk
84
310k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Become a Pro
speakerdeck
PRO
11
4.5k
Scaling GitHub
holman
457
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
We Have a Design System, Now What?
morganepeng
43
6.8k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Transcript
ֶͱόοϑΝ ߁ኍ 2JJUB!:BTVIJSP,JNFTBXB5XJUUFSQJMHSJN@SFET ۚ +CVHٶ࡚
͍ᶃ ݟੵΓͬͯͲ͏ͬ ͯ·͔͢ʁ ଞͷݱͷΓํΓͨ ͍
͍ᶄ ͦͦͳͥݟੵΔ ͷ͔ʁ
֎෦ͱͷௐɾ࿈ܞͷͨΊͰͳ͍͔ʂ ֎෦ͱͷௐ͕ͳ͚Εɺ࣌ؒͷཧ͍Βͳ͍͕ɺ ௐ͕ͳ͍ϓϩμΫτͳͲͳ͍ • αʔϏε։࢝ͷࠂ • ଞγεςϜͱͷ࿈ܞ • εςʔΫϗϧμͷڞ༗ɾڭҭ •
αʔϏε։࢝ͳͲϚΠϧετϯʹؒʹ߹Θͳ͍ͱஅ ͞Εͨࡍͷରࡦ • ϚωʔδϟʔɺܦӦਞͳͲͷใࠂ • ɾɾɾ
ɹɹʹ͍ͭͯ։ൃνʔ Ϝʹͱͬͯେࣄͳ͜ͱ ͱ͍͏͜ͱʁ ૣ্͛͘Δ͜ͱͰͳͯ͘ɺৗʹࠓͷཱͪҐஔͱকདྷͷݟ௨ཱ͕ͯ͠Β ΕΔ͜ͱͰͳ͍͔ʁ
ૣ্͛͘Δ͜ͱͰͳͯ͘ɺৗʹࠓͷཱͪҐஔͱকདྷͷݟ௨ཱ͕ͯ͠Β ΕΔ͜ͱͰͳ͍͔ʁ • ֎෦ͱͷௐ͕Ͱ͖ͳ͍ͱ͜Ζ·Ͱདྷ͔ͯΒঢ় گʹؾ͕͔ͭ͘Βૣ্͛͘Δ͜ͱ͕ࣄʹ ͳͬͯ͠·͏ɻ • ௐՄೳͳ͏ͪʹݟ௨ཱ͕ͯ͠ΒΕΕɺৗ ʹݟ௨ཱ͕ͯ͠ΒΕ͍ͯΕɺແཧ্ͯ͠ ͛Δඞཁͳ͘ͳΔʢύϑΥʔϚϯε͕େࣄ
Ͱͳ͍ͱݴ͍ͬͯͳ͍ɾɾɾ)
ൃੜʂ
ෆ࣮֬ੑͷ
ෆ࣮֬ੑͷ ʙ։ൃॳظʙ • Ͳ͏͍͏ը໘ʹ͢Δʁ • Ͳ͏͍͏ϩδοΫʹͳΔʁ • ֎෦γεςϜͷ༷ʁ୭ʹฉ͚͍͍ʁ • ༻ͨ͜͠ͱٕज़ɾπʔϧ
• ɾɾɾ
ෆ࣮֬ੑͷ ʙ։ൃ͕ਐΜͰʙ • ࢥΘ͵όά • ࢥΘ͵ύϑΥʔϚϯεԼ • ఆ֎ͷ࣮ • ༷มߋɾ༏ઌॱҐͷೖΕସ͑
• ɾɾɾ
ෆ࣮֬ੑʹ͖߹͑Δ Α͏ͳݟੵΓͷํ ͕ඞཁ
όοϑΝΛऔΔ ෆ࣮֬ੑʹ ͖߹͏ͨΊʹ ͦΕͬͯ ී௨ɾɾɾ
͍ᶅ όοϑΝͬͯͲ͏ͬͯ औͬͯ·͔͢ʁ ଞͷݱͷΓํΓͨ ͍
"3",*4BUPSVߘऀࣗʹΑΔ࡞ $$දࣔܧঝ IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJEʹΑΔ ଟ͜ͷลͰͰ͖Δ ઈରͰ͖Δ ͏·͘ߦ͚ ɹɹɹɹɹɹɹɹɹɹ ͜ͷκʔϯͰ ΛΧόʔʂ
͍ᶆ ภ֮ࠩͬͯ͑ͯ·͢ʁ ࣗΕͯ·͠ ͨɾɾɾ
ฏۉ ࠷ѱ ภࠩ? ϢʔβʔετʔϦʔ ϢʔβʔετʔϦʔ
ϢʔβʔετʔϦʔ ϢʔβʔετʔϦʔ ϢʔβʔετʔϦʔ ඪ४ภࠩ όοϑΝ
ϙΠϯτ w όοϑΝϢʔβʔετʔϦ͝ͱͰ ͳ͘ɺશମͰऔΔ ඞͣޙΖ͠͠ ͯ͠·͏ͷ͕ਓؒ w ෆ҆ྔ ภࠩ
ͷେ͖͍ͷ͔Βย͚ Δɻ ෆ࣮֬ੑͷߴ͍ͷΛ͓ͯ͠ ͔ͳ͍ʣ
ൃੜʂ
͍ᶇ ฏۉͱ࠷ѱͷ݁ہ צʁʁʁ
ෆ࣮֬ੑίʔϯ ϓϩδΣΫτϚωδϟʔͷͨΊͷʮϓϩηεઃܭज़ʯϓϩδΣΫτͷຊ࣭ͱͳʹ͔ܦ4:45&.4ΑΓ
͍ᶇ ࢦ֮ؔͬͯ͑ͯ· ͢ʁ ࣗΕͯ·ͨ͠ɾɾɾ
ෆ࣮֬ੑίʔϯ 6 8FYQ U5 5શମͷظؒ Uܦաͨ͠ظؒ 8ϒϨ෯
͍ᶈ צʹཔΒͳ͍ݟੵΓ Λߟ͍͑ͨʁʁʁ
૬ରݟੵΓͱϙΠϯτ
Ϣʔβʔε τʔϦʔ ϢʔβʔετʔϦʔ ̎ ̎ഒʂ
Ϣʔβʔ ετʔϦʔ ϢʔβʔετʔϦʔ̎ ̑ ⇛ ઃܭͷ͕࣌ؒඞཁ ⇛ ઃܭͷ͕࣌ؒඞཁ ɾઃܭ
ɾ։ൃ࣌ؒ ɾ୯ମςετ ɾσϓϩΠ ɾಈ࡞֬ೝ ઃܭͷ࣌ؒΛݟͯͳ ͔ͬͨʂʂʂ
Ϣʔβʔε τʔϦʔ ϢʔβʔετʔϦʔ ̎ ͲͪΒʹͯ̎͠ഒʂ ɾઃܭ ɾ։ൃ࣌ؒ ɾ୯ମςετ ɾσϓϩΠ ɾಈ࡞֬ೝ
ɾઃܭ ɾ։ൃ࣌ؒ ɾ୯ମςετ ɾσϓϩΠ ɾಈ࡞֬ೝ
Ϣʔβʔε τʔϦʔ ϢʔβʔετʔϦʔ ̎ ϢʔβʔετʔϦʔ̏ ̍ϙΠϯτ ج४ ϙΠϯτ ϙΠϯτ
εϓϦϯτͱϕϩγςΟ
εϓϦϯτͱϕϩγςΟ ݻఆͨ͠ظؒͰɺͲͷ͘Β͍ϙ ΠϯτΛফඅ͔ͨ͠ ϕϩγ ςΟ Λܭଌ͢Δ͜ͱͰɺকདྷͷ ༧ଌ͕Ͱ͖Δ
࣮ εϓϦϯτ̍ εϓϦϯτ̎ εϓϦϯτ̏ εϓϦϯτ̐ εϓϦϯτ̑
εϓϦϯτ ݻఆͷظؒͰϙΠϯτͰ͖ͨ Βɺ࣍ͷಉ͡ظؒͰɺಉ͚ͩ͡࡞ ۀͰ͖ΔͳΒେମಉ͚ͩ͡ՌΛ ग़ͤΔͩΖ͏ͱ༧ଌͰ͖Δɻ ͪΖΜɺશʹ༧ଌͰ͖Δ ͷͰͳ͍ͷͰɺࠩҟग़Δʣ
࣮ ฏۉ ࠷ߴ ฏۉ ภࠩ Y ࠷ѱ ฏۉภࠩ Y εϓϦϯτ̍
εϓϦϯτ̎ εϓϦϯτ̏ εϓϦϯτ̐ εϓϦϯτ̑ εϓϦϯτ ͦΕ·Ͱͷฏ ۉ͔Β࠷ߴ ɺ࠷ѱ͔ ΒόοϑΝΛ ܭࢉ͢Δ͜ͱ Ͱ͞Βʹܭը ཱ͕ͯ͘͢ ͳΔ
࣮ ฏۉ ࠷ߴ ฏۉ ภࠩ Y ࠷ѱ ฏۉภࠩ Y εϓϦϯτ̍
εϓϦϯτ̎ εϓϦϯτ̏ εϓϦϯτ̐ εϓϦϯτ̑ εϓϦϯτ ͪΖΜɺ ֤εϓϦϯτ ͷՌ͕ෆ҆ ఆͰ͋Εܭ ըཱͯͮΒ ͍
εϓϦϯτ
ฏۉ ࠷ߴ ࠷ѱ ҆ఆ͍ͯ͠ͳ͍ϕϩγςΟ ࠷ѱɾ࠷ߴ ͷ͕ࠩେ͖ ͘ɺόοϑΝ Λେ͖͘औΒ ͟ΔΛಘͳ ͍ɻ
εϓϦϯτ
ฏۉ ࠷ߴ ࠷ѱ ҆ఆ͍ͯ͠ΔϕϩγςΟ ࠷ѱɾ࠷ߴ ͷ͕ࠩখ͞ ͍ͷͰେ͖ͳ όοϑΝऔ Βͳͯ͘ࡁΉ
εϓϦϯτͱϕϩγςΟ ϕϩγςΟ͕҆ఆ͍ͯ͠Δͱ༧ ଌ͕͘͢͠ܭըཱ͕͍ͯ͢ ٯʹ҆ఆ͍ͯ͠ͳ͍ͱ༧ଌ͕͠ ʹ͍͘
҆ఆͨ͠ϕϩγςΟΛ ્͢ΔͷԿ͔ʁ ɾෆҙͳMTG ɾ͍૬ஊɾ࣭ ɾٸͳӡ༻λεΫ ɾڞ༗ͷ࣌ؒ(ڞ༗͚ͩͷ͍࣌ؒͯ͠Δํɺड͚͍ͯΔํੜ࢈ੑ0) ɾਓͷೖΕସ͑ ɾۀʢଟ͔ͬͨΓগͳ͔ͬͨΓ͢Δͱ҆ఆ͠ͳ͍) ɾٸͳٳΈɻ෩अͱ͔ ɾۃͳർΕ
ɾ༧֎ͷόά༷ͷߟྀ࿙Ε ɾٕज़ྗͷԼ(ٕज़తʹղܾͰ͖ΔͷΛͲ͏ʹ͔ؤுͬͯ͠·͏) ɾɾɾɾ
͍ᶉ ͜ΕΒͷ્ཁҼΛͲ͏ ղܾ͠·͔͢ʁ ଞͷݱͷΓํΓͨ ͍
҆ఆͨ͠ϕϩγςΟΛ્͢Δ ͷΛղܾ͍ͯ͘͠ʹɺݱ ʹΑͬͯ՝͕ҧ͏ͨΊɺ ։ൃνʔϜશһͷ ܙ͕͍Δɻ
ৼΓฦΓ ͦͷͨΊͷ εϓϦϯτ͝ͱʹ࣮ࢪ ݸਓͷলձͷͰͳ͍ ։ൃνʔϜશһͷ ܙΛग़͢ɻ
ৼΓฦΓͰେࣄͳ͜ͱ ։ൃνʔϜશһͷܙΛग़͢ɻ ʹ͓ޓ͍Λೳྗ͋Δ ಠཱͨ͠ݸਓͱͯ͠ ଚܟ͠ͳ͚ΕͳΒͳ͍
͜Μͳݴ༿͕ඈͼަͬͯ·ͤΜ͔ʁ • ʰ̋̋(ਓͷ໊લ)ʱ(͜ͷ݅ʹ͍ͭͯ)λεΫΛׂΓͯΒΕͳ͍ɻ·ͩૣ͍ɻ • ʰ̋̋(ਓͷ໊લ)ʱͷXX(ΊΜͲ͍͘͞ɺΘ͔Γʹ͍͘ɺҙݟ͕߹Θͳ͍)ɻ • ʰ̋̋(ਓͷ໊લ)ʱͷࣄͷΓํ͕XX(ޮѱ͍ɺਐḿ͍ɺۀΛΖ͏ͱ͠ͳ͍ɺ˚˚͢Ε͍͍ͷʹɺΘ͔ͬͯͳ ͍ɺ͠ͳ͍ɺɺɺ) • ʰ̋̋(ਓͷ໊લɺओʹ৽ଔ)ʱXXͬͯཉ͍͠ɻ
• ࢼ࿅Λ༩͍͑ͯΔɻ • ͯ͠΄͍͔͠ΒɻͲ͏͢ΕͰ͖Δʁ • ܦݧ͕ඞཁʢͰҰਓͰͬͯɾɾɾ) ੑ͕͋Δਓ͍Δ ͍ͬͯΔͷ͕ͦͷΑ͏ͳϝϯ όʔ͔ ͕ɺࣗඞཁͳ͍ͱࢥͬͯ͠·ͬͨΒɾɾɾ εΩϧ͕ߴ͍εʔύʔϚϯ͚ͩͰ֤ʑݸਓͰؤுΕ͍͍ ͚ͩͳΒͳ͘ɺͰ͖Δਓͱੑ͕͋Δਓ͚ͩͰ ࣄΛਐΊΒΕΔɻ ͦͷ߹ɺνʔෆཁɺ͜͜·Ͱͷෆཁɻ ແҙࣝʹ
৺ཧత҆શੑ • Googleͷݚڀɹੜ࢈ੑͷߴ͍νʔϜʹޭ͢ΔνʔϜ࡞Γʹඞཁͳͷͷͯ͢ͷ͕৺ཧత҆શɻ • νʔϜͰϦεΫͷ͋Δ͜ͱΛ͢Δͱ͖ʹɺෆ҆ஏ͔ͣ͠͞Λײ͡ͳ͍͔ [৺ཧత҆શੑʹෆ҆ΛҾ͖ى̐ͭ͜͢ͷෆ҆] • ແͩͱࢥΘΕΔෆ҆ • ແೳͩͱࢥΘΕΔෆ҆
• अຐΛ͍ͯ͠ΔͱࢥΘΕΔෆ҆ • ωΨςΟϒͩͱࢥΘΕΔෆ҆ ৺ཧత҆શੑͷ͋ΔνʔϜɺνʔϜͰͷڞײྀ͕Ͱ͍ͯΔঢ়ଶͰɺ ͓ޓ͍͕ͦΕͧΕͷଟ༷ੑΛೝΊɺ ͦΕͧΕͷߟ͑ํΛ͏·͘׆͔͢͜ͱ͕Ͱ͖͍ͯΔνʔϜɻ ͓ޓ͍Λೳྗ͋Δಠཱͨ͠ݸਓͱͯ͠ଚܟ͠ͳ͚ΕͳΒͳ͍
৺ཧత҆શੑ͕ߴ͍νʔϜͷྫ w ਓΛׂΓͯΔɺਓʹλεΫΛৼΔɺ͜ͷλεΫYY͔͠Ͱ͖ͳ͍ɺɺɺͷͰͳͯ͘νʔ ϜͷλεΫͱͯ͠औΓѻ͏ w ϖΞϓϩɾϞϒϓϩ w ࣗΒλεΫΛऔΔʢऔΓѻ͍ҙ w
ྃͷఆٛ w ேձ w ɾɾɾ w ୭͕ιʔεΛॻ͘ɺɺɺ͜͜୭͕ιʔεΛॻ͍ͨɺɺɺͰͳ͘ɺιʔενʔϜͷڞಉ ॴ༗ w ୭͕ΧΠθϯͰ͖ͯɺ୭͕मਖ਼Ͱ͖Δ w ઈ͑ؒͳ͍ϦϑΝΫλϦϯάͱ্࣭ w ɾɾɾ w YYͷਐḿཧͲ͏ͳͬͯΔͷʁɺɺɺͰͳ͘ɺνʔϜͷϕϩγςΟ w ҆ఆͨ͠ϕϩγςΟΛࢦ͢ w ৼΓฦΓͰΛɺܙΛग़͠߹͏ w ɾɾɾ
·ͣνʔϜΛ࡞Δʂ ·ͣ৺ཧత҆શੑͷߴ͍νʔϜΛ࡞Δɻ ͦͷ্ͰɺνʔϜ͕Λͯ͠ɺ҆ఆͨ͠ϕϩγςΟΛ ܭଌͰ͖Εɺ͋ͱͪΐͬͱֶͨ͠ͷࣝͰɺ ҆ఆ͠ͳ͕ΒՃͰ͖ΔɺՁ͕ߴ͍ࣄۀ͕ߦ͑Δʂ ·ͱΊ