
GW ã« Bun ã» Hono ã» Astro ã䞊ã¹ãåã®çŽ æ¯ãèšé²
æ¬çªã«ç¹ããªãçŽæãè§Šãåæ°ãããã
æ°ã«ãªã£ãŠããæè¡ãããã
ã§ããæ¡ä»¶ã§äœ¿ãããã©ããåãããªãã
åŠç¿ã³ã¹ããèãããšãåŸåãã«ããŠããŸãã
ââãããªçµéšããããŸãããïŒ
ä»å¹Žã® GWãåã¯äžã€ã®çŽæãããŠããã3 ã€ã®æè¡ã䞊ã¹ãŠè§ŠããŸããã
ãæ¬çªã«ç¹ããªããŠããã
ãã®äžèšãããã£ãšç©ã¿äžãã£ãŠããããã€ãè§Šããã®æ£ã厩ããŠãããŸããã
ç¥ã£ãŠãããè§Šã£ãŠããªããç©ã¿äžãã£ãŠãã
ã¿ãªããã®æè¡ãªã¹ãã«ãç¥ã£ãŠããããã¡ãããšè§Šã£ãããšããªããã®ã¯ãããŸããïŒ
åã«ã¯ãããŸãã
ãããããã£ãããªéã§ã
Bunã
Hono ã® RPC ã¢ãŒãã
Astro v3 ã® Content Collectionsã
ã©ããæ°ã«ãªã£ãŠããã¬ãã«ã§ã¯åžžã«ãããŸããã
Hono ã«ããã£ãŠã¯èšäºãäœæ¬ãæžããŠããã®ã«ãRPC ã¢ãŒãã ãã¯ãã£ãšãæ¬¡ã®æ©äŒã«ãã®ãŸãŸã«ãªã£ãŠããã
ãªãè§Šããªãã®ããèªåã«åããããŠã¿ããšçãã¯åãã§ããã
ãæ¬çªã§äœ¿ãã€ã¡ãŒãžãæ¹§ããªãã
ãæ¡ä»¶ã«æã¡èŸŒããªããªããåŠç¿ã³ã¹ããååã§ããªãã
ããªãŒã©ã³ã¹ã®å€æè»žã§æè¡éžæãããŠããã®ããéã«è¶³æ·ã«ãªã£ãŠããã®ã§ãã
ä»å¹Žã® GW åµäœå宿ã§å人éçºãé²ããªããããµãšæ°ã¥ããã
ãå宿ã®ç©ºãæéã§ "è§Šãã ã" ãããã°ããã
çŽ æ¯ãã
æ¬çªã«ç¹ããªããäžçºã§ãã¹ã¿ãŒããªããŠããã
ãã æãåããã ãã®æéã
ââãã®èšèãæµ®ããã ãšããäžæè°ãšæ°æã¡ã軜ããªããŸããã
åŠç¿ã矩åã«ãªã£ãç¬éã æãæ¢ãŸã
å°ãåã«ãæ¯æ¥ãããªããã«ç²ããåããã«ãŒãã£ã³ãçµã¿çŽãã話ããæžããŸããã
ã«ãŒãã£ã³ã矩åã«å€æããããšãç¶ããã»ã©æ¯èŠãããªãââãšãã話ã§ãã
æè¡åŠç¿ããåããã¿ãŒã³ã«èœã¡ãŠããŸããã
Bun ãåŠã¶ãšæ±ºããç¬éã«ãè³ããç¿åŸãããŸã§ããåããªããã°ãªããªããã«ç¿»èš³ããŠããŸãã
å
¥å£ãé«ããªãã
å§ããã®ãæããªãã
ãŸãåŸåãã«ããã
ââæ°ã«ãªãæè¡ã®æ£ãç©ã¿äžãã£ãŠããã®ã«ãæã䌞ã°ããªãç¶æ ãç¶ããŠããŸããã
Go èšèªãéžãã çç±ã®èšäºã§æžããããšããããŸãã
ã翌ãå¢ããæèŠã
ââä»ããæ¡ä»¶ã«äœ¿ããªããŠããç¥ã£ãŠããããšã§åŒãåºããå¢ããã
é ã§åãã£ãŠããŠããåŠç¿ãšããèšèã«ã»ããããã矩åæããæåã®äžæ©ãããããããŠããã®ã§ãã
æ¬çªã«ç¹ããªãçŽæãå ¥å£ãå€ãã
転æ©ã¯ãGW ã®åµäœå宿 3 æ¥ç®ã®å€ã§ããã
tsurilog ã®ä»æ§ãäžã€åºããããšãå°ãæéãäœã£ãã
Obsidian ãéããŠãããããããšãªã¹ãããçºãããšã
ãBun ã詊ãã
ãHono ã® RPC ãè§Šãã
ãAstro ã®åæšè«ãã¡ãããšèŠãã
ã䞊ãã§ããŸããã
ãä»ãããªããŠããããšæãçãåºããã£ããšãããããã¬ãŒãºãæµ®ããã ã®ã§ãã
ãçŽ æ¯ãã§ãããã
éçã§ãå£éã§ããçŽ æ¯ãã¯æ¬çªãæ³å®ããªãã
ãã©ãŒã ã確èªãããæè§ŠãèŠãããããã ãã§ããã
仿¥è§Šã£ãã ãã§åé²ãšããæèŠã¯ãåµäœå宿ã®åé²ã®å®çŸ©ãå€ããäœéšã§èº«ã«ã€ããŠããŸããã
ãã®é£äŒäžãå人éçºã§äœåºŠã宿ãããªãåé²ãç¹°ãè¿ããŠããã
æè¡åŠç¿ãåãå®çŸ©ã§ãããã ãšæ°ã¥ããç¬éã3 ã€ã®ã¿ãŒããã«ãŠã£ã³ããŠã䞊ã¹ãŠããŸããã
ãçŽ æ¯ãã§æ°ã¥ããããšã 3 æè¡ã®ãã¡ãŒã¹ãã€ã³ãã¬ãã·ã§ã³
3 æéã»ã©ã3 ã€ã䞊ã¹ãŠè§Šã£ãèšé²ãæ£çŽã«æžããŸãã
ãBunã éãã¯ææ ã ã£ã
bun install ãå®è¡ãããšããæ£çŽã«èšããšç¬ã£ãŠããŸããŸããã
node_modules ã®è§£æ±ºãçµããåã«ã³ãŒããŒãæ·¹ããåäœãæç«ããªããããªéãã§ããïŒç¬ïŒ
以åãç°å¢æ§ç¯ã§äžæ¥ã溶ããã®ãæãã£ãããšæžããŸããã
Node.js ã®ããŒãžã§ã³ç¢ºèªããå§ãŸã£ãŠãPostgreSQL ã®ã€ã³ã¹ããŒã«ãæ¥ç¶æååã®èª¿æ»ââãããªææãäœåºŠããã£ãã
Bun ã®éãã¯ããã®èšæ¶ãšå¯Ÿæ¯ãããŠãäœæãè¶ ããææ ãšããŠåºãããŸããã
äžæ¹ã§ãtsurilog ã® package.json ã npm â bun ã«åãæ¿ããããšãããšããSupabase JS ã¯ã©ã€ã¢ã³ãã®äžéš API ãæåŸ éãã«åããªãã£ãã
30 åè¿ããããã°ããŠããç§»è¡ã³ã¹ãã¯ãŒããããªãããäœã§ç¢ºèªããŸããã
ã§ãããããåãã£ãããšãåç©«ã§ãã
ãæ¬çªã«æã¡èŸŒãåã«ãè©°ãŸããã€ã³ããç¥ããã
ââãããçŽ æ¯ãã®æå³ã§ããã
ãHono RPC ã¢ãŒãã åãå¥çŽããé éã«ãªã£ã
以åãNext.js à Hono ã®è²¬ååæ ãæŽçããèšé²ãã§ãåã®é£ãéãã«ããæ·±å€ãããã°ãæžããŸããã
API ã®ã¬ã¹ãã³ã¹ã« createdAt ã远å ããã
ããã³ã㯠created_at ãæåŸ
ããŠããã
åãšããŠæ®ã£ãŠããªããããã©ã³ã¿ã€ã ã§çºèŠããã
ãèšã£ãèšããªãããé²ãã«ã¯ãåãå¥çŽãšããŠææåãããããªãââãã®çµè«ã«è³ã£ãŠä»¥æ¥ãåå¥çŽã®æžãæ¹ã¯æŽããŠããŸããã
ã§ã RPC ã¢ãŒãã® hc() ãè§Šã£ãç¬éãæèŠãå€ãããŸããã
åãã©ã¡ãããå®çŸ©ããŠãããäžæ¹ã䜿ãã®ã§ã¯ãªããåããšã¯ã©ã€ã¢ã³ãã«æž¡ãã
ããã³ãã API ã®åãåãåãããå¿
èŠããªããªãã
åã¯å¥çŽããé
éã«ãªã£ãæèŠã
ããããããã°ããã®æ·±å€ãããã°ã®ååã¯èµ·ããªãã£ãã
ãããªæããæ¹§ããŠããŠãçŽ æ¯ãã®ã€ããã 1 æé以äžè§Šã£ãŠããŸããïŒæ±ïŒ
ãAstro v3 Content Collectionsã æç« ãåãæã€ã³ã³ãã³ãã«ãªã£ã
èªåã®ããã°ããã§ã« Astro ã§éçšããŠããŸãã
ãæžãããšã«éäžãããããã¬ãŒã ã¯ãŒã¯ã®éããè±ãæšãŠããããšããããã°èšäºã«æžããéãã®åæ©ã§éžãã§ããŸãã
ãã ãContent Collections ãžã®ç§»è¡ã¯ãåããŠãããã®ãå£ãã®ãæãããšããçç±ã§ãã£ãšåŸåãã«ããŠããŸããã
ä»åãdefineCollection ã§ã¹ããŒããæžãçŽããŠã¿ãç¬éââ Markdown ã® frontmatter ãåå®å šã«ãªãã
ããã ã®æç« ãã¡ã€ã«ããåãæã€ã³ã³ãã³ãã«ãªã£ããæèŠããããŸããã
æžãããšãšäœãããšãã€ãªããç¬éã
Astro ã奜ããªçç±ãããŸãäžã€å¢ããæ°ãããŸãã
è©°ãŸããã€ã³ããæ£çŽã«æžããšãæ¢å frontmatter ã®ããŒåãšæ°ã¹ããŒãã®ããŒã 10 ç®æè¿ããããŠããŠãåãšã©ãŒã倧éã«åºãŸããã
ããã¯ç§»è¡ã®äœæ¥éãäºåã«èŠãããšããæå³ã§åç©«ã§ããã
æ¬çªç§»è¡ããããªãå§ããŠããããæ·±å€ã«åŸæããŠããã¯ãã§ãã
çŽ æ¯ããšããå ¥å£èšèš
3 æè¡ãè§Šã£ãŠã¿ãŠãæ°ã¥ããããšããŸãšããŸãã
åŠç¿ãæ¢ãŸãã®ã¯ãæå¿ã匱ããããããªãã
å
¥å£ã®èšèšãééã£ãŠããã
ãåŠã¶ â ãã¹ã¿ãŒããããšããäžæ¬éãåæã«ãªã£ãŠãããããå
¥å£ãé«ããªãã
ãè§Šã â æè§ŠãèŠããããšããçŽ æ¯ãã®å®çŸ©ã«å€ããã ãã§ãå
¥å£ãå°é¢ã®é«ãã«ãªãã
ããªãŒã©ã³ã¹ãšããŠæè¡ãéžã¶ãšããæ¬çªã§äœ¿ããããšãã軞ã¯å€§åã§ãã
ãã®è»žã ãã§å€æããŠãããšãã詊ããããšããªãæè¡ã詊ããããšããªãããéžã¹ãªãããšããã«ãŒãã«èœã¡ãã
çŽ æ¯ãã¯ããã®ã«ãŒããäžæçã«å€ãèšèšã§ãã
æ¬çªã«ç¹ããªãçŽæãããã
3 æéã ãè§Šãã
è©°ãŸã£ãŠã責ããªãã
ãç¥ããªãã£ããããç¥ã£ãŠãããã«ãªã£ãã ãã§åé²ã
ãã®å®çŸ©ãå ã«æã£ãŠãããšããæ°ã«ãªããè§Šããªãæè¡ã®æ£ããå°ããã€åŽ©ããŠãããŸãã
3 æè¡ããããã®æ¬¡ã®äžæãšè©°ãŸããã€ã³ãæŽç
ããããã¯ãä»åã®çŽ æ¯ãã§èŠããããã¡ãŒã¹ãã¹ãããã»è©°ãŸããã€ã³ãã»æ¬¡ã®äžæããæŽçããŸãã
åãæè¡ãæ°ã«ãªã£ãŠããæ¹ã®åèã«ãªãã°å¬ããã§ãã