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
300
数学とバッファ
YasuhiroKimesawa
November 29, 2019
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
400
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
99
DIPのことを知っておこう
yasuhirokimesawa
0
20
タスク管理術
yasuhirokimesawa
0
22
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
380
良いコードに正解はあるか
yasuhirokimesawa
0
410
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
1
520
全部見せます! クラシルリワードのSwiftTesting移行プロジェクト
uetyo
0
210
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
120
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
ドメイン駆動設計を実践するために必要なもの
bikisuke
4
330
Patched fetch did not work
quramy
4
390
私のEbitengineの第一歩
qt_luigi
0
450
LangChainの現在とv0.3にむけて
os1ma
4
930
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
830
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
160
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
490
The Sequel to a Dream of Ruby Parser's Grammar
ydah
1
220
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
278
34k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Thoughts on Productivity
jonyablonski
66
4.2k
A Philosophy of Restraint
colly
202
16k
Statistics for Hackers
jakevdp
794
220k
How to Ace a Technical Interview
jacobian
274
23k
Clear Off the Table
cherdarchuk
91
320k
Building an army of robots
kneath
302
42k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Rails Girls Zürich Keynote
gr2m
93
13k
Done Done
chrislema
180
16k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
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 ɾɾɾ
·ͣνʔϜΛ࡞Δʂ ·ͣ৺ཧత҆શੑͷߴ͍νʔϜΛ࡞Δɻ ͦͷ্ͰɺνʔϜ͕Λͯ͠ɺ҆ఆͨ͠ϕϩγςΟΛ ܭଌͰ͖Εɺ͋ͱͪΐͬͱֶͨ͠ͷࣝͰɺ ҆ఆ͠ͳ͕ΒՃͰ͖ΔɺՁ͕ߴ͍ࣄۀ͕ߦ͑Δʂ ·ͱΊ