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.2k
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
930
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
210
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.5k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
490
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
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
450
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
150
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
140
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
3
710
Don't write the architecture only in the prompt.
neohsu
0
290
LLMの知識とAIエージェント
happysamurai294
0
150
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
180
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
150
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
1
720
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
200
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
740
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
650
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
The SEO Collaboration Effect
kristinabergwall1
1
610
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Documentation Writing (for coders)
carmenintech
77
5.6k
Code Reviewing Like a Champion
maltzj
529
40k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Paper Plane
katiecoart
PRO
5
54k
My Coaching Mixtape
mlcsv
0
370
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
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