
ããã«ã¡ã¯ï¼æ®æ®µã¯ ãããªã³ã¦ã¨ãã£ã³ã° ã®éçºããã¦ããæ»å£ï¼@ytakigucheï¼ã§ãã
ãããªã³ Advent Calendar 2025 ã® 9 æ¥ç®ãæ
å½ãã¾ãï¼
ãã®è¨äºã§ã¯ããªã³ã©ã¤ã³ã¤ãã³ããçãä¸ããããã«ç¤¾å ã§éçºããããªã¢ã¯ã·ã§ã³ãã¼ã«ãããã©ã®ãããªèª²é¡ããçã¾ããã©ã®ããã«ä½¿ãããããã¦ãªãã¯ãã¼ãºã«è³ã£ãã®ããæ¯ãè¿ãã¾ãã
ç®æ¬¡
- ç®æ¬¡
- ð¤ ãªã³ã©ã¤ã³ã¤ãã³ããçãä¸ãã£ã¦ãã¾ããï¼
- ð¡ ãªã¢ã¯ã·ã§ã³ãã¼ã«ã®èªç
- ð§© ã·ã¹ãã ã¢ã¼ããã¯ãã£
- ð å®éã«ä½¿ã£ã¦ã¿ã¦ã©ãã ã£ãã
- â ï¸ ããããã¯ãã¼ãºã¸
- ð æå¾ã«
ð¤ ãªã³ã©ã¤ã³ã¤ãã³ããçãä¸ãã£ã¦ãã¾ããï¼
ãªã³ã©ã¤ã³ã¤ãã³ãã¯ä¾¿å©ãªä¸æ¹ã§ã対é¢ã¤ãã³ãã«æ¯ã¹ã¦ãå ´ã®ç©ºæ°ããä¼ããã«ããã¨ãã課é¡ãããã¾ãã
- åå è ã¯åºæ¬çã«ã«ã¡ã©ãªã
- çºè¡¨è ããã¯åå è ã®è¡¨æ ãåå¿ãè¦ããªã
- 大å¢ã®åã ã¨ãã£ããã§çºè¨ããã®ã¯å°ãåæ°ããã
ãããªã³éçºé¨ã§ã¯ãæ¯é±ããã¬ãã¸å
±æä¼ãã¨ãããéçºé¨å
¨å¡ãåå ãããªã³ã©ã¤ã³ã¤ãã³ããéå¬ãã¦ãã¾ãã
ã¨ã¦ãææç¾©ãªå ´ãªã®ã§ããããªã³ã©ã¤ã³ããã«çºè¡¨è
ããã¯åå è
ã®ãªã¢ã¯ã·ã§ã³ãè¦ãã¥ããã
- ãã¡ããã¨åºãã£ã¦ããã®ããªâ¦â¦ï¼ã
- ãç¬ã£ã¦ããã¦ããã®ããªâ¦â¦ï¼ã
ã¨ãå°ãå¿ç´°ããªã£ã¦ãã¾ããã¨ãããã¾ããã
ããã§ãããã£ã¨æ°è»½ã«ãªã¢ã¯ã·ã§ã³ãè¿ãã¦ãçºè¡¨è ããããã¡ããã¨åãåããä»çµã¿ãã»ãããããã¨ããã¨ããããããã®ãªã¢ã¯ã·ã§ã³ãã¼ã«ã®æ§æ³ãçã¾ãã¾ããã
ð¡ ãªã¢ã¯ã·ã§ã³ãã¼ã«ã®èªç
ãããã¦èªçããã®ãããªã³ã©ã¤ã³ã¤ãã³ããçãä¸ããããã®ããªã¢ã¯ã·ã§ã³ãã¼ã«ãã§ãã
ãã®ãã¼ã«ãç®æããã®ã¯ãçºè¡¨è ã¨åå è ã®éã«ããªã¢ã«ã¿ã¤ã ãªåå¿ã®æ©ããããããã¨ã§ããã
- åå è ï¼ãã¿ã³ãæ¼ãã ãã§ãæè»½ã«ãªã¢ã¯ã·ã§ã³ãéä¿¡ã§ãã
- çºè¡¨è ï¼èªåã®ç»é¢ä¸ã«ãé£ãã§ãããªã¢ã¯ã·ã§ã³ãã¢ãã¡ã¼ã·ã§ã³è¡¨ç¤ºããã
çµæã¨ãã¦ãããªãã¨ãªãéããªãªã³ã©ã¤ã³ä¼ãããããã¡ããã¨åå¿ãâè¦ããâãªã³ã©ã¤ã³ä¼ãã«å¤ãã¦ãããåå¨ã«ãªãã¾ããã

ä½¿ãæ¹ã¯ã¨ã¦ãã·ã³ãã«ã§ãã
- åå è ã¯ãäºåã«å ±æãããå°ç¨ URL ã«ã¢ã¯ã»ã¹
- ç»é¢ä¸ã«è¡¨ç¤ºãããè¤æ°ã®ãªã¢ã¯ã·ã§ã³ãã¿ã³ãããæ¼ããããã®ãã¿ããï¼ã¯ãªãã¯
- çºè¡¨è ã®ç»é¢ä¸ã«ãæ¼ããããªã¢ã¯ã·ã§ã³ããµãã£ã¨ã¢ãã¡ã¼ã·ã§ã³è¡¨ç¤ºããã
åå è
å´ããããã¨ããªã³ã©ã¤ã³ä¼è°ã®ãªã¢ã³ã³ãã®ãããªæè¦ã§ã
çºè¡¨è
å´ããããã¨ãç»é¢ã®ä¸ã«ä¼å ´ã®ããªãç´æ¥éã£ã¦ããããããªä½é¨ã«ãªãã¾ãã
ð§© ã·ã¹ãã ã¢ã¼ããã¯ãã£
ãã®ãªã¢ã¯ã·ã§ã³ãã¼ã«ã¯ã次㮠3 ã³ã³ãã¼ãã³ãã§æ§æããã¦ãã¾ãã
- åå è åãã®ãªã¢ã¯ã·ã§ã³éä¿¡ç»é¢ï¼Webï¼
- çºè¡¨è åãã®ãªã¢ã¯ã·ã§ã³è¡¨ç¤ºã¢ããªï¼Electronï¼
- 2 ã¤ãã¤ãªããªã¢ã¯ã·ã§ã³ãµã¼ãã¼ï¼Node.js + WebSocketï¼
ããããã®å½¹å²ã¯ã·ã³ãã«ã§ãããWebSocket ã«ãããªã¢ã«ã¿ã¤ã éä¿¡ã§ã¤ãªããã¨ã§ãããã¿ã³ãæ¼ãããããé£ãã§ãããä½é¨ãå®ç¾ãã¦ãã¾ãã

ãªã¢ã¯ã·ã§ã³éä¿¡ç»é¢ï¼åå è å´ï¼
åå è åãã®ç»é¢ã¯ãã·ã³ãã«ãª HTML / CSS / JavaScript ã§æ§ç¯ãã¾ããã
- ã¹ããããã®æä½ãåæã«ã大ããã®ãã¿ã³ãé ç½®
- åãã¿ã³ã«ã¯ãªãã¯ã¤ãã³ããè¨å®ããæ¼ããã種å¥ã WebSocket ã§ãµã¼ãã¼ã¸éä¿¡
- ãã©ã®ã¤ãã³ãã»ã©ã®çºè¡¨ã«å¯¾ãããªã¢ã¯ã·ã§ã³ãããèå¥ã§ãããããã»ãã·ã§ã³æ å ±ãä»ä¸
åå è ããè¦ãã¨ããURL ãéãã¦ãæ°ã«ãªã£ãã¿ã¤ãã³ã°ã§ãã¿ã³ãæ¼ãã ããã¨ããä½é¨ã«å¾¹åºçã«å¯ãã¦ãã¾ãã
ãªã¢ã¯ã·ã§ã³è¡¨ç¤ºã¢ããªï¼çºè¡¨è å´ï¼
çºè¡¨è åãã®ãªã¢ã¯ã·ã§ã³è¡¨ç¤ºã¢ããªã¯ãElectron ã使ã£ã¦ãã¹ã¯ãããã¢ããªã¨ãã¦å®è£ ãã¾ããã
- ãªã¢ã¯ã·ã§ã³ãµã¼ãã¼ã¨ WebSocket ã§æ¥ç¶
- ãµã¼ãã¼ããå±ããã¡ãã»ã¼ã¸ãåãåããç»é¢ä¸ã«ã¢ãã¡ã¼ã·ã§ã³è¡¨ç¤º
- çºè¡¨ã¹ã©ã¤ãã®è¡¨ç¤ºãéªéããªãããããªã¼ãã¼ã¬ã¤è¡¨ç¤ºãé ç½®ã»å¤§ããã調æ´
ãªã³ã©ã¤ã³çºè¡¨ã§ã¯ãã¹ã©ã¤ãã¨çºè¡¨è
ã®é¡ã§ç»é¢ãåã¾ããã¡ãªã®ã§ã
ãéåæãªãéãããã UIãã«ãªããã工夫ãã¾ããã
ãªã¢ã¯ã·ã§ã³ãµã¼ãã¼
ãªã¢ã¯ã·ã§ã³ãµã¼ãã¼ã¯ãNode.js 㨠WebSocket ã©ã¤ãã©ãªã§æ§ç¯ãã¾ããã
- åå è ã»çºè¡¨è ããããã®ã¯ã©ã¤ã¢ã³ãããã®æ¥ç¶ã管ç
- åå è ããåä¿¡ãããªã¢ã¯ã·ã§ã³ãã対å¿ããçºè¡¨è ã¯ã©ã¤ã¢ã³ãã¸ããã¼ããã£ã¹ã
- ã¤ãã³ããã¨ã®ã«ã¼ã åãããæ¥ç¶åææã®ã¯ãªã¼ã³ã¢ãããªã©ãæ å½
ããã«ãããå¤äººæ°ã®åå è â 1 人ã®çºè¡¨è ã¸ã®ãªã¢ã«ã¿ã¤ã ãªãã£ã¼ãããã¯ã«ã¼ããã·ã³ãã«ãªæ§æã§å®ç¾ã§ãã¾ããã
ð å®éã«ä½¿ã£ã¦ã¿ã¦ã©ãã ã£ãã
å®éã®ãã¬ãã¸å ±æä¼ãªã©ã®ãªã³ã©ã¤ã³ã¤ãã³ãã§ä½¿ã£ã¦ã¿ãã¨ã
- åå è ããããªãæ°è»½ã«ãªã¢ã¯ã·ã§ã³ãéã£ã¦ãããããã«ãªã£ã
- çºè¡¨è ã¯ã話ããªãããªã¢ã«ã¿ã¤ã ã«åå¿ãæãåããããã«ãªã£ã
- ãçãä¸ãã£ã¦ãæããç®ã«è¦ããã®ã§ãå ´ã®ä¸ä½æãçã¾ãã
ã¨ãããå½åã®çãéãã®å¹æãåºã¾ããã
ç¹ã«å°è±¡çã ã£ãã®ã¯ã
- ããã¹ããã£ããã¯ããªãã¿ã¤ãã®äººãããªã¢ã¯ã·ã§ã³ãã¿ã³ã¯ã©ãã©ãæ¼ãã¦ããã
- é£ããã®æè¡è©±ã§ãããã¡ããã¨ä¼ãã£ã¦ããã ãªãã¨çºè¡¨è ãå®å¿ã§ãã
ã¨ãã£ãããã¼ãã«ã®ä½ãã³ãã¥ãã±ã¼ã·ã§ã³ææ®µãã¨ãã¦æ©è½ãã¦ããããã¨ã§ãã
â ï¸ ããããã¯ãã¼ãºã¸
ãããªãªã¢ã¯ã·ã§ã³ãã¼ã«ã§ãããæå¿ã§éçºã»éç¨ãã¦ãããã¨ãããã
æ®å¿µãªãã 2025 å¹´ç§ããã£ã¦ã¯ãã¼ãº ãããã¨ã«ãªãã¾ããã
主ãªçç±ã¯æ¬¡ã®éãã§ãã
- éçºã»éç¨ãªã½ã¼ã¹ã®ç¢ºä¿ãé£ãããªã£ã¦ãã
- ã»ãã¥ãªãã£ãã¡ã³ããã³ã¹ã«é¢ãã課é¡ã»èæ ®äºé ãå¢ãã¦ãã
- åå è ã®ãã¼ãºãå¤åããä»ã®ã³ãã¥ãã±ã¼ã·ã§ã³ææ®µã主æµã«ãªã£ã¦ãã
ç¹ã«æå¾ã®ç¹ã¯å¤§ããã
- Google Meet ã®ãªã¢ã¯ã·ã§ã³ãã¿ã³
- å種ãªã³ã©ã¤ã³ä¼è°ãã¼ã«ã«æ¨æºæè¼ããã¦ããã¹ã¿ã³ãæ©è½
ãªã©ãã¤ãã³ããã¼ã«å´ã®é²åã«ãã£ã¦ãä¼¼ãä½é¨ãããã©ã«ãã§å©ç¨ã§ããããã«ãªãã¾ããã
ããããªããç¡çããã¦èªåã®ãã¼ã«ãç¶æãããããã
æ¨æºæ©è½ãæ´»ç¨ãã¦ãã£ãã»ãããåå è
ã«ã¨ã£ã¦ãéå¶ã«ã¨ã£ã¦ã幸ãã ãããã¨ãã夿ã§ãã
ð æå¾ã«
ãã®ãªã¢ã¯ã·ã§ã³ãã¼ã«ã¯ã社å
ã®ãªã³ã©ã¤ã³ã¤ãã³ãã大ãã«çãä¸ãã¦ããã¾ããã
çºè¡¨è
ã¨åå è
ã®è·é¢ãå°ãã ã縮ãã¦ããããã¨ã¦ãé ¼ãããåå¨ã ã£ãã¨æãã¾ãã
䏿¹ã§ããã¼ã«ãã®ãã®ã¯ã¯ãã¼ãºããã¦ãã
- ããªã³ã©ã¤ã³ã¤ãã³ãã§ãã©ããã£ã¦ãªã¢ã¯ã·ã§ã³ãè¦ããåãããã
- ãåå è ãæ°è»½ã«åå¿ã§ããâå ¥ãå£âãã©ãç¨æãããã
ã¨ãã観ç¹ã¯ããããããå¤ããã大äºã«ãã¦ãããããã¼ãã§ãã
ãã®è¨äºãèªãã§ãã ãã£ãã¿ãªããã®ç¾å ´ã§ãã
- æ¢åã®ä¼è°ãã¼ã«ã®æ©è½ããã£ã¨æ´»ç¨ãã¦ã¿ã
- ã¡ãã£ã¨ãã Web ãã¼ã«ãèªä½ãã¦ã¿ã
- ç©ççãªã°ããºï¼ã«ã¼ãããã¡ããªã©ï¼ãçµã¿åããã¦ã¿ã
ãªã©ãèªåãã¡ã®ã¤ãã³ãã«åã£ãããæ¹ã§ããªã³ã©ã¤ã³ã§ããåå¿ãè¦ãããç¶æ ãä½ã£ã¦ã¿ã¦ãã ããã
ããã¾ã§èªãã§ããã ãããããã¨ããããã¾ããï¼
