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
狙いはボトルネックだ!小さい課題には目もくれるな / xpjug
Search
Recruit
PRO
September 17, 2021
Technology
1.9k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
狙いはボトルネックだ!小さい課題には目もくれるな / xpjug
XP祭り2021(
https://xpjug.connpass.com/event/218516/)での、前田・高橋の登壇資料となります
。
Recruit
PRO
September 17, 2021
More Decks by Recruit
See All by Recruit
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
2k
ブラウザ研修 2026
recruitengineers
PRO
7
1.2k
事業価値と Engineering 2026年度版
recruitengineers
PRO
51
25k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1k
JavaScript 研修 (2026)
recruitengineers
PRO
2
630
TypeScript入門 2026
recruitengineers
PRO
3
700
モダンフロントエンド 開発研修
recruitengineers
PRO
4
800
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
670
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.1k
Other Decks in Technology
See All in Technology
My broken English still works: speaking at global OSS events
naruoga
0
120
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.6k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
450
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
560
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.5k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
250
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
280
私がブラウザを自作したくなった理由
supurazako
1
270
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
710
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
200
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
150
tamachi.go 誕生の裏側
rymiyamoto
1
100
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
We Have a Design System, Now What?
morganepeng
55
8.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
First, design no harm
axbom
PRO
2
1.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Cult of Friendly URLs
andyhume
79
7k
The Language of Interfaces
destraynor
162
27k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Transcript
ૂ͍ϘτϧωοΫͩʂ খ͍͞՝ʹ͘ΕΔͳ ʙλϯϫʔΫ8&#νʔϜͷվળͷيʙ 91ࡇΓ
͜Μʹͪʂ
ࣗݾհ ߴڮཅଠ !1PPI4VOOZ גࣜձࣾϦΫϧʔτʜʢ͍ͷͰུʣͷάϧʔϓϚωʔδϟʔ લాͷલϦʔμʔ
։ൃݱͷ՝ɺ͍ͬͺ͍͋Γ·͢ΑͶʁ Ҋ݅ͷ༏ઌ͕ෆ໌֬ όάରԠʹΑΔࠩ͠ࠐΈ࡞ۀͷൃੜ ςετͷඞཁेੑ Խ͠ܗ֚Խͨ͠υΩϡϝϯτ είʔϓΛՔಈͰΧόʔ͢Δ Ҿ͖ܧ͗࿈ܞͷൈ͚࿙Ε ӨڹൣғͷಡΊͳ͍ϓϩάϥϜ ϑϥδϟΠϧͳςετ ೲظͱमਖ਼࣭ͷτϨʔυΦϑߟྀ
ٕज़తෛ࠴ αΠτύϑΥʔϚϯεԆ ։ൃʹඞཁͱͳΔେͳࣝɺͦͯͦ͠ͷෆ ϦϦʔε͕ͨ͠ར༻͞Ε͍ͯͳ͍ػೳ IUUQTXXXqJDLSDPNQIPUPT!/JOQIPUPMJTU6N18CBZ&(D/JCF#%#&CG3T[CF"-ZHJERHJE2HJEZNK&;%+OW5FCLNGIB8U)2LH1$K/HFI)%B D#+$7/K92:(&L)ZONN$WE&KYLNCF$P1IY1U[J25CE[%CN;3"-&$2$4JG:ZOG:ZJBBCTZJKP(%RPDF#(6%2W$1/+F[,[FH;REEL7/6HT+$L:F,L.[W%/#PW",2TF RVFC,NPKCRQH";Q16%CH16%C1)N4+YRQH
ͲΕ͔Βղܾ͖͢ͳͷ͔Έ·ͤΜ͔ʁ IUUQTXXXqJDLSDPNQIPUPTBOFNPOFQSPKFDUPSTJOQIPUPMJTUBV24:[C-4BK/ZLD;JTLNG8[53)'$)U-8;[YI$3N".(BV9S1"FKTUSRZ(5WPP(:8 N;XG.#9"ON6(F,462ZG,+DLXGV.NO'WF:EG-DSTB)OP.$2,ZS2'I3I$6ES/U+FCJSUPIP:3#C:[F2IJ/&YBT/O1H$2K&(&G[L)OY/'O'Y,C$GU:42:LC )HQ"GIDWB2NFK-61K"%#.%1%,+42UT[$'+:XB%F"99YVNO:K1&XW92NV):NC&(OU
͜ͷηογϣϯͰ զʑ͕Ͳ͏՝ΛબΜͰɺ վળ͍ͯͬͨ͠ͷ͔Λ͓͍͖͑ͯ͠·͢ɻ
զʑͳͥ͜͜ʹ͍Δͷ͔ IUUQTXXXqJDLSDPNQIPUPTXFMJLFTIBSJOHJOQIPUPMJTUL4I2XZB$9F&QSKXK(EU)%I(N$-G.&&('8XS8E'SCZ((EU.KZT'N(3'SO&S3XIGO(EU'DZ'SOQ)HR+5)EPOT(p%BU6p%CSIF;Q3YE"%. )EO1T&J$[HP,+K)HJKLW(N79#JJYV(L5H-(3I+&(3B:R(N)HW1C6,(3C8X41FFJI1FF6)3[$COX&"4:J"&:#NH/H)ES(UXE%(&+U)EVFZ1FFDX)BOB57)HJ-QBX'TW%UZX:E)H4(L1)"N )EPE48(L2CT:
IUUQTTQFBLFSEFDLDPNSFDSVJUFOHJOFFSTCVTJOFTTWBMVFBOEFOHJOFFSJOH TMJEF Ϗδωεߏͷཧղ͔Β࢝ΊΔ
IUUQTTQFBLFSEFDLDPNSFDSVJUFOHJOFFSTCVTJOFTTWBMVFBOEFOHJOFFSJOH TMJEF Ϗδωεߏ্ͷզʑͷνʔϜ ͜ͷνʔϜͷ
ٻਓใʹର͢ΔίϯόʔδϣϯϨʔτͷվળ ྑ͍69վળΛࢥ͍͍ͭͯ ͦΕΛ࡞Δ͚ͩͩʂ؆୯ͩͶʂ
ٻਓใʹର͢ΔίϯόʔδϣϯϨʔτͷվળ ྑ͍69վળΛࢥ͍͍ͭͯ ͦΕΛ࡞Δ͚ͩͩʂ؆୯ͩͶʂ ͦΜͳ͜ͱͳ͍
ͦͦΞΠσΞͷՁࢼ͞ͳ͍ͱΘ͔Βͳ͍ʢͦͯ͠ޭͷӄʹʜʣ IUUQTXXXBNB[PODPKQEQ#;517;( ɾ.JDSPTPGUͰςετ͞ΕͨΞΠσΞͷ͏ͪɺվળΛࣔ͢ϝτϦΫεΛ࣮ࡍʹվળ Ͱ͖ͨͷͷʹա͗ͳ͍ ɾ#JOH(PPHMFͷΑ͏ͳଟ͘ͷ࣮ݧʹΑΓ࠷దԽ͞ΕͨྖҬͰɺޭΛݟͭ ͚Δͷ͞Βʹ͘͠ɺΞΠσΞͷޭʙͰ͋Δ ɾʮ͋͠ͳ͕࣮ͨݧओಋͷνʔϜʹ͍ΔͳΒɺͷࣄ͕ࣺͯΒΕΔ͜ͱʹ׳ Ε͍ͯͩ͘͞ɻͦΕʹԠͯ͡ϓϩηεΛߏங͠·͠ΐ͏ʯ ͍͔ʹʮࢼߦճΛ૿͔͢ʯ ʮૣ͘ࣄ࣮ʢֶͼʣΛݕग़͢Δ͔ʯ͕
ϙΠϯτ
྆ํܭଌͯ͠ΈΔͱɺ྆ํͱ՝͕͋ΔͱΘ͔Δ IUUQTTQFBLFSEFDLDPNQPPITVOOZEFWTVNJ
ͦΕҎ্Θ͔Βͳ͍ͱ͖ɺηοτϕʔεతʹߟ͑Δ IUUQTXXXTMJEFTIBSFOFUJLFZEFWTVNJ
ཁ͢ΔʹʮʢϦιʔεͷൣғͰʣࢥ͍͍ͭͨ͜ͱશ෦Δʯ IUUQTTQFBLFSEFDLDPNQPPITVOOZEFWTVNJ
Ͳ͏͔ͯͭͬ͑͠ΔϙΠϯτʢϘτϧωοΫʣͷൃݟͱରࡦ IUUQTTQFBLFSEFDLDPNQPPITVOOZEFWTVNJ
Α͘৮Δ෦ͷϑϩϯτΤϯυͷϦΞʔΩ IUUQTDPEF[JOFKQBSUJDMFEFUBJM
ϦʔυλΠϜ͘ͳΓ ֶͼͷग़ྗ૿͑ग़͢
զʑͷઓͬͱ͔ͬͨ
ݟํΛม͑ͯ""333ϞσϧͰݟͯΈΔͱ IUUQTXXXTMJEFTIBSFOFUJLFZTT
ݟํΛม͑ͯ""333ϞσϧͰݟͯΈΔͱ IUUQTXXXTMJEFTIBSFOFUJLFZTT զʑ͕͜͜· ͰऔΓΜͰ ͖ͨͱ͜Ζ ຊͷઓ
IUUQTXXXqJDLSDPNQIPUPTTFPQMBOUFSJOQIPUPMJTUDOG'/&DOG&,DOG'PTEFV9SDOG&3"D37(IDOG'7TDOG'E4[IGDOG&.R,O-[1B/KT[Z.%7F DOG''GS:EPU"6&YDOG'+XU;FDDOG'L6DOG'$K7ZBE'Q(7DOG'/+32F6CX2L8%$4K,KID1F96;CO)#1[J-Q7ZKYU(W;CQ%PCL5E; HV(+[I8USZUL)-U8U7"8[N.,,(8Z8[N)8%$9&8[N+)8[NY1#V;48[N%W8[N".8[NXY8%$;T
(PPHMF4QFFE6QEBUFରԠ αΠτͷߴԽ IUUQTDPEF[JOFKQBSUJDMFEFUBJM
ϖʔδͷಡΈࠐΈ࣌ؒΛݮ͠ɺϘτϧωοΫղফ IUUQTDPEF[JOFKQBSUJDMFEFUBJM Q
͜͜·Ͱ͖ͬͯͨ͜ͱ ๏Ϗδωεߏͷཧղ͔Βɺվળͷํੑͷཧղ ๏։ൃϓϩηεͷνϡʔχϯάʢखͨΓ࣍ୈʣ ๏ϑϩϯτΤϯυͷϦΞʔΩ ๏$44ͷܰྔԽʹΑΔαΠτεϐʔυͷվળ ͯ͞ɺ࣍ʁ
ࢲͨͪͬͱૣ͘࡞ΕΔΜ͡Όͳ͍͔ͳʁ ʢϨϕϧΛ্͛ͯཧͰԥΕʣ
৽ͨͳΔϘτϧωοΫ ϦϦʔε͕ྃͨ͠ɺ "#ςετ͕։࢝Ͱ͖ͳ͍ ͷ͕ൃੜ Ҋ͕݅اը͞Ε͔ͯΒϦϦʔε͞Εɺֶͼ͕ੳ͞ΕΔ·Ͱͷྦྷੵϑϩʔਤ
ࠓ·Ͱ։ൃ͕ϘτϧωοΫ 1-"/ %&7 "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ɾ ɾ ɾ Ҋ݅
Ҋ݅ Ҋ݅ ։ൃணखͰ͖ͳ͍ Ҋ݅ͷཹ
"#ςετͷʮ͍ͬͨͳ͍ʯ͕ൃੜ 1-"/ %&7 Րྗˢˢ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ɾ ɾ ɾ
։ൃணखͰ͖ͳ͍ Ҋ݅ղফ Ҋ݅ Ҋ݅ Ҋ݅ Ҋ݅ ಉ͡ ը໘ͷݕূ͕ཹͯ͠ݕ ূ͕ͪൃੜ ݕূ͍ͯ͠ͳ͍ը ໘ͷൃੜ
ݕূʢ"#ςετʣͷʮՔಇʯվળΛࢦ͢ 1-"/ %&7 Րྗˢˢ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ։ൃணखͰ͖ͳ͍ Ҋ݅ղফ Ҋ݅
Ҋ݅ Ҋ݅ .&$&ͳঢ়ଶΛࢦ͢
ݕূʢ"#ςετʣͷʮՔಇʯվળΛࢦ͢ 1-"/ %&7 Րྗˢˢ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ։ൃணखͰ͖ͳ͍ Ҋ݅ղফ Ҋ݅
Ҋ݅ Ҋ݅ .&$&ͳঢ়ଶΛࢦ͢ ߴ
ߴᶃQVMMܕͷύϥμΠϜγϑτʢܭըۦಈʣ 1-"/ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ɾ ɾ ɾ Ҋ݅ Ҋ݅
Ҋ݅ %&7 Ҋ݅ ᶃ.FBTVSF͕͍ͭࠒ ऴΘΓͦ͏͔ΛϞχ λϦϯάͯ͠ ᶄͦͷը໘ʹؔΘΔ Ҋ݅ͷ։ൃϦʔυλ ΠϜΛ༧ଌͯ͠ ᶅదͳॱ൪ʹʮ࣍ ԿΔ͔ʯΛܾΊΔ ٯࢉͯ͠ܭը
ߴᶄQVMMܕͷύϥμΠϜγϑτʢܭըۦಈʣ 1-"/ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ɾ ɾ ɾ Ҋ݅ Ҋ݅
Ҋ݅ %&7 Ҋ݅ ᶃ.FBTVSF͕͍ͭࠒ ऴΘΓͦ͏͔ΛϞχ λϦϯάͯ͠ ᶄͦͷը໘ʹؔΘΔ Ҋ݅ͷ։ൃϦʔυλ ΠϜΛ༧ଌͯ͠ ᶅదͳॱ൪ʹʮ࣍ ԿΔ͔ʯΛܾΊΔ ٯࢉͯ͠ܭը
ܹϜζᶄίϯτϩʔϧෆೳͳύϥϝʔλʔ 1-"/ "ը໘.FBTVSF #ը໘.FBTVSF $ը໘.FBTVSF ɾ ɾ ɾ Ҋ݅ Ҋ݅
Ҋ݅ %&7 Ҋ݅ 99·Ͱʹ::ਓαΠζͷҊ ݅࡞Βͳ͖Ό ˠແཧ ಉҰαΠζͷҊ݅࡞Εͳ͍ ݟੵΓʹਪଌ 㱠ίϛοτϝϯτ όάΛແࢹ͍͚ͯ͠ ͳ͍ "#ςετͷ࣮ϥΠτ ʹ͍͕ͨͦ͠͏͢Δͱ ͨͬͨ࣌ͷରԠίετ·Ͱ ৫Γࠐ·ͳ͍ͱ͍͚ͳ͍ ଟগͷόοϑΝΛ࣋ͭͷ͕ڭՊॻ త͕ͩͦΜͳ༨༟ͳ͍
w খ͘͢͞Εɺ૬ରతʹʮϒϨʯখ͘͢͞Δ͜ͱ͕Ͱ͖Δ w খ͘͢͞Εɺ૬ରతʹʮݟੵΓʯͱʮ࣮ࡍʯͷϒϨখ͘͢͞Δ͜ͱ͕Ͱ ͖Δ w খ͘͢͞ΕɺϦʔυλΠϜΛখ͘͞Ͱ͖Δ w খ͘͢͞Εɺߟྀখ͘͞ͳΓɺઃܭ͕γϯϓϧʹͳΔɻ"#ςετΛຊ ϓϩμΫτͱͯ͠औΓࠐΉ࣌ͷߟྀݮΔ
ղܾࡦʮখ͘͢͞Δʯ
ͬͯΔ͜ͱ͕ҧ͏͔ΒʮΈΜͳͰখ͘͢͞Δʯ ͜ͷ෦͕ΕΔͱ͍ͩ ͿεοΩϦͦ͠͏ʔ ଞͷνʔϜͷঢ়گ99 Ͱʙ ࣍ͷ"#ςετͷۭ͖͕͋ Δͷ̑ޙ͔ͩ Βɺɺɺ ͜ͷҊ݅ͷؒʹ͋ͷվળ Ҋ݅Ͷ͡ࠐΊΔΜ͡Όͳ
͍ʁ ͬͪͩ͜ͱޮՌ͜ͷ͘ Β͍ʹͳΓͦ͏͔ͳʔ
։ൃதʹى͖Δʮ༧ଌ֎ʯΈΜͳͰରॲ Ҋ݅ ৗʹ࠷৽ͷόοΫϩ ά ਓͷۭ͖ঢ়گࠔΓ ͝ͱΛڞ༗
͜ͷͰ վળ݁Ռ͕ग़͍ͯΔঢ়ଶ /PXEPDVNFOUJOHʜ ʜOFYU
"#ςετ͕ϘτϧωοΫԽ͠ɺίΞϩδοΫͷมߋ͕བྷΉҊ݅ͷ૿Ճ
ͦΕʹ͍ɺۀφϨοδͷෆରࡦ IUUQTIPEBJHMPCJTDPKQDPVSTFTGF
4&0ϦεΫରԠ"HBJOʢ$PSF8FC7JUBMTʣ IUUQTTQFBLFSEFDLDPNSFDSVJUFOHJOFFSTUBVOXBLVOJPLFSVDPSFXFCWJUBMTHBJTIBOTIJDFUPTPSFOJZPSJKJBOFUFLJUBNPGBMTF
ඪࢦඪͷվળͷ࣮ࢪ IUUQTTQFBLFSEFDLDPNSFDSVJUFOHJOFFSTUBVOXBLVOJPLFSVDPSFXFCWJUBMTHBJTIBOTIJDFUPTPSFOJZPSJKJBOFUFLJUBNPGBMTF
ՄࢹԽ ϓϩηεվળ ΞʔΩςΫνϟվળ εΩϧΞοϓ αΠτύϑΥʔϚϯεվળ KTͷϦΞʔΩ 4QFFE6QEBUFର Ԡ ͜͜·Ͱͷվળ׆ಈ·ΔͰཐટ֊ஈͷΑ͏ ։ൃ෦ϓϩηε
վળ اըʙݕূ·Ͱͷ ϞχλϦϯά νʔϜษڧձ ༗ࣝऀͷఋࢠೖ Γ $PSF8FC 7JUBMBT "#ςετϞχλ Ϧϯά ேձͰͷΤΫετ ϦʔϜ༏ઌॱҐܾ Ί IUUQTXXXqJDLSDPNQIPUPTLNEPODBTUFSJOQIPUPMJTU)%'YY#;&O67PD3Z:$RP$&CEIB/K8&EGFHP-"FKL+3S2OGF)S;ND[-$7OYI,P[YD8$'FNH4ZY2+FBK7PF+&EBJ&S- C;%DP3)T[,5G/$V84T"N'UG[R$:L:H7BC2IDLC7%+YDLZD')L:CHC;RUZ.S/W6H9.CBO'6,KPPP9;X('-O'29%2G7X+BC2FB%BC2J+QBC5Z2VY$:BC2COBJ$4ZBC2G'FYBF(/DZ42F)4)IO
IUUQTXXXqJDLSDPNQIPUPTLNEPODBTUFSJOQIPUPMJTU)%'YY#;&O67PD3Z:$RP$&CEIB/K8&EGFHP-"FKL+3S2OGF)S;ND[-$7OYI,P[YD8$'FNH4ZY2+FBK7PF+&EBJ&S- C;%DP3)T[,5G/$V84T"N'UG[R$:L:H7BC2IDLC7%+YDLZD')L:CHC;RUZ.S/W6H9.CBO'6,KPPP9;X('-O'29%2G7X+BC2FB%BC2J+QBC5Z2VY$:BC2COBJ$4ZBC2G'FYBF(/DZ42F)4)IO ҰपճͬͯʑͷੵΈॏͶ͕ͬͺΓେࣄ IUUQTTQFBLFSEFDLDPNSFDSVJUFOHJOFFSTUBVOXBLVOJPLFSVDPSFXFCWJUBMTHBJTIBOTIJDFUPTPSFOJZPSJKJBOFUFLJUBNPGBMTF
݁ہ࣭ͱεϐʔυͷͩͬͨ IUUQTTQFBLFSEFDLDPNUXBEBRVBMJUZBOETQFFEBVUVNOFEJUJPO
w Կ͔ΒվળʹऔΓΜͩΒ͍͍͔Θ͔Βͳ͍ঢ়ଶ͔Βɺࣗͨͪͷଘࡏҙٛ ͱతΛ֬ೝͨ͠ w ՝Λݟ͚ͭΔͨΊͷϞχλϦϯάͷ࣮ࢪΛ͠ɺϘτϧωοΫͱͳ͍ͬͯ ΔͷΛվળ͍ͯͬͨ͠ɻʢ։ൃϓϩηεɺεΩϧɺαΠτύϑΥʔϚϯεɺ ΞʔΩςΫνϟʜʣ w վળΛ܁Γฦ͍ͯ͠Δ͏ͪʹɺ͜ͷվળ࡞ۀཐટ֊ஈΛొΔΑ͏ͳͷͩ ͱؾ͍ͨɻ
w ϘτϧωοΫͷվળͷͨΊʹɺ݁ہʮʑͷੵΈॏͶ͕ͬͱେࣄͳͷ ͩʯʢ࣭ͱεϐʔυτϨʔυΦϑͰͳ͍ʣ ·ͱΊ
͓͠·͍ʂ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ &OKPZZPVSΧΠθϯ