ç°¡åã«èšããšãBPAã¯ãé ä¿¡ãµãŒãã¹ã巚倧ãªååº«ãæ³šæç®¡çã·ã¹ãã ãéçºããã³ããŒãããŒãšã®çµ±åãšçµã¿åãããããã®ãããªéäžåãããã¯ãŒã¯ã§ããããã¯ãã¹ãŠãã¬ããŒããšåæã«çµã³ã€ããŠããŸãããããã®ã·ã¹ãã ã®çžäºäœçšããã³ããŒãããŒãžã®åæ§ã®ãµãŒãã¹ã®æäŸã®ããã«ããã¹ãŠã®ãµãŒãã¹ãèšèšããã³äœæããŸãã
ç§ãã¡ã®ITéšéã¯çŸå®ã®äžçã«åºäŒã£ãŠããŸããITã·ã¹ãã ã§15åã®é ä¿¡ééãèšå®ããã®ã¯ç°¡åã§ãããã¢ã¹ã¯ã¯ã®äœå人ãã®å¶æ¥æ åœè ããã®ééã§æ£ç¢ºã«äœæã«æ¥ãããã«ããããšã¯éåžžã«å°é£ã§ããç§ãã¡ã®éšéã®äž»ãªä»äºã¯ãããžãã¹ãšãã¯ãããžãŒããªã³ã¯ããããšã§ããçŸåšãBPAéšéèªäœã¯ãé éãå庫ãããã³B2Bãšåžå Žãšã®çžäºäœçšãå«ã忥æ©èœã®3ã€ã®é åã«ãããŸãããããŠãç§ãã¡ãèªåã§äœ¿çšããå€éšã§è²©å£²ãããã®ã¯ãã¹ãŠæ¬åœã«ã¯ãŒã«ã§ããç§ãã¡ã®æ©èœã¯ããéããããããæéãç¯çŽããé«å質ã®ãµãŒãã¹ãã客æ§ã«æäŸããŸãã
5ã€ã®èšèªãš200äžè¡ã®ã³ãŒã
BPAã¯ãçžäºã«çµ±åãããã·ã¹ãã ã®ã»ããã§ãããä»ã®Lamodaã·ã¹ãã ã§ãããããã®éçºã«ã¯ãPHPãJavaãKotlinã䜿çšããGoãšTypescriptãå°ããããŸã-ãã¯ãã«ã«ã¬ãŒããŒã«ã¯5ã€ã®èšèªããããŸããç§éã¯ç§éã®ããžãã¹ã®ã¿ã¹ã¯ã®ããã«ãã¹ãŠã®ã·ã¹ãã ãæžããŸããä»ã§ã¯200äžè¡ã®ã³ãŒãã25ã®ãµãŒãã¹ã100ãè¶
ããåå©çšå¯èœãªã©ã€ãã©ãªã«ãªã£ãŠããŸãã
äž»ãªèšèªã¯PHPã§ãããä»ã®ããã€ãã®å€§èŠæš¡ãªãµãŒãã¹ã¯JavaãšKotlinã§èšè¿°ãããŠããŸãããªãPHPãªã®ãïŒç¬¬äžã«ãããã¯æ³šæåŠçã·ã¹ãã ãå®è£ ããŸã-ã¢ããªã¹ã¯ãç§ãã¡ãé·å¹Žãã€ã¯ããµãŒãã¹ã«åãå ¥ããŠããŸããããããŠç¬¬äºã«ãç§ãã¡ã¯PHPã§ã®äœæ¥ã«åªããŠããŸãïŒç§ãã¡ã¯ããããã°ããæžãããããããŸãæäŸããããããã®ã©ã€ãã©ãªã§ããã解決ããŸãã..ããã®ã¢ãããŒãã«ããããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£æ¥ç¶ã䜿çšããŠããã¹ãŠã®ãã°ãšç£èŠã䜿çšããŠããããæ°æ¥ã§æ°ãããµãŒãã¹ãéå§ã§ããŸãã GoãšKotlinã®äž¡æ¹ãå庫ã®ããã«äœ¿çšã§ããŸããéè€ãããã¯ãããžãŒã¯äœ¿çšããŠããŸããããŸãããããæ©èœããéããä»ã®ãã¹ãŠãçŠæ¢ãããŠããããã§ã¯ãããŸããã
ããžãã¹ããã»ã¹ã§ã¯ãåã¹ãããã®è«çãšææ ®æ·±ããéèŠã§ããããªãã®æ³šæãå庫ãããŠã©ãžãŽã©ã¹ãã¯ã«è¡ããããã§çªç¶äºæããªããã¬ãŒããã·ã¹ãã ã«çŸããŠããããããªãã«äžããããªãã£ããšããããšãèµ·ãããªãããã«ã
ã·ã¹ãã ããžãã¯ã®å®è¡ã®å®å®æ§ãšæ£ç¢ºæ§ãéèŠã§ãããããåã¹ãããããã¹ãã§ã«ããŒããå¿ èŠããããŸããããã«ãããŒãããŒãåœç€Ÿã®ããžãã¹ããã»ã¹ã䜿çšããŠããŸãããããã£ãŠãæ°ãããµãŒãã¹ã®éå§ã®ã¹ããŒããããžãã¹ã«ãšã£ãŠéèŠã§ããã«ãããããããäŒç€Ÿã®åªå äºé ã¯å®å®æ§ã§ããå®å®æ§ã確ä¿ããããã«ããµãŒãã¹ã®èšèšãšãã®åšèŸºã§ã®ãã¹ãã«æéãè²»ãããŠããŸããããã«ããããã¹ãŠãå£ããªã¹ã¯ãåãããšãªãã·ã¹ãã ãéçºããæ©äŒãåŸãããŸãã
ãã°ããããŸãïŒ
ç§ã¯ãWMSã®ãã¯ãã«ã«ãªãŒããŒã§ããAnton Dmitrienkoã§ããLamodaæµéã»ã³ã¿ãŒç®¡çã·ã¹ãã ããŸãã¯ãã£ãšç°¡åã«èšãã°ãå庫ã§ãã
ç§ã®äž»ãªä»äºã¯ãããžãã¹ãšåãèšèªã話ãããã¡ã€ã³ã¢ãã«ãéçºããã·ã¹ãã ã倿Žã«åããããšã§ãããããè¡ãã«ã¯ãããããã¹ãããããã©ãã«ããããçè§£ããå¿ èŠããããŸãã 3幎ã«1åã®ããã»ã¹ãšã3ãæã«1åã®ããã»ã¹ããããŸãããããã¯ããããã¹ããããã§ãããããã¯ãã·ã¹ãã ãèšèšãããšãã«èæ ®ããããšãéèŠã§ãã
çŸåšãç§ã«ã¯4ã€ã®ããŒã ããããŸããã·ã¹ãã ã®äœæããã¹ããããã³ãµããŒãã«åŸäºãã18人ã§ããå庫ã®ãã¹ãŠã®éçšããã»ã¹ãšããžãã¹ããã»ã¹ãå éããŸããçŸåšã®Lamodaã®ããžãã¹éããªããã°ã1ã€ã®é¡§å®¢æ³šæã®çºéã«æéãããããåå ããããšã§æ³šæã®åŠçæéã4æéã«ççž®ãããŸãã
ãã¡ãããèŠæš¡ã¯éåžžã«å€§ããã§ããã©ã¢ãå庫ã¯çŽ4äžå¹³æ¹ã¡ãŒãã«ããŸãã¯5ããã¢ã«ããã€ãã®ãµãã«ãŒå Žãããã1,000äžåã®ååãä¿ç®¡ãããŠããŸãã幎äžç¡äŒã§å¹Žã«1åã1æ1æ¥ã¯äŒã¿ã§ãããããŠãæ¯æ¥500人以äžã®åŸæ¥å¡ãã·ããã®ããã«åºçºããç§ãã¡ã®ã·ã¹ãã ãéããŠ20äžã®ååãéåä¿¡ãããŸããããã«ãæ©æ¢°åãããã³ã³ãã€ãŒãšæ©åšã®ãããã¯ãŒã¯ãå庫å ã«å±éãããååã®èŒžéãå°å ã®æ¢±å ãé¡§å®¢ã®æ³šæã®ç©ççãªçµ±åãç®çå°ããšã®å°å ã®äžŠã¹æ¿ããè¡ãããã«èšèšãããŠããŸãã
Lamodaã¯ãç¹å€§ã®åãã¹ãŒãã±ãŒã¹ããå°ããªæèšããžã¥ãšãªãŒãŸã§ãããããçš®é¡ã®ååã顧客ã«è²©å£²ããŠããŸãããããã¯ãã¹ãŠãå庫ã§ä¿ç®¡ããã³åŠçãããŸããåã«ããŽãªã«ã¯ç¬èªã®ç¹æ§ããããŸããããšãã°ãç¹å€§ã®ååã¯èªåè£ çœ®ã§åŠçã§ãããå®ç³ã¯è¿œå ã®ã»ãã¥ãªãã£å¯Ÿçã§ä¿ç®¡ããã³åŠçãããŸããããšãã°ãåç²§åãéŠæ°Žã¯ãç¹å®ã®æž©åºŠä¿ç®¡æ¡ä»¶ãšååã®ä¿ç®¡å¯¿åœã®ç®¡çãå¿ èŠã§ãã
æè¿ããBuckwheatããšãããããžã§ã¯ãããããŸãããèªå·±éé¢äœå¶ã®å°å ¥ä»¥æ¥ãã©ã¢ãŒãã¯äººæ°ã®ããé·å¯¿åœé£åããã®ç¯å²ã«è¿œå ããŠããŸãããã¡ãªã¿ã«ããã®æ©èœã¯ã»ãã®æ°æ¥ã§å®è£ ã§ããŸããããã¡ãããäž»ãªåæãã¯æŽæãéŽã§ã埮åŠãªãã¥ã¢ã³ã¹ããããŸããååã®è²©å£²ã«ã¯ãåè³ªã®æºåãšç¢ºèªãå¿ èŠã§ããããšãã°ããã¿ã³ã®ãªãã·ã£ããã¯ã©ã€ã¢ã³ãã«æã£ãŠãããšæªãã§ãããã
Lamodaã¯åãªããªã³ã©ã€ã³ã¹ãã¢ã§ã¯ãªããã€ã³ãã©ã¹ãã©ã¯ãã£ãšãµãŒãã¹ïŒå庫ãå«ãïŒãå€éšããŒãããŒã«æäŸããæ¬æ Œçãªeã³ããŒã¹ãã©ãããã©ãŒã ã§ããããšãã°ãåœéçãªå€§æãã¡ãã·ã§ã³ãã©ã³ãã¯ç§ãã¡ãšäžç·ã«ååãä¿ç®¡ããŠããŸããã©ããªéããããã®ïŒããŒãããŒã®ãã¬ã¹ãã³ãŒããéŽã¯ããã§ã«å庫ã«ãããã®ãšåãã§ããããããå¥çŽã«åºã¥ããŠéµå®ããªããã°ãªããªãããã»ã¹ã«ã¯ãç§ãã¡å šå¡ã«åå¥ã®èŠä»¶ããããŸããããšãã°ã倧å£é¡§å®¢ã®ååã®äžéšã¯å¥ã ã®ãŸãŒã³ã«ä¿ç®¡ãããåžå Žããã®ãã®ã¯åšåº«å šäœã«é 眮ãããŸãããããã®æ©èœãèæ ®ã«å ¥ããå¿ èŠããããŸãã
ç©ççãªäžçã ãã§ãªããITã·ã¹ãã ã®è©³çްãèæ ®ããŠãããã»ã¹ã®ãã¹ãŠã®æ®µéã§å補åããã§ãã¯ããŠåŠçããŸããããã«ãITã·ã¹ãã èªäœã¯ãå庫ã®åŸæ¥å¡ã«ç¹å®ã®è£œåã®åãæ±ãæ¹æ³ãä¿ããŸããããã¯ããªãã¬ãŒã¿ãŒããã¹ãŠã®æ©èœãå¥çŽãç¥ãããšãã§ããªãããã§ãã補åã¯ãå€§èŠæš¡ãªåœéäŒæ¥ãŸãã¯å°èŠæš¡ãªåžå ŽããŒãããŒã®èª°ã«å±ããŠãããã瀺ããŠããŸããã
ã·ã¹ãã ã®éèŠãªæ©èœã¯ãã¹ãã£ããŒãšããŒã³ãŒããä»ããçžäºäœçšã§ããå補åã«ã¯åºæã®ããŒã³ãŒããããããããèªã¿åã£ãŠè£œåã«é¢ãããã¹ãŠã®å¿ èŠãªæ å ±ãååŸã§ããŸãããã®ã¢ãããŒãã«ããããšã©ãŒãæå°éã«æãããã補åã䜿çšããŠãã¹ãŠã®ã¢ã¯ã·ã§ã³ãããè¿ éã«å®è¡ã§ãããããåŸæ¥å¡æ°ãåæžãããŸãã1æ¥ããã20äžåã®ååãçºéããå Žåã1ã€ã®ååã§1ç§ç¯çŽã§ããã®ã¯55æéã®äœæ¥æéã§ããããžãã¹ã«ãšã£ãŠãããã¯å ·äœçã§ãã
å庫ã®ãã³ãããã®äž
åœç€Ÿã®ãã¯ãããžãŒïŒ
Java 8ã
PostgreSQLã
Wildflyã
Springã
Redisã
ActiveMQã
Hibernateã
Javaã®æ¢è£œã®ãœãªã¥ãŒã·ã§ã³ããå§ããŸãããããã以æ¥ãã·ã¹ãã ã®æ©èœã¯å€§å¹ ã«æ¡åŒµãããã³ãŒãã¯ãã§ã«å®å šã«ãªãã¡ã¯ã¿ãªã³ã°ãããäœåºŠãæžãçŽãããŠããŸãã
ããã§35äžè¡ã®ã³ãŒããã§ããŸãããããã¯ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ãã«ãããã5ã€ã®ã»ã«ã³ããªãµãŒãã¹ãš2ã€ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒã·ã³Webã¯ã©ã€ã¢ã³ããšã¢ãã€ã«ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ïŒããããŸãããã«ã¹ã¿ãã¯éçºãè¡ã£ãŠããŸãã
å庫ã®åŸæ¥å¡ã¯ã¢ãã€ã«ã¯ã©ã€ã¢ã³ãã䜿çšããŸãã圌ãã¯ç§ãã¡èªèº«ã®Androidã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠå庫å ãç§»åããŸããããã¯ãããã€ã¹èªäœã®æ©èœã䜿çšã§ããããã«ãããããçŸä»£çã§äŸ¿å©ãªãã¯ãããžãŒã§ããã¢ããªã±ãŒã·ã§ã³ããã€ãã£ãã§ããããã©ãŠã¶ããŒã¹ã§ã¯ãªãå Žåãæ¯åããšã©ãŒé³ãããããªãŒã®æ¶è²»ãå°ãªããªããŸããã¢ããªã±ãŒã·ã§ã³èªäœã¯Kotlinã§æžãããŠãããç§ãã¡ã¯ããã䜿çšããçµéšãè±å¯ã§ããããã¯ãšã³ãã®äœæãéå§ããŸããããããŸã§ã®ãšãããããã¯1ã€ã®ãµãŒãã¹ã«ãããŸããããã³ãŒããJavaãããã·ã³ãã«ã§è¡šçŸåã«åªããŠãããããã©ãŒãã³ã¹ãåãã§ããããšãæ°ã«å ¥ã£ãŠããŸãã Kotlinã®ãã¹ãŠãæžãçŽããšããç®æšã¯ãããŸããããé©åãªã¿ã¹ã¯ã«åŒãç¶ã䜿çšããŸãã
ä»ã®Lamodaã·ã¹ãã ãšã®çžäºäœçšã¯ãActiveMQã¡ãã»ãŒãžãããŒã«ãŒã䜿çšããŠApacheCamelã§èšè¿°ãããããŒã¿ãã¹ãä»ããŠæ§ç¯ãããŸãããã®ã¢ãããŒãã¯ãããŸããŸãªåœ¢åŒã®ã¡ãã»ãŒãžã®ç¢ºå®ãªé ä¿¡ãšæ¯èŒçåçŽãªå€æãè€æ°ã®æ¶è²»è ã«ã¡ãã»ãŒãžãé ä¿¡ããæ©èœãæäŸããŸãã2014å¹Žã«æåã«ApacheCamelã䜿çšããåŸããã®çµ±åæ¹æ³ãéšéå ã®ä»ã®ããŒã ã«æ¡çšãããŸããã
å庫ã·ã¹ãã æ§ç¯ã®ååïŒ
ã»ä¿¡é Œæ§ãšå質
ã»æ¡åŒµæ§ãšæè»æ§
ã»ã·ã³ãã«ã
å庫ã¯ã©ã¢ãã®ããžã¹ãã£ã¯ã¹ããã»ã¹ã®äžå¿ã§ããããšã©ãŒãšã·ã¹ãã ã®ããŠã³ã¿ã€ã ã¯ããžãã¹ã«å€§ããªåœ±é¿ãäžããŸãããããã£ãŠãã·ã¹ãã ã®å®å®æ§ãšèé害æ§ã«ã¯çްå¿ã®æ³šæãæã£ãŠããŸããä¿¡é Œæ§ã¯ãéèŠãªã·ã¹ãã èŠçŽ ãšã€ã³ãã©ã¹ãã©ã¯ãã£èŠçŽ ãè€è£œããããšã«ãã£ãŠå®çŸãããŸããä»®æ³ãã·ã³ã«ã¹ã©ã€ã¹ããã2ã€ã®ç¬ç«ãããµãŒããŒããããŸããåã¢ããªã±ãŒã·ã§ã³ã¯2ã€ã®ã€ã³ã¹ã¿ã³ã¹ã«ãããã€ãããåã€ã³ã¹ã¿ã³ã¹ã¯ç¬èªã®ä»®æ³ãã·ã³ã«é 眮ãããŸããã¯ã©ã€ã¢ã³ãã¯ããªã¯ãšã¹ããã€ã³ã¹ã¿ã³ã¹ã®1ã€ã«ã«ãŒãã£ã³ã°ããHaproxyã®åœ¢åŒã®ãã©ã³ãµãŒãä»ããŠãµãŒããŒãšå¯Ÿè©±ããŸããããŒã¿ããŒã¹ã¯ããã¹ã¿ãŒã¹ã¬ãŒãã¬ããªã±ãŒã·ã§ã³ã¹ããŒã ã䜿çšããŠããã¯ã¢ãããããŸãã
ãã¹ãŠã®ãµãŒããŒã¯ç©ççã«å庫ã«é 眮ãããŠãããããŒã«ã«ãããã¯ãŒã¯ãä»ããã·ã¹ãã ã®ãã¹ãŠã®èŠçŽ ã®çžäºäœçšã«ãããäœæ¥ã®ä¿¡é Œæ§ãšé床ãåäžããŸããå€éšã€ã³ã¿ãŒããããæ éããå Žåã§ããåŒãç¶ãäœæ¥ãç¶ããåé»ãçºçããå Žåã§ããå庫å ã«ç¡åé»ã®é»æºãšã¬ãœãªã³çºé»æ©ãèšçœ®ããŠããŸãã
ã³ãŒãå ã®ãšã©ãŒã®æ°ãæå°éã«æããããã«ãèªåãã¹ããäœæããŸãããŠããããçµ±åãåãå ¥ããããŒããããã³ãã¹ãããŒã ããã¹ãŠãæäœæ¥ã§ãã§ãã¯ããŸããããã¯ãã¹ãŠå¿ é ã®ãã©ã¯ãã£ã¹ã§ãããã¿ã¹ã¯ã®ã©ã€ããµã€ã¯ã«ã«çµã¿èŸŒãŸããŠããŸãããã¡ããããã°ãçºçããããšããããŸããããªãªãŒã¹ã®å®å šãªããŒã«ããã¯ã¯æ°å¹ŽéãããŸããã
æ¡åŒµæ§ãšæè»æ§-ç§ãã¡ã«ãšã£ãŠãããã¯äž»ã«ãããžãã¹ããã»ã¹ã®æ°ããèŠä»¶ãæºããããã«ã·ã¹ãã ã倿Žããããã«ã©ãã ãã®åŽåãšæéãè²»ããããšããåé¡ã§ãããããã£ãŠããã®éçºã«ãããå°æ¥çã«ã³ãŒãããã°ããç°¡åã«å€æŽã§ããããã«ãªããŸããããšãã°ãååã®ä»»æã®ã«ããŽãªãç¹å®ã®ç©ççãªä¿ç®¡å Žæã«èšå®ã§ããŸããããã«ããã販売ããååã®æ°ããã«ããŽãªããã°ããæ¥ç¶ã§ããŸããæ³šæããšã«ã梱å ããææãšããã«ä»éããããã¥ã¡ã³ããå°å·ããããã«æ§æãããŠããŸãããããŠãããã¯æ©èœã®ã»ãã®äžéšã§ãã
倿°ã®ããžãã¹ããã»ã¹ãšåå²ãã¡ã€ã³ã¢ãã«ãåããè€éãªãµããžã§ã¯ããšãªã¢ããããŸããã³ãŒããåçŽã§ããã»ã©ãèªã¿ãããããããããããåäžãããšã©ãŒã®å¯èœæ§ãäœããªããããåªããŠããŸãããŸããã³ãŒããããžãã¹ã«å¯ŸããŠå®è¡ããæ©èœã«ããã«éäžã§ããŸãã
ãšã©ãŒä¿éº
ç§ã®ååã¯DenisPliskoã§ãBPAã®ããªããªãŒãµãŒãã¹ã®éçºãªãŒããŒã§ãã
LM Express ITã·ã¹ãã ãäœæãéçºãä¿å®ããŠããŸããããã¯ããã©ã³ãžãããŠã§ã¢ããŠã¹ãå¶æ¥æ åœè ãããã³æ³šæã®çºè¡ãã€ã³ãã®äœæ¥ãèªååããã®ã«åœ¹ç«ã¡ãŸããç§ãã¡ã®ã·ã¹ãã ã¯ãé éã®å°çãšåºçºã«ã€ããŠãã¹ãŠãç¥ã£ãŠããããããã®åŠçãåŠçãããã§ã«æ¯æãããæ³šæã販売ããã³çºè¡ããè¿åããã³ä»ã®å€ãã®é¢é£ããããžãã¹ããã»ã¹ãåãå ¥ããŸãããŸããå¶æ¥æ åœè ãšååº«äœæ¥å¡ã®èº«äœçè¡åãèšé²ããã³åæããŸããååãè³Œå ¥è ã«åŒãæž¡ãããåã«ããã©ã¹ããã€ã«ãã§çºçãããã¹ãŠã®ããšã远跡ããŸãã Expressã·ã¹ãã ã®æ å ±ãã©ãŒã ã«ããæè¡ããã»ã¹ã®ã»ãšãã©ã¯ãé éãµãŒãã¹ã®åŸæ¥å¡ã®èº«äœçè¡åãåæ ããŠããŸãã
ããã¯ã©ã®ããã«èŠããŸããïŒããšãã°ãåŸæ¥å¡ãé éãåãåãããããããã¬ãããåãåºããŸããååãå ¥ã£ãããã±ãŒãžãå ¥ã£ãç®±ã§ãããã±ãŒãžãåãåºããæ£ã«åé¡ããŸãã圌ãè¡ããã¹ãŠã®ã¢ã¯ã·ã§ã³ã«ã¯ãã·ã¹ãã ã§ã®æäœã䌎ããŸãããããŠãããã§ééããçºçããå¯èœæ§ããããŸããé éå¡ããã¹ãŠãæ£ãããã¯ãªãã¯ããããšããŠãããããæ£ãããšã¯éããŸãããçµæãšããŠãããã»ã¹ããžãã¯ã®æå€§ã®éšåã®1ã€ã¯ããšã©ãŒã®èŠåãšä¿®æ£ã§ããããã¯ãèªåçã«ãå Žåã«ãã£ãŠã¯æ¬äººãéããŠãå Žåã«ãã£ãŠã¯ãã«ããã¹ã¯ããããé«åºŠãªæš©éãæã€ãŠãŒã¶ãŒãéããŠå®è¡ã§ããŸãããããã®æ©èœããªããã°ãã·ã¹ãã ã¯5åã®1ã«ãªããŸãã
é ä¿¡ã·ã¹ãã æ§ç¯ã®ååïŒ
ã»ã·ã¹ãã ã®å®å®æ§ãšå¯çšæ§
ã»ããŒã¿ã®äžè²«æ§
ã»å€éšã®ã·ã¹ãã ãšãµãŒãã¹ããã®ç¬ç«æ§
人ã ãæééãã«è³Œå ¥åãåãåããã©ããã¯ããã«çŽæ¥äŸåãããããã¿ã¹ã¯ã¯ã·ã¹ãã ã®æãå®å®ããåäœãä¿èšŒããããšã§ããæ©èœãå®è£ ãããšãã¯ãå€éšã®ãµãŒãã¹ãã·ã¹ãã ããç¬ç«ããããã«åªããŸãããã®ãããå€ãã®çžäºäœçšãéè€ããŠããŸããé éç©ãå°çããæ³šæããŒã¿ããªãå Žåãäœæ¥ã忢ããªãããã«ããã®æ å ±ãèªåã§èŠæ±ããŸããç¹ã«ä»ã®ãµãŒãã¹ãšã®äº€æã«ãããŠãå¿ èŠãªããŒã¿ã®äžè²«æ§ãç¶æããããã«ãå€ãã®æäœãç¬ç«ãããããšãéèŠã§ãã
ãŸããã·ã¹ãã é害ã«ããäººãæ¥ãŠåãåããªãããã«ãå¿ èŠãªããŒã¿ã¯ã§ããã ãæ©ãåãåãããã«åªããŠããŸããã·ã¹ãã ã®å éšéšåã®ä¿¡é Œæ§ãé«ãããŠãŒã¶ãŒãšã®ããåããåœç€Ÿã®ãµãŒãã¹ã®ã¿ã«äŸåããããã«åªããŠããŸãããããã£ãŠããã¹ãŠã®Lamodaã·ã¹ãã ãäžæçã«äœ¿çšã§ããªããªã£ãå Žåã§ããå庫ãšããã¯ã¢ãããã€ã³ãã®äœæ¥ã¯åæ¢ãããäž»èŠãªæäœã¯ç¶è¡ãããŸãã
è·¯äžã¯ãŒãªãšãã¯ãŒãªãš
Lamodaã¯ãç¬èªã®é ä¿¡ã«å ããŠãRussian PostãPony ExpressãDPDãªã©ã®ãµãŒãããŒãã£ã®å® é 䟿ãµãŒãã¹ãšååããŠããŸããããã¯ãéœåžãå°åããŸãã¯åœïŒããšãã°ããŠã¯ã©ã€ãïŒã§ãããŒãããŒãä»ããŠã®ã¿é ä¿¡ãå¯èœãªå Žåã«çºçããŸãã ITã·ã¹ãã ãšã®çžäºäœçšãéããŠæ å ±äº€æãæäŸããŸãã
APIã¯ãã¹ãŠã®äººã«ãšã£ãŠéåžžã«ç°ãªããåžžã«çµ±åã«é©åããŠãããšã¯éããªããããæ°ããå® é äŸ¿ãæ¥ç¶ããããšã¯ãšããµã€ãã£ã³ã°ãªåéºã§ããããã¯ãäžéšã®å® é 䟿ãµãŒãã¹ãæŽå²çã«ãªãã©ã€ã³ã®äŒç€Ÿã§ããããã§ãããããã¯äºååŠçã®æä»£ããåºè·ãããŠãããåªããAPIãäœæããããšã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããã
ESBãã¬ãŒã ã¯ãŒã¯ApacheCamelã«åºã¥ãç¹å¥ãªã·ã¹ãã ã䜿çšããŠãæ°ããããŒãããŒãšã®çµ±åãå®è£ ããŸãã Camelã䜿çšãããšãããŸããŸãªäº€æãããã³ã«ãä»ããŠããŸããŸãªããŒã¿å€æãšçžäºäœçšãç°¡åã«å®è¡ã§ããŸããéåžžãæ°ããå® é 䟿ãµãŒãã¹ãšã®çµ±åã®èšå®ã«ã¯ã2é±éãã1ãæããããŸãã
é éã¯ãå庫ãšãšãã«ããŒãããŒã«è²©å£²ãããµãŒãã¹ã®1ã€ã§ãã Lamodaãšã¯é¢ä¿ããªããšæããã人æ°ã®è¡£æåãã©ã³ãã®ãªã³ã©ã€ã³ã¹ãã¢ããååãæ³šæããå Žåãè³Œå ¥åã¯LM-expressã®å¶æ¥æ åœè ã«ãã£ãŠé éãããŸããç§ãã¡ã¯ãããã®ãããžã§ã¯ãã«åæ¥æ©èœããŒã ãšååããŠåãçµãã§ããŸãã
ç§ãã¡ã®ããžãã¹ã®ãããžã§ã¯ããå®è£ ããããã«ãç§ãš2ã€ã®ããŒã ïŒ3ã€ç®ã¯çŸåšéçºè ãšãã¹ã¿ãŒãéã£ãŠããŸãïŒã®æè¡ãªãŒããŒãããã¹ãŠã®å€æŽãçŸåšã®ã¢ãŒããã¯ãã£ã«æé©ã«é©åãããæ¹æ³ã決å®ããŠããŸãã
ç§ãã¡ã¯ããããžã§ã¯ãã®ãªã¹ãããã®ããã¯ãã°ã«åºã¥ããŠäœæ¥ããŸããããžãã¹ã¯ã財åããã³ããŒã±ãã£ã³ã°å¹æã®èгç¹ããåãããžã§ã¯ããè©äŸ¡ããŸãã人件費ãèŠç©ãããæè¡çãªã¢ãããŒããæ€èšããŸããæ°ããæ©èœãè¿ éãã€å¹ççã«äœæããããšã¯å¯èœã§ããããããšãéã«ãéåžžã«é«äŸ¡ã§å°é£ãªãããããžãã¹å šäœã®å¹æã劚ããå¯èœæ§ããããŸãããããã®èŠç©ããã«åºã¥ããŠãããã¯ãã°ã調æŽãããªã¹ãã®äžçªäžã«ãããžã§ã¯ããäœæããŸããéçºæéã®çŽ30ïŒ ã¯æè¡çãªããã¯ãã°ã«å²ãåœãŠãããŠãããããæè¡çãªèгç¹ããã·ã¹ãã ããªãã¡ã¯ã¿ãªã³ã°ããã³æ¹åããæéãèŠã€ããå¿ èŠã¯ãªãããã¹ãŠãèšç»ã©ããã«é²ãã§ããŸãã
é éã®å ãªãäžç
:
· PHP,
· Java,
· Kotlin,
· TypeScript,
· MySQL,
· PostgreSQL,
· RabbitMQ,
· ActiveMQ,
· Apache Kafka,
· Apache Camel,
· Docker, K8S.
ç§ãã¡ã®ãµãŒãã¹ã®ã»ãšãã©ã¯PHPäžã«æ§ç¯ãããŠããŸããæŽå²çã«ãLamodaãäœæãããã·ã¹ãã ã¯ãã®èšèªã§æžãããŠããŸããããµã€ãã®æåã®ããŒãžã§ã³ã®1ã€ã¯Magentoã§äœæããããã®åŸRocketInternetã·ã¹ãã ãé ä¿¡ãšæ³šæåŠçã®åºç€ãšããŠæ¡çšãããŸããã圌ãã¯éçºãšããçŽããäœåºŠãç¹°ãè¿ããŠããŸããããPHPã¯ãŸã æ°ãããµãŒãã¹ãå«ãã»ãšãã©ãã¹ãŠã®ãµãŒãã¹ã®æ ¹åºã«ãããŸãããã§ã«çŽ20äžè¡ã®ã³ãŒããäœæããŠãããçµéšè±å¯ãªPHPéçºè ã倿°ããŸãïŒQAãšã³ãžãã¢ãšäžç·ã«é ä¿¡æ¹åã¯20人ã§ãç©æ¥µçã«æ¡å€§ããŠããŸãïŒããã ãã1ã€ã®ãã¯ãããžãŒã«éãããã¿ã¹ã¯ã«é©ããããŒã«ãéžæããåªãããšã³ãžãã¢ã§ãã
ååã«éçºãããéçºæåããããããããã¯ãšã³ãã§PHPãæŸæ£ããã€ããã¯ãããŸãããæ°ããããŒãžã§ã³ã®èšèªãšãã¬ãŒã ã¯ãŒã¯ã䜿çšããã»ãŒãã¹ãŠã®ã³ãŒãããã¹ãã§ã«ããŒãã培åºçãªã³ãŒãã¬ãã¥ãŒã宿œããååã«æ§ç¯ãããCIãšãé«éåããå€ãã®äžè¬çãªã©ã€ãã©ãªãçšæããŠããŸããéçºããã»ã¹ã
ãªã³ã©ã€ã³ã·ã§ãããšã¯ç°ãªããRPSã«é¢é£ãã倧ããªè² è·ã¯ãããŸããããŸã第äžã«ãè€éã§æã æ··ä¹±ããããžãã¹ããžãã¯ã®ããã«ã倿°ã®æœè±¡åã¬ãã«ïŒDDDã«æºæ ããããšããŸãïŒãåãããè€éã§æè»ãªã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãå¿ èŠã§ãããŸããä»ã®ã·ã¹ãã ãšã®åæäº€æïŒJSON-RPCãSOAPïŒãšéåæäº€æïŒRabbitMQãApache KafkaïŒã®äž¡æ¹ã倿°ãããŸãã
åèšã§ãã·ã¹ãã ã®çŽ80ã85ïŒ ãPHPã§èšè¿°ãããŠããŸãããJavaã䜿çšããããšããããŸããåžžã«å€åããŠããå€éšé ä¿¡ãµãŒãã¹ãšããåãããããã®ãµãŒãã¹ãå«ãŸããŠããŸãã
ããã³ããšã³ãã¯ãVueJS + TypeScriptã®ãã³ãã«ã§è¡šãããŸããå éšãŠãŒã¶ãŒåãã®ç®¡çããã«ã«ã¯ãã¹ãŒããŒã¬ã€ã¢ãŠããè€éãªãã¶ã€ã³ã¯å¿ èŠãããŸããã
ãŸããKotlin for Androidã§äœæããããå¶æ¥æ åœè åãã®ã¢ãã€ã«ãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ããããŸãããã€ãŠã¯å°ä»»ã®ã¢ãã€ã«éçºè ã«ãã£ãŠéçºãããŸããããçŸåšã¯ç¬èªã«éçºããããšã«æåããŠããŸãã
ãã·ã¢ã®ãã¹ãŠã®å庫ãšéè·å Žæã«æ³šæãéä¿¡ããããã©ã³ãžããå庫ã§åãåŸæ¥å¡åãã«ãWebã¢ããªã±ãŒã·ã§ã³ããããŸãããã®ã¢ãããŒãã§ã¯ãç¹å®ã®ããã¯ã¢ãããã€ã³ããŸãã¯å庫ã§ã€ã³ã¿ãŒããããåæããããããã¢ããªã±ãŒã·ã§ã³ã䜿çšã§ããªããªããªã¹ã¯ããããŸãããéä¿¡ãã£ãã«ã®äºçŽã䜿çšããããšã§æå°éã«æããŠããŸãã
ãããã®é ä¿¡ã·ã¹ãã ïŒãExpressããšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãå€éšã®å® é 䟿ãµãŒãã¹ãšçµ±åããããã®ãã¹ïŒã«å ããŠãç§ãã¡ã®ããŒã ãçŸåšãµããŒãããŠãããµãŒãã¹ã¯ãé»åã¬ã·ãŒããå°å·ãããµãŒãã¹ãšDatamatrixã®2ã€ã§ãã..ãåŸè ã¯ãæ³åŸã®æ°ããèŠä»¶ã«åŸã£ãŠãäžæã®ã³ãŒãã§ååã«ããŒãã³ã°ããããšãç®çãšããŠããŸãããããã®2ã€ã®ãããžã§ã¯ãã¯ãé ä¿¡ã«çŽæ¥é¢ä¿ããŠããŸãããããããã«å¿ èŠãªããŒã¿ã亀æãããã®ã¯ãåœç€Ÿã®ãµãŒãã¹ãéããŠã§ãã
é éãµãŒãã¹ã¯é åæžãå°å·ããŸããåå¶æ¥æ åœè ã«ã¯ãã£ãã·ã¥ãã¹ã¯ããããåããã¯ã¢ãããã€ã³ãã«ã¯ãã£ãã·ã¥ãã¹ã¯ããããŸãããããã£ãŠãäŒèšãµãŒãã¹ã¯åžžã«ç§ãã¡ã®ã·ã¹ãã ãšçžäºäœçšããŸããDatamatrixã¯ãã»ãŒãã¹ãŠã®BPAã·ã¹ãã ïŒå庫ãåºè·ãããŒãããŒã·ãããäŒèšã·ã¹ãã ïŒã«åœ±é¿ããŸããç§ãã¡ã®éšéã圌ãšéåžžã«ç©æ¥µçã«äº€æµããŠããã®ã§ãç§ãã¡ã¯ãã®éçºã«ç©æ¥µçã«åå ããŸãããçŸåšãå¶æ¥æ åœè åãã®ã€ã³ã»ã³ãã£ãããªã·ãŒã®æ°ããã·ã¹ãã ãéçºããŠããŸãã
BPAã®åæ¥çæ©èœïŒç§ãã¡ã販売ãããã®
å瀟ã«ã¯ãCISã§æé«ã®ãã¡ãã·ã§ã³ãã©ãããã©ãŒã ã«ãªããšããéå¿çãªç®æšããããŸãããããè¡ãããã«ãLamodaã¯ãµãŒãã¹ã®å質ã«å€ãã®æè³ãè¡ããéçšããã»ã¹ããŒãããåŒãäžããŸãããé éãå庫ãåçã¹ã¿ãžãªãã³ãŒã«ã»ã³ã¿ãŒãªãã¬ãŒã¿ãŒã®ä»äºã§ãããã¹ãŠã®éçšããã»ã¹ã¯ãã¯ã©ã€ã¢ã³ãã§ãã¹ãããã³ãã¹ããããŠããŸããç§ãã¡ã¯å®éšãã顧客ã®ãã£ãŒãããã¯ãç£èŠããééããç¯ãããã°ãä¿®æ£ãããªã³ã©ã€ã³ã·ã§ããã³ã°äœéšã§æ¹åã§ãããã¹ãŠã®ãã®ãç¶ç¶çã«æ¹åããŸãããäŒç€Ÿã®ç涯ã®5幎ç®ã«ãç§ãã¡ã¯ãªãœãŒã¹ãšå°éç¥èãä»ã®åžå Žãã¬ãŒã€ãŒãšå ±æããæºåãã§ããŠãããšå€æããŸããã
ãã®ãããç§ãã¡ã¯æåã®B2Bã®æ¹åæ§ãæã£ãŠããŸããããã¯ãå€§èŠæš¡ãªããŒãããŒã«åçã¹ã¿ãžãªãµãŒãã¹ãååã®ä¿ç®¡ãšé éãããã³é¡§å®¢ããã®é»è©±ãæäŸããŸããéããªããäžå°äŒæ¥åãã®ããŒã±ãããã¬ã€ã¹ã瀟å ã«ç»å Žããåã®ãªã¹ãã®è¿œå ãµãŒãã¹ãšããŠLamodaã·ã§ãŒã±ãŒã¹ãæäŸããŸããäž¡æ¹åã¯å®è³ªçã«äžŠè¡ããŠæ©èœããçºå±ãããµãŒãã¹ã®ç¯å²ã§ãäºãã«è¿œãã€ãã远ãè¶ããŸããã
ããã«3幎åŸãçµæãè©äŸ¡ããåŸãB2BãšMarketplaceãçµ±åããŠãæ¢åã®å éšLamodaãµãŒãã¹ã«åºã¥ããŠãå€éšããŒãããŒåãã®ãµãŒãã¹ã®äœæãéçºãããã³ãµããŒããè¡ãåçšæ©èœã«ããããšã決å®ãããŸããã
çŸåšãçŽ20ã®å€§æãã©ã³ããšååããŠããŸãããããã¯ãã¹ãŠãç¬èªã®è€éãªããžãã¹ããã»ã¹ãæã€ãäžççã«é«ãè©äŸ¡ãåŸãŠããã°ããŒãã«äŒæ¥ã§ããä»ã®1000ã®ã¯ã©ã€ã¢ã³ãã¯äžå°äŒæ¥ã§ãããITã€ã³ãã©ã¹ãã©ã¯ãã£ãéçºãããŠããªãããšããããããŸãããã¹ãŠã®ããŒãããŒã«å¯ŸããŠãç§ãã¡ã®åŽã§ã¯ãå€éšããã»ã¹ãç§ãã¡ã®ããã»ã¹ã«å€æããæ©èœãè¿ éãã€æè»ã«éçºããããã«èšèšããããå¥åã®çµ±åã¬ã€ã€ãŒãç¶æããŠããŸãã
ç§ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®AlexeyFeldeã§ãããLamodaã®åæ¥æ©èœã®æè¡éçºãšè£œåéçºãæ
åœããŠããŸãã
ç§ã¯çµ±åã¬ã€ã€ãŒã§ãµãŒãã¹ã®éçºãšãµããŒããè¡ã£ãŠããŸãããã®ããã«ã¯ãLamodaã·ã¹ãã ã®å€æŽãèšèšããããã«ãäŒç€ŸãšããŒãããŒã®ããžãã¹ããã»ã¹ãå®å šã«çè§£ããå¿ èŠããããŸãã
äžã§è¿°ã¹ãããã«ãç§ãã¡ã¯ãã©ã³ããšã®çžäºäœçšã®2ã€ã®äž»èŠãªé åãéçºããŠããŸãïŒåå¥ã®WEBã¢ããªã±ãŒã·ã§ã³ã®åœ¢ã§SAASãœãªã¥ãŒã·ã§ã³ãæäŸããå°ããªãã©ã³ãã®ããŒã±ãããã¬ã€ã¹ãšãB2B-å€§èŠæš¡ãªã°ããŒãã«ãã©ã³ãã®åå¥ã®å€§èŠæš¡ãããžã§ã¯ãã§ãããããã«éçšèœåãå®å šã«æäŸããããç§ãã¡ã¯ç§ãã¡ãšã®çµ±åãæ¯æŽããŸãã
B2Bã®æ¹åæ§ã¯ãäŒç€Ÿã§æãè峿·±ããã®ã®1ã€ã§ãããåæã«æãé£ãããã®ã®1ã€ã§ããäžçã®ãã¡ãã·ã§ã³ã®å·šäººãããŸã£ããæ°ããèŠä»¶ãçµ±åã®å¶éãæã£ãŠç§ãã¡ã®ãšããã«ãã£ãŠããããšãèµ·ãããŸãããã®ãããªå Žåãç§ã®ããŒã ã¯ä»ã®LamodaããŒã ãšããåãããå¿ èŠãªäŒæ¥ãµãŒãã¹ã®å€æŽãèšèšããŸããäžçã®ãã¡ãã·ã§ã³æ¥çã®ãªãŒããŒã®1人ãã€ãªãããã«ãç§ãã¡ã¯äŒèšãéçšãå«ããã¹ãŠã®ããžãã¹ããã»ã¹ã«æ²¡é ããå¿ èŠããããŸããããããžã§ã¯ãã®æ çµã¿ã®äžã§ããµã€ãã§ã®ååã®èª¬æããäŒèšããã³é éãŸã§ã15ã®å éšããã»ã¹ã«è§ŠããŸãããç§ã®ããŒã ã¯ãLamodaITã·ã¹ãã ãšããžãã¹ããã»ã¹ã®éçšã«é¢ããŠæãå¹ åºãå°éç¥èãæã£ãŠããŸããããã«ã¯ãç§ãã¡ã®ç¥èã®åŸ¹åºçãªäœç³»åãšææžåãå¿ èŠã§ãã
ç¬èªã®ITéšéãæããªãããšãå€ãè¡£é¡ãéŽãã¢ã¯ã»ãµãªãŒã®å°èŠæš¡ã¡ãŒã«ãŒåãã«ã販売ãååã®ç§»åãè¿åã远跡ã§ããããã¯ã¹åãããããŒã±ãããã¬ã€ã¹ãœãªã¥ãŒã·ã§ã³ãæäŸããŸããããã¯ç§ãã¡ã®ã·ã¹ãã ã®èšåã§å®å šã«æ©èœããŸãïŒååã®åçã¯ç§ãã¡ã®ã¹ã¿ãžãªã«ãã£ãŠæ®åœ±ãããç§ãã¡ãšäžç·ã«ä¿ç®¡ãããŸããååã¯ç©ççã«ã¯ã©ã€ã¢ã³ãã®å Žæã§ã¯ãªãç§ãã¡ã®å庫ã«ãããLamodaé éãµãŒãã¹ã«ãã£ãŠé éãããŸãã
ãœãŒã¹ã³ãŒãä»ãã®ããã¯ã¹è£œåã®ãã1ã€ã¯ããã©ãã¹ã¿ãžãªã§ããæ°å¹Žåã«å€§æé«çŽå°å£²åºã«è³Œå ¥ãããŸããã圌ãã®ãŠã§ããµã€ãã«ã¯éåžžã«ç°ãªãåçããããããã¯å£²äžé«ã®è»¢æã«å€§ããªåœ±é¿ãäžããŸãããç§ãã¡ã®ã¹ã¿ãžãªã§ã¯ãåçã䜿ã£ãŠå€æ°ã®ãã¹ãã宿œããŸãããã©ãã売ãè¡ããè¯ããïŒé ã®ãªãããŸãã¯é ã®ããç·æ§ã®åçãæ£ããèã®è§åºŠãªã©ïŒãã¯ã©ã€ã¢ã³ãã¯ãããã®ãã¹ãã®çµæãæ¬åœã«æ°ã«å ¥ã£ãŠããã圌ã¯èªåã®ãªã³ã©ã€ã³ã¹ãã¢ã§ç§ãã¡ã®çµéšãå¿çšããããšèããŠããŸããããããè¡ãã«ã¯ã圌ã¯ç§ãã¡ãšåæ§ã®ã¹ã¿ãžãªãæ§ç¯ããå¿ èŠããããŸãããããã§ã¯ã人ã ãåããåçæ®åœ±ããã»ã¹ãæŽçããç§ãã¡ã®ITã·ã¹ãã ãã€ã³ã¹ããŒã«ããŸãã
ãããã¥ã¢ã®ã©ã¢ãŒã
ãµãŒãã¹ããŒã ãšã¯å¯Ÿç §çã«ãç§ãã¡ã«ã¯å¥ã®ã¿ã¹ã¯ããããŸããããã¯ãå€§äŒæ¥ã®äŒæ¥ãé ãçµ±åã¬ã€ã€ãŒã®éçºã§ããäž»ãªè£œåã¯B2Bãã©ãããã©ãŒã ã§ãããã³ãŒãã¬ãã«ã§ã¯ãå éšã§ã¢ãžã¥ãŒã«ã«åå²ãããŠããŸããå庫ãæäœããããã®ã¢ãžã¥ãŒã«ãé éãæäœããããã®ã¢ãžã¥ãŒã«ãªã©ã§ãããããã®å°ããªã¢ãžã¥ãŒã«ã®ã¬ãã«ã§ç¹å®ã®ãµãŒãã¹ã管çã§ããã®ã¯ã1ã€ã®å€§ããªã·ã¹ãã ã§ããç§ãã¡ã®ãã©ãããã©ãŒã ã¯ãããã¥ã¢ã©ã¢ãŒãã§ããããšãããããŸãããåæã«ãããŒãããŒã«ã¯1ã€ã®APIãã衚瀺ãããŸããããŠãããŒãµã«ã§éåžžã«ã·ã³ãã«ã§ããããã®èåŸã«Lamodaã®ãã¹ãŠã®è€éããé ãããŠããŸããåæã«ãçµ±åã¯å¯èœãªéãã·ã³ãã«ã«ããå¿ èŠããããŸããéçºã®æåã®ååã§ãããæ¬¡ã«å®å®æ§ãšä¿¡é Œæ§ããããŸããããŸããŸãªSLAããµããŒãããŠããŸããããšãã°ããã®ãã¡ã®1ã€ã¯ã幎éæå€§4æéã®ã·ã¹ãã ããŠã³ã¿ã€ã ã§ããååã®ããã«ããã©ãŒã«ããã¬ã©ã³ã¹ããªãªãŒã¹ããã»ã¹ãã³ãŒãåè³ªãæ©èœãã¹ãã«ããã«ãã¬ããžã®ã¿ã¹ã¯ã«å€ãã®æ³šæãæã£ãŠããŸããç§ãã¡ã®B2Bãã©ãããã©ãŒã ã¯ããã¹ãæ°ã®ç¹ã§ãªã¹ãã®ã»ãŒæåã®ã·ã¹ãã ã§ããã2,000ãè¶ ããæ©èœãã¹ããš3,000ãè¶ ãããŠããããã¹ãããããŸãã
B2B :
·
·
·
·
:
· PHP,
· Java,
· JavaScript,
· GO,
· Symfony,
· Camel,
· PostgreSQL,
· AngularJS,
· Apache Kafka,
· RabbitMQ.
ãã©ã³ããæ¥ç¶ããåã«ãé¢ä¿ã®ãã¹ãŠã®è©³çްïŒååã®ç¯å²ãšäºæ³ãããæ°éãé éã®å°çãæ¥ç¶ããããµãŒãã¹ã®ã»ããïŒã«ã€ããŠããŒãããŒãšåæããŸããæ¬¡ã«ãITã³ã³ããŒãã³ããæ©èœããŸããçµ±åã®è©³çްã«ã€ããŠãã©ã³ããšè©±ãåããAPIãžã®æ¥ç¶ãæ¯æŽããŸããæšæºã®çµ±åã¹ããŒã ãšäœããç°ãªãå Žåã¯ãããŒãããŒã·ã¹ãã ãšB2Bãã©ãããã©ãŒã ã®éã®ããã«ãŠã§ã¢ã§ãããµãŒãã¹ã远å ã§æäŸããŸãã
90ïŒ ã®æéããã©ãããã©ãŒã ãã¢ããã°ã¬ãŒãããæ°ããããžãã¹ããã»ã¹ãå®è£ ããŠããŸããå®è£ ãããæåŸã®ããžãã¹ããã»ã¹ã¯ãå¥ã®èšäºã§ãã§ã«èª¬æãããŠããDatamatrixã³ãŒããããã³äžèšã®ååãšã®é£æºã§ãã
ç§ãã¡ã®ä»äºã§ã¯ãäž»ãªããšã¯ããã¯ãããžãŒã®ãã©ã³ã¹ãç¶æãã解決ããã¿ã¹ã¯ã®ããã®ããŒã«ãéžæããããšã§ããç§ãã¡ã¯æ£çŽãªãšãããæ¥çã§ãã¡ãã·ã§ã³ã远ããããŠããŸãããç§ãã¡ã®ã¹ã¿ãã¯ã¯ãPHPãJavaãJavascriptãããã³ããã€ãã®Goã§ãã
èšäºã§è¿°ã¹ãããã«ãåç€Ÿã¯æŽå²çã«å€ãã®ã·ã¹ãã ãPHPã§äœæããŠããŸããããã®äžã§ããžãã¹ããã»ã¹ãããã°ã©ã ããããšã¯äŸ¿å©ã§éãã§ããç§ãã¡ã®B2Bãã©ãããã©ãŒã ã®åºç€ã¯ãæ¿èªã圹å²ç®¡çããã¹ãŠã®äž»èŠãªããžãã¹ããã»ã¹ã«åºã¥ããŠããŸããããã¯ãå è§åœ¢ã®ã¢ãŒããã¯ãã£ãDDDã®ç©æ¥µçãªäœ¿çšããã³APIãã¡ãŒã¹ããã¶ã€ã³ã«åºã¥ããŠããŸãã Angular1.5ã§èšè¿°ãããã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ããµããŒãããŸãã APIãä»ããŠB2Bãã©ãããã©ãŒã ãšéä¿¡ããäž»ã«åŸæ¥å¡ãšããŒãããŒåŸæ¥å¡ã®UIã®ã¬ã³ããªã³ã°ãæ åœããŸãã
ãŸããJavaãç¹ã«Camelçµ±åãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããŸãããã©ã³ãã¯åžžã«APIã䜿çšããæºåãã§ããŠããããã§ã¯ãããŸãããéåžžã«å€§èŠæš¡ãªãã¬ãŒã€ãŒåãã«ããã©ã³ããã¡ã€ã³ãLamodaãã¡ã€ã³ã«å€æããããã«ãŠã§ã¢ãäœæããŸãã Camelã¯ãã·ã¹ãã çµ±åãœãªã¥ãŒã·ã§ã³ã®éçºã«ãããæéãç¯çŽãããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ïŒEIPïŒã䜿çšããŠãåªãããšã³ãžãã¢ãªã³ã°ææ³ã«å¯Ÿãã人ã ã®èãæ¹ãå€ããŸãã Camelã¯ãåå¥ã®ãµãŒãã¹ãäœæãããããçµ±åãã¿ãŒã³ã䜿çšããæ¹ã䟿å©ãªå Žæã§éçºããäºå®ã§ãã
Kafkaãç©æ¥µçã«äœ¿çšããŠãå éšã·ã¹ãã éã§ããŒã¿ã亀æããŠããŸããããã«ãããã·ã¹ãã éã®æ¥ç¶æ§ãå€§å¹ ã«äœäžããŸããããã¯ãç§ãã¡ã®äœæ¥ã®è©³çްã§ã¯ãããŒãããŒåãã«ã·ã£ãŒãåããããã¹ãŠã®ã·ã¹ãã ããã®ããŒã¿ã®ã¹ãããã·ã§ãããä¿åããå¿ èŠãããããã§ããè¿ éã«è¡ãå¿ èŠã®ãããã¹ãŠã®ããšãšãªãã£ã¹ã®ã¿ã¹ã¯ã«ã€ããŠã¯ãGoã§èšè¿°ããŸããåœç€Ÿã®ãµãŒãã¹ã®1ã€ã¯ãä¿åãããããŒã¿ã«åºã¥ããŠ1åããšã«ã¡ããªãã¯ãèšç®ããŸãã以åããã®ãœãªã¥ãŒã·ã§ã³ã¯B2Bãã©ãããã©ãŒã ã«çµã¿èŸŒãŸããPHPã§èšè¿°ãããŠããŸããããããã©ãŒãã³ã¹ãé«ãããµããŒããç°¡åã§ãæ¡åŒµæ§ãé«ããB2Bãã©ãããã©ãŒã ã®ãªãªãŒã¹ãµã€ã¯ã«å€ã«å±éã§ããããã軜快ãªGoã«æžãçŽããŸããã
å€§èŠæš¡ã§æåãªãã¡ãã·ã§ã³ãã©ã³ãã®30以äžã®ãµãŒãããŒãã£ãµã€ãã§ç§ãã¡ã®ãã©ãããã©ãŒã ã®äœæ¥ã®çµæãèŠããšãå¿ããå¬ããæããŸããä»ã®äººã®ãµã€ãããã·ã¹ãã ã«éä¿¡ãããæ³šæããã³ã³ã¿ã¯ãã»ã³ã¿ãŒã®ãªãã¬ãŒã¿ãŒã«ãã£ãŠåŠçãããé éã«ãã£ãŠã©ã®ããã«è»¢éãããããããããŸããããããã¹ãŠã®ããã»ã¹ãLamodaã§äœæããã³èªååãããŠããããšã誰ãç¥ããŸããããç§ãã¡ã®ããã»ã¹ãã°ããŒãã«ãã©ã³ãã«è²·åãããã»ã©ã¯ãŒã«ã§ãã