Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The future of tbls and "Documentation as Code" ...
Search
Ken’ichiro Oyama
June 24, 2023
Technology
11k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The future of tbls and "Documentation as Code" / phpconfuk 2023
https://fortee.jp/phpconfukuoka-2023/proposal/df1faefa-056a-493a-87d3-45934e96ea8c
Ken’ichiro Oyama
June 24, 2023
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
5.8k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
1.1k
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
900
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
200
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.5k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
480
Cleanup handling in Go / Go Conference 2024
k1low
7
4.2k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
340
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
1
390
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
300
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
270
形式手法を使って仕様をコーディングしよう
mikanichinose
0
160
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
290
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
1
290
可視化から始めたAI駆動開発_ochi_ver1.01 / AI-Driven Development Starting with Visualization_ver1.01
yayoi_dd
0
110
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
110
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
1
110
GitHub Agentic Workflows を触ってみる
htkym
2
900
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Technical Leadership for Architectural Decision Making
baasie
3
580
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
How GitHub (no longer) Works
holman
316
150k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
A better future with KSS
kneath
240
18k
It's Worth the Effort
3n
188
29k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Paper Plane
katiecoart
PRO
4
53k
Transcript
The future of tbls and “Documentation as Code" খࢁ݈Ұ /
GMO PEPABO inc. 2023.6.24 PHPΧϯϑΝϨϯεԬ2023 1
ࣗݾհ ٕज़෦ɹٕज़ج൫νʔϜ 2018 த్ೖࣾ খࢁ ݈Ұ Ken’ichiro Oyama গ࣮͠༻తͰখ͞ͳOSSΛॻ͘ͷ͕झຯɻ •
GitHub : k1LoW • Twitter : @k1LoW 2
GMOϖύϘʹ͍ͭͯ 3 https://pepabo.com
4 ͡Ίʹ
5 ͡Ίʹ • tblsΛத৺ʹൃද͢Δͷ࣮ʹ5ͿΓ2ճͰ͢ • ຊηογϣϯͰtblsͱDocumentation as Codeʹ͍ͭͯ͠·͢ • tblsͱDocumentation
as Codeʹ͍ͭͯͷ5ͷूେʹͳΓ·͢ • օ͞ΜʹtblsͷΛฉ͖ͳ͕ΒɺͬͱநతͳʮυΩϡϝϯςʔγϣ ϯͷͨΊͷπʔϧʯΛΠϝʔδͯ͠΄͍͠Ͱ͢ • tblsʹݶͬͨͰͳ͍ͱࢲ৴͍ͯ͡·͢
6
7 About tbls tbls is a CI-Friendly tool for document
a database, written in Go. • CIϑϨϯυϦͳσʔλϕʔευΩϡϝϯτੜπʔϧ • ൃԻ /ˈteɪbl ̩z/ʢςʔϒϧεʣ • PostgreSQL, MySQLͳͲͷRDBMS͚ͩͰͳ͘ɺBigQuery Amazon DynamoDB, Cloud Spannerͱ͍༷ͬͨʑͳσʔλιʔ εʹରԠ • υΩϡϝϯτΛॆ࣮ͤ͞Δػೳͱͯ͠ϝλσʔλΛΞϊςʔ γϣϯ͢Δ͜ͱ͕Մೳ • ςʔϒϧɺΧϥϜͳͲͷίϝϯτ༩͚ͩͰͳ͘ϥϕ ϧɺϦϨʔγϣϯγοϓͳͲ
8 About tbls tbls doc • σʔλϕʔεʹଓͯ͠σʔλϕʔευΩϡϝϯτΛੜ͢ΔαϒίϚϯυ DEMO
9 About tbls ϝτϦΫεͰݟΔtbls • 20185݄17ʹ։ൃ։࢝ɻ20236݄23࣌Ͱ1,863ʢ5ϱ1ϲ݄6ʣ • 14σʔλιʔεαϙʔτ • 1,816ίϛοτɻ392ϓϧϦΫΤετ
• k1LoW୯ಠͰ1,146ίϛοτɺ303ϓϧϦΫΤετ • 170ϦϦʔε • όʔδϣϯv1.68.0 • ίʔυ9,690ߦ / ςετίʔυ3,958ߦ • k1LoW୯ಠͰ691,018 ++ / 603,716 -- • 2,477ελʔ
10 Documentation as Code
%PDVNFOUBUJPOBT$PEF %PDTBT$PEF SFGFSTUPBQIJMPTPQIZUIBUZPV TIPVMECFXSJUJOHEPDVNFOUBUJPOXJUIUIFTBNFUPPMTBTDPEF *TTVF5SBDLFST 7FSTJPO$POUSPM (JU 1MBJO5FYU.BSLVQ .BSLEPXO
SF4USVDUVSFE5FYU "TDJJEPD $PEF3FWJFXT "VUPNBUFE5FTUT 5IJTNFBOTGPMMPXJOHUIFTBNFXPSL fl PXTBTEFWFMPQNFOUUFBNT BOECFJOH JOUFHSBUFEJOUIFQSPEVDUUFBN*UFOBCMFTBDVMUVSFXIFSFXSJUFSTBOE EFWFMPQFSTCPUIGFFMPXOFSTIJQPGEPDVNFOUBUJPO BOEXPSLUPHFUIFSUP NBLFJUBTHPPEBTQPTTJCMF ɹΑΓൈਮɹ Documentation as Code
12 Documentation as Code Documentation as Codeͷݪ • ʮDocumentation as
Codeͱɺίʔυͱಉ͡πʔϧΛͬͯυΩϡϝϯςʔγϣϯΛॻ͖͘ ͩͱ͍͏ֶʯby Write the DocsίϛϡχςΟ • Issue Trackers • Version Control (Git) • Plain Text Markup (Markdown, reStructuredText, Asciidoc) • Code Reviews • Automated Tests • γεςϜͷ։ൃͷۙ͘ʹυΩϡϝϯτ࡞ͷΈΛஔ͘͜ͱͰɺ։ൃαΠΫϧͷதʹυΩϡϝ ϯτ࡞Λ౷߹͠ɺγεςϜͱυΩϡϝϯτͷဃΛখ͘͞͠Α͏ͱ͍ͯ͠Δ͜ͱ͕Θ͔Δ
13 Documentation as Code Documentation as Codeͷ՝
14 Documentation as Code γεςϜͱυΩϡϝϯτͷဃ • ʮγεςϜͱυΩϡϝϯτͷဃΛখ͘͞ʯ͚ͩͰ࣌ͱ࣮ͯ͠༻ʹݫ͍͠ • ဃ͕ʢগ͠Ͱʣ͋ΔͱԿ͕ਖ਼͍͔͕͠Θ͔Βͳ͘ͳΔ •
ਓγεςϜͱͷဃΛൃݟ͢Δͱ͏ͦͷυΩϡϝϯτΛ৴༻͠ͳ͘ͳͬͯ͠·͏ • ׂΕ૭ཧ • υΩϡϝϯτ͕ߋ৽͞ΕΕɺਓߋ৽ʹ͍ͭͯਖ਼͍͔͠Ͳ͏͔ͷϨϏϡʔͰ͖Δɻ͔͠ ͠ɺγεςϜ։ൃ͕ਐΜͰऔΓ͞Εͯ͠·ͬͨυΩϡϝϯτͷϨϏϡʔͷλΠϛϯά͕ͳ͍ɻ
Documentation as Code+ 15
16 Documentation as Code+ ࣮༻తͳʢγεςϜͱဃ͠ͳ͍ͨΊͷʣDocumentation as Code • ͦͦʮγεςϜͱυΩϡϝϯτͷဃʯͳͥى͜Δͷ͔ •
γεςϜ࣌ؒͷܦաʹΑͬͯมԽ͢Δ͕ɺυΩϡϝϯτͦͷมԽʹै͠ͳ͍͔Β ʢ͘͠ै͢ΔʹλΠϜϥά͕ൃੜ͢Δ͔Βʣ • ࣌ؒܦաʹ͑ΔͨΊʹɺɺγεςϜΛͦͷ··υΩϡϝϯτʢ͘͠υΩϡϝϯτͷ ܗʣʹมͰ͖Εྑ͍ • ͜͜ͷϞσϧԽʹڵຯ͋Δํͪ͜Βˠ • ʮγεςϜΛͦͷ··ʯ ʹγεςϜ͔ΒߏԽσʔλΛநग़͢Δ https://speakerdeck.com/k1low/web-system-architecture-number-8
17 Documentation as Code+ γεςϜͱυΩϡϝϯτͷဃΛθϩʹ͢Δ • γεςϜ͔ΒߏԽσʔλΛநग़ͯ͠ɺͦͷߏԽσʔλ͔ΒυΩϡϝϯτΛੜ͢Δ • Α͘ΒΕ͍ͯΔͷͱͯ͠PHPDocgodocͱ͍ͬͨιʔείʔυ͔ΒυΩϡϝϯτΛ ੜ͢ΔΞϓϩʔνʢιʔείʔυγεςϜͷࣸ૾ͱ͍͑Δʣ
• ߏԽσʔλ͔ΒγεςϜͱυΩϡϝϯτͷ྆ํΛੜ͢Δ • OpenAPI • Protocol Buffersʢprotocʣ • γεςϜͱυΩϡϝϯτͷဃΛθϩʹ͢ΔDocumentation as CodeΛຊൃදʢ͚ͩʣͰ Documentation as Code+ͱݺͿ
18 Documentation as Code+ tbls։ൃͷ͖͔͚ͬ • ࣌ΞϧϑΝஈ֊ͷϓϩδΣΫτͰઈࢍ։ൃதʹɺϓϩμΫτΦʔφʔ͕SQLΛॻ͘ਓͰʮσʔ λϕʔεఆٛॻͲ͜ʹ͋Γ·͔͢ʁʯͱฉ͔Εͯ͠·ͬͨ • σʔλϕʔεεΩʔϚʑมΘ͍ͬͯΔΑ͏ͳϑΣʔζͰใ͕ϚΠάϨʔγϣϯϑΝΠ
ϧͱίϛοτϩάʹ͔͠ͳ͔ͬͨ • γεςϜʢσʔλϕʔεʣͱυΩϡϝϯτͷ ဃΛθϩʹ͢Δπʔϧͱͯ͠tblsͷ։ൃΛ ͡Ίͨ https://speakerdeck.com/k1low/pepabo-tech-conference-number-16
19 Documentation as Code+ Documentation as Code+ͷࢹͰ࡞͞Εͨtbls • tblsߏԽσʔλʢσʔλϕʔεʣ͔ΒυΩϡϝϯτΛੜ͢ΔΞϓϩʔν •
CIͰυΩϡϝϯτΛੜ͢Δ͜ͱͰܧଓతʹγεςϜͱͷဃΛθϩʹ͢Δ • ʮContinuous Documentationʯ • CIϑϨϯυϦ=ϫϯόΠφϦͰ؆୯ʹΠϯετʔϧͰ͖Δ https://speakerdeck.com/k1low/pepabo-tech-conference-number-16
20 Documentation as Code+ k1LoW/setup-tbls • tblsΛηοτΞοϓ͢ΔAction for GitHub Actions
• https://github.com/k1LoW/setup-tbls • ΑΓCIϑϨϯυϦʹ
21 Documentation as Code+ Documentation as Code+Λ αϙʔτ͢ΔtblsαϒίϚϯυ
22 Documentation as Code+ tbls diff • ࠩΛ֬ೝ͢ΔίϚϯυɻ • σʔλϕʔε-υΩϡϝϯτɺσʔλϕʔε-σʔλϕʔεͲͪΒՄೳ
23 Documentation as Code+ tbls coverage • ιʔείʔυͱಉ͡Α͏ʹυΩϡϝϯτͷΧόϨοδʢςʔϒϧΧϥϜͷίϝϯτͷຒ·Γ ʣΛ֬ೝͰ͖Δ
24 Documentation as Code+ tbls lint • σʔλϕʔευΩϡϝϯτʢͱσʔλϕʔεʣͷͨΊͷLinter • ίϝϯτͷ༗ແؔ࿈ͷ༗ແɺςʔϒϧ͝ͱͷΧϥϜͳͲΛνΣοΫରʹͰ͖Δɻ
͜͜·Ͱ͕ɺ ࣌ߟ͍͑ͯͨ Documentation as Code 25
26 Documentation as Code+ Documentation as Code+ͷ՝
27 Documentation as Code+ ਖ਼͍͠ɻ͕ɺʹཱͨͳ͍ • ਖ਼͍͠σʔλϕʔευΩϡϝϯτͰ͋Δͱ͍͏҆৺ײಘΒΕͨ • tblsద༻ҎલͰಘΒΕͳ͔ͬͨײ֮Ͱ͋Δ͜ͱؒҧ͍ͳ͍ •
σʔλϕʔεͷςʔϒϧΧϥϜͷίϝϯτɺϦϨʔγϣϯ͕උ͞Ε͍ͯΔυΩϡϝϯτ͕͋ Δ͜ͱͰҰఆͷʹཱ͕ͭɺͦΕҎ্ͰͦΕҎԼͰͳ͍ • γεςϜͷ։ൃϥΠϑαΠΫϧʹ͓͍ͯʹཱͭλΠϛϯά͕গͳ͍ • ·ͩ·ͩυΩϡϝϯτΛ׆༻Ͱ͖͍ͯΔͱݴ͑ͳ͍ͷͰʁ
28 Documentaion as Code++
29 Documentation as Code++ υΩϡϝϯτʢʹσʔλʣͷ׆༻ൣғΛ͛Δ • γεςϜͷ։ൃϥΠϑαΠΫϧʹ͓͍ͯʮσʔλϕʔεΛ༻͢ΔλΠϛϯάʯʮσʔλϕʔε Λͬͯߟ͑ΔλΠϛϯάʯଟ͋͘Δͣ • σʔλϕʔεʮυΩϡϝϯτʯ͚ͩͰΓͳ͍ͷ͔͠Εͳ͍ɻ
• γεςϜ͔Βநग़ͨ͠ใҎ֎ͷใ༩͢Δɻ • ʮσʔλϕʔευΩϡϝϯτʯͱ͍͏ܗ͕ࣜϚον͍ͯ͠ͳ͍ͷ͔͠Εͳ͍ɻ • ਖ਼͍͠σʔλϕʔευΩϡϝϯτਖ਼͍͠σʔλͰ͋Δͱ͍͑ΔͷͰσʔλ׆༻ͷ؍͔ ΒΛ૿͢ɻ
30 Documentation as Code++ γεςϜͷཧղΛॿ͚Δ υΩϡϝϯςʔγϣϯ
ιϑτΣΞΞʔΩςΫνϟͷଟ͘ͷஶऀ͕ɺͨͬͨͭͷϞσϧΛͬͯιϑτΣΞ ΞʔΩςΫνϟΛهड़͢Δ͜ͱશ͘ෆՄೳͩͱࢦఠ͍ͯ͠ΔɻͦͷΑ͏ͳϞσϧɺ ཧղ͠ʹ্͍͘ɺΞʔΩςΫνϟͰ࠷ॏཁͳػೳΛ໌֬ʹಛఆͰ͖ΔݟࠐΈ΄ͱΜ Ͳͳ͍ɻʢதུʣ ϏϡʔʢWJFXʣͱɺҰਓҎ্ͷεςʔΫϗϧμ๊͕͍͍ͯΔͭ·ͨͦΕҎ্ͷؔ ৺ࣄʹɺΞʔΩςΫνϟ͕Ͳ͏ରԠ͢Δ͔Λࣔ͢ɺΞʔΩςΫνϟͷͭҎ্ͷߏతଆ ໘Λදݱͨ͠ͷͰ͋Δɻ χοΫɾϩβϯεΩ ΦΣϯɾοζιϑτΣΞγεςϜΞʔΩςΫνϟߏஙͷݪཧୈ൛
+BQBOFTF&EJUJPO ΑΓൈਮɹ
32 Documentation as Code++ γεςϜͷཧղΛॿ͚ΔυΩϡϝϯςʔγϣϯ • ʮؔ৺ࣄʹ߹ΘͤͯΞʔΩςΫνϟΛ1ͭҎ্ͷଆ໘ʢΓޱʣͰදݱ͢Δʯ͜ͷߟ͑ํઃܭ ͚ͩͰͳ͘υΩϡϝϯςʔγϣϯʹͯΊΔ͜ͱ͕Ͱ͖Δ • γεςϜʹର͢Δؔ৺ࣄʹ߹ΘͤͯඞཁͳγεςϜͷཁૉ͚ͩΛ·ͱΊͯʮϏϡʔʢϏϡʔϙΠ
ϯτʣʯͱ͠υΩϡϝϯτԽ͢ΔʢʮϢʔβ͔ΒͷHTTPϦΫΤετʯʮϚΠΫϩαʔϏε୯ ҐʯͳͲʣ • ؔ৺ࣄ…γεςϜΛཧղ͢Δ্Ͱҙຯ ͷ͋Δάϧʔϐϯά https://speakerdeck.com/k1low/phperkaigi-2021
33 Documentation as Code++ labels: / comments[].labels: / comments[].columnLabels: •
εΩʔϚςʔϒϧΧϥϜʹϥϕϧΛ༩Ͱ͖Δ • ϥϕϧBigQueryʹػೳͱͯ͠ଘࡏ͍ͯ͠Δ͕tblsΛ͏͜ͱͰ͋ΒΏΔσʔλϕʔεͷ υΩϡϝϯτʹϥϕϧΛ༩Ͱ͖Δ • ϥϕϧใͦͷ··υΩϡϝϯτʹͦͷ··ө͞ΕΔ • ʮηϯγςΟϒใ͕ೖΔΧϥϜʹ `sesitive` ͱ͍͏ϥϕϧΛ༩͠ɺͦͷϥϕϧ͕͋ΔΧϥϜ ͷใʹϚεΫΛ͢ΔɻӾཡݖݶΛߜΔʯ
34 Documentation as Code++ viewpoints: • σʔλϕʔευΩϡϝϯτʹ͓͚ΔʮϏϡʔϙΠϯτʯΛ ࣮ݱͨ͠ػೳ • ؔ৺ࣄʹ߹Θͤͯςʔϒϧ໊ͱϥϕϧͰؔ࿈ςʔϒϧΛߜ
ΓࠐΈɺͦͷؔ৺ࣄΛઆ໌͢ΔυΩϡϝϯτΛ࡞Ͱ͖Δ • άϧʔϐϯάՄೳ
35 Documentation as Code++ ߏԽσʔλͷ׆༻
36 Documentation as Code++ schema.json • ߏԽσʔλΛυΩϡϝϯτʹ͚͔ͩ͠Θͳ͍ͱ͍͏ͷ͍ͬͨͳ͍ • σʔλ׆༻ͷൣғΛ͛ΔͨΊʹɺtbls͕σʔλϕʔεεΩʔϚͱ.tbls.ymlΛ༻ͯ͠υΩϡϝϯ τΛੜ͢ΔͨΊʹ෦Ͱߏங͍ͯ͠ΔߏԽσʔλʢschema.jsonʣΛग़ྗ͢ΔΑ͏ʹ͢Δ
• ͱͱ tbls out -t json Ͱग़ྗͰ͖Δ͕ɺv1.57.0͔Βtbls docͰσϑΥϧτͰग़ྗ͢Δ Α͏ʹͨ͠ • σϑΥϧτͰग़ྗ͞Ε͍ͯΕग़ྗ͞Ε͍ͯΔલఏͰ࣮͕Ͱ͖Δ • schema.jsontblsʹͱͬͯMySQLPostgreSQLͱಉ͡σʔλιʔεͳͷͰɺ json:// εΩʔϜ github:// εΩʔϜΛͬͯࢦఆ͢Δ͜ͱͰɺmysql:// pg:// ͱಉ༷ʹ༻Ͱ͖Δ
37 Documentation as Code++ tbls ls • σʔλϕʔεͷςʔϒϧҰཡΧϥϜҰཡΛग़ྗ͢ΔίϚϯυʢઈࢍ֦ுதʣ • schema.jsonΛҰ࣍ใͱͯ͠༻͢Δ͜ͱͰɺ࣮ࡍͷσʔλϕʔεʹଓ͢Δ͜ͱͳ͘༻Մ
ೳ DEMO
38 Documentation as Code++ ֎෦αϒίϚϯυͷߏԽσʔλͷड͚͠ • ghʢGitHub CLIʣίϚϯυgitίϚϯυɺkubectlίϚϯυͷΑ͏ͳαϒίϚϯυ֦ுػೳ • ࣮tblsʹ͋ΔϓϥάΠϯػߏ
• σʔλϕʔεͷղੳ.tbls.ymlͷใऔಘtbls͕ߦ͍ɺαϒίϚϯυʹղੳ݁Ռͷ schema.json͕ڥมΛ௨ͯ͡ΔΈ • .tbls.ymlͰهࡌͨ͠ίϝϯτϥϕϧΛ ٯʹBitQueryʹઃఆ͢Δtbls-metaͳͲ͕͋Δ • https://github.com/k1LoW/tbls-meta https://speakerdeck.com/k1low/pepabohatena
39 Documentation as Code++ େنݴޠϞσϧʢLLMʣΛ ༻ͨ͠͞ΒͳΔ֦ு
40 Documentation as Code++ ਖ਼͘͠ඞཁͳσʔλΛLLMʹͤΔͱ͍͏ϝϦοτ • tblsͰσʔλϕʔευΩϡϝϯτਖ਼͍͜͠ͱ͕͔͍ͬͯΔɻίϯςΩετใଟ࣋ͬͯ͘ ͍Δɻ • ίϝϯτؔ࿈ɺϏϡʔϙΠϯτͳͲ
• ʮจষ͕༩͑ΒΕͨ࣌ɺ࣍ͷจষΛਪଌ͢Δʯͱ͍͏LLM͕ಘҙͱ͢ΔʹͯΊΔ • ʮίϝϯτ͖ͷਖ਼͍͠σʔλϕʔεεΩʔϚʯͱʮ࣭ʯΛ༩͑ͯLLMʹਪଌͤ͞Δ • ۩ମతʹɺσʔλϕʔεεΩʔϚͱίϯςΩετʹԊͬͨΫΤϦΛ࡞ͤ͞Δ͜ͱ͕Մೳ
• schema.json͔Βʮਖ਼͍͠ίϯςΩετΛ࣋ͬͨσʔλϕʔεεΩʔϚʢίϝϯτ͖DDLʣʯ Λ࡞ͯ͠ɺ෦తʹϓϩϯϓτʹ༻͢Δ 41 Documentation as Code++ tbls ask (
PoC: https://github.com/k1LoW/tbls-ask ) DEMO
42 Documentation as Code++ υΩϡϝϯτ׆༻ͷΠϯλʔϑΣʔεΛ͛Δ • schema.jsonΛܦ༝͢Δ͜ͱͰʢ࣮σʔλϕʔεʹଓ͠ͳͯ͘ʣܧଓతʹਖ਼͍͠ใΛσʔ λΛऩू͢Δ͜ͱ͕Ͱ͖Δ • LLMʹΑͬͯʮਖ਼͍͠υΩϡϝϯτʢߏԽσʔλʣΛͬͨਪଌʯͱ͍͏Ξϓϩʔν
• ྫ͑ʮνϟοτϘοτʯͱ͍͏υΩϡϝϯτ׆༻ͷΠϯλʔϑΣʔε • ʮ@tbls-bot query minneͷྦྷੵྲྀ௨ֹͷ߹ܭʯʮSELECT * ʙʯ͕༰қʹ࣮ݱͰ͖Δɻ • ͞ΒʹΫΤϦͷ࣮ߦΛڐ͢ͷͰ͋Ε • ʮ@tbls-bot minneͷྦྷੵྲྀ௨ֹͷ߹ܭΛڭ͑ͯʯʮ͍ɻ 20236݄15࣌Ͱͷྦྷܭ ྲྀ௨ֹ߹ܭ1,000,00*,***,***Ͱ͢ɻ࣮ߦͨ͠ΫΤϦXXXͰ͢ɻʯ͕࣮ݱͰ͖Δɻ
43 Documentation as Code++ ͞ΒʹٯͷΞϓϩʔν
44 Documentation as Code++ ࣮σʔλΛ༻ͨ͠υΩϡϝϯςʔγϣϯͷิ • ʮςʔϒϧͷϨίʔυͷαϯϓϧʯΛ༩͑ͯLLMʹʮςʔϒϧͱΧϥϜͷઆ໌ʯΛਪଌͤ͞Δ • ࣮σʔλͰυΩϡϝϯςʔγϣϯΛͯ͠͠·͓͏ͱ͍͏tblsͱٯͷΞϓϩʔν •
By @pyama86 • ϖύϘࣾͰଟ͘ͷChatGPTΞϓϦέʔγϣϯΛఏڙ͖͔ͯͨ͠Βͦ͜ͷൃ • https://ten-snapon.com/archives/2908
͓ΘΓʹ 45
46 https://star-history.com/blog/star-history-monthly-pick-202302 ʢ͜ͷϓϩδΣΫτ5Ҏ্લ͔ΒΦʔϓϯιʔεԽ͞Ε͍ͯΔ ͕ɺࠓͷॳΊʹͷ͕ٸ૿ͨ͠ɻͦͷؒʹԿ͕͋ͬͨͷ͔ɺ Ͳͳ͔͓ͨΘ͔ΓʹͳΓ·͔͢ʁʣ The project has been open-sourced
for 5+ years, but the number of stars had a spike earlier this year. Anyone has any idea what happened in between?
47 ͓ΘΓʹ ͓ΘΓʹ • ͑ͱͯ͠ʮΘ͔Γ·ͤΜɻ͔͠͠ɺDocumentation as Codeʹ͍ͭͯߟ͑ͳ͕Βɺܧଓత ʹ։ൃΛ͖ͯ͠·ͨ͠ʯ • Documentation
as CodeͷݪʮυΩϡϝϯτΛίʔυͱಉ͡Α͏ʹӡ༻͍ͯ͘͠ʯ • ͦͯͦ͠ͷઌΛߟ࣮͖͑ͯͨ͠ɻ • ࠓ࣌ͷࢲͷDocumentation as Codeͷείʔϓʮਖ਼͍͠υΩϡϝϯτਖ਼͍͠σʔλͰ͋ ΓɺυΩϡϝϯτͷൣᙝΛӽ͑ྑ࣭ͳೖྗʹͳΔʯ
Thank You! Thank You! 48