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
920
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
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
Let's Change Our World—Again
snoozer05
PRO
5
360
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
310
Optunaの最新リリースv5.0について
pfn
PRO
0
140
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
170
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
670
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
260
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
190
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
390
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
200
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
0
190
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
390
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
420
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
720
Practical Orchestrator
shlominoach
192
12k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Evolving SEO for Evolving Search Engines
ryanjones
0
330
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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