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
ソフトウェア開発とコミュニケーション / Communication in Software ...
Search
Junichi Kobayashi
September 18, 2021
Programming
0
1.4k
ソフトウェア開発とコミュニケーション / Communication in Software Development
Junichi Kobayashi
September 18, 2021
Tweet
Share
More Decks by Junichi Kobayashi
See All by Junichi Kobayashi
rage against annotate_predecessor
junk0612
0
190
The Implementations of Advanced LR Parser Algorithm
junk0612
3
2.1k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
6
2.8k
LR で JSON パーサーを作る / Coding LR JSON Parser
junk0612
2
1.6k
「ナントカLR」を整理する / Clarifying LR Algorithms
junk0612
1
600
From LALR to IELR: A Lrama's Next Step
junk0612
2
4.6k
RubyConf Taiwan / Understanding Parser Generators surrounding Ruby with Contributing Lrama
junk0612
2
6.9k
LL法とLR法の違いは?調べてみた!-完全版-/Comparing LL and LR parse algorithm -EX Edition-
junk0612
0
1.2k
ESM Super LT/Comparing LL and LR parse algorithm
junk0612
1
190
Other Decks in Programming
See All in Programming
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
300
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
Catch Up: Go Style Guide Update
andpad
0
240
Six and a half ridiculous things to do with Quarkus
hollycummins
0
210
iOSでSVG画像を扱う
kishikawakatsumi
0
150
CSC305 Lecture 06
javiergs
PRO
0
270
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
260
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
180
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.7k
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
190
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
5
810
Devvox Belgium - Agentic AI Patterns
kdubois
1
140
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
920
Music & Morning Musume
bryan
46
6.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Navigating Team Friction
lara
190
15k
Transcript
ιϑτΣΞ։ൃͱ ίϛϡχέʔγϣϯ גࣜձࣾӬγεςϜϚωδϝϯτΞδϟΠϧࣄۀ෦ খྛ७Ұ !KVOL 91ࡇΓ POMJOF 4BU
খྛ७Ұ !KVOL
ࣗݾհ • খྛ७Ұ !KVOL • גࣜձࣾӬγεςϜϚωδϝϯτ ‣ ΞδϟΠϧࣄۀ෦3VCZº"HJMFάϧʔϓॴଐ •
ԻήʔϚʔɺϘʔυήʔϚʔ ‣ ͖ͳۂ%FTUJOZ4XPSE **%9 ‣ ͖ͳϘʔυήʔϜ4DZUIFେחઓ
None
None
࠷ॳʹ͓Θͼ
ιϑτΣΞ։ൃͱίϛϡχέʔγϣϯ • ༰͕ܾ·Γ͖ͬͯͳ͔ͬͨͷͰλΠτϧ͕େ͛͞ʹͳΓ·ͨ͠ • ࣗͷܦݧ͔ΒΛ͢ΔͷͰɺΞδϟΠϧ ಛʹ91 ʹݶͬͨ ʹͳΓ·͢ • ΥʔλʔϑΥʔϧܕͷେن։ൃͰΤοηϯε
͓࣋ͪؼΓ͍͚ͨͩΔͱࢥ͍·͕͢ʜʜ
ؾΛऔΓͯ͠
ιϑτΣΞ։ൃͱ ίϛϡχέʔγϣϯ גࣜձࣾӬγεςϜϚωδϝϯτΞδϟΠϧࣄۀ෦ খྛ७Ұ !KVOL 91ࡇΓ POMJOF 4BU 91ͳ
͓͠ͳ͕͖ • 91ʹ͓͚Δίϛϡχέʔγϣϯͱ • ࣮ࡍͷ։ൃͰֶΜͩίϛϡχέʔγϣϯͷॏཁੑ ‣ ্ख͍ͬͨ͘ࣄྫɾࣦഊͨ͠ࣄྫ • 91ͷϓϥΫςΟεΛίϛϡχέʔγϣϯͷࢹͰݟΔ
91ʹ͓͚Δ ίϛϡχέʔγϣϯͱ
ίϛϡχέʔγϣϯͷҐஔ͚ͮ • 91ͰʮՁʯͷҰͭ ‣ ίϛϡχέʔγϣϯ ‣ γϯϓϦγςΟ ‣ ϑΟʔυόοΫ ‣
༐ؾ ‣ ϦεϖΫτ
ίϛϡχέʔγϣϯͷҐஔ͚ͮ • ʮνʔϜʹΑΔιϑτΣΞ։ൃͰͬͱॏཁͳͷɺ ίϛϡχέʔγϣϯͰ͋Δɻʯ ‣ ʰΤΫετϦʔϜϓϩάϥϛϯάʱୈষQ • ଞͷՁͱີʹؔΘΔ ‣ ʮϑΟʔυόοΫίϛϡχέʔγϣϯʹ͔ܽͤͳ͍ʯ
‣ ʮ༐ؾΛ࣋ͬͯਅ࣮ΛޠΕɺίϛϡχέʔγϣϯ৴པ͕ ڧԽ͞ΕΔʯ
ίϛϡχέʔγϣϯͷޮՌ • ιϑτΣΞ։ൃɺίϛϡχέʔγϣϯͷ ળ͠ѱ͠ʹΑͬͯ༰қʹ݁Ռ͕ࠨӈ͞ΕΔ ‣ ఆظతͳ֬ೝͷ͓͔͛Ͱϝϯόʔͷঢ়گ͕Θ͔ͬͨ ‣ ઃܭҙਤ͕Θ͍ͬͯͳ͔ͬͨͷͰɺ ࡉ͔͍ͱ͜ΖͰஅϛεΛͯ͠͠·ͬͨ ‣
Ҏલίςϯύϯʹ٧ΊΒΕͯ͠·ͬͨͷ͕τϥϚͰɺ ٞʹ͚͍ܽͯΔॏཁͳࢹΛݴ͍ग़ͤͳ͔ͬͨ
ίϛϡχέʔγϣϯͷछྨ • νʔϜͷೝࣝΛἧ͑ΔͨΊʹଧͪ߹ΘͤΛ͢Δ • ேձɾ༦ձͰ͓ޓ͍ͷঢ়گΛ֬ೝ͢Δ • ϨϏϡʔΛͯ͠ରͷཧղΛิ͍߹͏ • ΑΓྑ͍ίϛϡχέʔγϣϯΛऔΔͨΊࡶஊΛదʹߦ͏ •
ະདྷͷࣗ৽ͨͳνʔϜϝϯόʔ͕ࠔΒͳ͍Α͏ʹ ઃܭҙਤΛυΩϡϝϯτԽ͠ɺ ࣮ҙਤΛϦʔμϒϧίʔυͱ͓ͯͯ͘͠͠
ίϛϡχέʔγϣϯͱ • ϓϩδΣΫτΛલʹਐΊΔͨΊʹߦΘΕΔશͯͷΓऔΓ ‣ ͋͘·ͰશͯͷతΑΓྑ͍ࣄΛ͢Δ͜ͱ ‣ ϦΞϧλΠϜͰ͋ΔͱݶΒͳ͍ ‣ ํͰ͋ΔͱݶΒͳ͍
։ൃ͔ΒֶΜͩ ίϛϡχέʔγϣϯͷ ॏཁੑ
લఏͱͳΔڥ • ࣮ࡍʹ։ൃΛߦ͏ϝϯόʔগਓ ‣ ʙ໊ఔ • ։ൃର3BJMTΞϓϦέʔγϣϯ ‣ ϑϩϯτΤϯυͷϑϨʔϜϫʔΫΛͬͨ͜ͱ͋Δ͕ 41"ͷܦݧͳ͍
‣ Πϯϑϥ"84ΦϯϓϨ)FSPLVͳͲ ϓϩδΣΫτʹΑΓ͞·͟·
લఏͱͳΔڥ • ։ൃख๏جຊతʹΞδϟΠϧ ‣ 91ϕʔε͔εΫϥϜϕʔε͔ϓϩδΣΫτʹΑΔ • ΠςϨʔγϣϯ εϓϦϯτ ʙिؒ ‣
ि࣍αΠΫϧ ‣ ΠςϨʔγϣϯ͝ͱʹ;Γ͔͑ΓͱݟੵΓ
લఏͱͳΔڥ • ϦϦʔεपظຖʙΠςϨʔγϣϯ͝ͱ ‣ σΠϦʔσϓϩΠ • ۠Γͷͨͼʹதظతͳ;Γ͔͑Γ ‣ ࢛ظαΠΫϧ ‣
େ͖ͳػೳͷϦϦʔεޙ͝ͱͳͲ
্ख͍ͬͨ͘ྫ
ى͖͍ͯͨ͜ͱ • ༏ઌॱҐʹैͬͯऔͬͨλεΫ͕ॳΊͯ৮Δػೳͷमਖ਼ͩͬͨ • ͦͷػೳ5ZQF4DSJQU3FBDUͰ࣮͞Ε͓ͯΓɺ ࠓ·ͰࣄͰ৮ͬͨ͜ͱ͕ͳ͘ෆ׳Εͩͬͨ
࣮ࡍʹͬͨ͜ͱ • ෆ׳ΕͰ͋Δ͜ͱΛൃݴͯ͠૬ஊͨ͠ ‣ ͍͕࣌ؒ͋ͬͨͷͰɺ׳Εͨਓʹότϯλονͤͣ ࣗͰΔ͜ͱʹͨ͠ • ଞʹෆ׳Εͳϝϯόʔ͕͍ͨͷͰ ৄ͍͠ਓͷ࣌ؒΛΒͬͯΈΜͳͰઆ໌Λฉ͍ͨ •
ಛʹ͍͠ͱ͜ΖϖΞϓϩͳͲͰ ॿ͚ͯΒͬͨ
͜ͷํ๏ΛऔΕͨഎܠ • ීஈ͔Βࡶஊ͕ͦΕͳΓʹଟ͔ͬͨͷͰ ͔͚͘͢͠૬ஊ͔ͬͨ͢͠ ‣ ϦϞʔτϫʔΫࣾձʹͳΔલͷͰ͢ ‣ ޙड़͠·͕͢ཧతʹ੮͕͔ۙͬͨͷ͋Γ·͢
͜ͷํ๏ΛऔΕͨഎܠ • ීஈ։ൃʹ͏ͷͱผͷ େ͖ͳσΟεϓϨΠ͕νʔϜʹͭ͋Γɺ ͦͷͰͪΐͬͱͨ͠ଧͪ߹ΘͤͳͲ͕Ͱ͖ͨ ‣ ேձ༦ձͰΧϯόϯ༻ͷ5SFMMPΛөͨ͠Γ ใຬࡌͷϫʔΫεϖʔε ɺ ίʔυΛө͠ͳ͕Βઆ໌ϞϒϓϩΛͨ͠Γ
͜ͷํ๏ΛऔΕͨഎܠ • ։ൃνʔϜͰౡʹͳͬͯ࠲͍ͬͯͨͷͰ શһಉ੮ ɺ ཧతʹڑ͕ۙ͘ϖΞϓϩͳͲͷରԠ͕औΓ͔ͬͨ͢
্ख͍͔͘ͳ͔ͬͨྫ
࣮ݱ͔ͨͬͨ͜͠ͱ • ճͷϦΫΤετͰ࠷େສ݅ͷϨίʔυΛ %#ʹ࡞͢ΔॲཧΛ࣮͢Δ ‣ ϚελΛจࣈྻͰ෦Ұகݕࡧ͠ɺ ΤϯυϢʔβʔͱͷؒʹଟରଟͷަࠩςʔϒϧΛ࡞͢Δ • ݟੵΓஈ֊Ͱɺ ࡞ۀྔଟ͍͕ͦΕ΄Ͳ͘͠ͳ͍λεΫͱࢥΘΕ͍ͯͨ
࣮ࡍʹىͬͨ͜͜ͱ • ࣮ͷஈʹͳͬͯߟྀ͖͕ͩͬͨ͢ଓग़͠ɺઃܭ͕໎ͨ͠ ‣ 8FCαʔόͷߴෛՙɾλΠϜΞτ ‣ %#ͷߴෛՙ ‣ ͔ͨ͠ɺಉ͡νέοτͰճ͘Β͍࣮Λ͕Βͬͱ ॻ͖͑·ͨ͠ʜʜ😭
8FCαʔόͷߴෛՙ • ສ݅ͷϨίʔυ࡞Λ͍ͬͯΔͱλΠϜΞτ͢Δ ‣ Ұఆ݅Ҏ্ώοτ͢Δ͜ͱ͕Θ͔ͬͨΒ ͦͷͰ࡞ΒͣόονॲཧΛ༧͢Δ͜ͱʹͨ͠ • %#Ͱͷจࣈྻݕࡧͷ݁ՌΛ͍ͬͯΔͱ ݅ͷώοτͰλΠϜΞτ͢Δ ‣
࠷ऴతʹશจݕࡧΤϯδϯʹಀ͕ͨ͠
%#ͷߴෛՙ • ୯७ʹສ݅ͷϨίʔυΛ࡞Δͷ͕͔͔࣌ؒΔ ‣ ͜ΕճආͰ͖ͳ͍ͷͰͤΊͯόονͰॲཧ͢Δ • จࣈྻͷ෦Ұகݕࡧ͕ඞཁͩͬͨͨΊ ΠϯσοΫε͕ޮ͔ͳ͍ ‣ લड़ͷ௨Γɺ%#ͰΒͳ͍͜ͱʹͨ͠
ݪҼੳ • ؚࣗΊɺଟछଟ༷ͳܦݧΛੵΜͰ͖ͨνʔϜϝϯόʔ͕ ू·͍ͬͯΔͷʹɺ͜ͷʹ୭ؾ͚ͮͳ͔ͬͨ Βͳ͔ͬͨ ͱߟ͑ʹ͍͘ • ͓ޓ͍͕ࢥߟͷ͖͔͚ͬʹͳΔΑ͏ͳ ίϛϡχέʔγϣϯΛेʹऔΕ͍ͯͳ͔ͬͨͷͰͳ͍͔ʁ ‣
ͦΕͳ͔ͥʹ͍ͭͯࠓޙͷݕূΛ͓ͪԼ͍͞
ࠒ࣮ફ͍ͯ͠Δ 91ͷϓϥΫςΟεΛ ίϛϡχέʔγϣϯͷ؍͔ΒݟΔ
ϖΞϓϩάϥϛϯά • ਓͰϖΞΛΈɺυϥΠόʔͱφϏήʔλʔͷׂʹ͔Εͯ ϓϩάϥϛϯά͢Δ
ϖΞϓϩάϥϛϯά • ਓͰϖΞΛΈɺυϥΠόʔͱφϏήʔλʔͷׂʹ͔Εͯ ϓϩάϥϛϯά͢Δ ‣ ࣮͠ͳ͕ΒϨϏϡʔΛಉ࣌ʹߦ͏ ‣ ϨϏϡʔίϛϡχέʔγϣϯͷछ
શһಉ੮ • νʔϜશһ͕ཧతʹ͍ۙॴ Ͱ͖Ε෦ ͰࣄΛ͢Δ
શһಉ੮ • νʔϜશһ͕ཧతʹ͍ۙॴ Ͱ͖Ε෦ ͰࣄΛ͢Δ ‣ ίϛϡχέʔγϣϯΛ༠ൃ͘͢͢͠Δ ‣ ϦϞʔτϫʔΫͰ࣮ݱͰ͖ͳ͍ͷͰɺͤΊͯςΩετνϟοτ ϘΠενϟοτΛ׆༻͢Δ
UJNFTνϟϯωϧͳͲ
ि࣍αΠΫϧ • ຖि ֤ΠςϨʔγϣϯ ͝ͱʹ;Γ͔͑Γͱ ࣍ͷΠςϨʔγϣϯͷݟੵΓΛߦ͏
ि࣍αΠΫϧ • ຖि ֤ΠςϨʔγϣϯ ͝ͱʹ;Γ͔͑Γͱ ࣍ͷΠςϨʔγϣϯͷݟੵΓΛߦ͏ ‣ ͜·ΊͳใಉظΛͯ͠ίϛϡχέʔγϣϯΛ ൃੜͤ͞Δ
࢛ظαΠΫϧ • ࢛ظ͝ͱʹܭըΛཱͯɺ͜͜·Ͱ͖ͬͯͨ͜ͱΛ;Γ͔͑Δ
࢛ظαΠΫϧ • ࢛ظ͝ͱʹܭըΛཱͯɺ͜͜·Ͱ͖ͬͯͨ͜ͱΛ;Γ͔͑Δ ‣ ͭͷςʔϚͰ͠߹͏ػձΛ૿͢ ‣ தظతͳهԱҙ֎ͱͳ͘ͳΓ͍͢ͷͰɺ ීஈ͔Β͜·Ίʹه͓ͯ͘͠ͱྑ͍
ใຬࡌͷϫʔΫεϖʔε • ࠓͷϓϩδΣΫτͷঢ়گ͕ͻͱͰ͔Δ ϫʔΫεϖʔε ΧϯόϯͳͲ Λ࡞Δ
ใຬࡌͷϫʔΫεϖʔε • ࠓͷϓϩδΣΫτͷঢ়گ͕ͻͱͰ͔Δ ϫʔΫεϖʔε ΧϯόϯͳͲ Λ࡞Δ ‣ ঢ়گΛՄࢹԽ͠ɺͨ͘͠ͳ͍ࣄฑΛ ͟͞ΔΛಘͳ͍Α͏ʹ͢Δ
΄͔ͷՁͰ ϓϥΫςΟεΛݟ͢ͱ ࢥΘ͵ൃݟ͕͋Δ͔ʁ
·ͱΊ • ίϛϡχέʔγϣϯϓϩδΣΫτΛલʹਐΊΔͨΊʹ ߦΘΕΔશͯͷΓऔΓ • ίϛϡχέʔγϣϯΛ্ख͘औΕΔͱେ͖ͳϝϦοτ͕͋Δ͠ɺ ࣦഊͨ͠Βେมͳ͜ͱʹͳΔ • ࠒ࣮ફ͍ͯ͠Δ91ͷϓϥΫςΟεΛɺίϛϡχέʔγϣϯͷ ؍Ͱଊ͑ͯ͠հ