ãããã¯ãäžå¹žãªå·šå€§äŒæ¥ã¯ã©ãããããããã®æå³ã§äžå¹žãªã®ã§ãã
Dodo ISã·ã¹ãã ã®éçºã¯ãDodo Pizzaäºæ¥ã®éå§çŽåŸãã€ãŸã2011幎ã«å§ãŸããŸããããã®ã¢ã€ãã¢ã¯ãããžãã¹ããã»ã¹ã®å®å šãã€å æ¬çãªããžã¿ã«åã«åºã¥ããŠããã 2011 å¹Žåœæã§ãå€ãã®çåãæççãªæèŠãå¯ããããŠããŸãããããããç§ãã¡ã¯ã¢ããªã¹ããå§ãŸã£ãç¬èªã®éçºã§ããã®éãæ©ã¿å§ããŠãã 9 幎ãçµã¡ãŸããã
ãã®èšäºã¯ãããªãã¢ãŒããã¯ãã£ãæžãçŽãããã®ãããªå€§èŠæš¡ã§æéã®ããã倿Žãè¡ãã®ãïŒããšãã質åã«å¯Ÿãããçããã§ããåã®èšäºãž ããŸããDodo IS ã®éçºãã©ã®ããã«å§ãŸã£ãã®ããåæã®ã¢ãŒããã¯ãã£ã¯ã©ã®ãããªãã®ã ã£ãã®ããæ°ããã¢ãžã¥ãŒã«ãã©ã®ããã«ç»å Žããã®ãããããŠã©ã®ãããªåé¡ãå€§èŠæš¡ãªå€æŽãå¿ èŠãšããã®ãã«ã€ããŠèª¬æããŸãã

é£èŒèšäºãDodo IS ãšã¯äœã?ã以äžã«ã€ããŠã話ããŸã:
Dodo IS ã®åæã®ã¢ããªã¹ (2011-2015)ã ïŒããªãã¯ããã«ããïŒ
.
ã¯ã©ã€ã¢ã³ãéšåã®ãã¹ïŒããŒã¹ã®äžã®ãã¡ãµãŒãïŒ2016-2017ïŒã ïŒé²è¡äžâŠïŒ
å®éã®ãã€ã¯ããµãŒãã¹ã®æŽå²ã ïŒ2018-2019幎ïŒã ïŒé²è¡äžâŠïŒ
ã¢ããªã¹ã®åæãšã¢ãŒããã¯ãã£ã®å®å®åãå®äºããŸããã ïŒé²è¡äžâŠïŒ
ãªãªãžãã«ã®å»ºç¯
2011 幎㮠Dodo IS ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸããã

ã¢ãŒããã¯ãã£ã®æåã®ã¢ãžã¥ãŒã«ã¯æ³šæåä»ã§ããããžãã¹ããã»ã¹ã¯æ¬¡ã®ããã«ãªããŸãã
顧客ããã¶å±ã«é»è©±ããããŸãã
ãããŒãžã£ãŒãé»è©±ã«åºãã
é»è©±ã§ã®æ³šæãåãä»ããŠãããŸãã
åæã«ã泚æåä»ã€ã³ã¿ãŒãã§ãŒã¹ã«å ¥åãããã¯ã©ã€ã¢ã³ããæ³šæã®è©³çްãé éå äœæã«é¢ããæ å ±ãèæ ®ãããŸãã
æ å ±ã·ã¹ãã ã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããªæãã§ãâŠ
2011幎XNUMXæã®æåã®ããŒãžã§ã³:
æåã®æ³šæåä»ã¢ãžã¥ãŒã«ãéçºããããã®ãªãœãŒã¹ã¯éãããŠããŸãããå°äººæ°ã®ããŒã ã§ãå€ãã®ããšãè¿ éã«è¡ãå¿ èŠããããŸããããã®å°ããªããŒã ã¯ãå°æ¥ã®ã·ã¹ãã å šäœã®åºç€ãç¯ãã 2 人ã®éçºè ã§æ§æãããŠããŸãã
圌ãã®æåã®æ±ºå®ãããã¯ãããžãŒ ã¹ã¿ãã¯ã®å°æ¥ã®éåœã決å®ã¥ããŸããã
ASP.NET MVCãC# èšèªã®ããã¯ãšã³ããéçºè ã¯ããããããéçºè ã§ããããã®ã¹ã¿ãã¯ã¯åœŒãã«ãšã£ãŠéŠŽæã¿æ·±ããå¿«é©ãªãã®ã§ããã
Bootstrap ãš JQuery ã®ããã³ããšã³ã: ã«ã¹ã¿ã ã¹ã¿ã€ã«ãšã¹ã¯ãªããã®ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã
MySQL ããŒã¿ããŒã¹: ã©ã€ã»ã³ã¹è²»çšãããããã䜿ããããã
ãµãŒã㌠Windows Server.NET ã¯ã Windows ïŒäŒææ§åæ žççã«ã€ããŠã¯è°è«ããŸãããïŒ
ç©ççã«ã¯ãããããã¹ãŠãããã¹ãã®å°çšãµãŒããŒãã§è¡šçŸãããŠããŸããã
泚æåä»ã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£
åœæããã§ã«èª°ãããã€ã¯ããµãŒãã¹ã«ã€ããŠèªã£ãŠãããSOA ã¯å€§èŠæš¡ãããžã§ã¯ãã§çŽ 5 幎é䜿çšãããŠããŸãããããšãã°ãWCF 㯠2006 幎ã«ãªãªãŒã¹ãããŸããããããããã®åŸãä¿¡é Œæ§ãé«ãå®çžŸã®ãããœãªã¥ãŒã·ã§ã³ãéžæãããŸããã
ããã«ãããŸãã

Asp.Net MVC ã¯ããã©ãŒã ãŸãã¯ã¯ã©ã€ã¢ã³ãããèŠæ±ããããšãã«ãµãŒããŒåŽã§ã¬ã³ããªã³ã°ããã HTML ããŒãžãçæãã Razor ã§ããã¯ã©ã€ã¢ã³ãã§ã¯ãCSS ããã³ JS ã¹ã¯ãªããã«ãã£ãŠãã§ã«æ å ±ã衚瀺ãããŠãããå¿ èŠã«å¿ã㊠JQuery çµç±ã§ AJAX ãªã¯ãšã¹ããå®è¡ãããŸãã
ãµãŒããŒäžã®ãªã¯ãšã¹ã㯠*Controller ã¯ã©ã¹ã«éä¿¡ãããããã§ã¡ãœãããåŠçããŠæçµç㪠HTML ããŒãžãçæããŸããã³ã³ãããŒã©ãŒã¯ã*Services ãšåŒã°ããããžãã¯å±€ã«ãªã¯ãšã¹ããéä¿¡ããŸããåãµãŒãã¹ã¯ãããžãã¹ã®äœããã®åŽé¢ã«å¯Ÿå¿ããŠããŸããã
ããšãã°ãDepartmentStructureService ã¯ãã¶åºã«é¢ããæ å ±ãéšéå¥ã«æäŸããŸãããéšéãšã¯ã1 ã€ã®ãã©ã³ãã£ã€ãžãŒã«ãã£ãŠç®¡çããããã¶åºã®ã°ã«ãŒãã§ãã
ReceivingOrdersService ã¯æ³šæã®æ§æãæ¿èªããèšç®ããŸããã
ãããŠãSmsService 㯠SMS éä¿¡çšã® API ãµãŒãã¹ãåŒã³åºã㊠SMS ãéä¿¡ããŸããã
ãµãŒãã¹ã¯ããŒã¿ããŒã¹ããã®ããŒã¿ãåŠçããããžãã¹ ããžãã¯ãä¿åããŸãããåãµãŒãã¹ã«ã¯ã察å¿ããååãæã€ 1 ã€ä»¥äžã® *Repository ããããŸããããããã«ã¯ãããŒã¿ããŒã¹å ã®ã¹ãã¢ã ããã·ãŒãžã£ãžã®ã¯ãšãªãšããããŒã®ã¬ã€ã€ãŒããã§ã«å«ãŸããŠããŸãããã¹ãã¢ã«ã¯ããžãã¹ ããžã㯠(ç¹ã«ã¬ããŒã ããŒã¿ãçæããããžãã¯) ãå«ãŸããŠããŸããã ORM ã¯äœ¿çšããããå šå¡ãææžãã® SQL ã«äŸåããŠããŸããã
ãã¡ã€ã³ ã¢ãã«ãšå ±éãã«ã㌠ã¯ã©ã¹ã®ã¬ã€ã€ãŒ (泚æãä¿åãã Order ã¯ã©ã¹ãªã©) ããããŸããããã®ã¬ã€ã€ãŒã«ã¯ãéžæããé貚ã«å¿ããŠè¡šç€ºããã¹ãã倿ããããã®ãã«ããŒããããŸããã
ãããã¯ãã¹ãŠæ¬¡ã®ã¢ãã«ã§è¡šãããšãã§ããŸãã

泚æçµè·¯
ãã®ãããªæ³šæãäœæããããã®ç°¡ç¥åãããåæãã¹ãèŠãŠã¿ãŸãããã

åœåããã®ãµã€ãã¯éçãªãã®ã§ããã倿®µãæžãããŠããŠãäžéšã«ã¯é»è©±çªå·ãšããã¶ã欲ããã£ãããã®çªå·ã«é»è©±ããŠæ³šæããŠãã ããããšããæåãæžãããŠããŸãããæ³šæããã«ã¯ãç°¡åãªãããŒãå®è£ ããå¿ èŠããããŸãã
ã¯ã©ã€ã¢ã³ãã¯äŸ¡æ ŒãèšèŒãããŠããéçãµã€ãã«ã¢ã¯ã»ã¹ãã補åãéžæããŠããµã€ãã«èšèŒãããŠããçªå·ã«é»è©±ããããŸãã
é¡§å®¢ã¯æ³šæã«è¿œå ããã補åã«ååãä»ããŸãã
äœæãšååãäŒããŸãã
ãªãã¬ãŒã¿ãŒã泚æãæ¿è«ŸããŸãã
泚æã¯ãæ¿èªãããæ³šæã€ã³ã¿ãŒãã§ãŒã¹ã«è¡šç€ºãããŸãã
ãã¹ãŠã¯ã¡ãã¥ãŒã®è¡šç€ºããå§ãŸããŸãããã°ã€ã³ãããŠãŒã¶ãŒãªãã¬ãŒã¿ãŒã¯ãäžåºŠã« 1 ã€ã®æ³šæã®ã¿åãä»ããŸãããããã£ãŠããã©ãããã¹ã±ããã¯ã»ãã·ã§ã³å ã«ä¿åã§ããŸã (ãŠãŒã¶ãŒã®ã»ãã·ã§ã³ã¯ã¡ã¢ãªå ã«ä¿åãããŸã)ã補åãšé¡§å®¢æ å ±ãå«ãŸãã Cart ãªããžã§ã¯ãããããŸãã
顧客ãåååãæå®ãããšããªãã¬ãŒã¿ãŒã + 補åã®æšªã«ã¯ãªãã¯ãããšããµãŒããŒã«ãªã¯ãšã¹ããéä¿¡ãããŸãã補åã«é¢ããæ
å ±ãããŒã¿ããŒã¹ããååŸããã補åã«é¢ããæ
å ±ãã«ãŒãã«è¿œå ãããŸãã

泚æãã¯ããããã§ã¯è£œåãããŒã¿ããŒã¹ããååŸããå¿ èŠã¯ãªããããã³ããšã³ããã転éããå¿ èŠããããŸãããã ããããããããããããã«ãããŒã¿ããŒã¹ããã®ãã¹ã瀺ããŸããã
次ã«ãã¯ã©ã€ã¢ã³ãã®äœæãšååãå ¥åããŸãã

ãæ³šæãäœæããã¯ãªãã¯ãããšïŒ
ãªã¯ãšã¹ãã OrderController.SaveOrder() ã«éä¿¡ããŸãã
ã»ãã·ã§ã³ããã«ãŒããååŸããŸããããã«ã¯å¿ èŠãªæ°éã®è£œåãå«ãŸããŠããŸãã
Cart ã«ã¯ã©ã€ã¢ã³ãã«é¢ããæ å ±ãè£è¶³ããããã ReceivingOrderService ã¯ã©ã¹ã® AddOrder ã¡ãœããã«æž¡ããŠãããŒã¿ããŒã¹ã«ä¿åããŸãã
ããŒã¿ããŒã¹ã«ã¯ã泚æãæ³šææ§æãã¯ã©ã€ã¢ã³ããå«ãããŒãã«ãå«ãŸããŠããããããã¯ãã¹ãŠæ¥ç¶ãããŠããŸãã
泚æè¡šç€ºã€ã³ã¿ãŒãã§ãŒã¹ã¯ææ°ã®æ³šæãåãåºããŠè¡šç€ºããŸãã
æ°ããã¢ãžã¥ãŒã«
泚æãåããããšã¯éèŠãã€å¿ èŠã§ããããã¶ã販売ããããã®æ³šæåä»ã·ã¹ãã ããªããã°ããã¶ã®ããžãã¹ãè¡ãããšã¯ã§ããŸããããã®ãããã·ã¹ãã ã¯2012幎ãã2015幎é ã«æ©èœãç²åŸãå§ããŸããããã®éã«ãå€ãã®ç°ãªãã·ã¹ãã ãããã¯ãç»å ŽããŸããã ã¢ãžã¥ãŒã«ãµãŒãã¹ã補åã®æŠå¿µãšã¯å¯Ÿç §çã§ãã
ã¢ãžã¥ãŒã«ãšã¯ãå ±éã®ããžãã¹ç®æšã«ãã£ãŠçµ±åãããäžé£ã®æ©èœã§ããåæã«ããããã¯ç©ççã«åãã¢ããªã±ãŒã·ã§ã³å ã«é 眮ãããŸãã
ã¢ãžã¥ãŒã«ã¯ã·ã¹ãã ã®ãããã¯ãšåŒã¶ããšãã§ããŸããäŸãã°ãã¬ããŒãã¢ãžã¥ãŒã«ã管çã€ã³ã¿ãŒãã§ãŒã¹ã ãæ¿èªããããã¯ãã¹ãŠç°ãªããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã§ãããèŠèŠã¹ã¿ã€ã«ãç°ãªããã®ããããŸããããã«ããã¹ãŠã 1 ã€ã®ã¢ããªã±ãŒã·ã§ã³ã1 ã€ã®å®è¡ããã»ã¹ã®ãã¬ãŒã ã¯ãŒã¯å ã«ãããŸãã
æè¡çã«ã¯ãã¢ãžã¥ãŒã«ã¯ãšãªã¢ãšããŠèšèšãããŸããïŒãã®ã¢ã€ãã¢ã¯ ïŒãããã³ããšã³ããã¢ãã«ããããŠç¬èªã®ã³ã³ãããŒã©ãŒã¯ã©ã¹ã«ã¯åå¥ã®ãã¡ã€ã«ããããŸããããã®çµæãã·ã¹ãã ã¯æ¬¡ã®ããã«å€åããŸããâŠ

âŠãã®ããã«:

äžéšã®ã¢ãžã¥ãŒã«ã¯ãå®å šã«åé¢ãããæ©èœã®ããããŸããããçšåºŠåé¢ããããããéç¹çãªéçºã®ãããåå¥ã®ãµã€ã (å®è¡å¯èœãããžã§ã¯ã) ãšããŠå®è£ ãããŠããŸããããïŒ
Site - ãŠã§ããµã€ã dodopizza.ruã
ãšã¯ã¹ããŒã: 1C ã® Dodo IS ããã¬ããŒããããŠã³ããŒãããŠããŸãã
ããŒãœãã« â åŸæ¥å¡ã®å人ã¢ã«ãŠã³ããããã¯å¥ã ã«éçºãããŠãããç¬èªã®ãšã³ã㪠ãã€ã³ããšåå¥ã®ãã¶ã€ã³ãåããŠããŸãã
fs â éçã³ã³ãã³ãããã¹ãããããã®ãããžã§ã¯ãããã®åŸãç§ãã¡ã¯ããã廿¢ãããã¹ãŠã®éçã³ã³ãã³ãã Akamai CDN ã«ç§»è¡ããŸããã
æ®ãã®ãããã¯ã¯ BackOffice ã¢ããªã±ãŒã·ã§ã³ã«ãããŸããã

ååã®èª¬æ:
ã¬ãžä¿ â ã¬ã¹ãã©ã³ã®ã¬ãžã
ShiftManager â ãã·ãã ãããŒãžã£ãŒãããŒã«ã®ã€ã³ã¿ãŒãã§ã€ã¹: ãã¶å±ã®å£²äžã«é¢ããéçšçµ±èšã補åã忢ãªã¹ãã«è¿œå ããæ©èœã泚æã倿Žããæ©èœã
OfficeManager â 圹å²ããã¶åºãããŒãžã£ãŒãããã³ããã©ã³ãã£ã€ãºåºäž»ãã®ã€ã³ã¿ãŒãã§ãŒã¹ããã®ã»ã¯ã·ã§ã³ã«ã¯ããã¶åºã®èšå®ãããŒãã¹ããã¢ãŒã·ã§ã³ãåŸæ¥å¡ã®éçšãšäœæ¥ãã¬ããŒããªã©ã®æ©èœãå«ãŸããŠããŸãã
PublicScreens â ãã¶å±ã«èšçœ®ããããã¬ããã¿ãã¬ããçšã®ã€ã³ã¿ãŒãã§ãŒã¹ããã¬ãã«ã¯é éæã«ã¡ãã¥ãŒãåºåæ å ±ãæ³šæç¶æ³ã衚瀺ãããŸãã
å ±éã®ãµãŒãã¹ ã¬ã€ã€ãŒãDodo.Core ãã¡ã€ã³ ã¯ã©ã¹ã®å ±éãããã¯ãããã³å ±éããŒã¹ã䜿çšããŸãããæã«ã¯ãéè·¯ãéããŠäºãã«ã€ãªããããšããããŸããã dodopizza.ru ã personal.dodopizza.ru ãªã©ã®åå¥ã®ãµã€ããå«ããäžè¬çãªãµãŒãã¹ã䜿çšãããŸãã
æ°ããã¢ãžã¥ãŒã«ãç»å ŽãããšããããŒã¿ããŒã¹å ã®ãµãŒãã¹ãã¹ãã¢ã ããã·ãŒãžã£ãããã³ããŒãã«ã®æ¢ã«äœæãããã³ãŒããå¯èœãªéãåå©çšããããã«ããŸããã
ã·ã¹ãã ã§äœæãããã¢ãžã¥ãŒã«ã®èŠæš¡ãããããçè§£ããããã«ã2012 幎ã®éçºèšç»ã瀺ãå³ã以äžã«ç€ºããŸãã

2015 幎ãŸã§ã«ããã¹ãŠãèšç»æ®µéã«ãããããã«å€ãã®ãã®ãçç£ãããŠããŸããã
泚æå仿©èœã¯ããªãã¬ãŒã¿ãŒã泚æãåãä»ããç¬ç«ããã³ã³ã¿ã¯ã ã»ã³ã¿ãŒ ãããã¯ã«é²åããŸããã
ãã¶å±ã«ã¯ãã¡ãã¥ãŒãæ å ±ã衚瀺ããå ¬éã¹ã¯ãªãŒã³ãç»å ŽããŠããã
ãããã³ã«ã¯ãæ°ããæ³šæãåãåããšãæ°ãããã¶ãå±ããŸããããšããé³å£°ã¡ãã»ãŒãžãèªåçã«åçããé éå¡åãã®è«æ±æžãå°å·ããã¢ãžã¥ãŒã«ããããŸããããã«ããããããã³ã§ã®ããã»ã¹ãå€§å¹ ã«ç°¡çŽ åãããåŸæ¥å¡ã倿°ã®åçŽãªæäœã«æ°ãåãããããšããªããªããŸãã
é éãããã¯ã¯ç¬ç«ããé éã¬ãžãšãªããããã§æ³šæãã·ãããéå§ããé éå¡ã«æž¡ãããããã«ãªããŸããã圌ã®çµŠäžèšç®ã«ã¯åŽåæéãèæ ®ãããŸããã
䞊è¡ããŠã2012幎ãã2015幎ã«ãããŠã10瀟ãè¶ ããéçºæ¥è ãç»å Žãã35è»ã®ãã¶åºããªãŒãã³ããã·ã¹ãã ã¯ã«ãŒããã¢ã«æ¡å€§ãããç±³åœã§ã®åºåºãæºåãããŸãããéçºè ã¯ãã¹ãŠã®ã¿ã¹ã¯ãåŠçããã®ã§ã¯ãªããããŒã ã«åãããŠåãçµãããã«ãªããŸããããããããã·ã¹ãã ã®ç¬èªã®éšåã«ç¹åããŠããŸãã
åé¡
ã¢ãŒããã¯ãã£ã®çç±ãå«ã¿ãŸãïŒãã ãããã ãã§ã¯ãããŸããïŒã
åºå°ã®æ··ä¹±
ããŒã¹ã¯1ã€ãããšäŸ¿å©ã§ããäžè²«æ§ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«çµã¿èŸŒãŸããããŒã«ã䜿çšããŠå®çŸãããŸããç¹ã«ããŒãã«ãããŒã¿ãå°ãªãå Žåã«ã¯ãäœ¿ãæ £ããŠããŠäŸ¿å©ã§ãã
ãããã4 幎éã®éçºæéãçµãŠãããŒã¿ããŒã¹ã«ã¯çŽ 600 åã®ããŒãã«ãš 1500 åã®ã¹ãã¢ã ããã·ãŒãžã£ãå«ãŸãããã®å€ãã«ã¯ããžãã¯ãå«ãŸããŠããŸãããæ®å¿µãªãããã¹ãã¢ã ããã·ãŒãžã£ã¯ MySQL ã䜿çšããå Žåã«ã¯ããŸãã¡ãªããããããŸããããããã¯ããŒã¿ããŒã¹ã«ãã£ãŠãã£ãã·ã¥ãããªããããããã«ããžãã¯ãä¿åãããšéçºãšãããã°ãè€éã«ãªããŸããã³ãŒãã®åå©çšãå°é£ã§ãã
å€ãã®ããŒãã«ã«ã¯é©åãªã€ã³ããã¯ã¹ããããŸããã§ããããéã«ãã©ããã«ã€ã³ããã¯ã¹ããããããããæ¿å ¥ãå°é£ã§ãããçŽ 20 åã®ããŒãã«ã倿Žããå¿ èŠããããŸãããæ³šæãäœæãããã©ã³ã¶ã¯ã·ã§ã³ã«ã¯çŽ 3 ïœ 5 ç§ãããå ŽåããããŸãã
衚å ã®ããŒã¿ã¯å¿ ãããæé©ãªåœ¢åŒã§ã¯ãããŸããã§ããããã©ããã§éæ£èŠåãè¡ãå¿ èŠããããŸããã宿çã«åä¿¡ãããããŒã¿ã®äžéšã¯ XML æ§é 圢åŒã®åã§ãã£ããããå®è¡æéãé·ããªããã¯ãšãªãé·ããªããéçºãè€éã«ãªããŸããã
åãããŒãã«ã«éåžžã«å€ãã®å€æŽãå ããããŸãã ç°çš®ã®ãªã¯ãšã¹ããäžèšã®ãããªäººæ°ã®ããŒãã«ã¯ç¹ã« åæ³š ãŸãã¯ããŒãã« ãã¶å±ããããã¯ããããã³ã®æäœã€ã³ã¿ãŒãã§ãŒã¹ãåæã衚瀺ããããã«äœ¿çšãããŸããããµã€ãåŽãé£çµ¡ãåã£ãïŒïŒãç¹å®ã®æéã«å€§éã®ãªã¯ãšã¹ããçªç¶å°çããå¯èœæ§ããããŸãã
ããŒã¿ã¯éèšãããŸããã§ããã ãããŠãããŒã¿ããŒã¹ã䜿çšããŠå€ãã®èšç®ãå³åº§ã«å®è¡ãããŸãããããã«ãããäžèŠãªèšç®ãšè¿œå ã®è² è·ãçºçããŸããã
å€ãã®å Žåãã³ãŒãã¯å¿ èŠã®ãªããšãã«ããŒã¿ããŒã¹ã«å ¥åãããŸããã©ããã§äžæ¬æäœãååã§ãªãã£ãããé床ãäžããŠä¿¡é Œæ§ãé«ããããã«ãã³ãŒããéã㊠1 ã€ã®ãªã¯ãšã¹ããè€æ°ã«åå²ããå¿ èŠããããŸããã
ã³ãŒãã«ãããåéæ§ãšçµ¡ã¿åã
æ¥åã®äžéšãæ ãã¯ãã®ã¢ãžã¥ãŒã«ãããããæ£çŽã«å®è¡ããŸããã§ãããã圹å²ã®æ©èœãéè€ããŠãããã®ããããŸãããããšãã°ãèªåã®åžå ã®ãããã¯ãŒã¯ã®ããŒã±ãã£ã³ã°æŽ»åãæ åœããå°å ã®ããŒã±ãã£ã³ã°æ åœè ã¯ãã管çè ãã€ã³ã¿ãŒãã§ã€ã¹ïŒããã¢ãŒã·ã§ã³ãèšå®ããããïŒãšããªãã£ã¹ ãããŒãžã£ãŒãã€ã³ã¿ãŒãã§ã€ã¹ïŒããã¢ãŒã·ã§ã³ãããžãã¹ã«äžãã圱é¿ã衚瀺ããããïŒã®äž¡æ¹ã䜿çšããå¿ èŠããããŸããããã¡ãããå éšçã«ã¯äž¡æ¹ã®ã¢ãžã¥ãŒã«ãããŒãã¹ ããã¢ãŒã·ã§ã³ã«å¯Ÿå¿ãã 1 ã€ã®ãµãŒãã¹ã䜿çšããŠããŸããã
ãµãŒãã¹ (åäžã®ã¢ããªã·ãã¯ãªå€§èŠæš¡ãããžã§ã¯ãå ã®ã¯ã©ã¹) ã¯çžäºã«åŒã³åºããŠããŒã¿ãæ¡å ã§ããŸãã
ããŒã¿ãä¿åããã¢ãã«ã¯ã©ã¹èªäœã§ã¯ã ã³ãŒãäœæ¥ã¯ç°ãªãæ¹æ³ã§è¡ããããã©ããã«ãå¿ é ãã£ãŒã«ããæå®ã§ããã³ã³ã¹ãã©ã¯ã¿ãŒããããŸãããã©ããã§ãããã¯å ¬å ±ã®è²¡ç£ãéããŠè¡ãããŸããããã¡ãããããŒã¿ããŒã¹ããããŒã¿ãååŸããŠå€æããæ¹æ³ã¯å€å²ã«ããããŸãã
ããžãã¯ã¯ã³ã³ãããŒã©ãŒãŸãã¯ãµãŒãã¹ ã¯ã©ã¹ã®ããããã«ãããŸããã
ãããã¯äºçްãªåé¡ã®ããã«æããŸãããéçºã®é床ãå€§å¹ ã«äœäžããå質ãäœäžããäžå®å®æ§ããã°ãçºçããŸããã
å€§èŠæš¡éçºã®è€éã
éçºèªäœã«ãå°é£ãçãããã·ã¹ãã ã®ç°ãªããããã¯ã䞊è¡ããŠäœæããå¿ èŠããããŸãããåã³ã³ããŒãã³ãã®ããŒãºãåäžã®ã³ãŒãããŒã¹ã«åããããšããŸããŸãå°é£ã«ãªã£ãŠããŸãããå šãŠã®ã³ã³ããŒãã³ããåæã«åæãæºè¶³ãããããšã¯ç°¡åã§ã¯ãããŸããã§ãããããã«å ããŠãç¹ã«ããŒã¹ãšããã³ããšã³ãã«ããããã¯ãããžãŒã®å¶éããããŸãããç¹ã«ã¯ã©ã€ã¢ã³ã ãµãŒãã¹ (Web ãµã€ã) ã«é¢ããŠã¯ãJQuery ãæŸæ£ããŠé«ã¬ãã«ã®ãã¬ãŒã ã¯ãŒã¯ãæ¡çšããå¿ èŠããããŸããã
ã·ã¹ãã ã®äžéšã§ã¯ãããã«é©ããããŒã¿ããŒã¹ã䜿çšã§ããããäŸãã°ããã®åŸã泚æã«ãŒããä¿åããããã« Redis ãã CosmosDB ã«åãæ¿ããåäŸããããŸããã
ååéã§åãããŒã ãéçºè ã¯ãéçºãšå±éã®äž¡é¢ã§ããµãŒãã¹ã®èªåŸæ§ãé«ããããšæç¢ºã«æãã§ããŸãããããŒãžäžã®ç«¶åããªãªãŒã¹äžã®åé¡ãéçºè ã 5 人ã§ããã°ãã®åé¡ã¯éèŠã§ã¯ãããŸãããã10 人ã«ãªããšãç¹ã«èšç»ãããŠããå¢å ã«äŒŽãããã¹ãŠãããæ·±å»ã«ãªããŸãããããŠããã®å ã«ã¯ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºïŒ2017幎ã«éå§ããã2018幎ã«ã¯ ).
ã·ã¹ãã ã®ããŸããŸãªéšåã«ã¯ãç°ãªãå®å®æ§ææšãå¿ èŠã§ããããã ããã·ã¹ãã ã®æ¥ç¶æ§ã匷åã§ããããããããä¿èšŒããããšã¯ã§ããŸããã§ãããã³ãŒãã¯å ±éãã€åå©çšå¯èœã§ãããããŒã¿ããŒã¹ãšããŒã¿ãåãã§ããããã管çããã«ã§æ°ããæ©èœãéçºããéã«ãšã©ãŒãçºçãããšããµã€ãã®æ³šæåä»ã«åœ±é¿ãåºãå¯èœæ§ããããŸãã
ãã®ãããªã¢ããªã·ã㯠ã¢ãžã¥ãŒã« ã¢ãŒããã¯ãã£ã®ãã¬ãŒã ã¯ãŒã¯å ã§ã¯ã責任ã®åé¢ãã³ãŒããšããŒã¿ããŒã¹ã®äž¡æ¹ã®ãªãã¡ã¯ã¿ãªã³ã°ãã¬ã€ã€ãŒéã®æç¢ºãªåé¢ãåè³ªã®æ¯æ¥ç£èŠãªã©ãè¡ãããšã§ããããã®ãšã©ãŒãåé¡ãåé¿ã§ããå¯èœæ§ããããŸããããããéžæãããã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ãšã·ã¹ãã æ©èœã®æ¥éãªæ¡åŒµã«éç¹ã眮ãããããšã§ãå®å®æ§ã®é¢ã§åé¡ãçºçããŸããã
ããã°ãå¿ã®åããã¬ã¹ãã©ã³ã®ã¬ãžãç Žå£ããçµç·¯
ãã¶ãã§ãŒã³ïŒããã³è·ç©ïŒã®æé·ãåãå²åã§ç¶ç¶ããå Žåããã°ãããããšæžå°ãèµ·ãããã·ã¹ãã ã¯äžæããªããªããŸããæ¬¡ã®è©±ã¯ã2015 幎ãŸã§ã«ç§ãã¡ãçŽé¢ãå§ããåé¡ããã衚ããŠããŸãã
ããã°ã§ã¯ãããããã¯ãŒã¯å šäœã®å¹ŽéåçããŒã¿ã衚瀺ãããŠã£ãžã§ããããããŸããããã®ãŠã£ãžã§ããã¯ããã®ããŒã¿ãæäŸãããããªãã¯Dodo APIã«ã¢ã¯ã»ã¹ããŠããŸããããããã®çµ±èšã¯çŸåšã ããŠã£ãžã§ããã¯ãã¹ãŠã®ããŒãžã«è¡šç€ºãããããã20 ç§ããšã«ã¿ã€ããŒã§ãªã¯ãšã¹ããéä¿¡ãããŸãããªã¯ãšã¹ã㯠api.dodopizza.ru ã«éä¿¡ãããæ¬¡ã®å 容ãèŠæ±ãããŸããã
ãã§ãŒã³å ã®ãã¶åºã®æ°ã
幎åããã®ãããã¯ãŒã¯ã®ç·åçã
仿¥ã®åçã
åççµ±èšã®ãªã¯ãšã¹ãã¯ããŒã¿ããŒã¹ã«çŽæ¥éä¿¡ãããæ³šæã«é¢ããããŒã¿ã®ãªã¯ãšã¹ãã峿ã«ããŒã¿ã®éèšãåèšã®çºè¡ãéå§ãããŸããã
ã¬ã¹ãã©ã³ã®ã¬ãžä¿ã¯åãæ³šæããŒãã«ã«è¡ããæ¬æ¥åãä»ããæ³šæã®ãªã¹ããããŠã³ããŒãããããã«æ°ããæ³šæã远å ããŸãããã¬ãžã¯ 5 ç§ããšã«ããŸãã¯ããŒãžãæŽæ°ããããã³ã«ãªã¯ãšã¹ããéä¿¡ããŸããã
å³ã¯æ¬¡ã®ããã«ãªããŸãã

ããç§ããã§ãŒãã«ã»ãªããã³ãã³ãã¯èªèº«ã®ããã°ã«é·ããŠäººæ°ã®ããèšäºãæžããŸãããå€ãã®äººãããã°ã蚪ãããã¹ãŠãæ³šææ·±ãèªã¿å§ããŸãããæ¥å Žè ãèšäºãèªãã§ããéãåçãŠã£ãžã§ããã¯æ£åžžã«åäœãã20 ç§ããšã« API ãèŠæ±ããŠããŸããã
API ã¯ã¹ãã¢ã ããã·ãŒãžã£ãåŒã³åºããŠããã§ãŒã³å ã®ãã¹ãŠã®ãã¶åºã®å¹Žåããã®æ³šæã®åèšãèšç®ããŸãããéèšã¯ãéåžžã«äººæ°ã®ããæ³šæããŒãã«ã«åºã¥ããŠè¡ãããŸããããã®æéã«å¶æ¥ããŠãããã¹ãŠã®ã¬ã¹ãã©ã³ã®ã¬ãžãããã«éãŸããŸããã¬ãžãåå¿ããªããªããæ³šæãåãä»ããããªããªããŸããããŸãããããã¯ãµã€ãããåãå ¥ããããããã©ãã«ãŒã«ã衚瀺ããããã·ãã ãããŒãžã£ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ã§ãããã確èªã§ããŸããã§ããã
ããã¯å¯äžã®è©±ã§ã¯ãããŸããã 2015 幎ã®ç§ãŸã§ã«ãæ¯é±éææ¥ã®ã·ã¹ãã è² è·ã¯æ·±å»ãªç¶æ ã«ãªããŸãããç§ãã¡ã¯ãããªã㯠API ãäœåºŠããªãã«ããŸããããäœã圹ã«ç«ããªããªã£ãããããµã€ãããªãã«ããªããã°ãªããªãã£ãããšãããããŸãããè² è·ãããã£ããšãã«ãªãã«ãããé åºãèšèŒãããµãŒãã¹ã®ãªã¹ãããããŸããã
ãã®æãããè² è·ãšã®éããšã·ã¹ãã ã®å®å®åã«åããéããå§ãŸããŸãïŒ2015 幎ç§ãã 2018 幎ç§ãŸã§ïŒããã®æãããèµ·ãã£ãã®ã§ãããã®åŸãææãéåžžã«ææãªé害ãçºçããŸããããå šè¬çãªäžå®å®ãªææã¯çµãã£ããšèããããŸãã
ããžãã¹ã®æ¥éãªæé·
ãªãããã«ããŸãã§ããªãã£ãã®ã§ãããã?次ã®ã°ã©ããèŠãŠãã ããã

ãŸãã2014幎ãã2015幎ã«ãããŠã«ãŒããã¢ã§ãéèšãããç±³åœã§ãéèšã®æºåãé²ããããŠããŸããã
ãããã¯ãŒã¯ã¯æ¥éã«æé·ããæ°ããåœããªãŒãã³ããããŒãã³ãŒãã«ãã¶å±ããªãŒãã³ãããªã©ãæ°ãããã¶å±ã®åœ¢æ ãç»å ŽããŸãããããããã¹ãŠã«ã¯ãDodo IS ã®æ©èœæ¡åŒµã«å€å€§ãªæ³šæãæãå¿ èŠããããŸãããããããã¹ãŠã®æ©èœãã€ãŸããããã³ã§ã®è¿œè·¡ãã·ã¹ãã ã§ã®è£œåãšæå€±ã®èšç®ãããŒãã³ãŒãã§ã®æ³šæã®é éã®è¡šç€ºããªããã°ããæ£ãããã¢ãŒããã¯ãã£ãéçºãžã®ãæ£ãããã¢ãããŒãã«ã€ããŠè°è«ããããšã¯ã»ãšãã©ã§ããªãã§ãããã
ã¢ãŒããã¯ãã£ã®ã¿ã€ã ãªãŒãªæ¹èšããããŠäžè¬çã«æè¡çãªåé¡ãžã®æ³šæã劚ããããäžã€ã®é害ã¯ã2014 幎ã®å±æ©ã§ããããã®ãããªããšã¯ãç¹ã« Dodo Pizza ã®ãããªæ°ããããžãã¹ã®å ŽåãããŒã ã®æé·ã®å¯èœæ§ãæãªããŸãã
圹ã«ç«ã€ç°¡åãªä¿®æ£
解決ããå¿ èŠã®ããåé¡ãåŸæ¥ããœãªã¥ãŒã·ã§ã³ã¯æ¬¡ã® 2 ã€ã®ã°ã«ãŒãã«åããããŸãã
ç«ãæ¶ããå°ãã®å®å šäœè£ãäžãã倿Žãå ããæéã皌ãã§ãããçŽ æ©ããã®ã
å šèº«çã§ãããããé·æéæç¶ããŸãã倿°ã®ã¢ãžã¥ãŒã«ãåèšèšããã¢ããªã·ãã¯ã¢ãŒããã¯ãã£ãåå¥ã®ãµãŒãã¹ã«åå²ããŸãïŒãã®ã»ãšãã©ã¯ãã€ã¯ããµãŒãã¹ã§ã¯ãªãããã¯ããµãŒãã¹ã§ãããããã«é¢ããæçš¿ããããŸãã ).
ç°¡åãªå€æŽç¹ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
ãã¹ã¿ãŒããŒã¹ãã¹ã±ãŒã«ã¢ãããã
ãã¡ãããè² è·ã«å¯ŸåŠããããã«æåã«è¡ãããšã¯ããµãŒããŒã®å®¹éãå¢ããããšã§ããããã¯ãã¹ã¿ãŒ ããŒã¹ãš Web ãµãŒããŒã«å¯ŸããŠå®è¡ãããŸãããæ®å¿µãªãããããã¯äžå®ã®é床ãŸã§ããäžå¯èœã§ãããã以éã¯é«é¡ã«ãªããããŸãã
2014幎ããAzureã«ç§»è¡ããŠãããåœæããã®ãããã¯ã«ã€ããŠãããããäžé£ã®å€äžãã«ãããåºå°ã®ãµãŒããŒã¯äŸ¡æ Œã®äžéã«éããŸããã
èªã¿åãçšã®åºæ¬ã¬ããªã«
ããŒã¹ã®ã¬ããªã«ã 2 ã€äœæããŸããã
ãªãŒãã¬ããªã« åç §ã¯ãšãªãããã¯ãéœåžãéãããã¶å±ã補åïŒãã£ããå€åãããã¡ã€ã³ïŒãªã©ã®ãã£ã¬ã¯ããªã®èªã¿åãããå°ããªé å»¶ã蚱容ãããã€ã³ã¿ãŒãã§ãŒã¹ã§äœ¿çšãããŸãããããã®ã¬ããªã«ã¯ 2 ã€ããããã¹ã¿ãŒãšåãæ¹æ³ã§å¯çšæ§ã確ä¿ããŸããã
ã¬ããŒãã¯ãšãªã® ReadReplicaããã®ããŒã¿ããŒã¹ã®å¯çšæ§ã¯äœãã£ãã®ã§ããããã¹ãŠã®ã¬ããŒãããã®ããŒã¿ããŒã¹ã«éä¿¡ãããŸãããèšå€§ãªããŒã¿ã®åèšç®ã®èŠæ±ãå€ã ãããããããŸããããå°ãªããšãã¡ã€ã³ã®ããŒã¿ããŒã¹ãæäœã€ã³ã¿ãŒãã§ãŒã¹ã«ã¯åœ±é¿ããŸããã
ã³ãŒãå ã®ãã£ãã·ã¥
ã³ãŒãå ã«ã¯ã©ãã«ããã£ãã·ã¥ããããŸããã§ãããããã«ãããããŒããããããŒã¿ããŒã¹ã«å¯ŸããŠãå¿ ãããå¿ èŠã§ã¯ãªã远å ã®èŠæ±ãçºçããŸãããåœåããã£ãã·ã¥ã¯ã¡ã¢ãªå ãšãRedis ãšããå€éšãã£ãã·ã¥ ãµãŒãã¹äžã®äž¡æ¹ã«ååšããŠããŸããããã¹ãŠã¯æéã«ãã£ãŠç¡å¹ã«ãªããèšå®ã¯ã³ãŒãã§æå®ãããŸããã
ããã¯ãšã³ãçšã®è€æ°ã®ãµãŒããŒ
å¢å ããè² è·ã«å¯Ÿå¿ããããã«ãã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ããæ¡åŒµããå¿ èŠããããŸããã 1 å°ã® IIS ãµãŒããŒããã¯ã©ã¹ã¿ãŒãäœæããå¿ èŠããããŸãããç§ãã¡ã¯åŒã£è¶ããŸãã ã¡ã¢ãªãã RedisCache ã«ç§»è¡ããã·ã³ãã«ãªã©ãŠã³ãããã³ ããŒã ãã©ã³ãµãŒã®èåŸã«è€æ°ã®ãµãŒããŒãé 眮ã§ããããã«ãªããŸãããæåã¯ãã£ãã·ã¥ãšããŠåã Redis ã䜿çšãããŠããŸãããããã®åŸãè€æ°ã«åå²ãããŸããã
ãã®çµæãã¢ãŒããã¯ãã£ã¯ããè€éã«ãªããŸãã...

âŠããããç·åŒµã¯å°ãåãããŸããã
ãããŠãããŒããããã³ã³ããŒãã³ããäœãçŽãå¿ èŠããããç§ãã¡ã¯ãããåŒãåããŸãããããã«ã€ããŠã¯æ¬¡ã®ããŒãã§ã話ãããŸãã
åºæïŒ habr.com
