
ãã³ãŒãïŒ
ã¢ã¶ãã»ã«ãã£ãšãïŒããã«ã¡ã¯ãç§ã®ååã¯ã¢ã¶ãã»ã«ãã£ãšãã§ããç§ã¯ Mail.ru Cloud Solutions ã® PaaS éçºè ã§ããç§ãšäžç·ã«ããã®ã¯ããµãŠã¹ããªããžã®ããã«ã»ã»ãªãããã§ããç§ãã¡ã¯DevOpsDaysã«ã³ãã¡ã¬ã³ã¹ã«åå ããŠããŸããããã§åœŒã¯ãKubernetes ã䜿çšã㊠DevOps ãæ§ç¯ããæ¹æ³ã«ã€ããŠè¬æŒããŸãããããããæåããªãã§ãããããªããããªæã話é¡ãªã®ã§ãããïŒ
ããã«ã»ã»ãªãããïŒåœŒå¥³ã¯ãããªã«æã人éã§ã¯ãªããã§ããããã¯ãç§ãã¡ããã¯ãããžãŒã®å©ããåããŠã³ãã¥ããã£å ã®å€ãã®åé¡ã解決ããããšããŠãããšããäºå®ã§ãããããŠç§ãã¡ã¯ããã¯ãããžãŒã®å©ããåããŠããããäžæ¹çãªæ¹æ³ã§ããã解決ããããšããŸãã Kubenetes ãåæ§ã§ãããã㯠Ops ã責任ãè² ããã®ã§ãããšèšããŸããããããç§ãã¡ã«ã¯ DevOps ãšã³ãžãã¢ãšããçŽ æŽãããã³ã³ã»ããããããŸãã DevOps ãšã³ãžãã¢ã¯ Kubernetes ãæ åœããŸããåæã«... ããšãã°ãKubernetes ãäœæããŠããéçºè 㯠Kubernetes ã«ã€ããŠãŸã£ããèªèããŠããããKubernetes ã§äœãã§ããã®ããèªèããŠããŸãããéçºè ã«ãšã£ãŠã¯ãã¹ãŠããŸã£ããåãã§ãã Kubernetes ã«ã¯ããã®ãã¯ãããžãŒã䜿çšã㊠DevOps ã¢ãããŒããã€ãŸã Dev ãš Ops éã®ã³ãã¥ãã±ãŒã·ã§ã³ãæ¡åŒµããããã®æ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãšæ¢è£œã®ããŒã«ãå«ãŸããŠããã«ããããããããã®ãããªç¶æ³ã«ãªã£ãŠããŸããç§ãã¡ã¯ãã®æ©äŒãã»ãšãã©å©çšããŸãããçŸåšã®æ§é ã DockerãKubernetesãã¯ã©ãŠããªã©ã® DevOps ããŒã«ã«ç§»è¡ããŠãããããç¶æ³ã¯ããã«æªåããŠããŸãããããŠç§ãã¡ã¯ããŒã«ãæ¬æ¥ã®ç®çãšã¯ç°ãªãæ¹æ³ã§äœ¿ãå§ããŸãããããŠãããããã¹ãŠã®ãã¯ãããžãŒã®åšãã«ã¯ããŸã£ããã²ã©ãæŸèæãæ§ç¯ãããŠããŸãã
ã¢ã¶ãã»ã«ãã£ãšãïŒ åãããŸããã話é¡ãå¹ åºãæ°ãããŸãã仿¥ã®äŒæ¥ãçŽé¢ããŠããæãäžè¬çãªåé¡ã¯äœã ãšæããŸãã? Kubernetes ã䜿çšã
Pavel Selivanov: Kubernetes ã®æãäžè¬çãªåé¡ã¯ãèœåäžè¶³ã§ãããã㯠IT ã§ã¯ããããåé¡ã§ããå°éå®¶ã¯åžžã«äžè¶³ããŠããŸããèœåäžè¶³ã¯åžžã«ååšããŸãããããŠçŸåšãKubernetes ã«é¢ããèœåãäžè¶³ããŠããŸããåæã«ãå¿ èŠãªèœåããªããŠã Kubernetes ãå©çšã§ããæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã¯ãåžå Žã«ãŸã ã»ãšãã©ååšããŸããããããŠãååšãããã®ã¯ãã¹ãŠãäœããã®çåãæèµ·ããŸãã Kubernetes ã§ã¯ããããçè§£ã§ãã人æãåžžã«æ±ããŠããŸããããã«åãããŠéçºã調æŽããããšããŠããŸãã
Azat Khadiev: ãããŠãçŸåšãIT åéã®äººæãäžè¶³ããŠããããšãèæ ®ããŸããããã¯ãã€ãããã§ããããããŠããã¯ãŸã ååšããŠããŸãããã®ãããªç¶æ³ã§ã©ããã£ãŠç掻ã§ãããšæããŸãã?ã©ã®ãããªã©ã€ãããã¯ããããŸãã?
Pavel Selivanov: ã©ã€ãããã¯ããŸããã¯ã©ãŠãã®èгç¹ããèŠããšãã©ã€ãããã¯ã¯æ¬¡ã®ããã«ãªããŸããããªãã®èœåã®ããã€ããç§ãã¡ã«äžããŸãããããããŠç§ãã¡ã¯ãããèªåãã¡ã®ãã®ã«ããã®ã§ãããããŠãç§ãã¡ã¯ãããèªåãã¡ã®äžã§å®è¡ããŸããããã¯ãã¹ãŠè¯ãããšã§ãããã ããããã䜿çšãã人ã«ãšã£ãŠçè§£ããããšãéèŠã§ã...ããã¯å®éã«ã¯çŽ æŽãããç¬éã§ã...ããããç§ãã¡ã®èœåã®äžéšãã¯ã©ãŠããŸãã¯ãããã€ããŒã«è²æž¡ããããšã§ã代ããã«æ®éçãªãœãªã¥ãŒã·ã§ã³ãåŸãããããšãçè§£ããããšãéèŠã§ããåºæ¬çã«ãéåžžã«ç¹æ®ãªããšãå®è¡ããããŒã¿ããŒã¹ããããéåžžã«å ·äœçã«æ§æãããŠããŸãããã®ããŒã¿ããŒã¹ãã¯ã©ãŠãã«ç§»è¡ããã°ãåœç¶ãããŒã¿ããŒã¹ ã¯ã©ã¹ã¿ãŒãæ±ã£ãŠãã管çè ãè§£éããããšãã§ããŸããAmazon ã Google ã代ããã«ãããè¡ããŸãããããåæã«ãAmazon ã Google ã§ã¯ããŒã¿ããŒã¹ãæç¢ºã«æ§æããããšã¯ã§ããŸãããå€§èŠæš¡ãªãããžã§ã¯ããå€§äŒæ¥ã§ã¯ããããã«ããŠããããæç¹ã§ã¯ã©ãŠã ãœãªã¥ãŒã·ã§ã³ã䜿çšããããã«ãªãããã®åŸãããå ·äœçãªäœããå¿ èŠã«ãªãããããããã«ããŠããèœåãèªç€Ÿã§åãæ»ãããšã«ãªããŸãã
ã¢ã¶ãã»ã«ãã£ãšãïŒæ®éçãªè§£æ±ºçã¯æªãã®ã§ããããããããšããã®åºç€ã®äžã«ããã«äœããæ§ç¯ã§ããã®ã§ããããïŒ
Pavel Selivanov: ãããããŠãããŒãµã«ãœãªã¥ãŒã·ã§ã³ã¯æ±ºããŠæªããã®ã§ã¯ãããŸãããæ®éçãªè§£æ±ºçã¯è¯ãã§ãããŸãã«æ®éçãªè§£æ±ºçâŠæ®éçã§ãããããçè§£ããããšãéèŠã§ããããã¯äžè¬çãªã¹ã¯ãªãããåããããªãã®ã§ã...ãã®äžè¬çãªã¹ã¯ãªãããäžè¬çãªã¢ããªã±ãŒã·ã§ã³ãäžå¿ã«äŒç€Ÿã®ä»äºã®ããžãã¯å šäœãæ§ç¯ã§ããã°ãããã¯çŽ æŽãããããšã§ããããããäœåã®è«çãç°ãªã£ãŠããŠãããã®æ®éçãªè§£æ±ºçãæ®éçãªèæ¬ãæ¡çšããå°çåäžã®ãã¯ããŠã®ããã«ããããåœãŠã¯ãå§ãããšãããã¯è¯ããããŸãããæ®é䞻矩ãã®ãã®ã«ã¯äœãåé¡ã¯ãããŸããã
Azat Khadiev: ãã®ç®¡çè ããã§ã«ããªãã®ããã«åããŠããã®ã§ããã°ãåé¡ã¯åœŒãè§£éããããšã§ã¯ãããŸããã圌ã¯ãã£ãšå€ãã®ããšãã§ããããã«ãªãã§ãããã
ããã«ã»ã»ãªãããïŒããã§ãã圌ã®ã«ãŒãã³ã奪ã£ãŠããããã©ããã®èª°ãã«æž¡ããŠãããã§ã©ããã§å®è¡ã§ããããã«ããŸããããã¯ç¢ºãã«è¯ãã¢ãããŒãã§ããããã§éèŠãªç¹ã¯ããã®æšæºçãªãœãªã¥ãŒã·ã§ã³ãç¹å®ã®ã±ãŒã¹ã«é©ããŠãããã©ããã§ãã
Azat Khadiev: ç§ã®çµéšããèšããšãå€ãã®äŒæ¥ãåãããšããã£ãŠããããã§ãã圌ã㯠Kubernetes ã¯ã©ã¹ã¿ãŒãã»ããã¢ãããããããæ¡åŒµããããšãæ€èšããŠããŸãããããŠãããããã¹ãŠã®æäœã¯éåžžã«ç¹°ãè¿ãå¯èœã§ãã
ããã«ã»ã»ãªããã: ã¯ãã確ãã«ããã§ããããã«ãKubernetes ãå ·äœçã«åãäžãããšãçŸæç¹ã§ã¯åžå Žã« Kubernetes ã«é¢ããæ·±ãåªããç¥èãã»ãšãã©ååšããªããšããç¹ããããŸãã Kubernetes ã¯éåžžã«å·šå€§ãªã³ã³ã¹ãã©ã¯ã¿ãŒãªã®ã§ãããã瀟å ã«å°å ¥ããå Žåã¯ãããããã¹ãŠã«ãã«ã¿ã€ã ã§åãçµããšã³ãžãã¢ãé£ããŠè¡ãæºåãããå¿ èŠããããŸãããããŠé«äŸ¡ã§ãããããŠããã®ãããªãšã³ãžãã¢ãèŠã€ããããã«ããŠãã ãããç§èªèº«ã«ã€ããŠèšãã°ãKubernetes ã®ä»çµã¿ã«ã€ããŠã¯ããªãããæ·±ãçè§£ããŠããã®ã§ãã¯ã©ãŠã ãœãªã¥ãŒã·ã§ã³ã¯ããŸã奜ãã§ã¯ãããŸããããããŠãç§ãèŠæ±ããæ©èœãã¯ã©ãŠãã«æ¬ ããŠããããšã«æ°ä»ãããšãå€ããã¯ã©ãŠãåŽã¯ãããã¯ã§ããŸããããšèšãã®ã§ãããŸãããã®å Žåã¯ç³ãèš³ãªãã§ãããã¯ã©ãŠãããããããã®ãã§ããŸãããããåæã«ããã«ã¿ã€ã ã®ãšã³ãžãã¢ãããªãå ŽåãKubernetes ãæ±ãããšã³ãžãã¢ã«ãéãæããããªãå ŽåããŸãããšã³ãžãã¢ãå®éšã§ããã ãã®å€é¡ã®ãéãç¶ç¶çã«æ¯æãå Žåãã¯ã©ãŠãã¯åªãããœãªã¥ãŒã·ã§ã³ã§ãããªããªããå°ãªããšãããã«ã¯ããããã€ããŒèªèº«ã«ãã£ãŠãã§ã«è¿œãè©°ãããã人ãã¡ãããããã§ãããããŠåœŒãã¯èªåãã¡ãäœãããŠããã®ãåãã£ãŠããŸããæ¥åžžçã«å¿ èŠãªåºæ¬çãªãã®ã¯æã£ãŠããŸãã
Azat Khadiev: Kubernetes ã®çŸç¶ã«ã€ããŠã©ãæããŸãã? 5幎åŸã10幎åŸã«åœŒã«äœãèµ·ããã§ããããïŒ
ããã«ã»ã»ãªãŽã¡ããïŒè¯ã質åã§ããããã®ä»¶ã«é¢ããŠãç§ãã¡ã®ã³ãã¥ããã£ã§äœãèµ·ãã£ãŠãããã¯ç¥ã£ãŠããŸããKubernetes以å€ã«ã¯äœãæ®ããªãã ãããšèããŠãã人ãããŸãããã£ãšåã«Linuxã§èµ·ãã£ãç¶æ³ã§ããã€ãŸããå€éš Linux BSDã«äœãã§ãã人ãã¡ã¯ãããããéåžžã«å ·äœçãªä»äºãããŠããã®ã§ãããã Windows â WindowsãµãŒã㌠â ããããç¹å®ã®ã¿ã¹ã¯ãæ ã£ãŠãããããããã¯åã«ãã®åéã®å°éç¥èãæã£ãŠããŠãããããé¢ããæºåãã§ããŠããªãã®ã§ãããããããã«ãããç§ãã¡ã®æ¥çã®æšæºã¯ LinuxKubernetesãäºå®äžã®æšæºãšãªããä»ã®ãã®ã¯ååšããªããªããšããèªèããããŸããKubernetesã¯ã¢ããªã±ãŒã·ã§ã³ããã®ãããã€ãã¹ã±ãŒãªã³ã°ã ãã§ãªãããã¹ãŠã管çããããã«ãªãã§ãããã人ã ã¯ä»ããããŒã¿ããŒã¹ãKubernetesã«çœ®ãããšã¯å¯èœã§ããïŒããšå°ããŠããŸããç§ã¯éåžžãåé¡ã¯Kubernetesã§ã¯ãªãDockerã«ãããšçããŸããããŒã¿ããŒã¹ãã³ã³ããã§å®è¡ããæºåãã§ããŠããå Žåãã©ã®ããã«åäœããã®ã§ããããïŒåœŒãã¯ç§ã«ããããããåŸ ã£ãŠãã ãããã³ã³ããã¯å¿ èŠãããŸãããKubernetesãå¿ èŠã§ãããããããŒãã«ç§»æ€ããŸããããããã°ããã¹ãŠã¯ä»ãšåãã«ãªããKubernetesããã¹ãŠã管çããŸãããšèšããŸãããããŠããã¯æ¬åœã«è¯ãã¢ã€ãã¢ã§ããã€ãŸããKubernetesã¯ãäŒæ¥ãKubernetesãšãã®äžã«æ§ç¯ãããããã»ã¹ãæã£ãŠããå Žåããããçè§£ããŠããäººãæ°æ¥éäœæ¥ããã ãã§ããå®å šã«ãµããŒãããæºåãã§ããŠããŸãããã¹ãŠãçè§£ããããããé¢ã§ãµããŒãããŸãããšèšãããããªãã®ãªã®ã§ãã Kubernetesã䜿ããªãã¢ãããŒããšã¯ç°ãªãã圌ãã¯æ¬¡ããæ¬¡ãžãšå Žåœããçãªå¯Ÿçãè¬ããŠããŸãããAnsibleãTerraformãªã©ã§ãããããã¯ãã¹ãŠèª°ããéçºãããã®ã§ãçè§£ããã®ã«6ã¶æãããããŸããã§ããããKubernetesãäºå®äžã®æšæºã«ãªããã©ããã¯åãããŸãããçŸç¶ã§ã¯ãKubernetesã¯åšå²ã®ãœãªã¥ãŒã·ã§ã³ãããã¯ããã«éå¿çã§èªä¿¡ã«æºã¡ãŠããããã«èŠããŸãã
ã¢ã¶ãã»ããã£ãšã: ããã§ãããæ¯èŒãããš Linux å®ã«å€§èãªçºæ³ã ãåäžã®ãã·ã³äžã§åäœããââããã ãã ããããKubernetesã¯å€æ°ã®ãã·ã³äžã§åäœãããç¡æ°ã®ããªãšãŒã·ã§ã³ãšçç±ãããã«æµ®ãã³äžããã確ãã«å€§èã ãã ãããã®ãã©ãã€ã ã«ã¯ç«¶åçžæãããããšãèããŠã¿ãããäŸãã°ããµãŒããŒã¬ã¹ã ãKubernetesã¯ããããç«¶åçžæã«ãã£ãŠå±éºã«ãããããã®ã ãããïŒ
ããã«ã»ã»ãªãŽã¡ãã: ãµãŒããŒã¬ã¹ãã... (ç¬) ãµãŒããŒã¬ã¹ - ç§ãã¡ã¯ãŸã çè§£ããŠããŸã ãµãŒã㌠çµå±ããµãŒããŒã¯ååšãããæè¿ãããã«é¢ããå ±åãèããããã®å ±åè ã¯ãçµå±ãµãŒããŒãååšãããã€ãŸãã¯ã©ãŠããååšãããšèšã£ãŠãããããããã¯ã©ãŠãã«ããµãŒããŒãååšããããšãåžžã«çè§£ããŠããå¿ èŠããããå®éã®ããŒããŠã§ã¢ãµãŒããŒãã©ãã¯ããããã©ããã«èšçœ®ãããŠããããããã¯ã©ãŠãã ãããã«ããµãŒããŒã¬ã¹ãããã ãµãŒã㌠ããããããã§ã¯ããµãŒããŒã¬ã¹ã¯Kubernetesã«åãã®ã§ããããïŒç§ã¯ãµãŒããŒã¬ã¹ã¯Kubernetesã«ç§»è¡ãããšèããŠããŸãããµãŒããŒã¬ã¹ãæäŸãããããã€ããŒã«ãšã£ãŠãKubernetesã¯éåžžã«äŸ¿å©ãªãã©ãããã©ãŒã ã§ãã確ãã«ããããã¯Kubernetesãæšæºçãªããžãã¹ã¢ããªã±ãŒã·ã§ã³éçºããŒã«ãšããŠèªããªããªããããããŸããããããããããã€ããŒããšã³ãžãã¢ã¯ãå¿ã®å¥¥åºã§Kubernetesãå°å ¥ããããã§å šãŠãå®è£ ããŠããã§ãããã
Azat Khadiev: å°ãéã話é¡ã§ãããã«ã¹ã¿ãã¯ãšã³ãžãã¢ãšããæŠå¿µããããŸãããããã«ã€ããŠã©ãæããŸãã?ãããã¯ååšããã®ã§ãããã?
Pavel Selivanov: ããŒãš... ãã«ã¹ã¿ã㯠ãšã³ãžãã¢... ããã§ãããç§ã«ã¯ãããã®ããšãåºå¥ãã䟡å€ãããããã«æããŸã... ãåç¥ã®ãšãããT åã®äººãšãããã®ããããŸããä»ã®æ¥çã§ã¯ãããªäººæãå¿ èŠãªã®ã§ããããïŒã¯ããééããªãå¿ èŠã§ããç§ãã¡ã«ã¯ãåºãèŠéãæã¡ãªãããåæã«ç¹å®ã®åéã®å°éå®¶ã§ããã人æãå¿ èŠã§ããããã§ã®ãã«ã¹ã¿ã㯠ãšã³ãžãã¢ãåãã§ããã€ãŸãããã¹ãŠãå®è¡ãã人ã§ããããã³ããšã³ãã®éçºããã¹ããããã¯ãšã³ãããµãŒããŒãªã©ãã¹ãŠããå§ãŸããŸããå€§äŒæ¥ã§ã¯ãåãã©ã¡ãŒã¿ã«çãå°éæ§ããªããã°ã1 人ã®äººéããããè¡ãããšã¯ã§ããªããšæããŸãããããåæã«ãåã«çãå°éåéã ããæ±ã£ãŠãåšãã§äœãèµ·ãã£ãŠããã®ãå šãç¥ããªããšããã ãã§ã¯ãçŸä»£ã®äžçã§ã¯éçšããŸãããã€ãŸããããã§ã¯ããã«ã¹ã¿ãã¯ããšããèšèã¯äœ¿ããªãããšã«ããŸããæ¬åœã«ãšã³ãžãã¢ãå¿ èŠãªãã§ãã DevOpsãå¿ èŠã§ããç§ãã¡ã¯ããã«ãã®ç¬éãåã³èšªããã ãããšããäºæãããŸãããããŠãããã¯å¿ èŠãªããªãã§ãããã
ã¢ã¶ãã»ã«ãã£ãšãïŒæããã«ããŠããããŸããïŒ
Pavel Selivanov: æ¥çã§ã¯ãDev ãš Ops ã®åœ¹å²ãããã«æ¶æ» ãããšãããŸã§æ¥ãŠããããã«æããŸããã¹ãã·ã£ãªã¹ããå¿ èŠã§ããããæ¢ããš... ãã®ãããªéçºè ãå¿ èŠããã®ãããªç®¡çè ãå¿ èŠãDevOps ãšã³ãžãã¢ãå¿ èŠ - ä»ã¯åœŒããããŸãããä»åºŠã¯ãããã¯ã·ã§ã³ ãšã³ãžãã¢ã SRE ãšã³ãžãã¢ãå¿ èŠã«ãªããŸããããããç§ãã¡ãæ¬åœã«å¿ èŠãšããŠããã®ã¯ãéçšããããšã³ãžãã¢ã§ããèæ¯ã¯ããã»ã©éèŠã§ã¯ãããŸããããªããªã... ããšãã°ãSRE ã§ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¡ã¯åžžã«ãœãããŠã§ã¢ã«é¢é£ããŠãããšãããŠããŸããã§ã¯ãéçºè ãåãäžããŠã¿ãŸããããéçºè ã¯ãšã³ãžãã¢ã§ãããšãã芳ç¹ãããéçºè ããµããŒãéšéã«é 眮ãããšã圌ãã¯ãã³ãŒãããšã³ãžãã¢ãªã³ã°ã®å©ããåããŠããžãã¹äžã®åé¡ã解決ããã®ãšåãæ¹æ³ã§ããããã®åé¡ã解決ããããšã«ãªããŸãã
Azat Khadiev: ãã®èгç¹ããããã®ãããªãšã³ãžãã¢ã«ã©ã®ããã«ã€ã³ã¿ãã¥ãŒããã°ããã®ã§ãããã?
ããã«ã»ã»ãªãŽã¡ããïŒãããããã¯è¯ã質åã§ãããããããç§ã®çè§£ãè¶ ããŠããã§ããããã§ããäŸãæããŸããããã€ã³ã¿ãã¥ãŒãšã¯å šãé¢ä¿ãããŸãããããã·ã¢ã®æè²å¶åºŠã«ã€ããŠã§ããITæ¥çã§ã¯ããã·ã¢ã®æè²å¶åºŠã¯ITæ¥çã«ãšã£ãŠéåžžã«æä»£é ãã§ãããã¹ãå§¿ã§ã¯ãªãããšã¯åšç¥ã®äºå®ã§ããç§ãèšã£ãŠããã®ã¯ãåºå€§ãªãã·ã¢å šäœã®å¹³åçãªç¶æ³ããããŠããã§èµ·ããŠããããšã§ãã忥ããç¿æ¥ã«ãŠã§ãéçºãITäŒæ¥ã§åãæºåãå šãã§ããŠããªã忥çãããŸãããããŠã圌ãã¯ãããæªãããšã ãšèããŠããŸããç§ãã¡ã¯åœŒãã«å¥åŠãªããšãæããŠããŸãããæ¬æ¥ã¯åœŒãã«éçºãæããã¹ããªã®ã§ãã AndroidiOS ã®å ŽåãGit ã®äœ¿ãæ¹ãªã©ãã¹ãŠãå®éã«ã¯ããã§ã¯ãªãããã§ãã倧åŠã¯ã芪ãããªãã®è²»çšãã»ãšãã©è² æ ããŠãããææã§ããããªãã®äººçå šäœã«ããã£ãŠããããŠã人çã® 5 幎éãæ·±ãç ç©¶ããããšã«è²»ããããšãã§ããŸãããããŠããã® T ååå šäœãåŠã¶ããšã倧åŠã§ããŒãžã§ã³ç®¡çã·ã¹ãã ãšã¯äœããã©ã®ãããªéçºãã¿ãŒã³ãããããããããã¹ãŠãã©ã®ããã«ãã¹ãããããã©ã®ãããªããŒã¿ããŒã¹ãããŒã ãã©ã³ãµãŒãããããåŠã¶ããšãã§ããŸãããããŠãä»äºã«å°±ããšãç¹å®ã®åéãããã«æ·±ãæãäžãå§ããŸãããããŠãããããšã³ãžãã¢ãåŸãæ¹æ³ã§ãããããŠããã·ã¢ã®æè²ã·ã¹ãã ã¯ãç§ãã¡ãèããŠããããããã®çå®ã«ãã£ãšè¿ãã§ããç§ãã¡ã¯åªããæ°åŠã®ãã¬ãŒãã³ã°ãåªããã¢ã«ãŽãªãºã ã®ãã¬ãŒãã³ã°ãåããããã°ã©ãã³ã°èšèªã®çè§£ãäžããããŸãããããŠã颿¥ã«ã€ããŠã¯ãããã«è¿ããšæããŸããç§ãã¡ã¯ãšã³ãžãã¢ã颿¥ããå¿ èŠããããŸããT ååã®åŠçã® T ã®äžéšãå¿ èŠã§ãããªããªããT ã®åçŽç·ãç²åŸããããã§ãã
ã¢ã¶ãã»ããã£ãšã: ã¯ããè峿·±ãã§ããã倧åŠã忥ããŠãã 5 幎éãç§ã¯èªåã®åããæè²ãå¥åŠã§äžååã§ããããã«æããŠããŸããããããŠãä»äºãé²ã¿ã課é¡ãããæ·±ããªãããããžã§ã¯ãããã倧ãããªãã«ã€ããŠãç§ã¯ãããããšãŠã倧åãªããšãæããããŠããããšã«æ°ã¥ããŸãããããã«ãããããšããçããã®åçãèããŠãšãŠãè峿·±ãã£ãã§ããããªãã®å ±åãèããŸãããã
ããã«ã»ã»ãªãããïŒããããšãããããŸãã
åºæïŒ habr.com
