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
320
数学とバッファ
YasuhiroKimesawa
November 29, 2019
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
XP祭り2024 『アジャイルとは何か?なぜアジャイルなのか?』1年間のアジャイルコーチとの1on1を通してやっとわかったアジャイル
yasuhirokimesawa
0
410
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
440
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
110
DIPのことを知っておこう
yasuhirokimesawa
0
25
タスク管理術
yasuhirokimesawa
0
25
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
380
良いコードに正解はあるか
yasuhirokimesawa
0
440
Other Decks in Programming
See All in Programming
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
460
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
nekko cloudにおけるProxmox VE利用事例
irumaru
3
430
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
320
Beyond ORM
77web
4
480
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
php-conference-japan-2024
tasuku43
0
230
talk-with-local-llm-with-web-streams-api
kbaba1001
0
180
ドメインイベント増えすぎ問題
h0r15h0
1
260
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9k
Building an army of robots
kneath
302
44k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Six Lessons from altMBA
skipperchong
27
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Rails Girls Zürich Keynote
gr2m
94
13k
Fireside Chat
paigeccino
34
3.1k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
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 ɾɾɾ
·ͣνʔϜΛ࡞Δʂ ·ͣ৺ཧత҆શੑͷߴ͍νʔϜΛ࡞Δɻ ͦͷ্ͰɺνʔϜ͕Λͯ͠ɺ҆ఆͨ͠ϕϩγςΟΛ ܭଌͰ͖Εɺ͋ͱͪΐͬͱֶͨ͠ͷࣝͰɺ ҆ఆ͠ͳ͕ΒՃͰ͖ΔɺՁ͕ߴ͍ࣄۀ͕ߦ͑Δʂ ·ͱΊ