Slide 1

Slide 1 text

The future of tbls and “Documentation as Code" খࢁ݈Ұ࿠ / GMO PEPABO inc. 2023.6.24 PHPΧϯϑΝϨϯε෱Ԭ2023 1

Slide 2

Slide 2 text

ࣗݾ঺հ ٕज़෦ɹٕज़ج൫νʔϜ 2018೥ த్ೖࣾ খࢁ ݈Ұ࿠ Ken’ichiro Oyama গ࣮͠༻తͰখ͞ͳOSSΛॻ͘ͷ͕झຯɻ ● GitHub : k1LoW ● Twitter : @k1LoW 2

Slide 3

Slide 3 text

GMOϖύϘʹ͍ͭͯ 3 https://pepabo.com

Slide 4

Slide 4 text

4 ͸͡Ίʹ

Slide 5

Slide 5 text

5 ͸͡Ίʹ • tblsΛத৺ʹൃද͢Δͷ͸࣮ʹ5೥ͿΓ2ճ໨Ͱ͢ • ຊηογϣϯͰ͸tblsͱDocumentation as Codeʹ͍ͭͯ࿩͠·͢ • tblsͱDocumentation as Codeʹ͍ͭͯͷ5೥෼ͷूେ੒ʹͳΓ·͢ • օ͞Μʹ͸tblsͷ࿩Λฉ͖ͳ͕Β΋ɺ΋ͬͱந৅తͳʮυΩϡϝϯςʔγϣ ϯͷͨΊͷπʔϧʯΛΠϝʔδͯ͠΄͍͠Ͱ͢ • tblsʹݶͬͨ࿩Ͱ͸ͳ͍ͱࢲ͸৴͍ͯ͡·͢

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

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ͱ͍༷ͬͨʑͳσʔλιʔ εʹରԠ • υΩϡϝϯτΛॆ࣮ͤ͞Δػೳͱͯ͠ϝλσʔλΛΞϊςʔ γϣϯ͢Δ͜ͱ͕Մೳ • ςʔϒϧɺΧϥϜͳͲͷίϝϯτ෇༩͚ͩͰͳ͘ϥϕ ϧɺϦϨʔγϣϯγοϓͳͲ

Slide 8

Slide 8 text

8 About tbls tbls doc • σʔλϕʔεʹ઀ଓͯ͠σʔλϕʔευΩϡϝϯτΛੜ੒͢ΔαϒίϚϯυ DEMO

Slide 9

Slide 9 text

9 About tbls ϝτϦΫεͰݟΔtbls • 2018೥5݄17೔ʹ։ൃ։࢝ɻ2023೥6݄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ελʔ

Slide 10

Slide 10 text

10 Documentation as Code

Slide 11

Slide 11 text

%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

Slide 12

Slide 12 text

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 • γεςϜͷ։ൃͷۙ͘ʹυΩϡϝϯτ࡞੒ͷ࢓૊ΈΛஔ͘͜ͱͰɺ։ൃαΠΫϧͷதʹυΩϡϝ ϯτ࡞੒Λ౷߹͠ɺγεςϜͱυΩϡϝϯτͷဃ཭Λখ͘͞͠Α͏ͱ͍ͯ͠Δ͜ͱ͕Θ͔Δ

Slide 13

Slide 13 text

13 Documentation as Code Documentation as Codeͷ՝୊

Slide 14

Slide 14 text

14 Documentation as Code γεςϜͱυΩϡϝϯτͷဃ཭ • ʮγεςϜͱυΩϡϝϯτͷဃ཭Λখ͘͞ʯ͚ͩͰ͸࣌ͱ࣮ͯ͠༻ʹ͸ݫ͍͠ • ဃ཭͕ʢগ͠Ͱ΋ʣ͋ΔͱԿ͕ਖ਼͍͔͕͠Θ͔Βͳ͘ͳΔ • ਓ͸γεςϜͱͷဃ཭Λൃݟ͢Δͱ΋͏ͦͷυΩϡϝϯτΛ৴༻͠ͳ͘ͳͬͯ͠·͏ • ׂΕ૭ཧ࿦ • υΩϡϝϯτ͕ߋ৽͞ΕΕ͹ɺਓ͸ߋ৽෼ʹ͍ͭͯਖ਼͍͔͠Ͳ͏͔ͷϨϏϡʔ͸Ͱ͖Δɻ͔͠ ͠ɺγεςϜ։ൃ͕ਐΜͰऔΓ࢒͞Εͯ͠·ͬͨυΩϡϝϯτͷϨϏϡʔͷλΠϛϯά͕ͳ͍ɻ

Slide 15

Slide 15 text

Documentation as Code+ 15

Slide 16

Slide 16 text

16 Documentation as Code+ ࣮༻తͳʢγεςϜͱဃ཭͠ͳ͍ͨΊͷʣDocumentation as Code • ͦ΋ͦ΋ʮγεςϜͱυΩϡϝϯτͷဃ཭ʯ͸ͳͥى͜Δͷ͔ • γεςϜ͸࣌ؒͷܦաʹΑͬͯมԽ͢Δ͕ɺυΩϡϝϯτ͸ͦͷมԽʹ௥ै͠ͳ͍͔Β ʢ΋͘͠͸௥ै͢Δʹ΋λΠϜϥά͕ൃੜ͢Δ͔Βʣ • ࣌ؒܦաʹ଱͑ΔͨΊʹ͸ɺ౎౓ɺγεςϜΛͦͷ··υΩϡϝϯτʢ΋͘͠͸υΩϡϝϯτͷ ਽ܗʣʹม׵Ͱ͖Ε͹ྑ͍ • ͜͜ͷϞσϧԽʹڵຯ͋Δํ͸ͪ͜Βˠ • ʮγεςϜΛͦͷ··ʯ
 ʹγεςϜ͔Βߏ଄ԽσʔλΛநग़͢Δ https://speakerdeck.com/k1low/web-system-architecture-number-8

Slide 17

Slide 17 text

17 Documentation as Code+ γεςϜͱυΩϡϝϯτͷဃ཭Λθϩʹ͢Δ • γεςϜ͔Βߏ଄ԽσʔλΛநग़ͯ͠ɺͦͷߏ଄Խσʔλ͔ΒυΩϡϝϯτΛੜ੒͢Δ • Α͘஌ΒΕ͍ͯΔ΋ͷͱͯ͠͸PHPDoc΍godocͱ͍ͬͨιʔείʔυ͔ΒυΩϡϝϯτΛ ੜ੒͢ΔΞϓϩʔνʢιʔείʔυ΋γεςϜͷࣸ૾ͱ͍͑Δʣ • ߏ଄Խσʔλ͔ΒγεςϜͱυΩϡϝϯτͷ྆ํΛੜ੒͢Δ • OpenAPI • Protocol Buffersʢprotocʣ • γεςϜͱυΩϡϝϯτͷဃ཭Λθϩʹ͢ΔDocumentation as CodeΛຊൃදʢ͚ͩʣͰ͸ Documentation as Code+ͱݺͿ

Slide 18

Slide 18 text

18 Documentation as Code+ tbls։ൃͷ͖͔͚ͬ • ౰࣌ΞϧϑΝஈ֊ͷϓϩδΣΫτͰઈࢍ։ൃதʹɺϓϩμΫτΦʔφʔ͕SQLΛॻ͘ਓͰʮσʔ λϕʔεఆٛॻ͸Ͳ͜ʹ͋Γ·͔͢ʁʯͱฉ͔Εͯ͠·ͬͨ • σʔλϕʔεεΩʔϚ΋೔ʑมΘ͍ͬͯΔΑ͏ͳϑΣʔζͰ৘ใ͕ϚΠάϨʔγϣϯϑΝΠ ϧͱίϛοτϩάʹ͔͠ͳ͔ͬͨ • γεςϜʢσʔλϕʔεʣͱυΩϡϝϯτͷ
 ဃ཭Λθϩʹ͢Δπʔϧͱͯ͠tblsͷ։ൃΛ
 ͸͡Ίͨ https://speakerdeck.com/k1low/pepabo-tech-conference-number-16

Slide 19

Slide 19 text

19 Documentation as Code+ Documentation as Code+ͷࢹ఺Ͱ࡞੒͞Εͨtbls • tbls͸ߏ଄Խσʔλʢσʔλϕʔεʣ͔ΒυΩϡϝϯτΛੜ੒͢ΔΞϓϩʔν • CIͰυΩϡϝϯτΛੜ੒͢Δ͜ͱͰܧଓతʹγεςϜͱͷဃ཭Λθϩʹ͢Δ • ʮContinuous Documentationʯ • CIϑϨϯυϦ=ϫϯόΠφϦͰ؆୯ʹΠϯετʔϧͰ͖Δ https://speakerdeck.com/k1low/pepabo-tech-conference-number-16

Slide 20

Slide 20 text

20 Documentation as Code+ k1LoW/setup-tbls • tblsΛηοτΞοϓ͢ΔAction for GitHub Actions • https://github.com/k1LoW/setup-tbls • ΑΓCIϑϨϯυϦʹ

Slide 21

Slide 21 text

21 Documentation as Code+ Documentation as Code+Λ αϙʔτ͢ΔtblsαϒίϚϯυ

Slide 22

Slide 22 text

22 Documentation as Code+ tbls diff • ࠩ෼Λ֬ೝ͢ΔίϚϯυɻ • σʔλϕʔε-υΩϡϝϯτɺσʔλϕʔε-σʔλϕʔεͲͪΒ΋Մೳ

Slide 23

Slide 23 text

23 Documentation as Code+ tbls coverage • ιʔείʔυͱಉ͡Α͏ʹυΩϡϝϯτͷΧόϨοδʢςʔϒϧ΍ΧϥϜͷίϝϯτͷຒ·Γ ཰ʣΛ֬ೝͰ͖Δ

Slide 24

Slide 24 text

24 Documentation as Code+ tbls lint • σʔλϕʔευΩϡϝϯτʢͱσʔλϕʔεʣͷͨΊͷLinter • ίϝϯτͷ༗ແ΍ؔ࿈ͷ༗ແɺςʔϒϧ͝ͱͷΧϥϜ਺ͳͲΛνΣοΫର৅ʹͰ͖Δɻ

Slide 25

Slide 25 text

͜͜·Ͱ͕ɺ ౰࣌ߟ͍͑ͯͨ Documentation as Code 25

Slide 26

Slide 26 text

26 Documentation as Code+ Documentation as Code+ͷ՝୊

Slide 27

Slide 27 text

27 Documentation as Code+ ਖ਼͍͠ɻ͕ɺ໾ʹཱͨͳ͍ • ਖ਼͍͠σʔλϕʔευΩϡϝϯτͰ͋Δͱ͍͏҆৺ײ͸ಘΒΕͨ • tblsద༻ҎલͰ͸ಘΒΕͳ͔ͬͨײ֮Ͱ͋Δ͜ͱ͸ؒҧ͍ͳ͍ • σʔλϕʔεͷςʔϒϧ΍ΧϥϜͷίϝϯτɺϦϨʔγϣϯ͕੔උ͞Ε͍ͯΔυΩϡϝϯτ͕͋ Δ͜ͱͰҰఆͷ໾ʹ͸ཱ͕ͭɺͦΕҎ্Ͱ΋ͦΕҎԼͰ΋ͳ͍ • γεςϜͷ։ൃϥΠϑαΠΫϧʹ͓͍ͯ໾ʹཱͭλΠϛϯά͕গͳ͍ • ·ͩ·ͩυΩϡϝϯτΛ׆༻Ͱ͖͍ͯΔͱ͸ݴ͑ͳ͍ͷͰ͸ʁ

Slide 28

Slide 28 text

28 Documentaion as Code++

Slide 29

Slide 29 text

29 Documentation as Code++ υΩϡϝϯτʢʹσʔλʣͷ׆༻ൣғΛ޿͛Δ • γεςϜͷ։ൃϥΠϑαΠΫϧʹ͓͍ͯʮσʔλϕʔεΛ࢖༻͢ΔλΠϛϯάʯʮσʔλϕʔε Λ࢖ͬͯߟ͑ΔλΠϛϯάʯ͸ଟ͋͘Δ͸ͣ • σʔλϕʔεʮυΩϡϝϯτʯ͚ͩͰ͸଍Γͳ͍ͷ͔΋͠Εͳ͍ɻ • γεςϜ͔Βநग़ͨ͠৘ใҎ֎ͷ৘ใ΋෇༩͢Δɻ • ʮσʔλϕʔευΩϡϝϯτʯͱ͍͏ܗ͕ࣜϚον͍ͯ͠ͳ͍ͷ͔΋͠Εͳ͍ɻ • ਖ਼͍͠σʔλϕʔευΩϡϝϯτ͸ਖ਼͍͠σʔλͰ͋Δͱ͍͑ΔͷͰσʔλ׆༻ͷ؍఺͔ Β઀఺Λ૿΍͢ɻ

Slide 30

Slide 30 text

30 Documentation as Code++ γεςϜͷཧղΛॿ͚Δ υΩϡϝϯςʔγϣϯ

Slide 31

Slide 31 text

ιϑτ΢ΣΞΞʔΩςΫνϟͷଟ͘ͷஶऀ͕ɺͨͬͨͭͷϞσϧΛ࢖ͬͯιϑτ΢ΣΞ ΞʔΩςΫνϟΛهड़͢Δ͜ͱ͸શ͘ෆՄೳͩͱࢦఠ͍ͯ͠ΔɻͦͷΑ͏ͳϞσϧ͸ɺ ཧղ͠ʹ্͍͘ɺΞʔΩςΫνϟͰ࠷΋ॏཁͳػೳΛ໌֬ʹಛఆͰ͖ΔݟࠐΈ͸΄ͱΜ Ͳͳ͍ɻʢதུʣ ϏϡʔʢWJFXʣͱ͸ɺҰਓҎ্ͷεςʔΫϗϧμ๊͕͍͍ͯΔͭ·ͨ͸ͦΕҎ্ͷؔ ৺ࣄʹɺΞʔΩςΫνϟ͕Ͳ͏ରԠ͢Δ͔Λࣔ͢ɺΞʔΩςΫνϟͷͭҎ্ͷߏ଄తଆ ໘Λදݱͨ͠΋ͷͰ͋Δɻ χοΫɾϩβϯεΩ Φ΢Σϯɾ΢οζιϑτ΢ΣΞγεςϜΞʔΩςΫνϟߏஙͷݪཧୈ൛ +BQBOFTF&EJUJPO ΑΓൈਮɹ

Slide 32

Slide 32 text

32 Documentation as Code++ γεςϜͷཧղΛॿ͚ΔυΩϡϝϯςʔγϣϯ • ʮؔ৺ࣄʹ߹ΘͤͯΞʔΩςΫνϟΛ1ͭҎ্ͷଆ໘ʢ੾ΓޱʣͰදݱ͢Δʯ͜ͷߟ͑ํ͸ઃܭ ͚ͩͰͳ͘υΩϡϝϯςʔγϣϯʹ΋౰ͯ͸ΊΔ͜ͱ͕Ͱ͖Δ • γεςϜʹର͢Δؔ৺ࣄʹ߹ΘͤͯඞཁͳγεςϜͷཁૉ͚ͩΛ·ͱΊͯʮϏϡʔʢϏϡʔϙΠ ϯτʣʯͱ͠υΩϡϝϯτԽ͢ΔʢʮϢʔβ͔ΒͷHTTPϦΫΤετʯʮϚΠΫϩαʔϏε୯ ҐʯͳͲʣ • ؔ৺ࣄ…γεςϜΛཧղ͢Δ্Ͱҙຯ
 ͷ͋Δάϧʔϐϯά https://speakerdeck.com/k1low/phperkaigi-2021

Slide 33

Slide 33 text

33 Documentation as Code++ labels: / comments[].labels: / comments[].columnLabels: • εΩʔϚ΍ςʔϒϧ΍ΧϥϜʹϥϕϧΛ෇༩Ͱ͖Δ • ϥϕϧ͸BigQueryʹ͸ػೳͱͯ͠ଘࡏ͍ͯ͠Δ͕tblsΛ࢖͏͜ͱͰ͋ΒΏΔσʔλϕʔεͷ υΩϡϝϯτʹϥϕϧΛ෇༩Ͱ͖Δ • ϥϕϧ৘ใ͸ͦͷ··υΩϡϝϯτʹ΋ͦͷ··൓ө͞ΕΔ • ʮηϯγςΟϒ৘ใ͕ೖΔΧϥϜʹ `sesitive` ͱ͍͏ϥϕϧΛ෇༩͠ɺͦͷϥϕϧ͕͋ΔΧϥϜ ͷ৘ใʹ͸ϚεΫΛ͢ΔɻӾཡݖݶΛߜΔʯ

Slide 34

Slide 34 text

34 Documentation as Code++ viewpoints: • σʔλϕʔευΩϡϝϯτʹ͓͚ΔʮϏϡʔϙΠϯτʯΛ ࣮ݱͨ͠ػೳ • ؔ৺ࣄʹ߹Θͤͯςʔϒϧ໊ͱϥϕϧͰؔ࿈ςʔϒϧΛߜ ΓࠐΈɺͦͷؔ৺ࣄΛઆ໌͢ΔυΩϡϝϯτΛ࡞੒Ͱ͖Δ • άϧʔϐϯά΋Մೳ

Slide 35

Slide 35 text

35 Documentation as Code++ ߏ଄Խσʔλͷ׆༻

Slide 36

Slide 36 text

36 Documentation as Code++ schema.json • ߏ଄ԽσʔλΛυΩϡϝϯτʹ͚͔ͩ͠࢖Θͳ͍ͱ͍͏ͷ͸΋͍ͬͨͳ͍ • σʔλ׆༻ͷൣғΛ޿͛ΔͨΊʹɺtbls͕σʔλϕʔεεΩʔϚͱ.tbls.ymlΛ࢖༻ͯ͠υΩϡϝϯ τΛੜ੒͢ΔͨΊʹ಺෦Ͱߏங͍ͯ͠Δߏ଄Խσʔλʢschema.jsonʣΛग़ྗ͢ΔΑ͏ʹ͢Δ • ΋ͱ΋ͱ tbls out -t json Ͱग़ྗͰ͖Δ͕ɺv1.57.0͔Βtbls docͰ΋σϑΥϧτͰग़ྗ͢Δ Α͏ʹͨ͠ • σϑΥϧτͰग़ྗ͞Ε͍ͯΕ͹ग़ྗ͞Ε͍ͯΔલఏͰ࣮૷͕Ͱ͖Δ • schema.json͸tblsʹͱͬͯ͸MySQL΍PostgreSQLͱಉ͡σʔλιʔεͳͷͰɺ json:// εΩʔϜ ΍ github:// εΩʔϜΛ࢖ͬͯࢦఆ͢Δ͜ͱͰɺmysql:// ΍ pg:// ͱಉ༷ʹ࢖༻Ͱ͖Δ

Slide 37

Slide 37 text

37 Documentation as Code++ tbls ls • σʔλϕʔεͷςʔϒϧҰཡ΍ΧϥϜҰཡΛग़ྗ͢ΔίϚϯυʢઈࢍ֦ுதʣ • schema.jsonΛҰ࣍৘ใͱͯ͠࢖༻͢Δ͜ͱͰɺ࣮ࡍͷσʔλϕʔεʹ઀ଓ͢Δ͜ͱͳ͘࢖༻Մ ೳ DEMO

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

39 Documentation as Code++ େن໛ݴޠϞσϧʢLLMʣΛ ࢖༻ͨ͠͞ΒͳΔ֦ு

Slide 40

Slide 40 text

40 Documentation as Code++ ਖ਼͘͠ඞཁͳσʔλΛLLMʹ౉ͤΔͱ͍͏ϝϦοτ • tblsͰσʔλϕʔευΩϡϝϯτ͸ਖ਼͍͜͠ͱ͕෼͔͍ͬͯΔɻίϯςΩετ৘ใ΋ଟ࣋ͬͯ͘ ͍Δɻ • ίϝϯτ΍ؔ࿈ɺϏϡʔϙΠϯτͳͲ • ʮจষ͕༩͑ΒΕͨ࣌ɺ࣍ͷจষΛਪଌ͢Δʯͱ͍͏LLM͕ಘҙͱ͢Δ໰୊ʹ౰ͯ͸ΊΔ • ʮίϝϯτ෇͖ͷਖ਼͍͠σʔλϕʔεεΩʔϚʯͱʮ࣭໰ʯΛ༩͑ͯLLMʹਪଌͤ͞Δ • ۩ମతʹ͸ɺσʔλϕʔεεΩʔϚͱίϯςΩετʹԊͬͨΫΤϦΛ࡞੒ͤ͞Δ͜ͱ͕Մೳ

Slide 41

Slide 41 text

• schema.json͔Βʮਖ਼͍͠ίϯςΩετΛ࣋ͬͨσʔλϕʔεεΩʔϚʢίϝϯτ෇͖DDLʣʯ Λ࡞੒ͯ͠ɺ಺෦తʹϓϩϯϓτʹ࢖༻͢Δ 41 Documentation as Code++ tbls ask ( PoC: https://github.com/k1LoW/tbls-ask ) DEMO

Slide 42

Slide 42 text

42 Documentation as Code++ υΩϡϝϯτ׆༻ͷΠϯλʔϑΣʔεΛ޿͛Δ • schema.jsonΛܦ༝͢Δ͜ͱͰʢ࣮σʔλϕʔεʹ઀ଓ͠ͳͯ͘΋ʣܧଓతʹਖ਼͍͠৘ใΛσʔ λΛऩू͢Δ͜ͱ͕Ͱ͖Δ • LLMʹΑͬͯʮਖ਼͍͠υΩϡϝϯτʢߏ଄ԽσʔλʣΛ࢖ͬͨਪଌʯͱ͍͏Ξϓϩʔν • ྫ͑͹ʮνϟοτϘοτʯͱ͍͏υΩϡϝϯτ׆༻ͷΠϯλʔϑΣʔε • ʮ@tbls-bot query minneͷྦྷੵྲྀ௨ֹͷ߹ܭʯʮSELECT * ʙʯ͕༰қʹ࣮ݱͰ͖Δɻ • ͞ΒʹΫΤϦͷ࣮ߦΛڐ͢ͷͰ͋Ε͹ • ʮ@tbls-bot minneͷྦྷੵྲྀ௨ֹͷ߹ܭΛڭ͑ͯʯʮ͸͍ɻ 2023೥6݄15೔࣌఺Ͱͷྦྷܭ ྲྀ௨ֹ߹ܭ͸1,000,00*,***,***Ͱ͢ɻ࣮ߦͨ͠ΫΤϦ͸XXXͰ͢ɻʯ͕࣮ݱͰ͖Δɻ

Slide 43

Slide 43 text

43 Documentation as Code++ ͞ΒʹٯͷΞϓϩʔν

Slide 44

Slide 44 text

44 Documentation as Code++ ࣮σʔλΛ࢖༻ͨ͠υΩϡϝϯςʔγϣϯͷิ׬ • ʮςʔϒϧͷϨίʔυͷαϯϓϧʯΛ༩͑ͯLLMʹʮςʔϒϧͱΧϥϜͷઆ໌ʯΛਪଌͤ͞Δ • ࣮σʔλͰυΩϡϝϯςʔγϣϯΛͯ͠͠·͓͏ͱ͍͏tblsͱٯͷΞϓϩʔν • By @pyama86 • ϖύϘࣾ಺Ͱଟ͘ͷChatGPTΞϓϦέʔγϣϯΛఏڙ͖͔ͯͨ͠Βͦ͜ͷൃ૝ • https://ten-snapon.com/archives/2908

Slide 45

Slide 45 text

͓ΘΓʹ 45

Slide 46

Slide 46 text

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?

Slide 47

Slide 47 text

47 ͓ΘΓʹ ͓ΘΓʹ • ౴͑ͱͯ͠͸ʮΘ͔Γ·ͤΜɻ͔͠͠ɺDocumentation as Codeʹ͍ͭͯߟ͑ͳ͕Βɺܧଓత ʹ։ൃΛ͖ͯ͠·ͨ͠ʯ • Documentation as Codeͷݪ఺͸ʮυΩϡϝϯτΛίʔυͱಉ͡Α͏ʹӡ༻͍ͯ͘͠ʯ • ͦͯͦ͠ͷઌΛߟ࣮͑૷͖ͯͨ͠ɻ • ࠓ࣌఺ͷࢲͷDocumentation as Codeͷείʔϓ͸ʮਖ਼͍͠υΩϡϝϯτ͸ਖ਼͍͠σʔλͰ͋ ΓɺυΩϡϝϯτͷൣᙝΛӽ͑ྑ࣭ͳೖྗʹͳΔʯ

Slide 48

Slide 48 text

Thank You! Thank You! 48