tanukistack ライブコーディング / tanukistack live-coding
by
mackee
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
tanukistack ϥΠϒίʔσΟϯά ভ.ͳΜ͔ #2 @macopy
Slide 2
Slide 2 text
୭ʁ macopy GitHub: mackee X: mackee_w, mixi2: macopy ໘ന๏ਓΧϠοΫ άϧʔϓใ෦ όοΫΤϯυ, SRE, ΞʔΩςΫτ ද࡞: sqlla(ORM), tanukirpc(WAF)
Slide 3
Slide 3 text
ࠓΔ͜ͱ • ϥΠϒίʔσΟϯά • ओʹtanukistack(tanukirpc + sqlla)ʹ͍ͭͯ • ͦͷଞ࠷͍ۙͬͯΔπʔϧ(aqua, go-task)ͳͲղઆ • Ͱ͖ΕpgvectorΛͬͨϕΫτϧݕࡧ·ͰΓ͍ͨ • sqlla v2.99.0-rc1ͷۄػೳͳͷͰ
Slide 4
Slide 4 text
͓: ϝϞாΞϓϦ • MarkdownͰॻ͚Δ • ग़དྷΔ͜ͱ • ৽ن࡞ • Ϧετදࣔ • ߋ৽ • ݕࡧ
Slide 5
Slide 5 text
ϨΪϡϨʔγϣϯ • ϑϩϯτΤϯυϞοΫσʔλͰಈ࡞͍ͯ͠Δঢ়ଶ • ·ͬ͞Β͔Βελʔτ • ͱݴ͍ͭͭɺgonewΛͬͯtanukistackςϯϓϨʔτΛҾͬுͬͯ ͖·͢ • DBPostgreSQLͰ͢ • PgରԠsqlla v2.99.0-rc1ͷۄػೳͳͷͰ(2ճ)
Slide 6
Slide 6 text
tanukistack • https://github.com/mackee/template-tanukistack • (ݱঢ়)ϓϩδΣΫτςϯϓϨʔτ • gonewͰҾͬு͖ͬͯ·͢
Slide 7
Slide 7 text
aqua • https://aquaproj.github.io/ • πʔϧͷόʔδϣϯϚωʔδϟʔ • ϏϧυࡁΈόΠφϦΛམͱ͖ͯͯ͠ల։͖ͯͯ͠$PATHʹೖΕΔ͜ ͱʹಛԽ͍ͯ͠Δ • ࠷ۙGoͱ͔Bun͜ΕͰཧ͍ͯ͠·͢ • ࠓճgo-taskཧԼʹೖΕΔ
Slide 8
Slide 8 text
go-task/task • https://github.com/go-task/task • YAMLͰॻ͚ΔλεΫϥϯφʔ • Make fi leΑΓ໌ྎ(ݸਓͷҙݟͰ͢) • ࠓճdevαʔόʔ্ཱͪ͛ͱςετ࣮ߦʹར༻
Slide 9
Slide 9 text
go tool • Go1.24(2/11ϦϦʔε!!)Ͱ͑ΔΑ͏ʹͳͬͨػೳ • ϥΠϒϥϦͰͳ͘ಠཱͨ͠ίϚϯυΛόʔδϣϯཧग़དྷΔΑ͏ʹ ͳΔ
Slide 10
Slide 10 text
tanukirpc • https://github.com/mackee/tanukirpc • ϧʔλʔ/WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ • Request/ResponseΛstructͰఆٛͯ͠ϋϯυϥʔͷҾʹ͓ͯ͘͠ ͱɺϑϨʔϜϫʔΫଆͰΤϯίʔυ/σίʔυΛΔ • `validate`λάΛstruct fi eldʹॻ͘ͱόϦσʔγϣϯߦ͍·͢
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
tanukirpcͷTypeScriptΫϥΠΞϯτॻ͖ग़͠ • routerʹొ͞Ε͍ͯΔΤϯυϙΠϯτͷRequest/ResponseΛܕఆ ٛʹΈࠐΜͩΫϥΠΞϯτΛੜ͢Δ
Slide 13
Slide 13 text
tanukiup • tanukirpcઐ༻ͷϗοτϦϩʔυ͘Μ • ۄػೳͱͯ͠αʔόʔ࣮͞Ε͍ͯΔAPIύεҎ֎Λผͷαʔ όʔʹϦόʔεϓϩΩγ͢Δػೳ => ϗοτϦϩʔυ͕ޮ͘ UBOVLJSQD UBOVLJVQ WJUFEFWTFSWFS FUDʜ ϒϥβ API ͦͷଞ
Slide 14
Slide 14 text
sqlla • Go structͰఆٛͨ͠DBεΩʔϚ͔ΒΫΤϦϏϧμʔϚούʔͳͲ Λίʔυੜ͢ΔλΠϓͷORM • v2.99.0-rc1ͷۄػೳ • PostgreSQLରԠ pgvectorѻ͑ΔΑʂ • ϓϥάΠϯ
Slide 15
Slide 15 text
sqllaͷΫΤϦͷྫ
Slide 16
Slide 16 text
sqllaͷϓϥάΠϯػೳ • `//sqlla:plugin [plugin args…]` Ͱࢦఆ • sqlla͕༻͍Δ੩తղੳ+ίʔυੜػೳΛͬͨςϯϓϨʔτʹΑΔίʔυੜ͕ಈ͘ • ΈࠐΈpluginͷྫ • `table`: Data Access ObjectΛੜ Insert/Bulk InsertΛߦ͏CreateϝιουͳͲ͕ੜ ͑Δ • `slice`: `type Articles []*Article` ͷΑ͏ͳܕΛఆٛ͠ɺ`IDS`ͷΑ͏ͳitem͔Βಛఆͷ ϑΟʔϧυͷΈΛऔΓग़ͨ͠ϝιουੜͰ͖Δ
Slide 17
Slide 17 text
ϥΠϒίʔσΟϯάத…
Slide 18
Slide 18 text
·ͱΊ • tanukistackΛ͏ͱαʔόʔଆϘΠϥʔϓϨʔτίʔυͷهड़Λ࠷খ ݶʹͯ͠ϩδοΫʹूதͯ͠ॻ͚ΔΑʂ • Έͳ͞Μ͍͔͕Ͱ͔ͨ͠ʁ • ײͳͲΛ͓͓ͪͯ͠Γ·͢