ð± ã¯ããã«
äŒç€Ÿã§ç°å¢æ§ç¯ãé²ããäžã§ãæ¹ããŠãã·ã¹ãã ã¢ãŒããã¯ãã£ããšåãåãæéã«ãªã£ãã
ãããŸã§ã¯ rails new ã create ã®ããã«ãŒãããæ§ç¯ããŠãããã
æ¢ã«çšŒåããŠããã·ã¹ãã ãæ±ããšããçµéšãéããŠããŸã£ããæ°ããèŠç¹ãèŠããŠããã
仿¥ã¯ãã®äžã§æããããš
ãå€å žçãçŸä»£çã¢ãŒããã¯ãã£ããããã®äŸ¡å€ã
ããããŠãããããèªåãã©ãåãåããã
ãæŽçããŠããã
ð§© ã·ã¹ãã ã¢ãŒããã¯ãã£ãšã¯ïŒ
ã¢ãŒããã¯ãã£ãšã¯ãã·ã¹ãã å šäœã®å±€æ§é ãšè²¬åã®åæ ãå®çŸ©ããèšèšææ³ã®ããšã
ðš å³è§£ïŒã¬ã€ã€ãŒæ§é ïŒ
ââââââââââââââââââââââââââââââ
â ðš Presentation Layer â â UIå±€ïŒHTML, React, Templateãªã©ïŒ
ââââââââââââââââââââââââââââââ
â
ââââââââââââââââââââââââââââââ
â âïž Application Layer â â æ¥åããžãã¯å±€ïŒController, Serviceãªã©ïŒ
ââââââââââââââââââââââââââââââ
â
ââââââââââââââââââââââââââââââ
â ðŸ Data Layer â â æ°žç¶åå±€ïŒMySQL, PostgreSQLãªã©ïŒ
ââââââââââââââââââââââââââââââ
ã€ãŸããã¢ãŒããã¯ãã£ãšã¯åãªãæ§ç¯æé ã§ã¯ãªãã
ð¡ ããªããã®æ§é ã«ããã®ãããšããææ³ãã®ãã®ã
ð§± LAMPæ§æãšããåç¹
å€ãããå€ãã®Webã·ã¹ãã ãæ¯ããŠããã®ã LAMPæ§æã
| èŠçŽ | åœ¹å² |
|---|---|
| ð§ Linux | OSïŒãµãŒãåºç€ïŒ |
| ð¥ Apache | WebãµãŒãïŒHTTPãªã¯ãšã¹ãåŠçïŒ |
| ð¬ MySQL | ããŒã¿ããŒã¹ |
| ð§© PHP | ã¢ããªã±ãŒã·ã§ã³ããžã㯠|
ãã®çµã¿åããã¯å€å
žçã§ãããªããã
ä»ã§ã å€ãã®ãã¬ãŒã ã¯ãŒã¯ïŒRails / Djangoãªã©ïŒã®ææ³çã«ãŒããšãªã£ãŠããã
ããªãã¡ãå®å®ããã¢ããªã·ãã¯ã¢ãŒããã¯ãã£ã®ä»£è¡šäŸã ã
ð ã¢ããªã·ã㯠vs ãã€ã¯ããµãŒãã¹
ð§ââïž ã¢ããªã·ãã¯ã¢ãŒããã¯ãã£
å šãŠã®æ©èœãäžäœåããã¢ããªã±ãŒã·ã§ã³ãšããŠæ§ç¯ããã¹ã¿ã€ã«ã
âââââââââââââââââââââââââââââââ
â ð§© Webã¢ããªã±ãŒã·ã§ã³ïŒäŸïŒRails / DjangoïŒ â
â âââ ð èªèšŒ â
â âââ ðŠ åå管ç â
â âââ ð° æ±ºæžåŠç â
â âââ ð éç¥ â
âââââââââââââââââââââââââââââââ
â
ââââââââââââ
â ðŸ MySQL DB â
ââââââââââââ
â
ã¡ãªãã: ã·ã³ãã«ã»çè§£ããããã»å°äžèŠæš¡åã
â ïž ãã¡ãªãã: èŠæš¡æ¡å€§ã§ä¿å®ã»æ¡åŒµãé£ãããªã
ð ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£
åæ©èœãç¬ç«ãããµãŒãã¹ãšããŠåå²ããAPIéä¿¡ã§é£æºããæ§æã
ââââââââââââââ ââââââââââââââ ââââââââââââââ
â ð Auth API âââ ð Order API âââ ð° Payment APIâ
ââââââââââââââ ââââââââââââââ ââââââââââââââ
â
âââââââââââââââââ
â ð» FrontendïŒReactïŒ â
âââââââââââââââââ
â
ã¡ãªãã: åãµãŒãã¹ãç¬ç«ããŠéçºã»ãããã€ã§ãã
â ïž ãã¡ãªãã: éä¿¡ã»ç£èŠã»æ§æç®¡çãè€éå
âïž ã¢ãžã¥ã©ãŒã¢ããªã¹ãšããäžéè§£
ã¢ããªã·ãã¯ã®åçŽããšããã€ã¯ããµãŒãã¹ã®æ¡åŒµæ§ãäž¡ç«ããã®ã
ã¢ãžã¥ã©ãŒã¢ããªã¹ïŒModular MonolithïŒã
ââââââââââââââââââââââââââââââ
â ð§ ã¢ããªã±ãŒã·ã§ã³ïŒåäžãããã€ïŒ â
â âââ ð Authã¢ãžã¥ãŒã« â
â âââ ðŠ Orderã¢ãžã¥ãŒã« â
â âââ ð° Paymentã¢ãžã¥ãŒã« â
â âââ ð Notificationã¢ãžã¥ãŒã« â
ââââââââââââââââââââââââââââââ
- åäžã¢ããªã§ãããã€å¯èœ
- å éšãã¢ãžã¥ãŒã«åäœã§åé¢
- å°æ¥çã«ãã€ã¯ããµãŒãã¹åã容æ
ð§© Djangoã®appæ§é ãRailsã®Enginesããã®ææ³ã«è¿ãã
çŸå Žã§ã¯ãæ¡åŒµå¯èœãªã¢ããªã¹ããšããŠäººæ°ãé«ãæ§æã ã
ð§ çŸå Žã§æãããéãã
仿¥ãæ¢åã·ã¹ãã ãè§Šã£ãŠç¹ã«æããã®ã¯
ãŒãæ§ç¯ãšæ¢åéçšã§ã¯ãæ±ããããã¹ãã«ããŸã£ããç°ãªã ãšããããšã
- ã³ãã³ã1ã€ã«èšèšè ã®æå³ã宿ã£ãŠãã
- DBã®äžã«ã¯éçšã®æŽå²ãè©°ãŸã£ãŠãã
- èšå®ãã¡ã€ã«ã«ã¯æé»ã®ã«ãŒã«ããã
ã€ãŸãããåãããã§ã¯ãªãã
ð çè§£ããæå³ãèªã¿è§£ãããšããšã³ãžãã¢ã®æ¬è³ª
ããã¯ãã³ãŒããèªãããè¶
ããŠã
ã¢ãŒããã¯ãã£ãèªãåãå¿
èŠã ãšæããã
ð³ Docker à GitLab ãšããçŸä»£çèå
ð§± å€å
žïŒLAMPïŒ Ã ð§© çŸä»£ïŒDocker / GitLabïŒ
ãã®èåãçŸå Žã®ãªã¢ã«ã§ãããé²åã®åœ¢ã ã
ð ããããã©ãããã®ã â èªåã®ç«å ŽãšããŠ
ãã€ã¯ããµãŒãã¹ãã¯ã©ãŠããã€ãã£ãã®åŠç¿ã¯åœç¶éèŠã
ããããã¢ãŒããã¯ãã£ãå®éã«æ§ç¯ã»éçšããçµéšããã
çè«ãã宿ããšããŠçè§£ããæçã«ãŒãã ãšç¢ºä¿¡ããã
èªåã¯ãããããââ
- ð§± å€å žçãçŸä»£çæ§æãå®éã«è§Šã
- ð³ Dockerã»CI/CDã®çŸä»£æè¡ã䞊è¡ããŠç£šã
- ð âå€ã or æ°ããâ ã§ã¯ãªããâãªããã®èšèšãªã®ãâãåãç¶ãã
âïž ã¢ãŒããã¯ãã£ã¯æµè¡ã§ã¯ãªããææ³ã®éžæã
ãã®ææ³ãçè§£ããããã«ã¯ãå€å žãçŸä»£ããã©ã¡ããèªåã®æã§ç¢ºããããã
ð® ãŸãšã
- ã·ã¹ãã ã¢ãŒããã¯ãã£ã¯ãæ§ç¯ããããæ§é çè§£ããæ¬è³ª
- ã¢ããªã·ãã¯ããã€ã¯ããµãŒãã¹ãããããã®ææ³ãæã€
ð¬ ã·ã¹ãã ãåãããšã¯ãæ§ç¯ããããšã§ã¯ãªããæ§é ãçè§£ããæå³ãåŒãç¶ãããšã
仿¥ã®ç°å¢æ§ç¯ã¯ããã®ç¬¬äžæ©ã ã£ãã