Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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Λ͏ͱαʔόʔଆϘΠϥʔϓϨʔτίʔυͷهड़Λ࠷খ ݶʹͯ͠ϩδοΫʹूதͯ͠ॻ͚ΔΑʂ • Έͳ͞Μ͍͔͕Ͱ͔ͨ͠ʁ • ײͳͲΛ͓͓ͪͯ͠Γ·͢