ãGoogleAIStudioã鿬 å人éçºè ã®ããã®2000åãœã£ããAIãã£ããå°å ¥æ¹æ³
äºç®2,000åã§äœãAIãã£ããããã ââãã±ããã©ãŒã«ããã¯æŠç¥ã®å®è£ æ¹æ³ââ ããã«ã¡ã¯ãT1ã§ãð¶  ãã®èšäºã¯Noteã«æçš¿ããèšäºãMintoråãã«ããæè¡ã«ãã©ãŒã«ã¹ããŠMintorçšã«ãªã©ã€ããããã®ã§ãã Noteèšäºã¯ãã¡ããâãhttps://note.com/t1_office/n/n645639af6c67 ãã£ã¡ããã²èŠãŠãã ãããïœ ããŠãä»åã¯ãç§ã®å人ãµã€ãã«AIåãåããããããå®è£ ããŸããã  ç§ã®å人ãµã€ãã¯ãã¡ããããããå®éã«åããã£ããããããèŠãããŸããïœ https://t1office.net/ ãè²»çšãéçãŸã§æããªãããã§ããã ãæ¢ãŸããªããããããç®æããŠèšèšããã®ã§ããã®å®è£ 詳现ãå ±æããŸããïŒïŒïŒ --- ðïž ã·ã¹ãã æ§æ ãã©ãŠã¶ããçŽæ¥ Gemini API ãå©ããªãçç±ã¯ APIããŒã®é²åºé²æ¢ ã§ãã  Next.js ã® API Routes ããããã·ã«ããããšã§ãããŒããµãŒããŒåŽã®ç°å¢å€æ°ã«ã®ã¿çœ®ããŸãã --- ð¡ èšèšã®ãã€ã³ãïŒ2éã«ãŒãã«ãã4段éãã©ãŒã«ãã㯠ä»åã®æå€§ã®å·¥å€«ã¯ããã§ãã  ãAPIããŒïŒFREE/PAIDïŒÃ ã¢ãã«ãã®2é for ã«ãŒãã§ãæå€§4ãã¿ãŒã³ãèªåã§è©Šã¿ãŸãã 詊è¡é åº | 詊è¡å | ã㌠| ã¢ãã« | å žåçãªå€±æçç± | |--------|------|--------|----------------| | 1åç® | FREE | gemini-3.5-flash | äžççãªãªã¯ãšã¹ãéå€ã§ 429 | | 2åç® | FREE | gemini-3.1-flash-lite | ç¡ææ RPM äžéè¶ éã§ 429 | | 3åç® | PAID | gemini-3.5-flash | ã»ãŒæåïŒãããŸã§æ¥ãããšã¯çšïŒ | | 4åç® | PAID | gemini-3.1-flash-lite | ã»ãŒæåïŒæçµææ®µïŒ | > ãã€ã³ãïŒ 429ïŒã¬ãŒãå¶éïŒ ãšã©ãŒã¯åŠçãæåŸãŸã§åŸ ããã«å³åº§ã«è¿ã£ãŠããããã  > 1段éãããã®è¿œå é 延㯠+0.5ã1ç§çšåºŠ ã§ãã  > ææªã±ãŒã¹ïŒ3å倱æâ4åç®æåïŒã§ãéåžžæ¯ +2ã3ç§ ã«åãŸããŸãã --- ð¡ ReadableStream ã§ãªã¢ã«ã¿ã€ã é²æãæµã ãã©ãŒã«ããã¯äžã«ãŠãŒã¶ãŒããåºãŸã£ãïŒããšæããªãããã  ãµãŒããŒãã ReadableStream ã§é次ã¹ããŒã¿ã¹ãéä¿¡ããŠããŸãã --- ðïž ããŒã¯ã³æé©åïŒ5ã6äž â çŽ7,000 ããŒã¯ã³ã«åæž AIã«ãµã€ãæ å ±ãçããããã«ã¯ãç¥èãããã³ããã«æž¡ãå¿ èŠããããŸãã  Webãµã€ãã®å šããã¹ããnoteèšäºããã®ãŸãŸæž¡ããš 5ã6äžããŒã¯ã³ ã«ãªã£ãŠããŸããŸãã æ¡çšããæŠç¥ïŒæ§é åJSONã«èŠçŽããŠæž¡ã noteèšäºã®å šæã»äœåã®è©³çްãããã¯ãªã©ãé·æããé€å€ãã (ããšããšã¯å ¥ãããã£ããã§ããã©) ã¿ã€ãã«ã»æŠèŠã»URL ã ãã«çµãããšã§çŽ 7,000ããŒã¯ã³ ãŸã§å§çž®ã  ããã1ãªã¯ãšã¹ããããã®ã³ã¹ããçŽæ¥åæžããŸãã --- ð Discord Webhook ã§éçšèšºæãã°ãå®çŸ DBãç«ãŠãã«è³ªåã»åçã»ã³ã¹ã蚺æãèšé²ããæ¹æ³ãšã㊠Discord Webhook ãæ¡çšããŸããã  AIãåçãããã³ã«ä»¥äžã®ãªããã«ãŒãã管çè ãã£ã³ãã«ã«å±ããŸãã ããã€ã¹å€å® 㯠User-Agent ããããŒããååŸããŠããŸãïŒ ããŒã¯ã³æ¶è²»æ° 㯠Gemini API ã®ã¬ã¹ãã³ã¹ã«å«ãŸãã usageMetadata ããååŸïŒ ããã«ãããã©ã®ã¢ãã«ïŒFREE/PAIDïŒã䜿ãããããã1åãããäœããŒã¯ã³æ¶è²»ããããã  Discordããäžç®ã§ããããã³ã¹ãç£èŠã楜ã«ãªã£ãŠããŸãã --- ð¡ïž ã³ã¹ãççºãé²ã2ã€ã®å®å šç¶² Google AI Studio ã®ããªãã€ãäžéïŒãµãŒããŒåŽïŒ Google AI Studio ã« 2,000åã ãåæããã£ãŒãžããŠãããŸãã  ããã䜿ãåããšAPIãèªå忢ãããããç©ççã«ãã以äžã®è«æ±ã¯æ¥ãŸããã Â ïŒæäœå ¥éé¡ã2,000åã®ããããããä»åã®æ§æã®æäœå¿ èŠé¡ã«ãªããŸãïŒ LocalStorage ã¬ãŒããªãããïŒã¯ã©ã€ã¢ã³ãåŽïŒ > 泚æç¹ïŒ LocalStorage ã¯ãã©ãŠã¶ã®ãCookiesãšãµã€ãããŒã¿ãåé€ãã§çªç Žå¯èœã§ãã  > ãããŸã§ãåæã®äžè¬ãŠãŒã¶ãŒåããã®ç°¡æçã§ãæçµé²è¡ã©ã€ã³ã¯ããªãã€ãäžéã§ãã --- ð å®éã®éçšã³ã¹ãæ Discordã«å±ãã蚺æããŒã¿ã®å®äŸïŒ 1ãªã¯ãšã¹ããããã®æææ¶è²»ã³ã¹ã㯠Gemini 3.5 Flash ã®å ŽåïŒ å ¥å: 6,852ããŒã¯ã³ à $0.00001/token â çŽ0.001å åºå:   82ããŒã¯ã³ à $0.00004/token â çŽ0.0005å 1åçãããçŽ0.002åãæ®æ®µã®å人ãµã€ãèŠæš¡ãªãç¡ææ ã§ååãŸããªããŠããã Â æææ ã«éããããšã¯ã»ãŒãããŸããã(çè«äžã¯ïŒ) --- ãã®èšäºã®ãŸãšã ã»2éã«ãŒãã®4段éãã©ãŒã«ããã¯ã§APIã®ç¡ææ ãéçãŸã§äœ¿ããããææèª²éãæå°åã§ããïŒ ã»æ§é åJSONã«ããããŒã¯ã³åæžã§ããªã¯ãšã¹ãåäœã®è²»çšãäœæžã§ããïŒ ã»ReadableStream ã§é²æã¹ããªãŒãã³ã°ããããšã§ããã©ãŒã«ããã¯äžãããªãŒãºãšæãããªãïŒ ã»Discord Webhookã§èšºæãã°ããšãããšã§ãDBãªãã§ãªã¢ã«ã¿ã€ã ã«ã³ã¹ãã»å質ãç£èŠïŒ ã»ããªãã€ãäžé + LocalStorageå¶éã«ãã£ãŠãããçšåºŠã®è²»çšççºé²æ¢ãå®çŸïŒ ãæé¡ãŠã³äžåã®SaaSå¥çŽãªãããå®è³ªã»ãŒç¡æéçšãã§ã  ãããªãã«æ¢ãŸããªãAIããããäœããŸããã  åããããªæ§æã詊ãããæ¹ã¯ãã²åèã«ããŠãã ããïŒð¶
ã¢ã€ãã¢ãClaudeã«"åŽäž"ããŠãããéå ·ãäœã£ã
ã倩æçã²ããããã®ã¯ãããã€ã墿šã«ãªã人㞠ã€ãã人ãªãããã¶ã身ã«èŠãããããšæããŸãã ã·ã£ã¯ãŒã济ã³ãŠããéã£ãŠãããããã¯å€©æã§ã¯ïŒããšããã¢ã€ãã¢ããã®ç¬éã¯æ¬æ°ã§ã¯ã¯ã¯ã¯ããã®ã«ãã¡ã¢ã¢ããªãèŠè¿ããšãéå»ã®â倩æçã²ãããâã墿šã¿ããã«äžŠãã§ãããã²ãšã€ã圢ã«ãªã£ãŠããªãã åã®åé¡ã¯ãæãä»ããã¢ã€ãã¢ã®äžããåãçµã察象ãéžã¶ã®ã壿» çã«äžæã ã£ãããšã§ããã ãããéžã³æ¹ãæ¥æ¿ãããå æ°ãªæ¥ã¯äœã§ããã€ã±ãããç²ããŠãæ¥ã¯äœã§ããã©ããç¡çããåãã¢ã€ãã¢ã§ããèŠãæ¥ã®æ°åã§è©äŸ¡ãã³ãã³ãå€ããã ããã¯ããããã®ããã䌞ã³çž®ã¿ããŠããã®ãšåãã§ãäœåã¢ã€ãã¢ã䞊ã¹ãŠãæ¯ã¹ããããªãã --- äœãããšæã£ããã£ãã ããæãµãšæ°ã¥ãããã§ãã äºæ¥ã¢ã€ãã¢ã£ãŠãããããäœç¢ºçã§ããåœãããªãã ã ã£ãããåãã³ã³ãããŒã«ã§ããã®ã¯ã倩æçãªã²ãããããããªããŠããæ°åã«å·Šå³ããããåããã©ãŒã ã§äœåºŠããããæ¯ãããã ã®ã»ãã ãã ããšã ããŒã ã©ã³ã¯çã£ãŠæãŠãªããã§ããæåžæ°ãšã¹ãã©ã€ã¯ãŸãŒã³ã®å³ããã¯èªåã§æ±ºããããã ããã§çºæ³ãéã«ããŸããã ã¢ã€ãã¢ãå¢ããéå ·ãããªããŠããã®ããã®ã»ããåºå®ããéå ·ãäœãã åºãŠããã¢ã€ãã¢ããæ¯åãŸã£ããåãåºæºã§ãèªåã«éœåããçããããã«åã£ãŠããè£ çœ®ã ããã business-idea-explorer ãšãã Claude ã¹ãã«ã§ãã ç¡æã»ãªãŒãã³ãœãŒã¹ïŒMITïŒã§å ¬éããŠããŸãã --- äœãäœã£ããïŒæè¡ã®è©±ïŒ äžèº«ã¯ã·ã³ãã«ã§ãããèšèšã®èãã²ãšã€ãããŸãã ãåµé æ§ã¯ã¢ãã«ã«ãèŠåŸã¯ã¹ãã«ã«çŒã蟌ãã ãšãã圹å²åæ ã§ãã LLMã«ãããäºæ¥ã¢ã€ãã¢èããŠããšèããšãæ¯åããã£ãœããŠæ¯åéãçããè¿ã£ãŠããŸãã çºæ³ãšããŠã¯æ¥œãããã©ãè©äŸ¡ã«ã¯åããªãã æ¯èŒããã«ã¯ãå ¥åãéã£ãŠãéãæé ãåãã§ãã£ãŠã»ããã ããã§ãè©äŸ¡ããžãã¯ãã®ãã®ãæ¯åããã³ããã§æžãã®ã§ã¯ãªããSKILL.md ã«ã¯ãŒã¯ãããŒã»è©äŸ¡è»žã»çŠæ¢äºé ãšããŠããŒãã³ãŒãããŸããã æ¯åå¿ ããæ¬¡ã®7ãã§ãŒãºãåãé çªã§éããŸãã è©äŸ¡ãã㌠åæç¢ºèª èŠæš¡å¿å B2B / B2C åœäºè æ§ æµéã®æã¡æ 察象ãçµã åºãé å å ·äœçãµãé åãžèœãšã ãã€ã³åé ãæ¢ã«éãæã£ãŠãã®ã«æªè§£æ±ºãã®ã·ã°ãã«æ¢çŽ¢ ã©ã³ã¯ä»ã ä»¶æ°é ã§ã¯äžŠã¹ãªã åæã¢ã€ã㢠+ ç«¶åç¢ºèª åææ¡ ç«¶åã®å³å¯ç¢ºèª äºæ¥ã¢ãã« & 倿±ºã åçæ§é äŸ¡æ Œèšèš æåã®100人ãéããæœç é客å°ç· æµéæŠç¥ æ€èšŒèšèš GO / NO-GO å€å® 次ã®ã¢ã¯ã·ã§ã³ --- çãç®ã§åŠãã ãäžæ žææ³ã ãã®ããŒã«ã«ã¯ãèªåãäœåºŠãçæ»ããŠåŠãã é匵ããå ¥ã£ãŠããŸãã ãããããŒã«ã®æ§æ Œã§ãã ãæ¢ã«éãæã£ãŠãã®ã«æªè§£æ±ºããªèª²é¡ãå ¥å£ã«ãã 人ã¯äžæºã«ã¯å ±æããŠãã解決ã®ããã«éãæããšã¯éããªãã æ¢ã«äœãã«ãéãæã£ãŠãããšããäºå®ã¯ããã®èª²é¡ãååçã蚌æ ã ã ã ãããã¿ãã³ã§ã¯ãªãããã€ã³ãã©ãŒãæ¢ãã --- 声ã®å€§ããé ã«äžŠã¹ãªã äžæºã®å£°ã倧ããå Žæã¯ããããŠã解決çãä¹±ç«ããŠããç«¶äºåžå Žã ã ãããã®ããŒã«ã¯ã声ã®å€§ããã§ã¯ãªããæªè§£æ±ºåºŠããšãæ¯æãå®çžŸããéèŠããŸãã --- æµéããæå€§ã®å¶çŽ åæãåããã®ã¯ãã€ã³ã®æ·±ãã ãã§ã¯ãããŸããã ã©ãã ãè¯ã解決çã§ããæåã®é¡§å®¢ã«å±ããããªããã°ååšããªãã®ãšåãã§ãã ã ããæåã«ã ãã©ãã¯ãŒ äºç® åœäºè æ§ æ¥çãããã¯ãŒã¯ ãšãã£ããæã¡æãã確èªããŸãã åãã¢ã€ãã¢ã§ããæã£ãŠããæµéã«ãã£ãŠé£æåºŠã¯å€§ããå€ããããã§ãã ãã®ããŒã«ã¯åžå Žã ããèŠãã®ã§ã¯ãªããããã®äººãæ¬åœã«æŠããå ŽæãããéèŠããŸãã --- äœãåã«æ€èšŒãã åã¯ãäœãããšããåé²ã ãšæã£ãŠããŸããã ã§ãå®éã¯ãèª°ãæ¬²ãããªããã®ãäœãé床ãäžããã ãã§ããã ã ãããã®ããŒã«ã¯ããŸãéèŠã確ãããŸãã çã®å£°ãéãã 5人ã«è©±ãèã åéãè©Šã æåMVPããªã©ã§ãã ãã®äžã§æåŸã¯å¿ ã GO / NO-GO ãæ±ºããŸãã ã³ãŒããæžãã®ã¯ããã®ããšã§ãã --- 䜿ã£ãŠã¿ãæ£çŽãªææ³ äžçªå¹ããã®ã¯ãèªåã®ãæ°ã«å ¥ãã¢ã€ãã¢ãå·ããåŽäžããŠãããããšã§ããã ãããããã䌌ããµãŒãã¹ãããããããŸããã ãæåã®100人ã«ã©ãå±ããŸãïŒã ãäžæ®µèœã§æžããŸãïŒã ãæžããªããªãä»åã¯èŠéãã§ã¯ã è³ãçãã ã§ããå幎ãããŠäœã£ãŠãã èª°ãæ¬²ãããªãã£ã ãšæ°ã¥ãããããã£ãšå®ãã çºæ³ããŒã«ãšããããã ã²ãããã«æµ®ãããèªåãæ£æ°ã«æ»ãè£ çœ®ã 宿 ã¯ã ãã¢ã€ãã¢çææ©ãã§ã¯ãªããã¢ã€ãã¢åŽäžæ©ã ã§ãã --- ãã²äœ¿ã£ãŠã¿ãŠ & ãæèŠãã ãã å°å ¥ã¯ããã ãã§ãã Claude DesktopïŒCoworkã»ã³ãŒãäžèŠïŒ .skill ãã¡ã€ã«ãããŠã³ããŒã äŒè©±ã«ãã©ãã° ãSave skillããæŒã Claude CodeïŒéçºè åãïŒ ãªããžã㪠https://github.com/desktop7788/business-idea-explorer ããšã¯ã ãââã®é åã§äºæ¥ã¢ã€ãã¢æ¢ãããã ããã®ã¢ã€ãã¢è©äŸ¡ããŠã ãšè©±ããããã ãã§èµ·åããŸãã --- ãé¡ã ãã詊ããŠãããããèªåã®èå³ã®ããé åã§1å詊ããŠã¿ãŠãã ããã ãããŠã ã©ããªãµãã«åŽäžãããã ã©ããªã¢ã€ãã¢ãæŸãããã ã©ããéã ã£ãã æ å ±æºã¯é©åã ã£ãã ãã³ã¡ã³ãã§æããŠã»ããã§ãã ããèªäœãããã®ããŒã«ãè²ãŠãçã®å£°ã«ãªããŸãã ãããã®å€å®ãéã ã£ãã ã¿ãããªãã¡åºããäžçªãããããã äžç·ã«ããã®ããã磚ããŠããããå¬ããã§ãã
話ããããã ãã§ãèŠç©ã»è«æ±æ¥åãçµããã
ãè«æ±æžãäœããããã«ãæ¯åã¢ããªãéããŠã顧客ãéžãã§ãåç®ãå ¥åããŠâŠâŠãã®äœæ¥ããŸãããšæ¶ããŸããGooodBilling ã¯ãæ®æ®µäœ¿ã£ãŠãããã£ããã«è©±ããããã ãã ãæªååã®è«æ±æžããïŒãâ éé¡ãšå»¶æ»æ¥æ°ã€ãã§å³ç ãA瀟ã«ä¿å®æ5äžåã§è«æ±æžãäœã£ãŠãâ æ°ç§ã§é©æ Œè«æ±æž(ã€ã³ãã€ã¹)察å¿ã®1æã宿 å 容ã確èªããŠãã¯ãéã£ãŠãã§éä»ãŸã§ãåæã«ã¯éããªãã®ã§å®å¿ã ãFreâ¯eããããããâ¯æçŽ°ããšäœãéãã®ïŒ AIãã€ãã£ãèšèš â åŸä»ãã®AIæ©èœã§ã¯ãªããæåãã話ããããŠæäœããããã«èšèšã çŸããåºå â è«æ±æžã¯ååŒã®æåŸã«æž¡ããã©ã³ãããã¥ã¡ã³ããåãåãçžæã®ä¿¡é ŒãŸã§èšèšã«å«ããã æ©èœå³éž â 䜿ããªãäŒèšæ©èœã¯èŒããªããè«æ±ãŸããã®æ¥åã ããã軜ã確å®ã«ã äŒèšãœããã®"æ©èœæ¯ã¹"ããéããŠããäºåäœæ¥ãã®ãã®ãç¡ãããŠãAIæä»£ã®ããã¯ãªãã£ã¹ããGooodBilling ã§ã äž»ãªæ©èœ 驿 Œè«æ±æžïŒã€ã³ãã€ã¹ïŒå¯Ÿå¿ LINE / Slack / ChatGPT / Claude 飿º èŠç©ã»è«æ±ã»å ¥éæ¶èŸŒã»ã¬ããŒã ãªã³ã¯ https://gooodbilling.com https://youtube.com/shorts/rHzZgSRZNFY?feature=share
ä»ãããŠBloggerãéžã¶çç±ãšã¯ïŒ â éãšã³ãžãã¢ã§ããããŸã§ã§ãããBloggerãšããéžæè¢
WordPressã§ãã¯ãŠãªã§ããªããGoogleã2003幎ããéå¶ãç¶ãã"æå€"ã®ããã°ãµãŒãã¹ãBloggerãæ¥æ¬åœå ã§ã®å©çšè ã¯æ±ºããŠå€ããªããããšã³ãžãã¢ã®èŠç¹ããèŠããšããããŠéžã¶çç±ãå®ã¯ããã€ãããã æ¬èšäºã§ã¯ãBloggerãå®éã«èªäœãã³ãã¬ãŒãã§éçšããŠããç«å Žãããã¡ãªããã»ãã¡ãªããã客芳çã«æŽçãããããã«ãBloggerã§ã¯çããSPAæ§æã»å€éšã¹ã¯ãªããéäŸåã»åçããŒãžã¬ã³ããªã³ã°ãšããèšèšææ³ã«ã€ããŠã玹ä»ããã --- äž»èŠããã°ãµãŒãã¹ãšã®æ¯èŒ | é ç® | Blogger | WordPressïŒã»ã«ããã¹ãïŒ | ã¯ãŠãªããã° | note | | ------------ | -------- | ----------------- | ---------- | ---- | | æé¡è²»çš | ç¡æ | ãµãŒããŒä»£ 500ã2,000åã | ç¡æ / 600åã | ç¡æãã | | ç¬èªãã¡ã€ã³ | ç¡ææ ã§å¯ | å¥éååŸãå¿ èŠ | ææãã©ã³ã®ã¿ | éå¯Ÿå¿ | | AdSenseç³è« | ç¬èªãã¡ã€ã³äžèŠ | ç¬èªãã¡ã€ã³æšå¥š | ç¬èªãã¡ã€ã³æšå¥š | éå¯Ÿå¿ | | ãã³ãã¬ãŒãã«ã¹ã¿ãã€ãº | XMLãå®å šå¶åŸ¡ | PHPããŒããå®å šå¶åŸ¡ | ãã¶ã€ã³CSS | äžå¯ | | ãµãŒããŒç®¡ç | äžèŠ | å¿ èŠ | äžèŠ | äžèŠ | | ã»ãã¥ãªãã£ç®¡ç | äžèŠ | ãã©ã°ã€ã³æŽæ°çãå¿ èŠ | äžèŠ | äžèŠ | | ã³ãã¥ãã㣠| ã»ãŒãªã | ãšã³ã·ã¹ãã ãå å® | åœå å å® | å å® | WordPressïŒã»ã«ããã¹ãïŒãšæ¯ã¹ããšãã«ã¹ã¿ãã€ãºèªç±åºŠã¯åçã§ãããªãããç¶æã³ã¹ããšãµãŒããŒç®¡çã®æéããŒããšããç¹ãBloggerã®æå€§ã®å·®å¥åãã€ã³ãã«ãªãã --- Bloggerã®ãããšãã å®å šç¡æã§åºåãªã å©çšæãããããªãã®ã¯ãã¡ããããµãŒãã¹åŽã匷å¶çã«åºåãæ¿å ¥ããŠããããšããªããAdSenseãå°å ¥ããã°ãåçã¯ãã¹ãŠèªåã®ãã®ã«ãªãã ãµãŒããŒç®¡çãäžèŠ ã¬ã³ã¿ã«ãµãŒããŒã®å¥çŽã»æŽæ°ã»ããã¯ã¢ããã»WordPressæ¬äœããã©ã°ã€ã³ã®ã¢ããããŒãããããã£ãç¶æç®¡çäœæ¥ãäžåçºçããªããèšäºãæžãããšã ãã«éäžã§ããã ç¬èªãã¡ã€ã³ãªãã§ãAdSenseç³è«ã§ãã å€ãã®ããã°ãµãŒãã¹ã§ã¯ç¬èªãã¡ã€ã³ãäºå®äžå¿ é ã ããBlogger㯠blogspot.com ãµããã¡ã€ã³ã®ãŸãŸã§ãAdSense審æ»ã«éãå®çžŸãããããã¡ããç¬èªãã¡ã€ã³ã®èšå®ãç¡æã§å¯èœã Google補ãµãŒãã¹ãšã®èŠªåæ§ãé«ã AnalyticsãSearch ConsoleãAdSenseãGoogle Photosãšã·ãŒã ã¬ã¹ã«é£æºã§ãããç¹ã«Google Photosã®ç»åãã¹ãã£ã³ã°ã¯ãURLãã©ã¡ãŒã¿ã ãã§ãªãµã€ãºã»WebP倿ãå¯èœãªå®è³ªCDNãšããŠæŽ»çšã§ããã ã«ã¹ã¿ãã€ãºç¯å²ãåºã XMLãã³ãã¬ãŒããçŽæ¥ç·šéã§ããHTML/CSS/JavaScript ãèªç±ã«èšè¿°ã§ãããããŒãæ§é ã®å¶çŽãåããWordPressããŒããšéããããŒãžã®æ§é ããæç»ããžãã¯ãŸã§å®å šã«ã³ã³ãããŒã«ã§ããã ãã©ã°ã€ã³äŸåãŒã WordPressã¯ãã©ã°ã€ã³ã®æŽæ°æŒããã»ãã¥ãªãã£ãªã¹ã¯ã«çŽçµããããBloggerã«ã¯ãããããã©ã°ã€ã³ãšããæŠå¿µããªããèªåãæžããã³ãŒãã ããåãããšããå®å¿æãããã --- Bloggerã®ãããªããšãã æ¥æ¬åœå ã®æ å ±ãæ¥µç«¯ã«å°ãªã åœå å©çšè ãå°ãªããããæ¥æ¬èªã®æçãªèšäºãã»ãšãã©èŠã€ãããªããè±èªã®å ¬åŒããã¥ã¡ã³ããšStack Overflowãäž»ãªæ å ±æºã«ãªãã ã³ãã¥ããã£ããªã ã¯ãŠãªããã°ã®ãããªèªè ç»é²ã»ããã¯ããŒã¯æåãnoteã®ãããªãã©ãã¯ãŒçµç±ã®æµå ¥ã¯æåŸ ã§ããªããæµå ¥ã¯ã»ãŒSEOãšSNSçµç±ã«ãªãã XMLããŒã¹æ§é ã®åŠç¿ã³ã¹ããé«ã ãã³ãã¬ãŒãã¯XMLã§èšè¿°ãããBloggeråºæã®ãŠã£ãžã§ããã¿ã°ã»æ¡ä»¶åå²ã»ããŒã¿ã¿ã°ãååšããããã®ä»æ§ãçè§£ããªããŸãŸã«ã¹ã¿ãã€ãºããããšãããšãæå³ããªãæåã«æ©ãŸãããã CSS/JS/HTMLããã³ãã¬ãŒã1ãã¡ã€ã«ã«éçŽããã æ§é ã»ã¹ã¿ã€ã«ã»ã¹ã¯ãªããããã¹ãŠ1ã€ã®XMLãã¡ã€ã«ã«åãŸããããèŠæš¡ã倧ãããªããšåé·ã«ãªããã¡ã ããã ãéã«èšãã°ãå€éšäŸåãŒãã®èªå·±å®çµåãã³ãã¬ãŒããšããŠèšèšã§ãããšããå©ç¹ã§ãããã ãšãã£ã¿ã®ãªããããã¹ããHTMLãæ±æãããã æçš¿ãšãã£ã¿ããäœæãã¢ãŒãã§äœ¿ããšãäžèŠãªspanã¿ã°ãstyleãæ¿å ¥ãããŠHTMLãæ±ãããHTMLã¢ãŒãã§çŽæ¥èšè¿°ããç¿æ £ãå¿ èŠã«ãªãã --- èªäœãã³ãã¬ãŒãã®èšèšææ³ â Bloggerã®éçãç Žã ããããã¯ãå®éã«éçšããŠããèªäœãã³ãã¬ãŒãã®èšèšã«ã€ããŠç޹ä»ããã ãã®ãã³ãã¬ãŒãã®æ žãšãªãææ³ã¯ ãå€éšã©ã€ãã©ãªã«äŸåããªããå®å šèªäœã®SPAæ§æã ã ãéåžžã®Bloggerãã³ãã¬ãŒãã¯ããŒãžé·ç§»ã®ãã³ã«ãã«ãªããŒããçºçããããHistory APIãšBlogger JSON Feedãçµã¿åãããããšã§DOMå·®åæŽæ°ã«ããåçããŒãžã¬ã³ããªã³ã°ãå®çŸããŠããã ã¢ãŒããã¯ãã£ã®æŠèŠ | é ç® | æ¡çšæ¹é | | ------- | -------------------------------- | | ããŒãžé·ç§» | SPAïŒHistory API + DOMæŽæ°ïŒ | | å€éšã©ã€ãã©ãª | äžäœ¿çšïŒjQueryçã«éäŸåïŒ | | ããŒã¿ååŸ | Blogger JSON Feed API | | ç»åé ä¿¡ | Googleãã¹ãã®URLãã©ã¡ãŒã¿æžãæãã§æé©å | | ã¢ã¯ã»ã¹è§£æ | Google Apps Script (GAS) ã«ç¬èªãã°éä¿¡ | å®è£ äŸâ ã€ã³ãã£ãŒãé¢é£èšäº å€éšã©ã€ãã©ãªãäžå䜿ãããBloggeræšæºã®JSON-in-script feedããã©ã³ãã é¢é£èšäºãåçæ¿å ¥ããŠããã å®è£ äŸâ¡ ã¢ã¯ã»ã¹ãã°ãGASã«éä¿¡ããŠç¬èªã¹ã³ã¢ãªã³ã° æ»åšæéãšã¹ã¯ããŒã«çãæãåãããç¬èªã®ãšã³ã²ãŒãžã¡ã³ãã¹ã³ã¢ãç®åºããGoogle Apps Scriptçµç±ã§Spreadsheetã«èç©ããŠãããå€éšã¢ã¯ã»ã¹è§£æããŒã«äžèŠã§ããŒãžäŸ¡å€ãå®éè©äŸ¡ã§ããã å®è£ äŸâ¢ ç»åã®èªåæé©å Bloggerã®ç»åURLãã¿ãŒã³ãæ£èŠè¡šçŸã§æžãæããŠã衚瀺ã³ã³ããã¹ãã«å¿ãããµã€ãºé ä¿¡ãå®çŸãWebP倿ãURLãã©ã¡ãŒã¿äžã€ã§å¯Ÿå¿ã§ããã --- ãããªäººã«åããŠãã Bloggerãåã人 HTML/CSS/JSã®åºç€ç¥èãããããã³ãã¬ãŒããèªäœããããšã³ãžãã¢ ç¶æã³ã¹ããŒãã§é·æéçšãããå人ããã¬ãŒ AdSenseã§ã®åçåãããã«å§ããã人 Google Workspaceãšã³ã·ã¹ãã ã«çµ±åããã人 ãã©ã°ã€ã³äŸåã®ãªãã·ã³ãã«ãªæ§æã奜ã人 Bloggerãåããªã人 èªè ã³ãã¥ããã£åœ¢æãéèŠãã人ïŒã¯ãŠãªã»noteãé©åïŒ ãã©ã°ã€ã³ã§æ©èœãæ¡åŒµããã人ïŒWordPressãé©åïŒ GUIã ãã§ã«ã¹ã¿ãã€ãºãå®çµãããã人 --- ãŸãšã Bloggerã¯ãæ¯ãããã©ãããã©ãŒã ãã ããããããã¯æ¬ ç¹ã§ã¯ãªãã仿§ãå®å®ããŠããŠäºæž¬å¯èœã§ããããšãæå³ãããXMLã®åŠç¿ã³ã¹ããæãåãã°ãã³ã¹ããŒãã§èªç±åºŠã®é«ãããã°åºç€ãšããŠååæ©èœããã WordPressã®ã»ã«ããã¹ããšæ¯ã¹ããšãã«ã¹ã¿ãã€ãºã®èªç±åºŠã¯åçã§ãããªããããµãŒããŒç®¡çã»ã»ãã¥ãªãã£å¯Ÿå¿ã»ç¶æè²»ãšããäžã€ã®è² æ ããŸãããšãªããªãã ãæ¥æ¬èªæ å ±ãå°ãªãããšããæ¬ ç¹ãããè±èªããã¥ã¡ã³ããšãœãŒã¹ã³ãŒããèªãç¿æ £ããããšã³ãžãã¢ã«ãšã£ãŠã¯å·®å¥åã®ãã£ã³ã¹ã«ãªããã³ã¹ããæãã€ã€æè¡çã«æ»ãããå人ãšã³ãžãã¢ã«ãšã£ãŠãBloggerã¯2026幎çŸåšãååã«æåãªéžæè¢ã ã
βçãªãªãŒã¹ãžã®ãç¥ã
MintorãããβçãªãªãŒã¹ããã§ãšãããããŸãã ãããŸã§åœ¢ã«ãããããšãå°æ¬ããŠããŸãã äžç¹ã ã ãã¶ãã ãŠãŒã¶ãŒã®å£°ã¯ãã¹ãŠãçã«åããªããŠå€§äžå€«ã§ãã ç§ãå«ããŠãŒã¶ãŒã«ãªã£ãŠããŸããŸãã noteã®ã¯ãªãšãŒã¿ãŒãšã¯ãªãšãŒã¿ãŒã®é¢ä¿ãã ãªãªãŒã¹ããç¬éãããæäŸè ãšãŠãŒã¶ãŒãã«ãªã£ãŠããŸããŸãã åæã¯æèŠãæ£ãã°ããããã®ã§ã 課é¡ãšå¥œã¿ãåãããšéå¶ãå®å®ããŸãã ããããç§ã®ãç¯ä»ãªãšãã ä»åŸãæ°ã¥ããç¹ããäŒãããŠããŸããããããŸããã ãªã®ã§ãæçµçã«ã¯ãèªèº«ã®æ¹åæ§ã倧åã«ããŠãã ããã å¿æŽããŠããŸãã ãã®èšäºã¯æ°æ¥åŸã«æ¶ããŸãã ãã¿ãŸ
svelteãããã
Reactå šçã®å人éçºã§ããããŠSvelteKitãéžã¶çç± å人éçºã®ãã¬ãŒã ã¯ãŒã¯ãšããã°ãããŸã¯ ReactïŒNext.jsïŒ ãçéã§ãã ããã§ãåã¯ãäœã£ãŠãããããã¯ããå šéš SvelteKit ã§äœã£ãŠããŸãã åããžå蟲ã®ã¹ããæéã§éçºãç¶ãããªãã§ãæšããçç±ã¯2ã€ã楜ã«å§ããããããšãšãCloudflareã«èŒããã°ãµãŒããŒä»£ãã»ãŒ$0ã§æžãããšã§ãã ã¡ãªã¿ã«äœã£ãŠããã®ã¯ãæ±äººã¢ã°ãªã²ãŒã¿ãŒïŒChiinaviïŒãçç ãã°PWAïŒIriLogïŒãé³å£°SNSïŒvovovoïŒããã©ãŠã¶ã²ãŒã ïŒèªå²ãã²ãŒã ïŒããžã£ã³ã«ã¯ãã©ãã©ã§ãããåå°ã¯ã©ããSvelteKitã§ãã æšããã€ã³ã1ïŒãšã«ããæ¥œã«å§ãããã Reactã¯ãç»é¢ãæãã©ã€ãã©ãªãã§ãã«ãŒãã£ã³ã°ãç¶æ 管çããµãŒããŒåŠçãèªåã§çµã¿åãããŸããSvelteKitã¯ããããæåããå å ãããå šéšå ¥ãããnpx sv create äžçºã§ãæžãå§ããããç¶æ ãããããŸãã æžãå³ãHTMLã«è¿ããCSSã¯ã³ã³ããŒãã³ãåäœã§ã¹ã³ãŒããå¹ãããããŠSvelte 5ã§ã¯ç¶æ ãããã ã®å€æ°ãã§ãlet count = $state(0) ãšæžã㊠count++ ããã°ç»é¢ãå€ãããReactã® useState / useEffect ãšäŸåé åã§ãããããã®å人éçºãããããèµ·ãã«ããã æžãã³ãŒããæžãã°ãã°ãæžããæ30åã§ããæãåºãã³ã¹ããäœãããããæãåããŸããç¶ããããããšãæåªå ã®å人éçºã§ãããã¯å¹ããŸãã æšããã€ã³ã2ïŒCloudflareã§ããµãŒããŒä»£ãã»ãŒ$0 SvelteKitã¯å ¬åŒã® adapter-cloudflare ã§Workers / Pagesã«ãã®ãŸãŸä¹ããŸãããããŠCloudflareã®ç¡ææ ããå人éçºã«ã¯éå°ãªããã倪ãïŒ2026幎æç¹ïŒã WorkersïŒ1æ¥10äžãªã¯ãšã¹ã PagesïŒè»¢ééãå®è³ªç¡å¶é D1ïŒSQLite DBïŒïŒ5GBã1æ¥ãããèªã¿åã500äžè¡ã»æžã蟌ã¿10äžè¡ R2ïŒ10GBãããã転éé(egress)課éãŒã åã®ãããã¯ãã¯ãã¹ãã£ã³ã°ãDBãã¹ãã¬ãŒãžãå šéšCloudflareã§ãããæã®è«æ±ã¯ä»ã®ãšãã $0ãNext.jsã¯äºå®äžVercelåæã§ãç¡ææ ã¯åçšå¶éãããèŠæš¡ã§èª²éãè·³ãããããSvelteKitã¯æåããCloudflareãšçŽ çŽã«åãã¶ãã財åžã«ããããã€ã³ãã©ãšãã®ãŸãŸã€ãªãããŸãã æ£çŽãªãã¬ãŒããªãïŒReactãåã€ãšããïŒ ãšã³ã·ã¹ãã ã¯Reactãå§åçã䜿ãããUIã©ã€ãã©ãªãèŠã€ãããããã AIã¢ã·ã¹ã¿ã³ããReactã®æ¹ã匷ããSvelte 5ã®runesã¯æ°ãããçæã³ãŒãã«å€ãæžãæ¹ãæ··ããããšãããã æ¥æ¬èªæ å ±ã»æ±äººãReactãå€ãããã å ¬åŒããã¥ã¡ã³ãã®åºæ¥ã¯è¯ãã§ãã ãŸãšã SvelteKitã®äŸ¡å€ã¯ãéãã»è»œãããããäžäººã§ãå®ããäœãç¶ããããããšãäžçºã§å§ããããŠãCloudflareã«èŒããã°æ¯æ$0ããžã£ã³ã«ã®éã4ãããã¯ããåãéå ·ã§åããŠããäºå®ããåã«ãšã£ãŠã®èšŒæ ã§ããReactã§æ¶èããŠãããªããæ¬¡ã®äžäœã®åå°ã«è©ŠããŠã¿ãŠãã ããã
Bloggeråããã³ãã¬ãŒããM-StruXãã§ã¯é è²èšå®ãµã³ãã«ãçšæããŠããŸã
M-StruXã§ã¯åºæ¬çãªã«ã©ãŒèšå®ãã«ã¹ã¿ã ããããã£ã§ç®¡çããŠããŸãã æè»œã«é è²ã倿Žã§ããããã« M-StruXå ¬åŒãµã€ã ã§é è²ãµã³ãã«+ã«ã¹ã¿ã ããããã£ã®ã³ãŒããå ¬éããŠããŸãã çŸåš 14ãã¿ãŒã³ ã®é è²ãçšæããŠãããéæè¿œå ããŠããäºå®ã§ãã [Sage Denim] [Ash Rose]
Wanko-noteïŒãããã®ãŠïŒãé²åïŒGIFã¢ãã¡ãããç»åãäžçºæœåºå¯èœã«ïŒ
GIFã¢ãã¡ãããæé«ã®1ã³ãããã Wanko-noteã«åŸ æã®æ°æ©èœã远å ïŒ noteå°çšã®ç»åæé©åããŒã«ãWanko-noteïŒãããã®æïŒããããã«äŸ¿å©ã«ãªããŸããã ä»åã®ã¢ããããŒãã§ã¯ããGIFãã¬ãŒã æœåºæ©èœããæ°ãã«æèŒããŸããã GIFã¢ãã¡ã®ãããïŒããéããªã åç»ã®åãæããã²ãŒã ç»é¢ã®é²ç»ãªã©ãã¢ãã¡ãŒã·ã§ã³GIFã®ãäžçªããã·ãŒã³ããnoteã®èŠåºãç»åã«ããããšæã£ãããšã¯ãããŸãããïŒ æ°ãããªã£ãWanko-noteãªããGIFãã¡ã€ã«ãããããããã ãã§å šãã¬ãŒã ãç¬æã«è§£æãå°çšã®ã¹ã©ã€ããŒãåããã ãã§ããŸãã§åç»ç·šéãœããã®ããã«èªç±èªåšã«ãã¬ãŒã ãéžæã§ããŸãã æœåºããnoteãµã€ãºãžã®å€æãŸã§ãã·ãŒã ã¬ã¹ã« ãã¬ãŒã ãéžãã åŸã¯ããããŸã§ã®æ©èœããã®ãŸãŸäœ¿ããŸãã 1.91:1ã®é»éæ¯å€æ: 1920x1006ã®é«è§£å床ã§åºåã 粟å¯ãªããªãã³ã°: ç¢å°ãã¿ã³ãšæ°å€å ¥åã§ããªåäœã®èª¿æŽãå¯èœã ãªãããªãŒããèæ¯: äœçœãèªç¶ãªãŒããç»åã§åããŠãããã®ãããªä»äžããã«ã åµäœã®ãæ¬è³ªãã«éäžããããã« GIFã®ã³ãéããã¹ã¯ãªãŒã³ã·ã§ããã§æ®ããå¥ã®ãœããã§éããæåã§ãªãµã€ãºããä¿åããŠã¢ããããŒãããâŠâŠããããªé¢åãªå·¥çšã¯ããå¿ èŠãããŸããã ããããã â éžã¶ â ã³ã㌠â noteã«è²Œãä»ãã ãã®é©ãã»ã©è»œãããªäœéšãããã²æ°ããWanko-noteã§äœéšããŠãã ããã
AIã§åãããã¡ãã®äœãæ¹
â» ããªãããã¢ããã€ã¹ã§èšäºã«ããŸããã AIã§ã³ãŒãã¯æžããããã«ãªããŸãããããã®å ã«äœãããã°ããããããããªã人ãããŸãã ãªã®ã§ãAIã§å¶åŸ¡ã§ããäœããäœãããšæããŸãããã倧äœé«ããããªããææ ãæãŠãªãã ããã¡ããªãå®ããããããã³ã³ãããŒã«åºæ¥ããæ¥œããããšæã£ãŠããã®ããã¡ããããšããç¬ã®ããã¡ããš æç·ã©ãžã³ã³ããããšã¹ãããçµã¿åããããã®ãäœããŸããã ãããã€ãã³ãã§å±ç€ºãããããããã©ããã£ãŠã€ãããã§ããïŒããšäœäººãã«èãããŠããã§ããããäœããåãããã人ã¯ç§ä»¥å€ã«ãããïŒããšããããšãããããŸããã ããã§ãã®äœãæ¹ãæããã¯ãŒã¯ã·ã§ããã®ããã®ããã¥ã¡ã³ããäœæäžã§ãã å®éã®ã¯ãŒã¯ã·ã§ãããããã€ãããªã®ã§èå³ãããæ¹ã¯é£çµ¡ããã ããã°ã次åéå¬ã®äºå®ãªã©ããç¥ããããŸãã æ²èŒããŠããURLã«ã¯ã¯ããŒã©ãŒããã®ãã¹ã¯ãŒãããããŠããã®ã§ãã芧ã«ãªãããæ¹ã¯Xã§DMãããã ããã°åå¥ã«ãç¥ããããŸãã
MintoréèšïŒååããStripeïŒã¹ãã©ã€ãïŒåæèšå®ã®ãçœ ãã«è©°ãŸã£ã話
ã¿ãªãããããã«ã¡ã¯ã Mintorã®Î²çãéèšããã§ãšãããããŸãïŒ éçºè å士ãã€ãªãæ°ãããã©ãããã©ãŒã ãšããããšã§ãããããæ¥œãã¿ã«æŽ»çšããŠãããããšæããŸãã æ®æ®µã¯noteãã¡ã€ã³ã«å·çããŠããã®ã§ãããä»åã¯Mintorã®ååèšäºãšããŠããã£ããç§ããåæèšå®ïŒæ±ºæžé£æºïŒã§æŽŸæã«è©°ãŸã£ããã€ã³ãããå ±æããŸãã ããããç»é²ããæ°äººããããåãããã«å°ã£ãŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã äœã«è©°ãŸã£ãã®ãïŒïŒStripeïŒã¹ãã©ã€ãïŒã®é£æºåé¡ Mintorã®åæèšå®ãé²ããäžã§ã決æžãŸããã®èšå®ãšããŠãStripeïŒã¹ãã©ã€ãïŒãã®é£æºãæ±ããããŸãã å®ã¯ãç§ã¯ãã§ã«Stripeã®æ¢åã¢ã«ãŠã³ãïŒIDïŒãæã£ãŠããŸãã ãã®ããããæ¢åã¢ã«ãŠã³ãããµã¯ããšçŽä»ãããã ããã ã£ãã®ã§ãããããã§è¿·åã«ãªã£ãŠããŸããŸããã è¿·åã«ãªã£ã3ã€ã®çç± å šäœåïŒãããŒïŒãèŠããªãïŒæ¬¡ã«äœãèµ·ããã®ãã®ããŒãããããèŠããªãã ããã¥ã¡ã³ããèŠã€ãããªãïŒãã«ãã仿§ãæžãããããŒãžããããšèŠã€ãããªãã ãæ¬¡ãžããæŒããšæ°èŠååŸç»é¢ã£ãœããã§ãŒãºã«ãªãïŒæ¢åãŠãŒã¶ãŒçšã®ãã°ã€ã³å°ç·ãèŠåœãããããæ¬¡ãžããæ¬¡ãžããšé²ãäžæ¬éããçšæãããŠããªãããã«èŠããã æ¢åã¢ã«ãŠã³ããæã£ãŠãã人ã®ããã®ãçŽæ¥èšå®ç»é¢ãããæ¢åã¢ã«ãŠã³ãã§ãã°ã€ã³ããšãããã¿ã³ãæåã«ãªããããããã®ãŸãŸæ°èŠäœæã®ãããŒã«é²ãã§ããã®ã ãããâŠïŒããšæãæ¢ãŸã£ãŠããŸã£ãŠããç¶æ ã§ãã éçºè ãã©ãããã©ãŒã ã«ãã®ãè©°ãŸãããæããçç± UI/UXã®èгç¹ããèŠãŠããæåã®ãªã³ããŒãã£ã³ã°ïŒç»é²å°ç·ïŒã§ãŠãŒã¶ãŒãè¿·åã«ãªãã®ã¯ããããããšã§ããç§èªèº«ããŸãã«ä»ãªã¢ã«ã¿ã€ã ã§è©°ãŸã£ãŠããã®ã§ããããééããå 茩ãšã³ãžãã¢ã®æ¹ããéå¶ã®æ¹ã«å±ããšãããªãšæãããããŠååã®èšäºãšããŠãã®ãå°ãããšããå ¬éããŠã¿ãŸããã ããããããã¯ã次ãžãã§é²ãã åŸã«ãStripeåŽã§æ¢åãã°ã€ã³ã§ãããïŒããšããããã«ããã¥ã¡ã³ããããïŒããšããæ å ±ããåç¥ã®æ¹ãããã°ããã²ã³ã¡ã³ããªã©ã§æããŠããã ãããšå©ãããŸãïŒ ããããMintorãå§ããã¿ãªãããã©ãããããããé¡ãããŸãã
Stripe決æžã®ç·Žç¿çšãã©ã°ã€ã³ãäœéšããŠã¿ã
äŸãã°ãäœããéçºããããªããšãã ç§ãªãäžçªäžå®ãããéšåã«çŠç¹ãããŠãŸãã ãã£ã³ã¯ããŠã³ã§ããªããã®ãïŒãšã²ããã壿ã¡ããŸãã ã€ãŸããå°ããªããŒããæ¢ããŠã¯ããã©ãã©ã«åè§£ããŸãã ãããŠããã£ãšããã§ãããããªããéšåã ãããã¿ã€ããäœã£ãŠïŒ ãšLLMã«ãã£ãŠããããŸãã ãããªãšãããStripe決æžã®ç·Žç¿çšãã©ã°ã€ã³ãäœéšããŠã¿ãã ããã¯å¹ãç®ãããéããŸãã WordPressã®ãã©ã°ã€ã³ã¯ãäžçŽè ã®æè¡ãå¿ èŠã§ãã ã§ããããŸãªãCopilotããããŸãã ç§ã¯LLMãç¡ãæä»£ãããã£ãŠãŸããã®ã§äžèº«ãè§£ããŸãã çžåœäžå¯§ã«ãã£ãŠãããŸãã ã©ããªèšèªã§ããOKãªã®ã§ãåããã€ããšé Œãã®ã§ãã WordPressã®å Žåã¯ãPHPã§ããã¡ãã£ãšã ãæ·å± ããããŸãã ãã£ãšãç°¡åãªãã€ãã§ããOKã§ãã 倧äœãPythonã§ãããŸãã ãŸãšã ã©ããªèšèªãã©ããªããŒã¿ããŒã¹ã ãããªè¿œæ±ã¯äžèŠã§ãã ãªããªããå šéšScratchã§äœããŸãã
芪åã§æ¥œããçµµåããã²ãŒã ããã¯ã αçããªãªãŒã¹ããŸããïŒ
ã¯ãããŸããŠã ãžã§ãããããŒå®®åŽãšç³ããŸãã ãã®åºŠãåããŠã®å人WebãµãŒãã¹ãéçºããŠÎ±çããªãªãŒã¹ããŸããã ãªãªãŒã¹ããαçã®ããã¯ãããšãããµãŒãã¹ã«ã€ããŠãã£ãããšå 容ããŸãšããèšäºãæžããŸããã®ã§ããããããããã°ã芧ããã ããŸããšå¬ããã§ãã âŒèšäºè©³çްã¯äžèšURL https://note.com/jhpw/n/n045707eb4e17 åŒãç¶ãããããããé¡ãèŽããŸãã
Reactã«ç²ããããªããžãHTMX à FastAPIãªãå人éçºã¯ãã£ãšæ¥œãããªã
Reactã«ç²ããããªããžãHTMX à FastAPIãªãå人éçºã¯ãã£ãšæ¥œãããªã ãå人éçºã§ãµãŒãã¹ãäœãããã®ã«ãããã³ããšã³ããšããã¯ãšã³ãã®é£æºã§å¿ãæããã ãããŒã«ã«ã§ã¯åãã®ã«ããããã€ã®èšå®ãè€éãããŠæ¬çªå ¬éã§ããªãã ããããªããä»ãReactãNext.jsã®è€éãã«ç²åŒããŠãããªããHTMXãšFastAPIãšããéžæè¢ãããã®æ©ã¿ã解決ããç¹å¹è¬ã«ãªããããããŸããã ä»åã¯ããªããã®çµã¿åããããå人éçºã«ãããæåŒ·ã®è§£ããªã®ãããã®çç±ã解説ããŸãã ãªãReactïŒSPAïŒéçºã¯ã沌ããªã®ãïŒ Reactã§ã®éçºãé£ããæå€§ã®çç±ã¯ããå®è³ª2ã€ã®ã¢ããªãäœãå¿ èŠããããããã§ãã ããã³ããšã³ãïŒJSïŒãšããã¯ãšã³ãïŒAPIïŒã¯å®å šã«å¥ç©ãããããã§ç¶æ 管çãè¡ããJSONã§éä¿¡ããåå®çŸ©ãåãããäœæ¥ã¯ãäžäººã§ããã«ã¯ããŸãã«è² è·ãé«ãã®ã§ãããAPIã®ä»æ§ãå€ãããç»é¢ãçã£çœã«ãªã£ãããšããçµéšã¯ã誰ã«ã§ãããã¯ãã§ãã HTMX à FastAPI ãšãããåç¹ååž°ã HTMXãšFastAPIã®çµã¿åããã¯ããã®è€éããæ ¹åºããèŠããŸããã¢ãããŒãã¯æ¥µããŠã·ã³ãã«ã§ãã ããµãŒããŒïŒFastAPIïŒã宿åã®HTMLãè¿ãããã©ãŠã¶ïŒHTMXïŒã¯ããã衚瀺ããã ãã JSONãããããåãå¿ èŠããè€éãªJavaScriptã®ç¶æ 管çãå¿ èŠãããŸãããHTMLã®å±ã«hx-postãšæžãã ãã§ãã¢ãã³ãªéåæéä¿¡ãå®çŸã§ããŸãã ã¡ãªããâ ïŒå§åçãªããšã©ãŒã®å°ãªãã ãã®ã¹ã¿ãã¯ã®æå€§ã®å©ç¹ã¯ãéçºãPythonïŒãµãŒããŒãµã€ãïŒã ãã§å®çµããããšã§ãã è³ã®åãæ¿ãäžèŠ: ãä»ã¯JSãæ¬¡ã¯Pythonããšããé ã®åãæ¿ãããªããªããŸããããªããŒã·ã§ã³ãDBæäœããå šãŠäœ¿ãæ £ããPythonãã¡ã€ã«å ã§è¡ããŸãã éä¿¡ãšã©ãŒã®æ¿æž: ãµãŒããŒããè¿ã£ãŠããã®ã¯ãHTMLãã®ãã®ãã§ããJSONã®ããŒã¹ãã¹ããããã³ããšããã¯ã®åã®äžäžèŽã«ãããã°ã¯ç©ççã«çºçããŸããã ã¡ãªããâ¡ïŒãããã€ã®æ©ã¿ããè§£æŸ åå¿è ãæãæ«æããããããã€ãããé©ãã»ã©ç°¡åã«ãªããŸãã Reactæ§æã§ã¯ãããã³ããšããã¯ãå¥ã®å Žæã«ãããã€ããCORSïŒãã¡ã€ã³éã®éä¿¡èš±å¯ïŒã®èšå®ãèªèšŒããŒã¯ã³ã®ç®¡çã«é ãæ©ãŸããå¿ èŠããããŸãã ããããHTMX à FastAPIãªããFastAPIã®ãµãŒããŒã1ã€ç«ã¡äžããã ãã§ãã ãã«ãäžèŠ: npm run buildã§è¬ã®ãšã©ãŒãåºãææãšã¯ç¡çžã§ãã CORSèšå®äžèŠ: HTMLãAPIãåããµãŒããŒããé ä¿¡ããããããè€éãªã»ãã¥ãªãã£èšå®ã«æ©ãå¿ èŠããããŸããã PaaS飿ºãäžç¬: RenderãFly.ioãªã©ã«ãPythonã³ãŒãã眮ãã ãã§æ¬çªç°å¢ã宿ããŸãã å®è£ ã¹ããŒãã®éã äŸãã°ãTodoãªã¹ããžã®è¿œå æ©èœããäœãå ŽåïŒ React: APIäœæãfetchåŠçã®å®è£ ãLoading/Errorç¶æ ã®ç®¡çãåã¬ã³ããªã³ã°å¶åŸ¡âŠãšå€ãã®æé ãå¿ èŠã§ãã HTMX: Pythonã§DBã«ä¿åããŠHTMLïŒ<li>ã¿ã°ïŒãè¿ãåŠçãæžããHTMLåŽã«hx-postãšæžããããã ãã§å®äºã§ããJavaScriptã¯0è¡ã§ãã çµè«ïŒãŸãã¯ã宿ããããã å人éçºã§æã倧åãªã®ã¯ãæè¡çãªé«å°ãã§ã¯ãªããããµãŒãã¹ã宿ãããŠäžã«åºãããšãã§ãã ç°å¢æ§ç¯ããšã©ãŒè§£æ±ºã«æéãåžãåãããã¢ã€ãã¢ã圢ã«ã§ããªããŸãŸçµããã®ã¯ããŸãã«å¿äœç¡ããPythonãæžãããªãããŸãã¯FastAPIãšHTMXã詊ããŠã¿ãŠãã ããããã®ã·ã³ãã«ããšãçéã§åãã¢ããã§ãããå¿«æã«ããã£ãšé©ãã¯ãã§ãã