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
170
The Implementations of Advanced LR Parser Algorithm
junk0612
3
2k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.7k
LR で JSON パーサーを作る / Coding LR JSON Parser
junk0612
2
1.6k
「ナントカLR」を整理する / Clarifying LR Algorithms
junk0612
1
590
From LALR to IELR: A Lrama's Next Step
junk0612
2
4.5k
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
180
Other Decks in Programming
See All in Programming
1から理解するWeb Push
dora1998
7
1.9k
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
Reading Rails 1.0 Source Code
okuramasafumi
0
250
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
510
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
500
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
210
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.4k
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
770
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Speed Design
sergeychernyshev
32
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Context Engineering - Making Every Token Count
addyosmani
3
58
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Cult of Friendly URLs
andyhume
79
6.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Designing for Performance
lara
610
69k
Become a Pro
speakerdeck
PRO
29
5.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How to train your dragon (web standard)
notwaldorf
96
6.2k
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ͷϓϥΫςΟεΛɺίϛϡχέʔγϣϯͷ ؍Ͱଊ͑ͯ͠հ