ãã®è¨äºã¯çµ±è¨ã»æ©æ¢°å¦ç¿ã®æ°çAdvent Calendar21æ¥ãã®è¨äºã§ãã
æ£ç´æ°ççãªè¦ç´ ãè©°ããæéãå ¨ãåãããããã§ããªã«ãè¨äºãæ¸ããªããã°ã¨ãã使å½æãããä»å¹´èªãã æ¬ã®ç´¹ä»ããããã¨ã«ãã¦ãè¶ãæ¿ããã¨æãã¾ãã
ããã¦ããæ¬ã¯å²ã¨åæ¨é¸æãããã¿ã¤ãã§ãå³æ¸é¤¨ãæ¸åºã§ããããåå³ãã¦ããè²·ãã®ã§ããããªãã ããã çµ±è¨å¦ã®æ¸ç±ã¯ãã¼ã«ãã¯è³¼å ¥ãã¦ãã¾ãã®ã¯æªã ã«çã¨ãã¦æãã¾ããã ä»åã«è³ã£ã¦ã¯æ¬å½ã«ä»å¹´è³¼å ¥ããã®ãããå®ãã§ã¯ããã¾ããããè¨æ¶ã¨åºçå¹´ãããå¤åä»å¹´è²·ã£ããã ã¨æãã¾ããã¨ããç©èªæ¬ãé¸ã³åããä»å¹´ã®ãã¡ã«æµãèªã¿ã ãã§ããã¦ããããã¨ããéãªè¨äºã«ãªãã¾ãã
ã©ããè¯ãæ¬ã§ããã¢ããã¼ã·ã§ã³ã®ãã人ã¯æ¯éè²·ã£ã¦ã¿ã¦ãã ããã
å 責äºé
3æãã5æã¾ã§ä¼è·ãã¦ããã¨ãã«ã¯ã»ã¨ãã©çµ±è¨å¦ãæ©æ¢°å¦ç¿ã«é¢ããæ¬ãåãä»ããªãç¶æ ã§ãã£ãã®ã§ãããéè¯ã3ã¶æã§æ¸ãã ã®ã§ãä¸åå¹´ã§å¤§éã«è³¼å ¥ããå±¥æ´ãæ®ã£ã¦ãã¾ãã 大äºãªãã¨ã¨ãã¦ãããã®æ¬ã¯1åã«1å¹´ããã¦èªããããªãã®ã§ããããã第3çããã¤ãºãã¼ã¿è§£æãã«è³ã£ã¦ã¯æã«ãã¾ã£ã¦è´å½å·ãé¿ããããã«æã£ã¦ãããããã®æ¬ã ã¨æãã¾ã*1ã
ãããã£ã¦ä»¥éã®ç´¹ä»ã¯ã»ã¼æµãèªã¿ã§ãæ£ããç解ãã©ããããæªããã®ã§ãçå½ã®ç¨ã¯åèªã§ç¢ºããã¦ã»ãããªãã¨æãã¾ããã責任転å«ã
ããã¼ã¿è§£æã®ããã®æ°ççµ±è¨å ¥éã
çµ±è¨æ¤å®1ç´ãç®æãã¦åå¼·ãããã¨ããã人ã¯ééããªãåãã¦ããã§ããããä¹ ä¿å·éä¹å çã®æ°ççµ±è¨å¦ã®å ¥éæ¸ã§ãããæ°ççµ±è¨ã£ã¦ãã¼ã¿ã解æããããã«ããã®ã§ã¯ï¼ãã¨ã¯æãã®ã§ãããããã¯ãã¯ããã«ãã®ç¬¬1æãèªããã¨ã§ãèè ã®åé¡æèãæ確ã«ãªãã§ããã
ã³ã³ãã¥ã¼ã¿ã¨ãã¼ã¿è§£æã½ãããªã©ã®çºå±ã«ä¼´ããã¼ã¿ããæçãªæ å ±ãå¼ãåºããã¨ã容æã«ãªã£ã¦ããæ¨ä»ããã¼ã¿ãµã¤ã¨ã³ã¹ã¨ããè¨èã象徴ããããã«ããã¼ã¿ã®ä¾¡å¤ã¨ãã¼ã¿è§£æã®æç¨æ§ãèªèãããããã«ãªã£ã¦ãããä¸æ¹ã§ããã¼ã¿ãç§å¦ããä¸ã§åºæ¬ã¨ãªã確çã¨ãã®ä¸ã«å±éãããæ°ççµ±è¨å¦ã®èãæ¹ãæ¹æ³è«ã®åºç¤ãä¸éãç解ãã¦ãããã¨ã¯ããã¼ã¿ãé©åã«è§£æã§ããããã«ãªãä¸ã§ããç¾å®ã®ãã¼ã¿åæã«ç¸å¿ããæ°ããªçµ±è¨ã¢ãã«ã¨è§£æææ³ãåµé ãã¦ããä¸ã§ãã大åã§ãã
確ãã«RãPythonãSQLã使ã£ããã¼ã¿ã®éè¨ã»å å·¥ãåºæ¬çãªã¢ãã«ã®ãå®è£ ãã«ã¤ãã¦ã¯ããã®è¨èªã«ããææ³ãå¦ã¹ã°ååã«å®è£ å¯è½ã§ããããããªããªãç£æ¥çã§ããã°GUIã§ããããå®ç¾ãããµã¼ãã¹ã¯å±±ç¨åå¨ãã¾ããçæAIã«ããCopilotæ©è½ãç¡åçãåºã¦ããããã«ãªã£ã¦ããä¸ããªããããããæ°çãçµ±è¨ãå¦ã¶å¿ è¦ãããã®ããã¨ããç¹ã¯ããã®1æã§ååã«ç解ã§ããã¨æãã¾ãã
å人çã«ããä¾ãã°å帰åæã¯ã誰ã§ãã§ãããææ³ã¨ãªã£ããã®ã®ããã®æ¨å®ããã»ã¹ã¨ã¯ã©ããªã£ã¦ããã®ããç解ãã¦ãããªãã¨ãåºåãããçµæãä¿¡é ¼ã§ãããã®ã§ããã®ããä¿¡é ¼ã§ããå ´åå®å課é¡ã«ç
§ããã¦ã©ã®ããã«è§£éãããã®ãããããã¯ä¿¡é ¼ã§ããªãå ´åããã¼ã¿ãã©ã®ããã«æ´çããã¹ããã«ããããã¤ããããªãã¨ããããã¤ãã®åé¡ãåºã¦ãã¾ãã
ãããã大è¦æ¨¡è¨èªã¢ãã«ã«ãèãã¦ãã¾ãã°ã解決ãããã¨ãããã¨æãã¾ããä»äºãç 究ã§ãé¢å¿ã®å¯¾è±¡ã®ç解ã®ããã«éå
·ã¨ãã¦ä½¿ã£ã¦ãã人ã§ããã°ããã§æ§ããªãå ´é¢ãããã¾ãããããç§å人ã¯çµ±è¨ææ³ã®æ°ççãªè¦ç´ ãç解ãããã¨ãã©ã¤ãã¯ã¼ã¯ãªã®ã§ããããç解ãã¦ãèªåãªãã«è
¹è½ã¡ããããã¨ã人çã®éè¦ãªè¦ç´ ãå ãã¦ãã¾ãã
æ¬æ¸ã®æ°å¦çãªé£æ度ã¯ãç¾ä»£æ°ççµ±è¨å¦ã®åºç¤ãã¨æ±å¤§åºçãçµ±è¨å¦ãã®éã«ä½ç½®ã¥ãããã¾ãããä¸è¬çãªã¬ãã«ã§è¨ãã°ãé«ããæ¹ã«ä½ç½®ã¥ããããã¨æãã¾ããç« ç«ã¦ã解説ããå 容ã¯ããã¾ã§ã«æ°å¤ãåºçããã¦ããçµ±è¨å¦ã®æ¬ã¨å ±éããè¦ç´ ã¯å¤ãã§ãããå人çã«ã¯ãæ¬ä¼¼ç¸é¢ãã®åé¡ã®å ¸åã¨ãã¦åãä¸ãããããã¨ã®å¤ãå°è±¡ã®ããã·ã³ãã½ã³ã®ãã©ãã¯ã¹ããåºæ¬çãªç¢ºçè¨ç®ã®ä¾ã¨ãã¦æ示ããã¦ãããããã¤ãºçµ±è¨ã«ç´é¢ãå²ãã¦ãããã¨ãæ¬æ¸ãªãã§ã¯ã®ã¨ãããæ¹ãããããç¾ä»£æ°ççµ±è¨å¦ã®åºç¤ããé£ãããã¦æ«æãã身ã¨ãã¦ã¯ã¡ããã©ããé£æ度ã§ãããªãã¨æã£ã次第ã§ãã
ãå ¥éæ å ±å¹¾ä½ãçµ±è¨çã¢ãã«ãã²ãã¨ãå¾®åå¹¾ä½å¦ã
æ
å ±å¹¾ä½å¦ã®ã¢ããã¼ã·ã§ã³ã¯ã確çã¢ãã«ãåãå·»ãæ§ã
ãªåéã§ç¬èªã«çºå±ããçè«ãæ¹æ³è«ããå¾®åå¹¾ä½å¦ã®è¨èã§çµ±ä¸çã«ç解ã§ããªããï¼ã¨ãã試ã¿ã§ããããã*2ã§ãã確ãã«æ
å ±çè«ãæé©åçè«ã§ã確çã»çµ±è¨ãæ´»ãã¦ãããªãã¨ããããããã¯ã¾ã ç解ã§ãããã¨ããæ¦å¿µãåºã¦ããã®ã§ãããã©ããã¦ãè
¹è½ã¡ãã§ããªããªãã¨ãããã©ãããã¯ä¸çå
±éã ã£ãã®ããã¨ããå®å¿æãããã¾ãã
ã¡ãªã¿ã«æ
å ±å¹¾ä½ã¯å²©æ³¢æ¸åºããåºã¦ããçå©ã»é·å²¡ãæ
å ±å¹¾ä½ã®æ¹æ³ããéå»èªãã ãã¨ãããã®ã§ããç¡äºã«æ«æãã¦ãã¾ããã¾ãå¾®åå¹¾ä½å¦ãããããªãã®ã§ã ããªãã ãªãã¨ãã諦ããå¾ã¦ãã¾ãããæ¬æ¸ã®ãã¯ããã«ãã«ã¯
第1ç« ãã第3ç« ã¾ã§ã«å¿ è¦ã¨ããæ°å¦ã¯å¾®åç©åã¨ç·å½¢ä»£æ°ã®ã¿ã§ãã
ã¨è¨è¼ããã¦ãããå®éã«ã»ã¨ãã©ã¯å¾®åç©åã¨ç·å½¢ä»£æ°ã®ç¥èãæã£ã¦ããã°èªã¿é²ããäºãã§ãããã§ããåé¢ãèè
ã®å°éãå¾®åå¹¾ä½å¦ã§ãããã¨ããããããã®ç¥èãå¹¾ä½å¦çã«è§£èª¬ããçµæãå¾®åå¹¾ä½å¦ã®æ¦å¿µãèªç¶ã«å°å
¥ããããããªä½è£æ
ã£ã¦ãã¾ãã
æ¬æ¸ã§å©ãããªãã¨ããæãæã¤ã®ã¯ãåç¯ã®ç¬¬1段è½ã§ãããããããããçç±ã§ããããæ¦å¿µãå°å
¥ãããã¨ããä¸æãæ¿å
¥ããã¦ãããã¨ã«ããã¾ããæ°å¼ã ãã追ã£ã¦ããã¨ããªããããå¿
è¦ãªã®ãï¼ãã¨ããçåãå
è¡ãã¦ã©ããã¦ãæ°å¼ãé ã«å
¥ããªããªãã®ã§ãããç¯åä½ã§ç«ã¡æ»ãç®çãæ確ã«ãªã£ã¦ããã®ã¯ãæ°å¦ã®æ¬ã¨ãã¦ããããããªãã¨æãã¾ãã
â¦â¦ã¨ããæ¬ã®è¯ãããä¼ããªãã®ãã¢ã¬ãªã®ã§ãã®æ¬ã§ç§ãç解ãããã¨æã£ã¦ããæ¦å¿µã®è©±ãç´¹ä»ãã¾ãã
æ°ççµ±è¨å¦ã®æ¬ã§ç§ã幾度ã¨ãªãæ«æãã¦ããæ¦å¿µã«ããã£ãã·ã£ã¼æ
å ±éãã¨ããæ¦å¿µãããããããã©ãã«ãç解ãããã¨ããã®ãç®çã«ããã¾ãã確çå¤æ°ã¨ãã©ã¡ã¼ã¿ãæã¤ç¢ºçé¢æ°ãèããã¨ãã«ã対æ°å°¤åº¦é¢æ°ã®1éå¾®åã®åæ£ã¨ãã¦å®ç¾©ããããããã®ã§ããããããããªãã
ãã ããã®ãã£ãã·ã£ã¼æ
å ±éãããã®æ¡å¼µã§ãããã£ãã·ã£ã¼æ
å ±è¡åããå¾®åå¹¾ä½å¦ã®æ¦å¿µï¼ã§ããã¨ããã®ãªã¼ãã³è¨éï¼ã¨ãã¦ç解ã§ãããããã§ãã
æ´ã«ã¯æ
å ±çè«ããæé©åé åã¨ã®å
±éè¨èªã¨ãã¦æ´åããã¦ããã®ã§ãçµ±è¨å¦ã®ç¥èã軸ã«ä»é åã«æãåºãæ¦å¨ãæã«å
¥ã£ãããããªãã¨æã£ãããã¦ãã次第ãã§ãé£ãããæ£ç´ãã¤ç解ã§ãããã¯ãããã¾ããã
ã¡ãªã¿ã«ãçå©ä¿ä¸å çã®ããããããæ°çã®ä¸ç â æ å ±å¹¾ä½å¦ã»äººå·¥ç¥è½ã»ç¥çµå路網çè«ããããããã§ããããã¯çå©å çã®èªä¼çãªæ¬ã§ãããå¿ ããããæ°ççµ±è¨å¦ã®æ¬ãã§ããªãã®ã§è»½ãç´¹ä»ããã«ã¨ã©ãã¾ãããæ°å¼ã®åºã¦ããèªä¼ãæ¸ãã人ã¯ããããããªãããèªåã®äººçã®2å以ä¸ãç 究ã«ãããã¦ããèè ã®å顧ã¯ã大å¤èªã¿å¿ããããã¾ãããã®æ¬ã®æå¾ã«ã¯çå©å çãèããè«æã»æ¸ç±ã®ä¸è¦§ãããã¾ããããããçºããã ãã§ããã«ããã人ãã¯ãããã§ãããã
ã第3çããã¤ãºãã¼ã¿è§£æã
è¨ããã¨ãããBDA3ããã¯ãããã¯ãæµãèªã¿ãã§ä½ããç´¹ä»ã§ããããããªãããªã¥ã¼ã ãªã®ã§ãç®æ¬¡ã¯ã°ã°ã£ã¦èªãã§ã»ããã£ã¦è¨ãããããããããã®ããªã¥ã¼ã ãããã¾ãã
訳è
é£ã¯æ°ççµ±è¨å¦ã®å°éæ§ã§ä¼æ¥ãæ¯æ´ããæ ªå¼ä¼ç¤¾Nospareã§ãæ¸åºã§è¦ããããã訳è
ã¾ããããã ãã§ãèªãã§ãã®ç±æãæãã¦ã»ããã¨æãã¾ãã
ãã¤ãºåæãå®ç¨é¢ãå®åçãªå ´é¢ã§æ´»ããããã«ã¯ãçºå±çãªå 容ã¾ã§å«ãããã¤ãºåæã®æ¹æ³ãå æ¬çã«ææ¡ãããã¨ãéè¦ã§ãããããã1åã§éæã§ããæ¸ç±ã¨ãã¦æ¬æ¸ãããã¨èãã¦ãã
訳è ãã¯ãã¤ãºçµ±è¨å¦ãé¢é£ããçµ±è¨å¦åéã®ç 究ãè¡ãªã£ã¦ããããå½å ã«ããã¦ãã¤ãºãã¼ã¿åæã®å®å¿ç¨ã§ã®é©åãªå©ç¨ã«é¢ãã¦ä¸çããé ããã¨ã£ã¦ããã¨æãããã®åå ã®1ã¤ã¨ãã¦ãå æ¬çã«æ¹æ³è«ãå¦ã¹ãæ©ä¼ã®å°ãªããããã¨èãã¦ããã(â¦)ãã®ãããªç¾ç¶ã«éã¿ãçµæã訳è ãã¯æ¬æ¸ã®ãããªæ¸ç±ã®ç¿»è¨³ãéè¦ã§ããã¨èããã
ããã ãã§ããNospare社ãæ¥æ¬ã®ãã¤ãºãã¼ã¿è§£æã®çºå±ã«è³ããããã«700ãã¼ã¸è¿ãã®æ¸ç±ã®ç¿»è¨³ãé²ããè¦æãããããªãã¨æãã¾ããã常ã«åº§å³ã«ç½®ãã¦ããã¤ãºçµ±è¨ãæ±ããããå ´é¢ã§ããã«å¼ããããã«ãã¦ãã¾ãã
ã主æååæã¨å ååæãç¹ç°å¤å解ãåºçºç¹ã¨ãã¦ã
çµ±è¨ã¯ã©ã¹ã¿ã§ã¯æåï¼ãªãçµ±è¨å¦One Pointãã·ãªã¼ãºãç¦ç¹ãå½ã¦ããã¤ã³ããæ¬å½ã«ãç¹ãã§ã200ãã¼ã¸å¼±ã®ä¸ã§å¾¹åºçã«æ·±ãç解ããäºã®ã§ãã大å¤é¢ç½ãæ¬ã§ãã
æ¬æ¸ã¯ã¿ã¤ãã«ã®éãã主æååæã¨å ååæã«ã¤ãã¦æ¸ããã¦ãã¾ããå ååæã«é¢ãã¦ã¯ä»å¹´ã®R Advent Calendarã®è¨äºã«ãè¨è¼ãã¾ãããããããã¯100年以ä¸åã«ãã®ã¢ã¤ãã¢ãçã¾ãã¦ããæåéãã«ãæ¯ããææ³ãã§ãããå®éã¯å ååæã®è¡åå解ã«ããå®å¼åã¯21ä¸ç´ã«å ¥ã£ã¦ããã®ãããã¯ã§ãããå ååæã§ããè°è«ãããå転æ³ã«ã2000年以éã§æ¤è¨ããªããã¦ããã¨ã®ãã¨ã§ãå¤ãææ³ãªãããã®çºå±ã¯æªã ã«é²ãã§ããé¢ç½ãé åã§ãã
主æååæã¨å ååæã®éãã«ã¤ãã¦ã¯ãå¿ç¨é¢ã§ã¯è¯ãåãããã¾ãã主æååæã¯ä¸»ã«ãè¨å¤§ãªå¤æ°ãä¸å®æ°ã®ã主æåãã¨ãã¦ã¾ã¨ããããã¨ãå ååæã¯ãè¨å¤§ãªå¤æ°ãå¾ãããä»®å®ã®èæ¯ã«ãããå åããæ½åºããããã¨ã¨ãã¦è°è«ããããã¨ãå¤ãã¨æãã¾ã*3 æ¬æ¸ã¯ããããã®æ°ççãªæ¹æ³è«ã«ã¯å ±éãã¦ç¹ç°å¤å解ã®å¿ç¨ã§ãããã¨ããå§ã¾ãã¾ããå ãã¦ã主æååæã®å®å¼åã«ã¯ãå¿ç¨é¢ã§ããç¨ããããå¤æ°ã®ä¸»æåã¸ã®ãè¦ç´ãã ãã§ãªããå ååæã®æ¦å¿µã«è¿ãã主æåããåå¤æ°ã«éã¿ãã¤ãã¦é åãããã¢ããã¼ããåå¨ãããã¨ãè¨è¿°ããã¦ãã¾ã(2ç« )ããã®ããã§ãããã主æååæã¨å ååæã®éãã¯ã©ãã«ãããã ãã¨ããåãã«çãã¦ããã¾ã(5ç« )ã
大å¦ã®è¬ç¾©ãå®åã§ã®å¿ç¨ã§ã主æååæãå ååæã使ãåããã§ãã¦ããã¤ããã ã£ãã®ã§ãããæ°ççãªéãã«ã¤ãã¦ã¯èªåã®è¨èã§èª¬æã§ãã¦ããªãã£ãã®ã§ãæ¯ããææ³ã ããã¨ãã£ã¦ãå®å ¨ã«ç解ãããã¨æãè¾¼ã¾ãªãããã«ãããã¨è¨ãæããå¾ã¾ããã
æ½å¨æé·æ²ç·ã¢ãã«
æå¾ã¯ãè¨éåæOne Pointãã·ãªã¼ãºããããã®ã·ãªã¼ãºã200ãã¼ã¸å¼±ã®æ¸ç±ãå¤ãããçµ±è¨å¦One Pointãã·ãªã¼ãºãããå®è·µçãªè©±é¡ãå¤ãã¨ãããç¹å¾´ã§ãã
æ½å¨æé·æ²ç·ã¢ãã«ã¯ãæ§é æ¹ç¨å¼ã¢ãã«(SEM)ã®å¿ç¨ã§ãåã人ãç¶ç¶çã«æ¸¬å®ãç¶ãããããã«ãã¼ã¿ãã®åæã¢ããã¼ãã§ãã
ããã«ãã¼ã¿ãæ±ãåæã®é£ãããã¤ã³ãã«ã¯åä½éã®ç°è³ªæ§ã¨åä½å
ã®ç°è³ªæ§ã®å¶å¾¡ã«ããã¾ãã
æ¬æ¸ã§ã¯SEMã®ç¹å®ã®ã¢ãã«æ§é ã«ãã£ã¦ãé¢å¿ã®å¯¾è±¡ã¨ããå¤æ°ã®å½±é¿ã®å¤åã«ã¤ãã¦ãåä½éã®ç°è³ªæ§ã¨åä½å
ã®ç°è³ªæ§ãã³ã³ããã¼ã«ããªããæ¨å®ããæ¹æ³ãç´¹ä»ãã¦ãã¾ãã
ããã¾ã§èªãã¨ããããããã£ã¦SEMãå°å
¥ããªãã¦ããã«ãã¬ãã«ã¢ãã«ã§ãå®ç¾ã§ããªãï¼ãã¨èããç§ã¯éãã¦ãå®é4ç« ã§ã¯ãã«ãã¬ãã«ã¢ãã«ã«ããå°å
¥ã¨æ°å¦çãªéãããªããã¨ãè¿°ã¹ããã¦ãããã§ããããã¨ãªãã¾ãã*4ã
çµããã«
å°»ãã¼ã¿ã¨ããããªã
ãã以å¤ã«ããããããªæ¬ãè²·ã£ãããã»ãããã®ãªã¹ãããéã£ã¦ããã£ãããã¦ãã¾ãããä¸èº«ãèªã¿åãã¦ããªãã®ã§ãããã¾ããã
ã¨ããããããã°è¨äºã«æ¸ãããã«æµãèªã¿ã§ããã®ã§ã以éã®äººçã§ã¡ããã¨æ¶åã§ããããç²¾é²ãã¾ãã
*1:èªäºãããã¨ãèè ã»ç¿»è¨³è ã«å¯¾ããèª æã¨ã¯æããªããã700pãè¶ ããè¶ å¤§ä½ã¯ãã¤ãºçµ±è¨ã®å®è£ ã«å°ã£ãã¨ãã«æå¼ãã¨ãã¦ç¨ãããã¨ãèããæ¹ãè¯ãã§ãããã
*2:赤ç©æ太é æ å ±å¹¾ä½å ¥é
*3:ã主æååæã¨å ååæã®éããã§ã°ã°ãã¨ãããªæãã§è§£èª¬ããã¦ãã¾ããã大å¦çã®é ã®ç§ã¯ãã§ããã£ã¦ããã¨ã¯åãã ããªãã¨ç ®ããããªãæãããã¦ãã¾ãã
*4:å®éç§ã®ä¿®è«ãããã«ãã¼ã¿ãç¨ããé¢æ£æéãã¸ããã¢ãã«ããã¼ã¹ã«ããããæ½å¨æé·æ²ç·ã¢ãã«ãã®ãã«ãã¬ãã«ã¢ãã«çå®è£ ããã¦ããããã¾ã