ÐÑОвеÑïŒ
ç§ã®ååã¯ããã€ã«ã§ããSportmaster 瀟㮠IT éšéå¯ãã£ã¬ã¯ã¿ãŒã§ãã ãã³ãããã¯äžã«çºçãã課é¡ã«ç§ãã¡ãã©ã®ããã«å¯ŸåŠãããã«ã€ããŠã話ããããšæããŸãã
æ°ããªçŸå®ã®æåã®æ°æ¥ã§ãã¹ããŒããã¹ã¿ãŒã®éåžžã®ãªãã©ã€ã³ååŒãã©ãŒããããããªãŒãºããäž»ã«ã¯ã©ã€ã¢ã³ãã®äœæãžã®é éãšããç¹ã§ãªã³ã©ã€ã³ ãã£ãã«ã®è² è·ã 10 åã«å¢å ããŸããã ãããæ°é±éã§ãç§ãã¡ã¯å·šå€§ãªãªãã©ã€ã³ ããžãã¹ããªã³ã©ã€ã³ ããžãã¹ã«è»¢æãããµãŒãã¹ãã¯ã©ã€ã¢ã³ãã®ããŒãºã«é©å¿ãããŸããã
åºæ¬çã«ã¯å¯æ¥ã ã£ããã®ãæ¬æ¥ã«ãªããŸããã ãããããªã³ã©ã€ã³æ³šæã®éèŠæ§ãéåžžã«é«ãŸã£ãŠããŸãã 顧客ãäŒç€Ÿã«æã¡èŸŒãã ãã¹ãŠã®ã«ãŒãã«ãä¿åããå¿ èŠããããŸããã
ã客æ§ã®ãèŠæã«è¿ éã«å¯Ÿå¿ãããããæ¬ç€Ÿã«ã³ã³ã¿ã¯ãã»ã³ã¿ãŒãå¢èšããçŸåšã§ã¯é±ã«çŽ285äž270件ã®é»è©±ãåãä»ããããã«ãªããŸããã åæã«ãXNUMX åºèãéæ¥è§Šåã§å®å šãªæ°ããå¶æ¥åœ¢åŒã«ç§»è¡ãã顧客ã泚æãåããããããã«ããåŸæ¥å¡ã®ä»äºãç¶æã§ããããã«ããŸããã
å€é©ã®éçšã§ãç§ãã¡ã¯ XNUMX ã€ã®äž»ãªåé¡ã«ééããŸããã ãŸãããªã³ã©ã€ã³ ãªãœãŒã¹ã®è² è·ãå€§å¹ ã«å¢å ããŸãã (ããã«ã©ã®ããã«å¯ŸåŠãããã«ã€ããŠã¯ Sergey ã説æããŸã)ã 第äºã«ããŸããªïŒæ°åã³ãããŠã€ã«ã¹ææç以åã®ïŒãªãã¬ãŒã·ã§ã³ã®ãããŒãäœåã«ãå¢å ããŠããããã®ãã倧éã®è¿ éãªèªååãå¿ èŠã§ããã ãã®åé¡ã解決ããã«ã¯ããããŸã§äž»èŠã ã£ãé åãããªãœãŒã¹ãè¿ éã«ç§»è»¢ããå¿ èŠããããŸããã ãšã¬ããç§ãã¡ãããã«ã©ã察åŠããããã話ããŸãã
ãªã³ã©ã€ã³ãµãŒãã¹ã®éå¶
Kolesnikov Sergey æ°ããªã³ã©ã€ã³ ã¹ãã¢ãšãã€ã¯ããµãŒãã¹ã®éå¶è²¬ä»»è
å°å£²åºã蚪åè ã®åºå ¥ããçŠæ¢ãå§ããç¬éããããŠãŒã¶ãŒæ°ãã¢ããªã±ãŒã·ã§ã³ã§ã®æ³šææ°ãã¢ããªã±ãŒã·ã§ã³ãžã®ãªã¯ãšã¹ãæ°ãªã©ã®ææšã®å¢å ãèšé²ãå§ããŸããã
18æ31æ¥ããXNUMXæXNUMXæ¥ãŸã§ã®ã泚ææ°ãªã³ã©ã€ã³æ±ºæžãã€ã¯ããµãŒãã¹ãžã®ãªã¯ãšã¹ãã®æ°ãŠã§ããµã€ãã§ã®æ³šææ°
æåã®ã°ã©ãã§ã¯å¢å ãçŽ 14 åã4 çªç®ã®ã°ã©ãã§ã¯ XNUMX åã§ããããšãããããŸãã åœç€Ÿã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®å¿çæéã®ææšãæãææšãšãªããšèããŠããŸãã
ãã®ã°ã©ãã§ã¯ãããã³ããšã¢ããªã±ãŒã·ã§ã³ã®åå¿ãããããŸãããç§ãã¡èªèº«ãšããŠã¯ãããèªäœã®æé·ã¯èŠãããªããšå€æããŸããã
ããã¯äž»ã«ã2019幎æ«ã«æºåäœæ¥ãéå§ããããšã«ãããã®ã§ãã çŸåšããµãŒãã¹ã¯äºçŽãããŠãããç©çãµãŒããŒãä»®æ³åã·ã¹ãã ãDockerãããã³ãããã®ãµãŒãã¹ã®ã¬ãã«ã§ãã©ãŒã«ã ãã¬ã©ã³ã¹ã確ä¿ãããŠããŸãã åæã«ããµãŒã㌠ãªãœãŒã¹ã®å®¹éã«ãããè€æ°ã®è² è·ã«èããããšãã§ããŸãã
ãã®ã¹ããŒãªãŒå šäœã§ç§ãã¡ãå©ããäž»ãªããŒã«ã¯ç£èŠã·ã¹ãã ã§ããã 確ãã«ãã€ãæè¿ãŸã§ãç©ççãªæ©åšãããŒããŠã§ã¢ã®ã¬ãã«ããããžãã¹ææšã®ã¬ãã«ã«è³ããŸã§ããã¹ãŠã®å±€ã§ææšãåéã§ããåäžã®ã·ã¹ãã ã¯ãããŸããã§ããã
æ£åŒã«ã¯ç€Ÿå ã«ç£èŠããããŸããããååãšããŠåæ£ããç¹å®ã®éšéã®è²¬ä»»ç¯å²å ã«ãããŸããã å®éãã€ã³ã·ãã³ããçºçãããšããæ£ç¢ºã«äœãèµ·ãã£ãã®ãã«ã€ããŠå ±éã®ç解ãåŸãããããšã¯ã»ãšãã©ãªããã³ãã¥ãã±ãŒã·ã§ã³ãåãããå€ãã®å Žåãåé¡ãèŠã€ããŠè§£æ±ºããããã«åé¡ãåãåããããšå ã å·¡ãããããšã«ãªããŸããã
ããæç¹ã§ãç§ãã¡ã¯ããã«èããã®ã¯ããååã ãšèãã決æããŸãããå šäœåãå®å šã«ææ¡ããã«ã¯çµ±åã·ã¹ãã ãå¿ èŠã§ãã åœç€Ÿã®ã¹ã¿ãã¯ã«å«ãŸããäž»ãªãã¯ãããžãŒã¯ãã¢ã©ãŒãããã³ã¡ããªã¯ã¹ã®ã¹ãã¬ãŒãž ã»ã³ã¿ãŒãšããŠã® Zabbixãã¢ããªã±ãŒã·ã§ã³ ã¡ããªã¯ã¹ã®åéãšä¿åã®ããã® Prometheusãç£èŠã·ã¹ãã å šäœããã®ããŒã¿ã®ãã°èšé²ãšä¿åã®ããã® Stack ELKãèŠèŠåã®ããã® GrafanaãSwaggerãDocker ã§ãããã®ä»äŸ¿å©ãªãã®ã身è¿ãªãã®ã
åæã«ãåžå Žã§å ¥æå¯èœãªæè¡ã䜿çšããã ãã§ãªããç¬èªã®æè¡ãéçºããŠããŸãã äŸãã°ãã·ã¹ãã å士ãçµ±åããããã®ãµãŒãã¹ãã€ãŸãã¡ããªã¯ã¹ãåéããããã® API ã®ãããªãã®ãäœããŸãã ããã«ãç§ãã¡ã¯ç¬èªã®ç£èŠã·ã¹ãã ã«ãåãçµãã§ãããããžãã¹ææšã®ã¬ãã«ã§ã¯ UI ãã¹ãã䜿çšããŠããŸãã ãŸããããŒã ã«éç¥ããããã® Telegram ã®ãããããããŸãã
ãŸããããŒã ãã¢ãã¿ãªã³ã° ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããããã«ããŠãããŒã ãç¬ç«ããŠã¡ããªã¯ã¹ãä¿åããŠæäœã§ããããã«ããããšã«ãåãçµãã§ããŸããããã«ã¯ãåºã䜿çšãããŠããªãäžéšã®çãã¡ããªã¯ã¹ã«å¯Ÿããã¢ã©ãŒãã®èšå®ãå«ãŸããŸãã
ã·ã¹ãã å šäœãéããŠãç§ãã¡ã¯å¯èœãªéãè¿ éã«ã€ã³ã·ãã³ãã®äºå察å¿ãšå±å°åãå³ãããã«åªããŠããŸãã ããã«ããã€ã¯ããµãŒãã¹ãšã·ã¹ãã ã®æ°ã¯æè¿å€§å¹ ã«å¢å ããŠãããããã«å¿ããŠçµ±åã®æ°ãå¢å ããŠããŸãã ãŸããçµ±åã¬ãã«ã§ã€ã³ã·ãã³ãã蚺æããããã»ã¹ãæé©åããäžç°ãšããŠãã·ã¹ãã éã®ãã§ãã¯ãå®è¡ããŠçµæã衚瀺ã§ããã·ã¹ãã ãéçºããŠããŸããããã«ãããã·ã¹ãã ã®ã€ã³ããŒããçžäºäœçšã«é¢é£ããäž»ãªåé¡ãèŠã€ããããšãã§ããŸãããäºãã
ãã¡ããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«é¢ããŠã¯ãŸã æé·ãšçºå±ã®äœå°ããããããã«ç©æ¥µçã«åãçµãã§ããŸãã åœç€Ÿã®ç£èŠã·ã¹ãã ã«ã€ããŠè©³ããèªãããšãã§ããŸã
æè¡è©Šéš
Orlov Sergey æ°ããŠã§ãããã³ã¢ãã€ã«éçºã®ã³ã³ããã³ã¹ ã»ã³ã¿ãŒé·
å®åºèã®äŒæ¥ãå§ãŸã£ãŠä»¥æ¥ãéçºé¢ã§ã¯ããŸããŸãªèª²é¡ã«çŽé¢ããŠããŸããã ãŸããè² è·ãµãŒãžãã®ãã®ã§ãã é©åãªå¯Ÿçãè¬ããªããšãã·ã¹ãã ã«é«è² è·ãããããšãæ²ããè¡æã䌎ãã«ããã£ã«å€ãã£ãããããã©ãŒãã³ã¹ãå®å šã«äœäžããããæ©èœã倱ã£ããããå¯èœæ§ãããããšã¯æããã§ãã
XNUMX çªç®ã®åŽé¢ã¯ãããŸãæçœã§ã¯ãããŸããããããžãã¹ ããã»ã¹ã®å€åã«é©å¿ããŠãé«è² è·äžã®ã·ã¹ãã ãéåžžã«è¿ éã«å€æŽããå¿ èŠããããšããããšã§ãã äžæ¥ã«æ°åã®ããšããããŸãã å€ãã®äŒæ¥ã§ã¯ãããŒã±ãã£ã³ã°æŽ»åã掻çºãªå Žåã¯ã·ã¹ãã ã«å€æŽãå ããå¿ èŠã¯ãªããšããã«ãŒã«ãèšããŠããŸãã äœããããŸãããæ©èœããéãæ©èœãããŠãã ããã
ãããŠãå®è³ªçã«ã¯çµããã®ãªããã©ãã¯ãã©ã€ããŒãç¶ãããã®éã«ã·ã¹ãã ãå€æŽããå¿ èŠããããŸããã ãããŠãã·ã¹ãã ã«ãšã©ãŒãåé¡ãé害ãçºçãããšãããžãã¹ã«ãšã£ãŠå€å€§ãªã³ã¹ããããããŸãã
å°æ¥çã«ã¯ããããã®ãã¹ãã«ãªããšã察åŠã§ãããã¹ãŠã®ã·ã¹ãã ãè² è·ã«èããç°¡åã«æ¡åŒµã§ããäžççãªæè¡çé害ã¯çºçããªãã£ããšèšããŸãã
é«ãµãŒãžè² è·ã«èããã·ã¹ãã ã®èœåãæ¯ãã XNUMX ã€ã®æ±ããããŸãã XNUMX ã€ç®ã¯ã¢ãã¿ãªã³ã°ã§ããããã«ã€ããŠã¯äžã§èª¬æããŸããã çµã¿èŸŒã¿ã®ç£èŠã·ã¹ãã ããªããã°ãã·ã¹ãã ã®ããã«ããã¯ãèŠã€ããããšã¯ã»ãšãã©äžå¯èœã§ãã åªããç£èŠã·ã¹ãã ã¯å®¶åºæã®ãããªãã®ã§ãå¿«é©ã§èªåã«åããããã®ã§ããå¿ èŠããããŸãã
XNUMX çªç®ã®åŽé¢ã¯ãã¹ãã§ãã ç§ãã¡ã¯ãã®ç¹ãéåžžã«çå£ã«åãæ¢ããŠãããã·ã¹ãã ããšã«ã¯ã©ã·ãã¯ãªãŠããããçµ±åãã¹ããè² è·ãã¹ãããã®ä»å€ãã®ãã¹ããäœæããŠããŸãã ç§ãã¡ã¯ãã¹ãæŠç¥ãäœæããŠãããåæã«æåãã§ãã¯ãäžèŠã«ãªããŸã§ãã¹ãã®ã¬ãã«ãåäžãããããšããŠããŸãã
XNUMX çªç®ã®æ±ã¯ CI/CD ãã€ãã©ã€ã³ã§ãã ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ããã¹ãããããã€ã®ããã»ã¹ã¯å¯èœãªéãèªååããå¿ èŠããããæåã«ããä»å ¥ã¯é¿ããã¹ãã§ãã CI/CD ãã€ãã©ã€ã³ã®ãããã¯ã¯éåžžã«æ·±ãã®ã§ãç°¡åã«è§Šããã ãã«ããŸãã èšåãã䟡å€ãããã®ã¯ãå補åããŒã ãã³ã³ããã³ã·ãŒ ã»ã³ã¿ãŒã®æ¯æŽãåŸãŠãã§ãã¯ãã CI/CD ãã€ãã©ã€ã³ ãã§ãã¯ãªã¹ããããããšã§ãã
ãããŠãã¡ãããã§ãã¯ãªã¹ãã§ã
ãã®ããã«ããŠãå€ãã®ç®æšãéæãããŸãã ããã¯ããªãªãŒã¹ ãã¬ã€ã³ãåé¿ããããã® API ã®ããŒãžã§ã³ç®¡çãšæ©èœã®åãæ¿ãã§ããããã¹ããå®å šã«èªååããããããã€ãã·ãŒã ã¬ã¹ã«ãªããªã©ã®ã¬ãã«ã§ããŸããŸãªãã¹ããã«ããŒããŸãã
XNUMX çªç®ã®æ±ã¯ãã¢ãŒããã¯ãã£ã®ååãšæè¡çãœãªã¥ãŒã·ã§ã³ã§ãã ã¢ãŒããã¯ãã£ã«ã€ããŠã¯é·ã話ããŸããã泚ç®ãããååãããã€ã匷調ããããšæããŸãã
ãŸããç¹å®ã®ã¿ã¹ã¯ã«ç¹åããããŒã«ãéžæããå¿ èŠããããŸãã ããã§ããåœããåã®ããšã§ãããéã¯ãã³ããŒã§æã¡èŸŒãã¹ãã§ãããè æèšã¯å°çšã®ãã©ã€ããŒã䜿ã£ãŠå解ããã¹ãã§ããããšã¯æããã§ãã ããããç§ãã¡ã®æ代ã§ã¯ãããŒã¿ããŒã¹ããã£ãã·ã¥ããã¬ãŒã ã¯ãŒã¯ãªã©ããŠãŒã¶ãŒã®æ倧ã»ã°ã¡ã³ããã«ããŒããããã«ãå€ãã®ããŒã«ãæ®éåãç®æããŠããŸãã ããšãã°ãMongoDB ããŒã¿ããŒã¹ã¯ãã«ãããã¥ã¡ã³ã ãã©ã³ã¶ã¯ã·ã§ã³ã§åäœããOracle ããŒã¿ããŒã¹ã¯ json ã§åäœããŸãã ãããŠããã¹ãŠããã¹ãŠã«äœ¿çšã§ããããã«æããŸãã ããããçç£æ§ãéèŠããã®ã§ããã°ãåããŒã«ã®é·æãšçæãæ確ã«ç解ããã¯ã©ã¹ã®ã¿ã¹ã¯ã«å¿ èŠãªãã®ã䜿çšããå¿ èŠããããŸãã
第 XNUMX ã«ãã·ã¹ãã ãèšèšãããšãã¯ãè€éãã®å¢å ãæ£åœåããå¿ èŠããããŸãã äœçµåã®åçã¯èª°ããç¥ã£ãŠããã®ã§ãç§ãã¡ã¯åžžã«ãã®ããšã念é ã«çœ®ãå¿ èŠããããŸãã ç§ã¯ãããã¯ç¹å®ã®ãµãŒãã¹ã®ã¬ãã«ãã·ã¹ãã å šäœã®ã¬ãã«ããããŠã¢ãŒããã¯ãã£ã®ã©ã³ãã¹ã±ãŒãã®ã¬ãã«ã§é©çšãããã¹ãã ãšä¿¡ããŠããŸãã è² è·ãã¹ã«æ²¿ã£ãŠåã·ã¹ãã ã³ã³ããŒãã³ããæ°Žå¹³æ¹åã«æ¡åŒµããæ©èœãéèŠã§ãã ãã®èœåãããã°ãã¹ã±ãŒãªã³ã°ã¯é£ãããããŸããã
æè¡çãªãœãªã¥ãŒã·ã§ã³ã«ã€ããŠèšãã°ãç§ãã¡ã¯è£œåããŒã ã«æ°ããæšå¥šäºé ãã¢ã€ãã¢ããœãªã¥ãŒã·ã§ã³ã®ã»ãããæºåããããäŸé Œãã次ã®ã¯ãŒã¯ããŒãã®æ³¢ã«åããŠå®è£ ããŸããã
ã±ã·
ããŒã«ã« ãã£ãã·ã¥ãšåæ£ãã£ãã·ã¥ã®éžæã«ã¯æèçã«åãçµãå¿ èŠããããŸãã å Žåã«ãã£ãŠã¯ãåãã·ã¹ãã å ã§äž¡æ¹ã䜿çšããããšãåççã§ããããšãã°ãããŒã¿ã®äžéšãæ¬è³ªçã«ã·ã§ãŒã±ãŒã¹ ãã£ãã·ã¥ã§ããã·ã¹ãã ããããŸããã€ãŸããæŽæ°ã®ãœãŒã¹ãã·ã¹ãã èªäœã®èåŸã«ãããã·ã¹ãã ã¯å€æŽãããŸããããã®ããŒã¿ã ãã®ã¢ãããŒãã§ã¯ãããŒã«ã«ã®ã«ãã§ã€ã³ ãã£ãã·ã¥ã䜿çšããŸãã
ãŸããã·ã¹ãã ãåäœäžã«ç©æ¥µçã«å€æŽããããŒã¿ããããããã§ã¯ãã§ã« Hazelcast ã§åæ£ãã£ãã·ã¥ã䜿çšããŠããŸãã ãã®ã¢ãããŒãã«ãããæ¬åœã«å¿
èŠãªå Žåã«ã¯åæ£ãã£ãã·ã¥ã®å©ç¹ã掻çšããåæ£ãã£ãã·ã¥ããªããŠãæžãå Žåã«ã¯ Hazelcast ã¯ã©ã¹ã¿ãŒ ããŒã¿ã埪ç°ããããµãŒãã¹ ã³ã¹ããæå°éã«æããããšãã§ããŸãã ãã£ãã·ã¥ã«ã€ããŠã¯ãããŸã§ã«ããããæžããŠããŸããã
ããã«ãHazelcast ã§ã·ãªã¢ã©ã€ã¶ãŒã Kryo ã«å€æŽããããšã§ãè¯ãå¹æãåŸãããŸããã ãŸããHazelcast ã® ReplicatedMap ãã IMap + Near Cache ãžã®ç§»è¡ã«ãããã¯ã©ã¹ã¿ãŒå šäœã§ã®ããŒã¿ã®ç§»åãæå°éã«æããããšãã§ããŸããã
ã¡ãã£ãšããã¢ããã€ã¹: 倧éã®ãã£ãã·ã¥ãç¡å¹åãããå ŽåãXNUMX çªç®ã®ãã£ãã·ã¥ããŠã©ãŒã ã¢ããããŠããããã«åãæ¿ãããšããæŠè¡ãé©çšã§ããå ŽåããããŸãã ãã®ã¢ãããŒãã§ã¯ã¡ã¢ãªæ¶è²»éã XNUMX åã«ãªãããã«èŠããŸãããå®éã«ã¯ããããå®è·µããã·ã¹ãã ã§ã¯ã¡ã¢ãªæ¶è²»éãæžå°ããŸããã
ãªã¢ã¯ãã£ãã¹ã¿ãã¯
ç§ãã¡ã¯éåžžã«å€ãã®ã·ã¹ãã ã§ãªã¢ã¯ãã£ãã¹ã¿ãã¯ã䜿çšããŠããŸãã ç§ãã¡ã®å Žåãããã¯ã³ã«ãŒãã³ãåãã Webflux ãŸã㯠Kotlin ã§ãã ãªã¢ã¯ãã£ã ã¹ã¿ãã¯ã¯ãå ¥åºåæäœãé ããšäºæ³ãããå Žåã«ç¹ã«é©ããŠããŸãã ããšãã°ããã¡ã€ã« ã·ã¹ãã ãã¹ãã¬ãŒãž ã·ã¹ãã ãæäœããäœéãµãŒãã¹ã®åŒã³åºããªã©ã§ãã
æãéèŠãªååã¯ãé話ã®ãããã¯ãé¿ããããšã§ãã ãªã¢ã¯ãã£ã ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãå éšã§å®è¡ãããå°æ°ã®ã©ã€ã ãµãŒãã¹ ã¹ã¬ããããããŸãã äžæ³šæ㧠JDBC ãã©ã€ããŒåŒã³åºããªã©ã®çŽæ¥ããããã³ã°åŒã³åºããè¡ãããšãèš±å¯ãããšãã·ã¹ãã ã¯åã«åæ¢ããŠããŸããŸãã
ãšã©ãŒãç¬èªã®ã©ã³ã¿ã€ã äŸå€ã«å€ããŠã¿ãŠãã ããã ããã°ã©ã å®è¡ã®å®éã®ãããŒã¯ãªã¢ã¯ãã£ããªãã¬ãŒã ã¯ãŒã¯ã«ç§»è¡ããã³ãŒãã®å®è¡ã¯éç·åœ¢ã«ãªããŸãã ãã®çµæãã¹ã¿ã㯠ãã¬ãŒã¹ã䜿çšããŠåé¡ã蚺æããããšã¯éåžžã«å°é£ã«ãªããŸãã ãããŠãããã§ã®è§£æ±ºçã¯ããã¹ãŠã®ãšã©ãŒã«å¯ŸããŠæ確ã§å®¢èŠ³çãªå®è¡æäŸå€ãäœæããããšã§ãã
Elasticsearch
Elasticsearchã䜿çšããå Žåã¯ãæªäœ¿çšã®ããŒã¿ãéžæããªãã§ãã ããã ãããååãšããŠéåžžã«åçŽãªã¢ããã€ã¹ã§ãããã»ãšãã©ã®å Žåãããã¯å¿ããããŠãããã®ã§ãã äžåºŠã« 10 件ãè¶ ããã¬ã³ãŒããéžæããå¿ èŠãããå Žåã¯ãã¹ã¯ããŒã«ã䜿çšããå¿ èŠããããŸãã ããšããŠèšãã°ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã«ãŒãœã«ã«äŒŒãŠããŸãã
å¿ èŠãªå Žåãé€ãããã¹ããã£ã«ã¿ãŒã䜿çšããªãã§ãã ããã ã¡ã€ã³ ãµã³ãã«ã«å€§ããªããŒã¿ãå«ãŸããå Žåããã®æäœã«ããããŒã¿ããŒã¹ã«å€§ããªè² è·ãããããŸãã
該åœããå Žåã¯äžæ¬æäœã䜿çšããŸãã
API
API ãèšèšãããšãã¯ãéä¿¡ããŒã¿ãæå°éã«æããããã®èŠä»¶ãå«ããŸãã ããã¯ç¹ã«ããã³ãã«é¢é£ããŠåœãŠã¯ãŸããŸãããã®ãžã£ã³ã¯ã·ã§ã³ã§ãç§ãã¡ã¯ããŒã¿ã»ã³ã¿ãŒã®ãã£ãã«ãè¶ ããŠãã¯ã©ã€ã¢ã³ããšç§ãã¡ãæ¥ç¶ãããã£ãã«ã«ãã§ã«åãçµãã§ããŸãã å°ãã§ãåé¡ãããå Žåããã©ãã£ãã¯ãå€ããããšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãäœäžããŸãã
ãããŠæåŸã«ã倧éã®ããŒã¿ãäžžæããããæ¶è²»è ãšãµãã©ã€ã€ãŒã®éã®å¥çŽã«ã€ããŠæ確ã«ããŠãã ããã
çµç¹å€é©
ãšãã·ã¥ããã»ãšã¬ãæ°ãITæ åœå¯ãã£ã¬ã¯ã¿ãŒ
éé¢æªçœ®ãçºçãããªã³ã©ã€ã³éçºã®ããŒã¹ãæ¥æ¿ã«äžãããªã ããã£ãã« ãµãŒãã¹ãå°å ¥ããå¿ èŠæ§ãçãããã®æç¹ã§ãç§ãã¡ã¯ãã§ã«çµç¹å€é©ã®éçšã«ãããŸããã
åœç€Ÿã®æ§é ã®äžéšã¯ã補åã¢ãããŒãã®ååãšå®è·µã«åŸã£ãŠæ©èœããããã«ç§»ãããŸããã çŸåšãå補åã®éçšãšéçºãæ åœããããŒã ãçµæãããŠããŸãã ãã®ãããªããŒã ã®åŸæ¥å¡ã¯ 100% é¢äžããèªåãã¡ã«ãšã£ãŠæãŸãããã®ã«å¿ããŠã¹ã¯ã©ã ãŸãã¯ã«ã³ãã³ã䜿çšããŠä»äºãæ§é åããå±éãã€ãã©ã€ã³ã®èšå®ãæè¡çå®è·µãå質ä¿èšŒå®è·µãªã©ãå®æœããŸãã
幞éãªããšã«ãåœç€Ÿã®è£œåããŒã ã®å€§éšåã¯ãªã³ã©ã€ã³ããã³ãªã ããã£ãã« ãµãŒãã¹ã®åéã«å±ããŠããŸããã ããã«ãããå¹çãæãªãããšãªããå¯èœãªéãæçã®æé (æåéã XNUMX æ¥) ã§ãªã¢ãŒãäœæ¥ã¢ãŒãã«åãæ¿ããããšãã§ããŸããã ã«ã¹ã¿ãã€ãºãããããã»ã¹ã«ãããæ°ããäœæ¥æ¡ä»¶ã«è¿ éã«é©å¿ããããªãé«ãããŒã¹ã§æ°æ©èœãæäŸããããšãã§ããŸããã
ããã«ããªã³ã©ã€ã³ ããžãã¹ã®æåç·ã«ããããŒã ã匷åããå¿ èŠããããŸãã ãã®ç¬éããããå®çŸããã«ã¯ç€Ÿå ãªãœãŒã¹ã䜿çšãããããªãããšãæããã«ãªããŸããã ãããŠã50 é±éã§çŽ XNUMX 人ã以ååããŠãããšãªã¢ãå€ããæ°ãã補åã®éçºã«æºãããŸããã
ããã«ã¯ç¹å¥ãªç®¡çåªåã¯å¿ èŠãããŸããã§ããããªããªããç§ãã¡ã¯ç¬èªã®ããã»ã¹ã®çµç¹åã補åã®æè¡çæ¹åãå質ä¿èšŒã®å®è·µã«å ããŠãããŒã ã«èªå·±çµç¹åãã€ãŸã管çãªãœãŒã¹ãé¢äžãããã«ç¬èªã®çç£ããã»ã¹ã管çããããæå°ããŠããããã§ãã
ã¯ã©ã€ã¢ã³ãã«ãšã£ãŠä»äœãéèŠãªã®ããæåã«å®è£ ãã¹ãæ©èœã¯äœããã¹ã«ãŒãããèœåãé«ããããã«äœãããå¿ èŠãããã®ãââãããžãã¹ãšã®èª¿æŽã«ããã®ç¬éã«å¿ èŠãªãšããã«ãŸãã«çµå¶è³æºãéäžãããããšãã§ããŸããã泚æã®é éãšåŠçã®ããã ããããã¹ãŠãšæ確ãªããŒã«ã¢ãã«ã«ããããã®æéäžãæ¬åœã«éèŠã§å¿ èŠãªãã®ãçç£äŸ¡å€ã®æµãã«çµã¿èŸŒãããšãå¯èœã«ãªããŸããã
ãªã¢ãŒãã¯ãŒã¯ãšæ¥éãªå€åã«ãããããžãã¹ææšãå šå¡ã®åå ã«äŸåããå Žåãããã¹ãŠé 調ã«é²ãã§ããŸãã? ã¯ããè¯ãããã§ãããã çç£ããã»ã¹ã®å®¢èŠ³çãªææšãå¿ èŠã§ãã ãããã¯ç§ãã¡ã«ããã補åããŒã ã®ææšã«èå³ããã人ã¯èª°ã§ãå©çšã§ããŸãã ãŸã第äžã«ãããŒã èªäœãããžãã¹ãäžè«ãæ¥è ããããŠçµå¶é£ã§ãã
10 é±éã« XNUMX åãåããŒã ã§ç¶æ³ãææ¡ããXNUMX åéã¡ããªã¯ã¹ãåæããçç£ããã»ã¹ã®ããã«ããã¯ãç¹å®ãããããã®ããã«ããã¯ã解æ¶ããããã«äœãã§ããããšããå ±åãœãªã¥ãŒã·ã§ã³ãéçºããŸãã ããã§ã¯ãç¹å®ãããåé¡ãããŒã ã®åœ±é¿ç¯å²å€ã§ããå ŽåããŸãã¯ãã§ã«åæ§ã®åé¡ã«ééããŠããå¯èœæ§ãããååã®å°éç¥èã®ç¯å²å€ã§ããå Žåã«ãããã«çµå¶é£ã«å©ããæ±ããããšãã§ããŸãã
ããããäœåã«ãå éããã«ã¯ (ããããŸãã«ç§ãã¡ãèšå®ããç®æšã§ã)ãç§ãã¡ã¯ãŸã å€ãã®ããšãåŠã³ããããæ¥ã ã®æ¥åã«å®è·µããå¿ èŠãããããšãç解ããŠããŸãã çŸåšãç§ãã¡ã¯è£œåãžã®ã¢ãããŒããä»ã®ããŒã ãæ°è£œåã«ãæ¡åŒµãç¶ããŠããŸãã ãããè¡ãã«ã¯ãæ¹æ³è«è ã®ãªã³ã©ã€ã³ã¹ã¯ãŒã«ãšããæ°ãã圢åŒãç¿åŸããå¿ èŠããããŸããã
ããŒã ãããã»ã¹ãæ§ç¯ããã³ãã¥ãã±ãŒã·ã§ã³ã確ç«ããäœæ¥å¹çãåäžãããã®ãæ¯æŽããæ¹æ³è«è ã¯ãæ¬è³ªçã«å€åã®äž»äœã§ãã çŸåšãæåã®ã°ã«ãŒãã®åæ¥çã¯ããŒã ãšååããããŒã ã®æåãæ¯æŽããŠããŸãã
çŸåšã®ç¶æ³ã¯ãããããç§ãã¡èªèº«ããŸã ååã«æ°ã¥ããŠããªãæ©äŒãšå±æãç§ãã¡ã«ãããããŠãããšæããŸãã ããããç§ãã¡ãçŸåšåŸãŠããçµéšãšå®è·µã¯ãç§ãã¡ãéçºã®æ£ããéãéžæããããšãè£ä»ããŠãããå°æ¥çã«ãããã®æ°ããæ©äŒãéãããšã¯ãªããã¹ããŒããã¹ã¿ãŒãçŽé¢ããã§ããã課é¡ã«ãåæ§ã«å¹æçã«å¯Ÿå¿ã§ããã§ãããã
æèŠ
ãã®å°é£ãªææã«ãç§ãã¡ã¯ãœãããŠã§ã¢éçºã®åºç€ãšãªãäž»èŠååãçå®ããŸãããããã¯ããã®åé¡ã«åãçµããã¹ãŠã®äŒæ¥ã«é¢ä¿ããããšæããŸãã
人ã ããããã¹ãŠã®äžã«æãç«ã£ãŠããã®ã§ãã åŸæ¥å¡ã¯ä»äºã楜ãã¿ãäŒç€Ÿã®ç®æšãšèªåãåãçµãã§ãã補åã®ç®æšãç解ããå¿ èŠããããŸãã ãããŠãã¡ããã圌ãã¯å°éçã«æé·ããããšãã§ããŸãã
Ð¢ÐµÑ ÐœÐŸÐ»ÐŸÐ³ÐžÑã äŒæ¥ã¯ãèªç€Ÿã®ãã¯ãããžãŒã¹ã¿ãã¯ã掻çšããæçããã¢ãããŒããæ¡çšããæ¬åœã«å¿ èŠãšãããèœåãæ§ç¯ããå¿ èŠããããŸãã ããã¯éåžžã«åçŽãã€æçœã«èãããŸãã ãããŠç¡èŠãããããšãéåžžã«å€ãã§ãã
ÐÑПÑеÑÑÑã 補åããŒã ãšã³ã³ããã³ã¹ ã»ã³ã¿ãŒã®äœæ¥ãé©åã«çµç¹ããããžãã¹ãšã®å¯Ÿè©±ã確ç«ããŠããŒãããŒãšããŠååããããšãéèŠã§ãã
æŠããŠããããç§ãã¡ãçãæ®ã£ãæ¹æ³ã§ãã ç§ãã¡ã®æ代ã®äž»èŠãªçè«ã¯ãé¡ã«é³Žãé¿ãã¯ãªãã¯é³ãšãšãã«åã³ç¢ºèªãããŸãã
å€ãã®åºèãå€ãã®éœåžãæ ç¹ãšãã巚倧ãªãªãã©ã€ã³ ããžãã¹ã§ãã£ãŠãããªã³ã©ã€ã³ ããžãã¹ãéçºããŠãã ããã ããã¯åãªãè¿œå ã®è²©å£²ãã£ãã«ããäœããè³Œå ¥ã§ããçŸããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŸãã (ãŸãã競åä»ç€Ÿã«ãçŸããã¢ããªã±ãŒã·ã§ã³ãããããã§ã)ã ããã¯ãåµãä¹ãåãããã®ç·æ¥çšã®ã¹ãã¢ã¿ã€ã€ã§ã¯ãããŸããã
ããã¯çµ¶å¯Ÿã«å¿ èŠãªãã®ã§ãã ããã«ã¯ãæè¡çèœåãšã€ã³ãã©ã¹ãã©ã¯ãã£ã ãã§ãªãã人æãšããã»ã¹ãæºåããå¿ èŠããããŸãã çµå±ã®ãšãããè¿œå ã®ã¡ã¢ãªãã¹ããŒã¹ãè³Œå ¥ããããæ°ããã€ã³ã¹ã¿ã³ã¹ããããã€ãããããããšã¯ãæ°æé以å ã«ããã«è¡ãããšãã§ããŸãã ãã ãã人ãããã»ã¹ã¯äºåã«ããã«åããŠããå¿ èŠããããŸãã
åºæïŒ habr.com