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
440
0
Share
数学とバッファ
YasuhiroKimesawa
November 29, 2019
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
社内請負スクラムから脱却する〜複雑性に適応するスクラムチームの作り方〜
yasuhirokimesawa
2
290
XP祭り2024 『アジャイルとは何か?なぜアジャイルなのか?』1年間のアジャイルコーチとの1on1を通してやっとわかったアジャイル
yasuhirokimesawa
0
810
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
550
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
150
DIPのことを知っておこう
yasuhirokimesawa
0
92
タスク管理術
yasuhirokimesawa
0
40
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
420
良いコードに正解はあるか
yasuhirokimesawa
0
550
Other Decks in Programming
See All in Programming
3Dシーンの圧縮
fadis
1
580
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.1k
Oxlintのカスタムルールの現況
syumai
5
980
The NotImplementedError Problem in Ruby
koic
0
100
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
160
Moments When Things Go Wrong
aurimas
3
140
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
440
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
310
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
120
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Automating Front-end Workflow
addyosmani
1370
210k
Paper Plane
katiecoart
PRO
1
51k
Balancing Empowerment & Direction
lara
6
1.1k
Tell your own story through comics
letsgokoyo
1
940
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
How GitHub (no longer) Works
holman
316
150k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.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 ɾɾɾ
·ͣνʔϜΛ࡞Δʂ ·ͣ৺ཧత҆શੑͷߴ͍νʔϜΛ࡞Δɻ ͦͷ্ͰɺνʔϜ͕Λͯ͠ɺ҆ఆͨ͠ϕϩγςΟΛ ܭଌͰ͖Εɺ͋ͱͪΐͬͱֶͨ͠ͷࣝͰɺ ҆ఆ͠ͳ͕ΒՃͰ͖ΔɺՁ͕ߴ͍ࣄۀ͕ߦ͑Δʂ ·ͱΊ