1. ã¯ããã«: ããã°ã©ãã³ã°ç¿åŸã®æ矩
çŸä»£ç€ŸäŒã¯æè¡é©æ°ãæ©ãé²è¡ããŠããæ代ã§ãããäžã§ãITæè¡ã®é²åã¯æã ã®ç掻ã«å€§ããªåœ±é¿ãäžããŠããŸãããã®äžã§ãããã°ã©ãã³ã°ã®èœåã¯ã瀟äŒã«ãããåã ã®äŸ¡å€ãé«ããç掻ãåäžããã確å®ãªéå ·ãšãªãããšãŸã¡ãããããŸããã
1.1 ããã°ã©ãã³ã°ã®äžçãžã®æ
ããã°ã©ãã³ã°ã®äžçãšã¯ãã³ã³ãã¥ãŒã¿ãšåã ã«å¯Ÿè©±ããããã®èšèªãåŠã³ïŒäœ¿ãããšã§ãç§ãã¡ãæ¥ã çŽé¢ãã課é¡ãæ¹åããæ°ããªçºèŠãããæ°ããªèŠç¹ãäžããŠãããäžçã§ãããã®èšèªãç¿åŸããããšã§ãæã ã¯æãåãããŠèªåã§ç©ãäœãåºãåµé çãªçµéšãããããšãã§ããããã¯åæã«è§£æ±ºçãèŠã€ãåºãåãé€ãããšã«ãã€ãªãããŸãã
1.2 ããã°ã©ãã³ã°ã¹ãã«ã身ã«ã€ããã¡ãªãã
ããã°ã©ãã³ã°ã¹ãã«ã身ã«ã€ããããšã®ã¡ãªããã¯ç¡æ°ã«ãããŸããæèåãè«ççæèãåé¡è§£æ±ºãªã©ã®èœåã匷åããè·æ¥ã«ããã競äºåãåäžãããããšãå¯èœã§ãããŸããèªåèªèº«ã§ã¢ããªããŠã§ããµã€ããäœãåºãããšãå¯èœã«ãªããããèªåèªèº«ã®ã¢ã€ãã¢ãå ·çŸåããåµé çãªåãé€ãã€ã€ãããããéããåå ¥æºãæã€ããšãå¯èœãšãªããŸããããã«ãäžçäžã©ãããã§ãäœæ¥ãå¯èœãªãªã¢ãŒãã¯ãŒã¯ãéžæããèªç±ãããã®ããã°ã©ãã³ã°ã®ã¹ãã«ãç¿åŸããããšã§åºãããŸãã
2. ããã°ã©ãã³ã°ç¿åŸã«ãããæé
ããã°ã©ãã³ã°ã¹ãã«ãç¿åŸããããã«ã©ããããã®æéãå¿ èŠãªã®ãã¯ãåã ã®åŠç¿æ¹æ³ãç解åãå©çšå¯èœãªæéãªã©æ§ã ãªèŠçŽ ã«ãã£ãŠå€§ããå€ããããšããããŸããããã§ã¯ãäžè¬çãªç®å®ãšãªãæéãã玹ä»ããŸãã
2.1 åå¿è ãããã°ã©ãã³ã°ããã¹ã¿ãŒãããŸã§ã®å¹³åçãªæé
å šãã®åå¿è ãããã°ã©ãã³ã°ããã¹ã¿ãŒãããŸã§ã«ã¯ãäžæ¥3æéã®åŠç¿ãåæã«çŽå幎ãã1幎ãšèšãããŠããŸãããã ãã”ãã¹ã¿ãŒ”ãããšããã®ã¯ããç¬åŠã§äžã€ã®ããã°ã©ã ãçµãã§åäœãããããšãã§ããããšããã¬ãã«ã§ããããã§ãååãã°ãããææã§ãããããã¬ãã«ã®ã¹ãã«ãæã€ãŸã§ã«ã¯ããã«æéãšåªåãå¿ èŠã«ãªããŸããåŠç¿ãç¶ããããšãéèŠã§ããããšãå¿ããªãã§ãã ããã
2.2 æ§ã ãªããã°ã©ãã³ã°èšèªãç¿åŸããããã®æé
ããŸããŸãªããã°ã©ãã³ã°èšèªãååšããããããã«ç¹æ§ãé©çšããåéãç°ãªããŸããäŸãã°ãPythonã¯åŠç¿ã容æãšãããŠãããAIãããŒã¿åæã«ãã䜿ãããŠããŸããJavaãC++ã¯ããé£æ床ãé«ãã§ãããã¢ãã€ã«ã¢ããªéçºãã·ã¹ãã éçºã«æŽ»çšããããªã©ãçšéã¯åºç¯ã«ããããŸããåå¿è ãäžã€ã®ããã°ã©ãã³ã°èšèªãåŠã³ãã³ãŒããæžããŠåãããã¬ãã«ã«éãããŸã§ã«ã¯ã倧ãŸãã«ã¯çŽ1ã¶æãã3ã¶æã»ã©æéãããããŸãã
2.3 åã ã®ã¹ãã«ã¬ãã«ãšç¿åŸã«å¿ èŠãªæé
ããã°ã©ãã³ã°ã®ã¹ãã«ã¬ãã«ã¯å€§ããåããŠåçŽãäžçŽãäžçŽã®3ã¬ãã«ã«åããããŸããåçŽè ãäžçŽè ã«ãªãã«ã¯ãåå¿è ææã«ãã§ã«è¿°ã¹ãããã«3ïœ6ã¶æçšåºŠãããã«äžçŽè ãäžçŽè ã«ãªãã«ã¯å°ãªããšãããã«1幎以äžã®çµéšãå¿ èŠãšãããŠããŸãããã ããäžçŽè ã«ãªãããã«ã¯åºç¯ãªç¥èã ãã§ã¯ãªãã深淵ãªå°éç¥èãšçµéšãäžå¯æ¬ ã§ããããã«ãããžã§ã¯ããžã®åå ãã³ãŒãã£ã³ã°ãã£ã¬ã³ãžãªã©ãå®è·µçãªçµéšãéããããšãé«ãã¹ãã«ãç¿åŸããããã«ã¯å¿ èŠäžå¯æ¬ ãšãªããŸãã
3. å¹ççãªããã°ã©ãã³ã°åŠç¿æ³
ããã°ã©ãã³ã°ãç¿åŸããéã«ã¯ãåã«ç¥èãèšæ¶ããã ãã§ã¯ãªããç解ãæ·±ããå®éçãªèœåã身ã«ã€ããããšãéèŠã§ãã以äžã§ã¯ããã®ããã®å¹ççãªåŠç¿æ³ã«ã€ããŠèŠãŠãããŸãããã
3.1 ç解ãæ·±ããããã®ç¹°ãè¿ãã®éèŠæ§
ãŸãç解ãæ·±ããããã®ç¹°ãè¿ãã®éèŠæ§ã«ã€ããŠèª¬æããŸããããã°ã©ãã³ã°ã¯èšèªåŠç¿ã«äŒŒãŠãããäžåºŠåŠãã ã ãã§ã¯ãªããå埩緎ç¿ãããããšã§ç解ãæ·±ãŸããŸããç¹ã«ãæ°ããæŠå¿µããã¿ãŒã³ãåŠãã éã«ã¯ããã®ç¥èãå®çãããããã«ãå€ãã®æéãšåŽåãæè³ããããšãå¿ èŠã§ãã
ãŸããèªåã§ã³ãŒããæžããŠã¿ããæ¢åã®ã³ãŒããèªããä»äººã®ã³ãŒããã¬ãã¥ãŒãããªã©ãæ§ã ãªèŠç¹ãã課é¡ã«åãçµãããšããç解ãæ·±ããäžã§ã¯éåžžã«éèŠã§ãã
3.2 ãããžã§ã¯ãããŒã¹ã§ã®åŠç¿
次ã«ãããžã§ã¯ãããŒã¹ã§ã®åŠç¿ãææ¡ããŸããããç®æšã«åããå
·äœçãªãããžã§ã¯ããéããŠãåé¡è§£æ±ºã®çµéšãç©ãã§ãããšãããã°ã©ãã³ã°ã®ç¥èã ãã§ãªããè€éãªã·ã¹ãã ãç解ããåãããŒã ã§åãèœåãªã©ãåæã«èº«ã«ã€ããããšãã§ããŸãã
ãã ããåããŠã®ãããžã§ã¯ãã§ã¯ã·ã³ãã«ãã€å°èŠæš¡ãªãã®ããå§ããåŸã
ã«ã¹ã±ãŒã«ã倧ããããŠãããšè¯ãã§ãããã
3.3 ãªã³ã©ã€ã³ãªãœãŒã¹ãšã³ãã¥ããã£ã®æŽ»çš
æåŸã«ããªã³ã©ã€ã³ãªãœãŒã¹ãšã³ãã¥ããã£ã®æŽ»çšã«ã€ããŠè§£èª¬ããŸããçŸä»£ã§ã¯ãã€ã³ã¿ãŒãããäžã«ç¡æã§å©çšã§ããããã°ã©ãã³ã°ã«é¢ããè±å¯ãªãªãœãŒã¹ããããŸãããã¥ãŒããªã¢ã«ãããã¥ã¡ã³ããŒã·ã§ã³ããªãŒãã³ãœãŒã¹ãããžã§ã¯ããªã©ã掻çšããããšã§ãèªå·±åŠç¿ã倧ãã«å©ããããšãã§ããŸãã
ãŸããã³ãŒãã£ã³ã°ã«å°ã£ãéã«ã¯ããªã³ã©ã€ã³ã®ã³ãã¥ããã£ã§è³ªåãããããã£ã¹ã«ãã·ã§ã³ã«åå ãããããããšãæçã§ããããã«ãã£ãŠãæ°ããèŠç¹ãç¥èãåŸãããšãã§ããã ãã§ãªããèªåã®ç解ãä»äººã«èª¬æããããšã§ããããªãç解ãæ·±ããããšãã§ããŸãã
4. å ·äœçãªåŠç¿ã¹ã±ãžã¥ãŒã«äŸ
ãããããå ·äœçãªããã°ã©ãã³ã°ã®åŠç¿ã¹ã±ãžã¥ãŒã«ã«ã€ããŠèŠãŠãããŸããããããã§ã¯ãåå¿è ããäžçŽè ãŸã§ããããã®ã¬ãã«ã«å¯Ÿå¿ããåŠç¿ã¹ã±ãžã¥ãŒã«ãææ¡ããŸããèªåã®ã¹ãã«ã¬ãã«ã«åãããŠåèã«ããŠã¿ãŠãã ããã
4.1 åå¿è åãåŠç¿ã¹ã±ãžã¥ãŒã«
ãŸãå§ãã«ãåå¿è åãã®åŠç¿ã¹ã±ãžã¥ãŒã«ã§ããããã°ã©ãã³ã°ååŠè ã¯ãŸãããã°ã©ãã³ã°ã®åºæ¬çãªæ§é ãç解ããããšãéèŠã§ããHTMLãCSSã®åºç€ãåŠã³ãJavaScriptã䜿ã£ãŠåºæ¬çãªããã°ã©ã ãäœãããšããå§ããŸããå ·äœçã«ã¯ãäžæ¥ãããã®åŠç¿æéã2~3æéãšèšå®ããäžé±éã«5æ¥éåŠç¿ãããšããã¹ã±ãžã¥ãŒã«ãç®æããšè¯ãã§ãããã
4.2 äžçŽè åãåŠç¿ã¹ã±ãžã¥ãŒã«
次ã«ãäžçŽè åãã®ã¹ã±ãžã¥ãŒã«ãèŠãŠãããŸããããäžçŽè ã¯éçºãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšãããŒã¿æ§é ãã¢ã«ãŽãªãºã ã«ã€ããŠç解ãæ·±ããããšãæ±ããããŸããNode.jsãReactãšãã£ãJavaScriptã®ãã¬ãŒã ã¯ãŒã¯ãPythonã®FlaskãDjangoçãåŠã³ãå®éã®ãããžã§ã¯ãã§ã®äœ¿çšçµéšãç©ãã®ãè¯ãã§ããããã¹ã±ãžã¥ãŒã«ã¯åå¿è ã®æ®µéãšåããäžæ¥2~3æéãäžé±éã«5æ¥éã®åŠç¿ãæ³å®ããŸãããã®æ®µéã§ãæãåãããŠç¶ããŠèªèº«ã§æžãäºã倧åã§ãã
4.3 äžçŽè åãåŠç¿ã¹ã±ãžã¥ãŒã«
æåŸã«ãäžçŽè åãã®ã¹ã±ãžã¥ãŒã«ã§ãããã®ã¬ãã«ã§ã¯å€§èŠæš¡ãªãããžã§ã¯ãã®çµéšã team-oriented development practiceïŒãã¹ãé§åéçºãCI/CDã®å°å ¥çïŒã®ç解ãæåŸ ãããŸããGitHubã掻çšããããŒã ãããžã§ã¯ãã®çµéšãæã€ããšãäžã€ã®ãã€ã«ã¹ããŒã³ã«ãªãã§ãããããŸãããœãããŠã§ã¢èšèšã®ãã¿ãŒã³ãããªã³ã·ãã«(SCRP, MVCãªã©)ãç解ããããšãéèŠã§ããã¹ã±ãžã¥ãŒã«ã¯ææ矩ãªãããžã§ã¯ãã«åç»ããããã®æéãèæ ®ããŠãäžé±éã«2~3æ¥ã¯å€§èŠæš¡ãªãããžã§ã¯ãã«åå ããæéãèšå®ããããšã倧åã§ãã
5. ããã°ã©ãã³ã°åŠç¿ãç¶ç¶ããã³ã
ããã°ã©ãã³ã°ãç¿åŸããããã«ã¯ãç¶ç¶ããŠåŠç¿ãè¡ãããšãå¿
é ã§ãã
ããããç¶ç¶ããããã«ã¯ãèªåã«åã£ãåŠç¿æ¹æ³ãèŠã€ããã¢ãããŒã·ã§ã³ãä¿ã€ããšãéèŠã§ããããã§ãããããã詳ããèŠãŠãããŸãããã
5.1 èªåã«åã£ãåŠç¿æ¹æ³ã®èŠã€ãæ¹
åŠç¿æ¹æ³ã¯ãäžå£ã«èšã£ãŠã人ããããã§ãèªåã«åã£ãæ å ±ã®åãå ¥ãæ¹ãèŠã€ããããšãéãããªããŸããããã¯ã質ã®è¯ãåŠç¿ãã§ããããã®åºæ¬çãªã¹ãããã§ãã
ãŸãã¯ãèªåãã©ã®ããã«æ å ±ãç解ããã®ãåŸæããèªå·±ç解ãæ·±ããŠã¿ãŠãã ãããããžã¥ã¢ã«ã«æ å ±ãç解ãã人ãé³å£°ã®æ å ±ããç解ãæ·±ãã人ãæãåãããŠç解ãæ·±ãã人ãæ§ã ãªæ å ±ã®åãå ¥ãæ¹ããããŸãã
ãŸãããã³ã°ã¹ãã³ã§åŠç¿ãè¡ã人ãã·ã§ãŒãã¹ãã³ã§åŠç¿ãè¡ã人ãããããç°ãªããŸããèªåãã©ã®ãããªã¿ã€ãã³ã°ã§åŠç¿ãè¡ããããããç解ãæ·±ããããã«ã©ã®çšåºŠã®ã€ã³ã¿ãŒãã«ãå¿ èŠããç解ããŸãããã
5.2 ã¢ãããŒã·ã§ã³ãä¿ã€æ¹æ³
ããã°ã©ãã³ã°åŠç¿ã®ç¶ç¶ã«ã¯ãèªåèªèº«ã®ã¢ãããŒã·ã§ã³ãä¿ã€ããšãéèŠã§ããç®æšèšå®ã¯ããã®äžã€ã®æ¹æ³ã§ããããèªåãäœãäœãããã®ããã©ã®èšèªã䜿ãããã®ããæ確ã«ããããšã§ãã¹ãã«ã®ç¿åŸãšãã倧ããªç®æšã«åãã£ãŠå¹ççã«åŠç¿ãé²ããããšãå¯èœãšãªããŸãã
ãŸããææãèŠããåããããšãå¹æçã§ããå°ããªããã°ã©ã ã§ãè¯ãã®ã§ãå®æãããŠã¿ãŸãããããã®åŸããã®ææããµã€ãã«æçš¿ãããªã©ããŠãå€éšã®ãã£ãŒãããã¯ãåŸãããšã§ããããªãã¢ãããŒã·ã§ã³ã¢ããã«ã€ãªãããŸãã
æåŸã«ãã«ãŒãã³åãã¢ãããŒã·ã§ã³ãä¿ã€èŠçŽ ã®äžã€ã§ããæ¯æ¥ã®ç掻ã«ããã°ã©ãã³ã°åŠç¿ãçµã¿èŸŒã¿ããããåœããåã®æ¥åžžãšãªãããã«å¿ãããããšã§ãèªç¶ãšç¶ç¶ããåãé€ãããšãã§ããŸãã
èªåã«åã£ãåŠç¿æ¹æ³ãèŠã€ããã¢ãããŒã·ã§ã³ãä¿ã€ããšãããããç¿åŸãç¶ç¶ããããã®ã³ãã§ãããããèžãŸããé 調ã«åŠç¿ãé²ããŠãããŸãããã
6. çµããã«: ããã°ã©ãã³ã°ã¹ãã«ãç¿åŸããããã®ãã€ã³ãã»ãã
é·ãéã®ããšãªãããã°ã©ãã³ã°åŠç¿ã§ããããã®å šãŠãæè¡çãªç¥èãå°éçãªã¹ãã«ã«é¢ãããã®ã ãã§ã¯ãããŸãããç¿åŸãé²ããŠããããã§ããããŠã¹ãã«ãç¶æããŠããããã§ãéåžžã«éèŠãšãªãèŠçŽ ãããã€ã³ãã»ãããã€ãŸããäžè²«ããæ 床ãæèã®ãã¿ãŒã³ã§ãã
6.1 ãã©ãŒã«ã¹ãšæç¶ãéµ
ãŸãã¯ãã©ãŒã«ã¹ãšæç¶ãéèŠãšããããšãç解ããŸããããã³ãŒããæžãå§ããã°ããã®ããªãã¯ãæ§ã ãªããã°ã©ãã³ã°èšèªãããŒã«ã«è§ŠããŠã¿ãããšæããããããŸããããããããã®èšèªãããŒã«ãæã€ç¬èªã®ãã©ãã€ã ãæ©èœãææ¡ããããšãããšãå šäœã®ç解ãé£ãããªããŸãã
åãã¯äžã€ã®èšèªã«ãã©ãŒã«ã¹ãåœãŠãããšã倧åã§ãããããç解ã§ããŠãããšèªç¶ãšä»ã®èšèªãããŒã«ãç解ãããããªãã§ãããããããŠãäžåºŠåŠç¿ããæè¡ã¯æç¶çã«äœ¿ãç¶ããããšã§ããããèªç¶ãšããªãã®èœåãšãªããŸãã
6.2 æ¹åãšåŠç¿ã®ç¶ç¶çãªãµã€ã¯ã«
次ã«ãåŠç¿ã¯åã«äžéæ§ã®ãã®ã§ã¯ãªããæ¹åãšç¶ç¶çãªãµã€ã¯ã«ã§ããããšãèªèããããšãéèŠã§ããã©ããªã«æéããããŠããã°ã©ãã³ã°ãåŠç¿ãããšããŠãããããç¶æããããšãã§ããªããã°æå³ããããŸããã
ãŸãããã¯ãããžãŒã®äžçã§ã¯æ°ããéçºãæŽæ°ãæ¥ã è¡ãããŠãããããã«äŒŽãæ°ããç¥èãã¹ãã«ãæ±ããããŸããããããè¿œãç¶ããããã«ã¯ãèªèº«ã®ç¥èãã¹ãã«ãæ¢ãŸããã«æŽæ°ãç¶ããå¿ èŠããããŸãã
ã§ãããæ¹åãšåŠç¿ã®ç¶ç¶çãªãµã€ã¯ã«ãç¹°ãè¿ããŠããããšããããã°ã©ãã³ã°ã¹ãã«ãç¿åŸãããããç¶æããããã®ãã€ã³ãã»ãããšãªããŸãã
ããã°ã©ãã³ã°åŠç¿ã®æ ã¯æ±ºããŠçããã®ã§ã¯ãããŸãããããã®éçšã§åŸãããã¹ãã«ãçµéšã¯ã決ããŠç¡é§ã§ã¯ãªãã¯ãã§ããèªåèªèº«ãä¿¡ããäžæ©äžæ©å°éã«é²ãã§ããã°ãå¿ ãææãåç©«ããããšãã§ããã§ãããã