å°å ¥
å¶ç¶ã«ãããã XNUMX 幎è¿ããç§ã¯ããšãã«ãã IT åŠæ ¡ã® XNUMX ã€ã§ããã°ã©ãã³ã°ãæããŠããŸããã ç§ã¯ãã 楜ããããã«ãããå§ããŸããã äžåºŠããã°ã©ãã³ã°ã®ããã°ãæžããããšãããã®ã§ããããããŠããŸããŸããã ããããèå³ã®ãã人ã«æçãªããšãäŒããããšãã欲æ±ã¯æ¶ããŠããŸããã
ç§ã®äž»ãªèšèªã¯ Java ã§ãã æºåž¯é»è©±çšã²ãŒã ãç¡ç·éä¿¡çšãœãããŠã§ã¢ãåçš®WebãµãŒãã¹ãªã©ãæžããŸããã ãããŠç§ã¯JavaãæããŠããŸãã
ããã§ç§ã®æåŸã®ã°ã«ãŒãã®ãã¬ãŒãã³ã°ã®è©±ãããããšæããŸãã 圌ãããã¬ãŒãã³ã°ãéå§ããŠããå®éã«åäœãã Web ãµãŒãã¹ãäœæãããŸã§ã®éçšã説æããŸãã æ é€è£å©é£åãæ¢ãã®ã«äŸ¿å©ãªãŠã§ããµãŒãã¹ã ç¡æãåºåãç»é²ãSMS ã¯ãããŸããã
ãµãŒãã¹èªäœã¯ããã«ãããŸã -
ãã®ãããžã§ã¯ãã¯æè²çãªãã®ã§ãããåºåã¯å«ãŸããŠããŸããã ãããããããã«
ãããžã§ã¯ãèªäœã説æããåã«ãã°ã«ãŒãã®åŠç¿ããã»ã¹ã«ã€ããŠå°ã説æããŸããããããªããšå šäœåãäžå®å šã«ãªã£ãŠããŸããŸãã
9ã¶æã®ç ä¿®
ç§ãæããŠããåŠæ ¡ã§ã¯ãJava ã³ãŒã¹ã¯ 2 ã€ã®ããŒãã«åãããŠããŸãã ã³ãŒã¹ã«ã¯ãã¹ãŠã®äŒæ©ïŒå¹Žæ«å¹Žå§ãäžéãããžã§ã¯ãã®å·çæéïŒãå«ããŠãåèšã§çŽ 9 ãæããããŸãã
æåã®éšåã§ã¯ãèšèªã®åºæ¬æŠå¿µãçåŸã«çŽ¹ä»ããŸãã å€æ°ãã¡ãœãããOOP ã®åºæ¬ãªã©ãã¹ãŠã
ã³ãŒã¹ã® XNUMX çªç®ã®éšåã§ã¯ãåŠçã¯ãã§ã« Java ã§ã®æžãæ¹ãå€ããå°ãªããç解ããŠãããããã倧人åããã®ãã¯ãããž ã¹ã¿ãã¯ãäžããããšãã§ããŸãã ãã¹ãŠã¯ SQL ããå§ãŸãã次㫠JDBCãHibernate ã§ãã 次ã«HTTPããµãŒãã¬ããã 次㯠Spring ã§ãgit ãš maven ã«ã€ããŠå°ã説æããŸãã ãããŠåŠçãã¡ã¯æçµçãªãããžã§ã¯ããæžããŸãã
ãã¹ãŠã®ãã¬ãŒãã³ã°ã¯ã¢ãžã¥ãŒã«ã«åãããŠããŸãã é±ã«XNUMXåææ¥ãè¡ã£ãŠããŸããã XNUMXåã®ã¬ãã¹ã³æéã¯XNUMXæéã§ãã
ç§ã®åŠç¿ãžã®ã¢ãããŒã
5ã°ã«ãŒãããªãªãŒã¹ããŸããã 2幎éãšããã®ã¯å€§å€ãªããã«æããŸãããã»ãŒåžžã«XNUMXã€ã®ã°ã«ãŒãã䞊è¡ããŠçããŠããŸããã
ããŸããŸãªã¢ãããŒããè©ŠããŠã¿ãŸããã
æåã®ãªãã·ã§ã³ã¯ãçè«ãå«ããã¬ãŒã³ããŒã·ã§ã³ã« XNUMX ãã¢ãå²ãåœãŠãããããšã§ãã XNUMX çªç®ã®ãã¢ã¯çŽç²ãªç·Žç¿ã§ãã ãã®ã¢ãããŒãã¯äœãšãæ©èœããŸããããç§ã®æèŠã§ã¯ãããŸãå¹æçã§ã¯ãããŸããã§ããã
ç§ãæãã€ããçŸåšåãçµãã§ãã 5 çªç®ã®éžæè¢ã¯ãçè«ã«äžžã 10 ã€ãè²»ãããªãããšã§ãã 代ããã«ãçè«ã®çãã»ã¯ã·ã§ã³ã XNUMX ïœ XNUMX åéæ··ãåãããããã«å®éã®äŸã§è£åŒ·ããŸãã ãã®ã¢ãããŒãã¯ããå¹æçã§ãã
ååãªæéãããã°ãç§ã¯åŠçãã¡ãç§ã®å Žæã«åŒã³ãã©ãããããã®åã«åº§ããã圌ãèªèº«ãå®éçãªäŸãå®è¡ããŸãã ãšãŠãããŸããããŸãããæ®å¿µãªããæéãããããŸãã
誰ããæåŸãŸã§ããéããããããã§ã¯ãªã
ç§ã«ãšã£ãŠã®å瀺ã¯ãã°ã«ãŒãå šå¡ãã³ãŒã¹ã®æåŸãŸã§å°éããããã§ã¯ãªããšããäºå®ã§ããã
ç§ã®èŠ³å¯ã«ãããšãæçµãããžã§ã¯ããæžãã®ã¯åŠçã®ååã ãã§ãã ãããã®ã»ãšãã©ã¯ã³ãŒã¹ã®æåã®éšåã§æé€ãããŸãã ãããŠã第äºéšã«å°éãã人ã¯ãéåžžã¯èœã¡ãŸããã
圌ãã¯ããŸããŸãªçç±ã§å»ããŸãã
XNUMXã€ç®ã¯è€éãã§ãã 圌ããäœãšèšãããšãJava ã¯æãåçŽãªèšèªã§ã¯ãããŸããã æãåçŽãªããã°ã©ã ãäœæããã«ã¯ãã¯ã©ã¹ãã¡ãœããã®æŠå¿µãç解ããå¿ èŠããããŸãã ãããŠããªãæžãå¿ èŠãããã®ãââãç解ããã«ã¯ã public static void main(String[] arg) ç解ãã¹ãæŠå¿µãããã«ããã€ããããŸãã
ããããç§ãå«ãå€ãã®äººãå§ãã Turbo Pascal ãšæ¯èŒããŠãã ããã
begin
writeln("ÐеÑÐ²Ð°Ñ Ð¿ÑПгÑаЌЌа");
end.
ç§ã®ç¥ãéããåŠæ ¡ã¯è¿œå ãã¹ããå°å ¥ããããšã§ãã®åé¡ã解決ããã§ãããã ä»ã§ã¯èª°ãã Java ãå匷ã§ããããã§ã¯ãããŸããã ããã¯ãŸã æ§æ³æ®µéã§ããããã®ã¹ãããã¯æããã«æ£ãããã®ã§ãã
XNUMX çªç®ã®çç±ã¯æ¬¡ã®å³ã®ãããªãã®ã§ãã
ããã°ã©ãã³ã°ãšã¯ã倧éã®ããã¹ããå ¥åããŠããã®å¯ŸäŸ¡ãšããŠå€é¡ã®ãéã皌ãããšã ãšæãããã¡ã§ãã ã³ããŒã©ã€ã¿ãŒã®ããã«ããéãå¢ããã ãã§ãã
çŸå®ã¯å°ãç°ãªããŸãã 倧éã®æ¥åžžçãªã³ãŒããç®ã«èŠããªããã°ã絶ãéãªãåŠç¿ããã»ã¹ã èå³æ·±ãã§ãããäžäººåãã§ã¯ãããŸããã
ãããã¯çµ±èšã§ãã æåã¯åæºããŠãããããããèªåãäœãééã£ãããšãããŠããã®ã§ã¯ãªãããšæããŸããã çµ±èšã¯ã»ãšãã©ã®ã³ãŒã¹ã§ã»ãŒåãã§ããããšãããããŸããã ä»ã¯æ°ã«ããŠããŸããããèå³ã®ãã人ã«ã¯æããŠãã ããã
ãµãŒãã¹ã¢ã€ãã¢
åŠçãã³ãŒã¹å šäœãå®äºããããæçµãããžã§ã¯ããäœæãããšããæ¥ãŸããã ããŸããŸãªã¢ã€ãã¢ããããŸããã 圌ã㯠ToDo ã·ãŒãããããžã§ã¯ã管çãããžã§ã¯ããªã©ãæäŸããŠããŸããã
ã·ã³ãã«ã ãã©åœ¹ã«ç«ã€ãã®ãäœããããšæã£ãŠããŸããã ç§ã®åºæºã¯åçŽã§ãå人ãç§ãããã䜿ãããã©ããã§ããã é£åæ·»å ç©ãæ€çŽ¢ããããã® Web ãµãŒãã¹ã¯ããããã®èŠä»¶ãæºãããŠããŸããã
èãæ¹ã¯ã·ã³ãã«ã§ãã åºã§è£œåãè³Œå ¥ãããšããã®çµæã«ãã皮㮠E-æ·»å å€ãå«ãŸããŠããã®ãããããŸãã ãããã©ãã»ã©å±éºã§ãããã¯ãã³ãŒãããã¯æããã§ã¯ãããŸããïŒãŸããå€ãã®åœã§çŠæ¢ãããŠããå±éºãªæ·»å ç©ããããŸãïŒã
Web ãµã€ããéãããµããªã¡ã³ãã®åå (çªå·ã代æ¿åã®ãããã) ãå ¥åãããšããµããªã¡ã³ãã®æŠèŠã衚瀺ãããŸãã
åæ§ã®ãããžã§ã¯ãããããŸãã Google ã«åã«æ·»å å€ãå ¥åããããšãã§ããŸãããæ å ±ãåžžã«æ£ãã衚瀺ãããããã§ã¯ãããŸããã
ãããããã®ãããžã§ã¯ãã¯æè²çãªãã®ã§ãããããäžèšã®å°é£ã¯ç§ãã¡ã劚ããŸããã§ãã:)
å ·çŸå
誰ãã Java ã§æžããŸããã
ç§ãå«ããŠ7人ã§ããã å šå¡ããã« ãªã¯ãšã¹ããäœæããç§ãŸãã¯ã°ã«ãŒãã®å¥ã®äººããã®ãã« ãªã¯ãšã¹ããåãå ¥ããŸããã
ãããžã§ã¯ãã®å®è£ ã«ã¯ãã¢ã€ãã¢ãè¡šæããŠããçŸåšã®ç¶æ ã«ãªããŸã§ãçŽ XNUMX ãæããããŸããã
解ææ·»å ç©
åŠçã® XNUMX 人ãæåã«è¡ã£ãã®ã¯ãããŒã¿ããŒã¹ (ãšã³ãã£ãã£ããªããžããªãªã©) ã«é¢ãããã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœæã®ã»ãã«ãæ¢åã®æ å ±ãµã€ãããã®ã¢ããªã³ã解æããããšã§ããã
ããã¯æ®ãã®ãã€ã³ãããã¹ãããããã«å¿ èŠã§ããã ããŒã¿ããŒã¹ã«ããŒã¿ãå ¥åããããã«è¿œå ã®ã³ãŒãã¯å¿ èŠãããŸããã ããã€ãã®æ·»å å€ããã°ãã解æããã®ã§ãUIã䞊ã¹æ¿ããããã³ãã£ã«ã¿ãŒåŠçãããã«ãã¹ãã§ããŸãã
Spring Boot ã䜿çšãããšãè€æ°ã®ãããã¡ã€ã«ãäœæã§ããŸãã ãããã¡ã€ã«ã¯èšå®ãå«ãŸãããã¡ã€ã«ã§ãã
éçºç°å¢ã§ã¯ãããŒã«ã« H2 DBMS ãšããã©ã«ãã® HTTP ããŒã (8080) ãåãããããã¡ã€ã«ã䜿çšããŸããã ãããã£ãŠãã¢ããªã±ãŒã·ã§ã³ãèµ·åããããã³ã«ãããŒã¿ããŒã¹ãã¯ãªã¢ãããŸãã ãã®å ŽåãããŒãµãŒãç§ãã¡ãæã£ãŠãããŸããã
æ€çŽ¢ãšãã£ã«ã¿ãªã³ã°
éèŠãªç¹ã¯æ€çŽ¢ãšãã£ã«ã¿ãªã³ã°ã§ãã åºå ã«ãã人ã¯ããµããªã¡ã³ãã®ã³ãŒããŸãã¯ååã® XNUMX ã€ããã°ããã¯ãªãã¯ããŠãçµæãååŸããå¿ èŠããããŸãã
ãããã£ãŠãAdditive ãšã³ãã£ãã£ã«ã¯è€æ°ã®ãã£ãŒã«ãããããŸãã ããã¯è¿œå ã³ãŒãã代æ¿åã説æã§ãã æ€çŽ¢ã¯ããã¹ãŠã®ãã£ãŒã«ãã§åæã« Like ã䜿çšããŠå®è¡ãããŸãã [123] ãŸã㯠[amaranth] ãšå ¥åããŠããåãçµæãåŸãããŸãã
ããããã¹ãŠãä»æ§ã«åºã¥ããŠå®è¡ããŸããã ãã㯠Spring ã®äžéšã§ãããåºæ¬çãªæ€çŽ¢æ¡ä»¶ (ããšãã°ããã£ãŒã«ããªã©) ãèšè¿°ãããããã®æ¡ä»¶ãçµå (OR ãŸã㯠AND) ã§ããããã«ããŸãã
åæ°ã®ä»æ§æžãäœæããããã説æã« [èµ€] ãšããåèªãå«ãŸãããã¹ãŠã®å±éºãªçè²æ·»å å€ããªã©ã®è€éãªè³ªåãããããšãã§ããŸãã
Spring ããŒã¿ããŒã¹ãæäœãããšããç¹ã§ã¯ãéåžžã«äŸ¿å©ã ãšæããŸãã ããã¯ãè€éãªã¯ãšãªãæäœããå Žåã«ç¹ã«åœãŠã¯ãŸããŸãã ããã«ã¯ç¬èªã®ãªãŒããŒãããããããæåã§äœæããŠæé©åãã SQL ã¯ãšãªã®æ¹ãé«éã«å®è¡ãããããšãç解ããŠããŸãã
ããããç§ã¯ãã¹ãŠãäºåã«æé©åããå¿ èŠã¯ãªããšãã芳ç¹ã«ãåºå·ããŠããŸãã æåã®ããŒãžã§ã³ã¯èµ·åããŠåäœããåã ã®ããŒãã亀æã§ããããã«ããå¿ èŠããããŸãã ãããŠãè² è·ãããããšããããã®åã ã®éšåãæžãçŽãå¿ èŠããããŸãã
ã»ãã¥ãªãã£
ããã¯ç°¡åã§ãã ADMIN ããŒã«ãæã€ãŠãŒã¶ãŒããããè¿œå ã®ç·šéãåé€ãæ°ããè¿œå ãè¡ãããšãã§ããŸãã
ãããŠãä»ã®ãŠãŒã¶ãŒãããŸãïŒç»é²ããŠãããã©ããã«ãããããïŒã 圌ãã¯æ·»å ç©ã®ãªã¹ããåç §ããå¿ èŠãªãã®ãæ€çŽ¢ããããšããã§ããŸããã
Spring Security ã¯æš©å©ãåé¢ããããã«äœ¿çšãããŸããã ãŠãŒã¶ãŒããŒã¿ã¯ããŒã¿ããŒã¹ã«ä¿åãããŸãã
ãŠãŒã¶ãŒã¯ç»é²ã§ããŸãã ä»ã§ã¯äœãäžããããŸããã åŠçããµãŒãã¹ã®éçºãç¶ããŠãããŒãœãã©ã€ãºãããæ©èœãå°å ¥ããå Žåã¯ãç»é²ã䟿å©ã§ãã
å¿çæ§ãšããŒãã¹ãã©ãã
次ã®ãã€ã³ãã¯é©å¿åã§ãã ç§ãã¡ã®ãµãŒãã¹ã®å ŽåïŒå°ãªããšãç§ãã¡ãèŠãéãã§ã¯ïŒããŠãŒã¶ãŒã®å€§éšåã¯æºåž¯é»è©±ã䜿çšããŠããã§ãããã ãããŠãæºåž¯é»è©±ãããµããªã¡ã³ããããã«èŠãå¿ èŠããããŸãã
CSS ã§èŠåŽããªãããã«ãBootstrap ãæ¡çšããŸããã å®ããŠãéœæ°ã§ãèŠãç®ããŸãšãã§ãã
ã€ã³ã¿ãŒãã§ãŒã¹ã¯çæ³çãšã¯èšããŸããã ãããããŒãžã¯ãªãããã§ãæ·»å ç©ã®è©³ãã説æããŒãžã¯çãã®ã§ãæºåž¯é»è©±ã§ã¯ãã£ãšåºãããå¿ èŠãããã
ã§ããã ãä»äºã«å¹²æžããªãããã«ãããšããèšããŸããã ããã¯ãŸã åŠçãããžã§ã¯ãã§ãã ãããŠãã¡ããã圌ãã¯åŸã§ãã®ãããªç¬éãä¿®æ£ããããšãã§ããŸãã
SEO ã®æé©åã«ã€ããŠã® XNUMX åé
ç§ã¯ XNUMX 幎以äžãWeb ãµã€ãã SEO ã«é¢é£ããããããããšã«å¯æ¥ã«é¢ãã£ãŠãããããå°ãªããšãåºæ¬ç㪠SEO ã®æé©åããªããã°ãããžã§ã¯ãããªãªãŒã¹ããããšã¯ã§ããŸããã§ããã
å®éã«ãåã¢ããªã³ã®ã¿ã€ãã«ãšèª¬æã®ãã³ãã¬ãŒãçæãäœæããŸããã URL ã¯ã»ãŒ CNC ã§ãããçãããããšãã§ããŸãã
åºåžã«ãŠã³ã¿ãŒãè¿œå ããŸããã æ€çŽ¢ãšã³ãžã³ããã®èŠåãç£èŠããããã«ããµã€ãã Yandex ãŠã§ããã¹ã¿ãŒãš Google Search Console ã«è¿œå ããŸããã
ããã¯ååã§ã¯ãããŸããã å®å šãªã€ã³ããã¯ã¹ãäœæããã«ã¯ãrobots.txt ãš sitemap.xml ãè¿œå ããå¿ èŠããããŸãã ããããç¹°ãè¿ãã«ãªããŸãããããã¯åŠçã®ãããžã§ã¯ãã§ãã ç§ã¯åœŒãã«äœãããªããã°ãªããªãããäŒãã圌ããæããªããããå®è¡ããŸãã
SSL蚌ææžãæ·»ä»ããå¿ èŠããããŸãã ç¡æã® Let's Encrypt ãæ©èœããŸãã Spring Bootçšã«ãããè¡ããŸããã é£ããããšã¯ãªããPSããã®ä¿¡é Œãé«ãŸããŸãã
ãããžã§ã¯ãã®æ¬¡ã®ã¹ãããã¯äœã§ãããã?
å®éãéžæã¯åœŒã次第ã§ãã ãããžã§ã¯ãã®åœåã®ã¢ã€ãã¢ã«ã¯ãæ·»å å€ãžã®ãªã³ã¯ãå«ã補åã®ããŒã¿ããŒã¹ãå«ãŸããŠããŸããã
ãã¹ããã«ãŒãºããšå ¥åããŠãã©ã®ãããªæ é€æ·»å ç©ãå«ãŸããŠãããã確èªããŠãã ããã
ãããžã§ã¯ãã®éå§æç¹ã§ããã補åãäœããªãããšã¯ããã£ãŠããŸãã:) ãããã£ãŠãæ·»å å€ã®ã¿ããå§ããŸããã
ããã§ã補åãè¿œå ããŠè¿œå ã®è£œåã玹ä»ã§ããããã«ãªããŸãã ãã³ãºã 倧èŠæš¡ãªããŒã¿ããŒã¹ã§ããã°ããŠãŒã¶ãŒãååšããŸãã
é å
ãããžã§ã¯ã㯠VPSãAruba Cloud ã«ãããã€ãããŸããã ããã¯ç§ãã¡ãèŠã€ããäžã§æãå®ã VPS ã§ãã ç§ã¯èªåã®ãããžã§ã¯ãã§ãã®ãããã€ããŒã XNUMX 幎以äžäœ¿çšããŠããŸãããéåžžã«æºè¶³ããŠããŸãã
VPSã®ç¹åŸŽ: 1 GB RAMã1 CPU (åšæ³¢æ°ã¯ããããŸãã)ã20 GB SSDã ç§ãã¡ã®ãããžã§ã¯ãã§ã¯ããã§ååã§ãã
ãããžã§ã¯ãã¯éåžžã® mvn clean ããã±ãŒãžã䜿çšããŠãã«ããããŸãã çµæã¯ããã¹ãŠã®äŸåé¢ä¿ãå«ãå®è¡å¯èœãã¡ã€ã«ã§ãã fat jar ã§ãã
ããããã¹ãŠãå°ãèªååããããã«ãããã€ãã® bash ã¹ã¯ãªãããäœæããŸããã
æåã®ã¹ã¯ãªããã¯å€ã jar ãã¡ã€ã«ãåé€ããæ°ãã jar ãã¡ã€ã«ãæ§ç¯ããŸãã
XNUMX çªç®ã®ã¹ã¯ãªããã¯ãçµã¿ç«ãŠããã jar ãèµ·åããå¿ èŠãªãããã¡ã€ã«ã®ååãæž¡ããŸãã ãã®ãããã¡ã€ã«ã«ã¯ããŒã¿ããŒã¹æ¥ç¶æ å ±ãå«ãŸããŠããŸãã
DB - åã VPS äžã® MySQLã
ãããžã§ã¯ãã®ç·åéã«ã¯æ¬¡ã®ãã®ãå«ãŸããŸãã
- SSHçµç±ã§VPSã«ãã°ã€ã³
- ææ°ã® git å€æŽãããŠã³ããŒããã
- local-jar.shãå®è¡ããŸã
- å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ã匷å¶çµäºãã
- launch-production.sh ãå®è¡ããŸã
ãã®æé ã«ã¯ XNUMX åããããŸãã ããã¯ããã®ãããªå°ããªãããžã§ã¯ãã«ãšã£ãŠã¯è³¢æãªéžæã®ããã«æããŸãã
é£ãã
ãããžã§ã¯ããç«ã¡äžããéã®äž»ãªå°é£ã¯ãçµç¹çãªæ§è³ªã®ãã®ã§ããã
ããã°ã©ãã³ã°ã®ä»æ¹ãç¥ã£ãŠããããã«èŠããããããŸãäžæã§ã¯ãªã人ã®ã°ã«ãŒããããŸãã 圌ãã¯äœããç¥ã£ãŠããŸããããããå®éã«å¿çšããããšã¯ã§ããŸããã ãããŠä»ã圌ã㯠XNUMX ãæ以å ã«ãããžã§ã¯ããå®äºããå¿ èŠããããŸãã
ç§ã¯ãã®ã°ã«ãŒãã®æ¡ä»¶ä»ãããŒã ãªãŒããŒãç¹å®ããŸããã 圌ã¯ã¿ã¹ã¯ã®ãªã¹ããèšèŒããã Google ããã¥ã¡ã³ããä¿ç®¡ããã¿ã¹ã¯ãé åžãããããã®åãå ¥ãã管çããŸããã 圌ã¯ãã«ãªã¯ãšã¹ããåãå ¥ããŸããã
ãŸããç§ã¯åŠçãã¡ã«ããããžã§ã¯ãã§è¡ã£ãäœæ¥ã«ã€ããŠæ¯æ©çãã¬ããŒããæžãããã«äŸé ŒããŸããã äœãããªãã£ãå Žåã¯ããäœãããªãã£ãããšã ãæžããŠãã ããã ããã¯çŽ æŽãããç·Žç¿ã§ãããå°ãç·åŒµããŸãã æ®å¿µãªããã誰ãããã®ã«ãŒã«ã«åŸã£ãããã§ã¯ãããŸããã
ãã®ãã¹ãŠã®éåã®ç®çã¯åçŽã§ããã ããšãçæéã§ãã£ãŠããããŒã ãçµãã§äžç·ã«åããŸãããã
ç§ã¯åœŒãã«èªåã®ä»äºãéèŠã§ãããšæããŠã»ããã£ãã 圌ãã¯äœããªãç¶æ ã§ç圢ã®ã³ãŒããæžããŠããããã§ã¯ãªãããšãç解ããŠãã ããã ãããŠã圌ããäžç·ã«ãã£ãŠããããšã¯ããã®åŸäººã ãå©çšãããããžã§ã¯ãã«ãªããŸãã
æåã® XNUMX ïœ XNUMX é±éã¯ç©ã¿éãã§ããã ãšã³ãã£ãã£ãšå°ããªã³ãããã®å®è¡ãé ããªããŸããã å°ããã€ããæ··ããŠãããäœæ¥ã楜ãããªã£ãŠãããŸããã ãã£ããã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ãã掻çºã«ãªããåŠçãã¡ã¯è¿œå ã®æèŠãåºããŸããã
ç®æšã¯éæããããšæããŸãã ãããžã§ã¯ãã¯å®äºãã圌ãã¯ããŒã ã§åãçµéšãå°ãåŸãŸããã ç®ã«èŠããå ·äœçãªçµæãããããããå人ã«èŠããŠããã«çºå±ãããããšãã§ããŸãã
æèŠ
åŠã¶ããšã¯é¢çœãã§ãã
ææ¥ãçµãããã³ã«ãç§ã¯ææ çã«åæºããŠåž°ã£ãŠããŸããã ç§ã¯åãã¢ããŠããŒã¯ãªãã®ã«ããã§ããã ãå€ãã®ç¥èãäŒããããã«åªããŠããŸãã
ç§ãæããŠããã°ã«ãŒãã決åã«é²ããšå¬ããã§ãã ç·æ§ããä»äºã決ãŸããŸããããã¹ãŠé 調ã§ããããããšãããšæžããšãã¯ç¹ã«ã¯ãŒã«ã§ãã ããšãããããžã¥ãã¢ã§ãã£ãŠããæåã¯å€§éã§ã¯ãªãã£ããšããŠãã ããããæãéèŠãªããšã¯ã圌ããèªåãã¡ã®é¡æã«åãã£ãŠäžæ©ãèžã¿åºããæåãããšããããšã§ãã
ããªãããªã¥ãŒã ã®ããèšäºã«ãªããŸãããããã¹ãŠã®ãã€ã³ããç¶²çŸ ããããšã¯äžå¯èœã§ããã ãããã£ãŠã質åãã³ã¡ã³ãã«æžã蟌ãã§ãã ããã
åºæïŒ habr.com