
ã²ãŒã äœã åå¿è ãžã£ã³ã«ã®éžã³æ¹ïœ5ã€ãäœã£ãŠæ°ããæ¯èŒè¡š
æåã«äœããžã£ã³ã«ã¯ãå®è£ ã®éããèã3ã€ã®è³ªåã«çãããšããã®5ã€ã®äžãã1ã€ã«çµããŸãã
質åã¯ãæéããã€ãšåæã«åãéšåãèŠããããå·Šå³ã®ããŒã§åãããããªã©ãäœãæ¹ãå€ããæã ãã§ãã
æ°åœãŠã»30ç§ã¯ãªãã¯é£æã»ãÃã²ãŒã ã»ãããã¯åŽ©ãã»åå²ããã«ã®æå°çãå®éã«æžããŠåãããåãåºæºã§æ°ãã衚ãèŒããŸããã
3ã€ã®è³ªåã§çµãåå²å³
次ã®å³ã¯ãã¯ããšãããã§çããŠé²ããšããã®5ã€ã®ã©ããã«çãåå²å³ã§ãããžã£ã³ã«ã®æ ã«ã¯ããã®èšäºã§æ°ããå€ãå ¥ããŠãããŸãã

質å1ã¯è¡šã®ãç»é¢ã®æŽæ°ãã質å2ã®å·Šå³ããŒã¯ãå ¥åãã®åã«å¯Ÿå¿ããŸããå Žé¢ãšç€é¢ã¯è¡šã§ã¯æ°ããŠããŸããã
5ã€ã®ãžã£ã³ã«ãåãåºæºã§æ°ãã衚
æ°åã¯ãAIã«äœããã1äŸã§ããæžãæ¹ã§æ°åã¯å€ãããŸãã2026幎10æ19æ¥ã«ãæå ã®Windows 11ã§æžããŠåãããŸããã
5æ¬ãšããHTMLãã¡ã€ã«1ã€ã§åããå€éšã®ã©ã€ãã©ãªãç»åã¯äœ¿ã£ãŠããŸããã1è¡ã«1ã€ã®æãæžããåäžãã®å¹ ãããããŠããŸãããžã£ã³ã«åã®äžŠã³ã¯ãæ°ããå€ãèŠæ¯ã¹ãããã®é çªã§ãé äœã§ã¯ãããŸããã

æ°ããåºæºã¯æ¬¡ã®6ã€ã§ã5æ¬ãã¹ãŠã«åããã®ãåœãŠãŸããã
è¡æ°ïŒç©ºè¡ãé€ããè¡æ°ã§ããscriptã®äžãšããã以å€ïŒèŠåºãããã¿ã³ãªã©ïŒã«åããŸãã
颿°ïŒscriptã®äžã®ãfunctionãã®èªãšã=>ãã®æ°ã®åèšã§ã
ç¶æ ïŒå€æ°stateã«å ¥ãæååã®çš®é¡ã§ããåŸ æ©äžã»ãã¬ã€äžã»çµäºã®ããã«ãã²ãŒã ãä»ã©ã®æ®µéã«ãããã衚ããŸã
å ¥åïŒaddEventListener ã§åŸ ã€ã€ãã³ãã®çš®é¡ã§ããæ°åãæã¡èŸŒãæ¬ãããã°ãããŒã«æ°ããŸãã
ç»é¢ã®æŽæ°ïŒsetIntervalãrequestAnimationFrameã䜿ã£ãŠããã°ãäžå®æéããšãã䜿ã£ãŠããªããã°ãæäœã®ãšãã ããã§ã
åäœç¢ºèªïŒåã¡ã»è² ãã»çµäºãŸã§éãããã§ãã確ããæ¹ã¯åŸã®ç¯ã«æžããŸãã
éã³ã®å 容ã¯ãæ°åœãŠã1ãã100ã7åãŸã§ã飿ã30ç§ã§ç®æš60åããÃã2人ã®äº€ä»£ãšåã¡å€å®ããããã¯åŽ©ãããããã¯18åãåå²ããã«ã3å Žé¢ã§2æã2åã§ãã
質å1ïŒæéããã€ãšåæã«åãéšåãèŠãã
衚ã®ãç»é¢ã®æŽæ°ãã§äžå®æéããšã«ãªã£ãã®ã¯ã30ç§ã¯ãªãã¯é£æãšãããã¯åŽ©ãã®2æ¬ã§ãã飿ã¯setIntervalã§1ç§ããšã«æ®ãæéãæžããããããã¯åŽ©ãã¯requestAnimationFrameã§æ¯ãã¬ãŒã ãããŒã«ãåãããŠããŸãã
requestAnimationFrameã¯ãMDN Web Docsã®èª¬æã§ã¯ã次ã®åæç»ã®åã«æå®ãã颿°ãåŒã¶ãããã©ãŠã¶ãŒã«é Œãã¡ãœããã§ããç¶ããŠåããã«ã¯ãåŒã°ãã颿°ã®äžã§ããäžåºŠåŒã¶å¿ èŠããããŸãã
æ®ãæ°åœãŠã»ãÃã²ãŒã ã»åå²ããã«ã¯ããã¿ã³ãæŒãããšãã«ã ãç»é¢ãå€ãããŸããæéã®æµããæ±ãéšåããªãã®ã§ãåäœç¢ºèªããæŒããçµæãèŠãããç¹°ãè¿ãã ãã§æžã¿ãŸããã
äžå®æéããšã«åãã²ãŒã ã«ã¯ããã1ã€æ³šæç¹ããããŸããMDNã«ã¯ã1ãã¬ãŒã ã§é²ãéãæå»ããèšç®ããªããšããªãã¬ãã·ã¥ã¬ãŒãã®é«ãç»é¢ã§ã¯éãåãããšæžãããŠããŸããä»åã®ãããã¯åŽ©ãã¯1ãã¬ãŒã ããšã«æ±ºãŸã£ãéã ãåããæžãæ¹ãªã®ã§ããã®æ³šæã®å¯Ÿè±¡ã§ããé«ããªãã¬ãã·ã¥ã¬ãŒãã®ç»é¢ã§ã®éãã¯ç¢ºãããŠããŸããã
質å2ïŒå·Šå³ã®ããŒã§åããããæç« ã®å Žé¢ãéžã°ããã
å ¥åã«ããŒãå ¥ã£ãã®ã¯ãæ°åœãŠãšãããã¯åŽ©ãã§ããæ°åœãŠã¯æ°åãæã¡èŸŒãæ¬ãããããã§ãåŸ ã€ã€ãã³ãã¯ã¯ãªãã¯ã ãã§ãããããã¯åŽ©ãã¯ãã¯ãªãã¯ã«å ããŠãããŒãæŒããã»é¢ããã®2çš®é¡ãåŸ ã£ãŠããŠãã€ãã³ãã¯åèš3çš®é¡ã«ãªããŸããã
ç¶æ ã4ã€ããã®ã¯ããããã¯åŽ©ãã ãã§ããã¯ãªãã¯ã§å§ãããŸã§æ¢ãŸã£ãŠããåŸ æ©ããããããåŸ æ©ã»ãã¬ã€äžã»ã¯ãªã¢ã»ã²ãŒã ãªãŒããŒã®4ã€ã«ãªããŸãããã»ãã®4æ¬ã¯3ã€ã§ãã
åå²ããã«ã¯ãå Žé¢1ã»å Žé¢2ã»çµæ«ã®3ç¶æ ã§ã颿°ã¯3ã€ãscriptã¯46è¡ã§ãããå Žé¢ã®æç« ãšçµæ«ã®æç« ã¯ãscriptã®äžã®ã»ãã«ãŸãšããŠçœ®ããŠããŸãããžã£ã³ã«ããšã®äœãæ¹ã«ã¯èžã¿èŸŒãŸãã5ã€ã®ãã¡ã®1ã€ãšããŠåãåºæºã§æ°ãããšãããŸã§ã«ããŸãã
質å3ïŒãã¹ç®ã®ç€é¢ã2人ã§äº€ä»£ããŠæã€ã
ãÃã²ãŒã ã¯ãscriptã57è¡ã§é¢æ°ã4ã€ããã以å€ã®è¡ã27è¡ã§ãããããã以å€ã®è¡ãã5æ¬ã®äžã§ãã¡ã°ãå€ãã®ã¯ã9ã€ã®ãã¿ã³ãHTMLã«äžŠã¹ãããã§ãã
åã¡å€å®ã¯ã瞊3æ¬ã»æšª3æ¬ã»æã2æ¬ã®åèš8æ¬ã®äžŠã³ãé åã«å ¥ããŠèª¿ã¹ã圢ã«ããŸãããåäœç¢ºèªã§ã¯ã8æ¬ã®ãã¹ãŠã§Xã®åã¡ãå€å®ã§ããŸããã
æ°åœãŠã¯ãscriptã38è¡ã§é¢æ°ã3ã€ã§ããä»åã®5æ¬ã§ã¯ãè¡æ°ããã¡ã°ãå°ãªãã颿°ã®æ°ã¯åå²ããã«ãšäžŠãã§æå°ã§ããã
åäœç¢ºèªã§éã£ãããšãšã確ãããŠããªãããš
åäœç¢ºèªã¯ãheadless ChromeïŒããŒãžã§ã³155ïŒã§è¡ããŸãããã²ãŒã ã®HTMLã¯æžãæãããè€è£œã«ç¢ºèªçšã®æäœãè¶³ããããŒãžå ã®ã¹ã¯ãªããããã¯ãªãã¯ãšããŒã®ã€ãã³ããçºçãããŠããŸãïŒOSã®æäœãã®ãã®ã§ã¯ãããŸããïŒã

5æ¬ã®åèšã¯45é ç®ã§ããã¹ãŠéããŸããããããã¯åŽ©ãã¯ãäœãæäœããªããš124ãã¬ãŒã ã§å€±æã«ãªããå·Šå³ããŒã ãã§æäœãããš6519ãã¬ãŒã ã§ãããã¯ãå šéšæ¶ããŠã¯ãªã¢ã«ãªããŸããããã®6519ãšããæ°ã¯ã確èªçšã«æžããããŒæäœã®1äŸã§ã®å€ã§ãã
ãããã¯åŽ©ãã ãã¯ç¢ºèªã®æ¹æ³ãå€ããŠããŸããæå ã®headless ChromeïŒä»®æ³æéïŒã§ã¯ãrequestAnimationFrameãåŒã³ç¶ããã ãã®ããŒãžã§ãã5ç§ã¶ãã®åŸ ã¡ã§1åããé²ã¿ãŸããã§ããããã®ãã確èªçšã®è€è£œã§ã¯ãsetTimeoutïŒ16ããªç§ïŒã«çœ®ãæããŠåãããŸãããæ¬ç©ã®requestAnimationFrameã§ã®åãã¯ç¢ºãããŠããŸããã
確ãããŠããªãããšã¯ã次ã®3ã€ã§ãã
ã¹ãããªã©ã¿ããæäœã§ã®åã
人ãå®éã«éãã ãšãã®æäœæãé¢çœã
å¥ã®æžãæ¹ã§äœãçŽãããšãã®æ°åã®éã
è¿·ã£ããšãã®æ±ºãæ¹
質åã«çããŠã2ã€ã§è¿·ã£ãããæéãé²ããæäœãäžèŠã§ç¢ºèªã®æéãå°ãªãã£ã3æ¬ïŒæ°åœãŠã»ãÃã²ãŒã ã»åå²ããã«ïŒããéžã¶ããšããæ±ºãæ¹ããããŸãããã®3æ¬ã¯ãåã¡ã»åŒãåãã»çµæ«ãªã©ãçµããã®ç¶æ ãŸã§ãã¯ãªãã¯ãŸãã¯æ°åã®å ¥åã ãã§éããŸããã確èªçšã®æäœã§ã¯ã飿ã¯ä»®æ³æéã®30ç§ã2åããããã¯åŽ©ãã¯ã¯ãªã¢ãŸã§ã«6519ãã¬ãŒã ïŒå€±æãŸã§124ãã¬ãŒã ïŒåãããŸãããåäœãéããæäœã®ãããã§å€ããå€ã§ãããã®æ¯èŒã¯ä»åã®1äŸã§ã®çµæã§ãåå¿è ã«åããã©ãããé¢çœãã¯æž¬ã£ãŠããŸããã
ãžã£ã³ã«ã決ãŸã£ãããClaude Codeã«æåã®äŸé ŒãåºããŸããèµ·åããæåã®äŸé ŒãŸã§ã¯ãClaude Codeã®äœ¿ãæ¹ãèµ·åããæåã®äŸé ŒãŸã§ã«æé ããããŸãããŸã å ¥ã£ãŠããªããšãã¯ãClaude Codeãã€ã³ã¹ããŒã«ã§ããªãæã®çŽãæ¹ãå ã«ç¢ºãããŠãã ããã