ã¯ããã«
倧工ä»äºãšå€§å·¥ä»äºã«é¢ããå€ãã®æ¬ã¯ãè·å Žãšéå ·ã®é©åãªçµç¹ã«ã€ããŠã®ç©èªããå§ãŸããŸãã éçºã¹ãã«ãæåã§ãããç¿çã§ãããšä¿¡ãããã§ãã äœæ¥ç°å¢ã«å¯Ÿããåççãªã¢ãããŒãã«ãããåé¡ã®æ©æçºèŠãšéçºè ã®çç£æ§ã®åäžã«ãããéçºã³ã¹ããšãããžã§ã¯ãã®ãã®åŸã®æ¹è¯ãåæžã§ããŸãã ãã¡ããããã®ãããã¯ã¯åºç¯ã§ãããäžé£ã®èšäºãæžãäºå®ã§ãã
- æãåçŽãªErlangã¢ããªã±ãŒã·ã§ã³ã®äœæïŒãã®èšäºïŒ
dock Dockerã䜿çšããŠäœæ¥ç°å¢ãåé¢ãã
â â â äŸåé¢ä¿ã®ç®¡çãšErlangãããžã§ã¯ãã®æ§ç¯
resultçµæã®å質ã«å¯Ÿããéäº - ã¯ã©ã¹ã¿ãŒããã³åæ£ã·ã¹ãã ã ãã¹ã¯ãããä»®æ³å
dockå€éšããŒã¿ã¹ãã¢ïŒriakãtarantoolïŒã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®äŸã䜿çšããéçºããã³ãã¹ãã®ããã®docker-composeã®äœ¿çšã
Con Consulã䜿çšãããµãŒãã¹æ€åº
developmentéçºç°å¢ã®ç£èŠã - è€éãªãã¹ãïŒè«çã³ã³ããã¹ããäžæããããšãªããçµ±åãã¹ããéããŠãŠããããã¹ãããUIãŸã§ã
Commonå ±éãã¹ãã¬ãã¥ãŒã®ç¶ç¶
S Seleniumããã³Selenium Hubã®æŠèŠ
äœæãããäœæ¥ç°å¢ã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®Selenium PythonãšCommon Testã®çµ±åã
ãã®ãµã€ã¯ã«ãèªãã åŸãèªè ã¯ããŠãŒãã£ãªãã£ããåæ£ã¯ã©ã¹ã¿ã·ã¹ãã ãŸã§ãããŸããŸãªã¬ãã«ã§ã®ãããžã§ã¯ãã®ææ°ã®éçºããã³ãã¹ãã§äœ¿çšãããã¢ãããŒãã®ã¢ã€ãã¢ãæã£ãŠããå¿ èŠããããŸãã ãã®èšäºã§ã¯ãããŒã«ãšæãåçŽãªãµã³ãããã¯ã¹ã«ã€ããŠèª¬æããŸãã ãããã¯ãèå³æ·±ãå Žåã¯ãErlangãGolangãElixirãRustã®ã¯ã©ã¹ã¿ãŒã·ã¹ãã ã§ãµã€ã¯ã«ãç¶ããŸãã
泚ïŒãã®èšäºãæ£åžžã«æ©èœãããã«ã¯ããã·ã³ã«docker ã docker-composeããã³GNU Makeãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã Dockerã®ã€ã³ã¹ããŒã«ã«ã¯ããã»ã©æéã¯ããããŸããããŠãŒã¶ãŒãdockerã°ã«ãŒãã«è¿œå ããå¿
èŠãããããšãèŠããŠããå¿
èŠããããŸãã
ãã®ã³ãŒãã¯ãdebianã©ã€ã¯ãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã®ã¿ãã¹ããããŠããŸãã
å¿çšäŸ
ããã§ã¯ãã¢ãããã¯ã«ãŠã³ã¿ãŒãäœæããŠã¿ãŸãããã ã¢ããªã±ãŒã·ã§ã³ã¯æ¬¡ã®æ©èœãå®è¡ããå¿ èŠããããŸãã
- ã€ã³ã¯ãªã¡ã³ã
- ãã¯ãªã¡ã³ã
- ãªã»ãããã
ãããŠèŠä»¶ãæºãããŸãïŒ
- 察象ã·ã¹ãã ïŒubuntu 16.04 LTS
- æãåçŽãªHTTP APIãæã£ãŠãã
- Erlang / OTP>ã§ã®äœæ¥= 19.0
- 1ã100ã®ã¯ã©ã€ã¢ã³ãã¹ããªãŒã ã®ç«¶åç°å¢ã§ãæžã蟌ã¿ãšèªã¿åãã®æ··åè² è·ã§1k以äžã®RPSãå®å®ããŠçæããŸãã
- å éšã¢ããªã±ãŒã·ã§ã³ããã»ã¹ãç£èŠããããã®åæã€ã³ã¿ãŒãã§ã€ã¹ããããŸã
ãã®èšäºã®ããã¹ãã«ã¯ãç¹å®ã®æ±ºå®ãè¡ãããã®ååãšåæ©ãèšèŒãããŠããŸãããã³ãŒãã®äŸãåŒçšã¯ãããŸããã ãã¹ãŠã®ã³ãŒãã¯ãªããžããªã§å ¥æã§ããŸãïŒ https : //github.com/Vonmo/acounter
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¢ãšä»®æ³å
çŸåšãç°å¢ã®ä»®æ³åã®åé¡ã解決ããå€ãã®æ¹æ³ããããŸãã ãããã®ãã¹ãŠã«é·æãšçæããããå€ãã®å Žåãéžæããããšã¯å°é£ã§ãã ãµãŒããŒãšåæ£ãœãããŠã§ã¢ã®éçºã«ã¯ãDockerã³ã³ãããŒåã䜿çšããããšããå§ãããŸããããã¯ãDockerãéçºæ®µéã§ããŒããŠã§ã¢ã³ã¹ããåæžãããã¹ãããã»ã¹ãæ¹åããå Žåã«ãã£ãŠã¯ãšã³ããŠãŒã¶ãŒãžã®ã¢ããªã±ãŒã·ã§ã³ã®é ä¿¡ãç°¡çŽ åã§ããæè»ã§ææ°ã®ããŒã«ã ããã§ãã ããšãã°ãå¹³åçãªã©ãããããã§ããŸããŸãªãµãŒãã¹ãåãã12-15ã³ã³ããã®ã¯ã©ã¹ã¿ãŒãèµ·åãããããã®ãµãŒãã¹ã®çžäºäœçšãã·ãã¥ã¬ãŒãããæŠéã«è¿ãç°å¢ã§çµ±åãã¹ããäœæãããµãŒãã¹ãŸãã¯ããã»ã¹ã®ã¹ã±ãŒãªã³ã°ããã§ãã¯ããŠãé倧ãªäºæ ãå«ãé害ããã¹ããããããã®åŸã®å埩ã
æ³šïŒ dockerããã³docker-composeã¯ãéçºæ®µéã®ãœãªã¥ãŒã·ã§ã³ãšããŠæäŸãããŸãïŒããã°ã©ããŒã®äœæ¥ç°å¢ããã¹ã¿ãŒã®ã¹ããŒãžã³ã°ã è»äºç°å¢ã®çè«çæ ¹æ ã¯ããã®èšäºã®ç¯å²å€ã§ãã
ç°å¢ã¯ãã¹ããšã³ã³ããã®2ã€ã®ã¬ãã«ã«åãããŠããããã2ã€ã®ã¡ã€ã¯ãã¡ã€ã«ãå¿ èŠã§ãã
- Makefileã¯ãä»®æ³ç°å¢ã®å€éšç®¡çãæ åœããŸããå¿ èŠãªã³ã³ãããŒã®ã»ããã®äœæãéå§ãåæ¢ãã³ã³ãã€ã«ããã³ã³ãŒãåæã¿ã¹ã¯ã®éå§ã®ããã®ãã³ãã«
- docker.mkã¯ãã³ã³ãããŒå ã®ã³ãŒãã§çºçãããã¹ãŠã®åŠçãè¡ããŸãã
Docker-compose.ymlã«ã¯ãã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ã³ã³ãããŒã®èª¬æãå«ãŸããŠããŸãã
- ããŒã¹ ãã©ã°ã©ã2ã«æºæ ããããã èŠä»¶ã¯åºæ¬çãªã€ã¡ãŒãžãäœæããŸãã Erlang / OTP 19.3ãšå¿ èŠãªãã¹ãŠã®ãœãããŠã§ã¢ããã®äžã«ããã¯ããŸãã
- ãã¹ã ãã®ã³ã³ããã¯Baseããç¶æ¿ãããã³ãŒãã¯ééçã«ããŠã³ããããŸãã
泚ïŒã¢ããªã±ãŒã·ã§ã³ãä»ã®ããŒãžã§ã³ã®erlangã§åäœããããšãä¿èšŒããå¿ èŠãããå Žåãåºæ¬ã€ã¡ãŒãžã¯ãããã®ããŒãžã§ã³ã§è£è¶³ãããŸãã Kerlã¯ããŒã¹ã€ã¡ãŒãžã«æ¢ã«ã€ã³ã¹ããŒã«ãããŠããŸããå¿ èŠãªã®ã¯ãå¿ èŠãªããŒãžã§ã³ã®erlangãããŒã¹ã€ã¡ãŒãžã«è¿œå ããmakefileã§ãã¹ãŠã®ããŒãžã§ã³ã®erlangã®è¿œå è¡ãè¿œå ããŠãã¹ããå®è¡ããããšã ãã§ãã
次ã®ç®æšã¯ãä»®æ³ç°å¢ã管çããããã«makefileã§äºåå®çŸ©ãããŠããŸãã
-
$ make build_imgs
å¿ èŠãª$ make build_imgs
ã€ã¡ãŒãžãäœæããŸã -
$ make up
up-ã³ã³ãããŒãèµ·åããã³æ§æããŸã -
$ make down
down-ãã¹ãç°å¢ãã¯ãªãŒã³ã¢ããããŸã
äŸåé¢ä¿ç®¡çãšErlangãããžã§ã¯ããã«ã
åæããã³éçºãå¿ èŠãªå€ãã®ããã°ã©ã ã«ã¯ããµãŒãããŒãã£ã®äŸåé¢ä¿ããããŸãã ããã¯ããµãŒãããŒãã£ã©ã€ãã©ãªåœ¢åŒã®ã³ãŒããžã®äŸåé¢ä¿ããŸãã¯ããŒã¿ããŒã¹ç§»è¡ãŠãŒãã£ãªãã£ãªã©ã®ãŠãŒãã£ãªãã£ãžã®äŸåé¢ä¿ã®ããããã§ãã
ãŠãŒãã£ãªãã£ãšãã®ããŒãžã§ã³ãããã³ãã€ããªã©ã€ãã©ãªã«å¿ããŠãæåŸã®æ®µèœã§æ¢ã«æ±ºå®ããŠããŸãã ããã§ãErlangã®äŸåé¢ä¿ç®¡çãšãã«ãããã»ã¹ãç°¡åã«èŠãŠã¿ãŸãããã erlangã«ååšããæãäžè¬çãªããã¡ã¯ãã¡ãœããã¯ãerlang.mkãšrebarã§ãã ç§ã¯æ¯æ¥ã®ç·Žç¿ã§éçã䜿çšããŠããã®ã§ãããã«ã€ããŠè©³ãã説æããŸãã
éçã®äž»ãªæ©èœïŒ
- Rebarã¯ãäŸåé¢ä¿ããªãªãŒã¹ãã«ããã³ã³ãã€ã©ãç°å¢èšå®ã®åé¡ã«å¯Ÿãããœãªã¥ãŒã·ã§ã³ãæäŸããŸãã rebar3ã§ã¯ããã¹ãŠã®äŸåé¢ä¿ã®ããŒãžã§ã³ãšãã³ããŒãã©ã°ã€ã³ãå«ãããã¯ãã¡ã€ã«ãç»å ŽããŸããã äŸåé¢ä¿ãåŠçããããã®æŠç¥ãéžæãããããã¹ãŠã®äŸåé¢ä¿ãããŠã³ããŒãããŠãæ°ããã¢ã»ã³ããªããšã«ã¢ã»ã³ããªãã£ã¬ã¯ããªã«ã¬ã€ã¢ãŠãããŸãïŒæ°ããã¢ã»ã³ããª-ã¢ã»ã³ããªãæåããäœæããŸããã€ãŸããäŸåé¢ä¿ã¯ããŠã³ããŒããããŠããŸããïŒããŸãã¯ããã³ããŒãã©ã°ã€ã³ã䜿çšããŠããã¹ãŠã®äŸåé¢ä¿ãããªãŒãºããŸããããŒã«ã«ãã£ã¬ã¯ããªã«ä¿åããã¢ããªã±ãŒã·ã§ã³ãªããžããªã«ä¿åããŸãã
- Rebar3ã¯ãrelxã䜿çšããŠãªãªãŒã¹ãããã±ãŒãžåããæ¹æ³ãæäŸããŸãã erlangã®ãªãªãŒã¹ãã«ããåºç¯ãªãããã¯ã§ãããå¥ã®èšäºã«å€ããŸãã ãã®äŸã§ã¯ãæãåçŽãªãªãªãŒã¹ãæ¬çªç°å¢ã§å®è£ ãããŠããŸããã€ãŸãããœãŒã¹ã³ãŒãã¯å«ãŸããããããã°æ å ±ã¯åé€ããããªãªãŒã¹ã¯è¿œå ã®æäœãªãã§ã¿ãŒã²ããã·ã¹ãã ã§å®è¡ããæºåãã§ããŠããŸããã€ãŸãããµãŒãã¹ã管çããããã®Erlang VMãšã¹ã¯ãªãããã€ã³ãã£ã³ã°ãé ä¿¡ã«å«ãŸããŠããŸãã
- æ¡åŒµæ©èœã䜿çšãããšãããŸããŸãªäŸ¿å©ãªãŠãŒãã£ãªãã£ãå®è¡ã§ããŸãïŒããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãïŒã
次ã®ç®æšã¯ãã¢ã»ã³ããªããã³ãã¹ãã®ããã«ã¡ã€ã¯ãã¡ã€ã«ã§å®çŸ©ãããŠããŸãã
-
$ make tests
ãã¹ãã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ã«ãåéãããã¹ãŠã®ãã¹ããå®è¡ããŸãã -
$ make rel
æçµãªãªãŒã¹ãåéããŸã
çµæã®è³ªã«å¯Ÿããéäº
Common Test Frameworkã«ã€ããŠã®ããã€ãã®èšè
ãšã³ãžãã¢ãªã³ã°ã®å®è·µã«ãããæšæºçãªã¢ãããŒãã¯ãã¹ãã§ãã ç§ãã¡ã®åšãã®ã»ãšãã©ãã¹ãŠã®ãªããžã§ã¯ãã¯ãäœããã®åœ¢ã§ãã¹ãã䜿çšããŠéçºãããŸããã ã¢ãŒã©ã³ã®äžçã«ã¯ããã¹ãçšã®2ã€ã®åºæ¬çãªãã¬ãŒã ã¯ãŒã¯ããããŸããeunitãšå ±éãã¹ãïŒä»¥éCTïŒã§ãã ãããã®ããŒã«ã¯äž¡æ¹ãšããèšèšãããã·ã¹ãã ã®ã»ãŒãã¹ãŠã®åŽé¢ããã¹ãã§ããŸããå¯äžã®åé¡ã¯ããã¹ããçŽæ¥å®è¡ããåã®ããŒã«ã®è€éããšæºåæäœã§ãã Eunitã¯åäœãã¹ãã®æ¹æ³ãæäŸããŸããå ±éãã¹ãã¯ãçµ±åãã¹ãã«çŠç¹ãåœãŠããããæè»ã§æ±çšæ§ã®é«ãããŒã«ã§ãã
CTã«ã¯ããã¹ãããã»ã¹ã®æ確ãªéå±€ããããŸãã ä»æ§ã䜿çšãããšãå®è¡äžã®ãã¹ãã®ãã¹ãŠã®åŽé¢ãæ§æã§ããŸãã ãã®åŸã«ããã¹ãã±ãŒã¹ã®ã°ã«ãŒããè«ççã«å®å šãªãããã¯ã«çµåãããã»ãããç¶ããŸãã ãã¹ãã°ã«ãŒãã®äžéšãšããŠããã¹ãã®å®è¡é åºãšäžŠååŠçãèšå®ãããã¹ãç°å¢ãæè»ã«æ§æããããšãã§ããŸãã
ãã¹ãç°å¢ã®æ§æã«ãããæè»æ§ã¯ããã¹ãã±ãŒã¹ã®åæåãšå®äºã®3ã¬ãã«ã¢ãã«ã«ãããŸãã
-
init_per_suite/end_per_suite
ç¹å®ã®ã»ãããå®è¡ããããšãã«1ååŒã³åºãããŸã -
init_per_group/end_per_group
ç¹å®ã®ã°ã«ãŒãã«å¯ŸããŠ1ååŒã³åºãããŸã -
init_per_testcase/end_per_testcase
ã°ã«ãŒãå ã®åãã¹ãã®åã«åŒã³åºãããŸãã
確ãã«ããã¹ããéããŠéçºãeunitãé©çšãããã¹ãŠã®äººã¯ããããŒãã£ã³ã°ãã¹ãã倱æããç¶æ³ã«çŽé¢ããŸããããã®ãããããšãã°ããã¹ãç°å¢ã«æ®ã£ãŠããã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒããããšã次ã®ãã¹ãã®åæåãäžæããŸãã CTã®æè»æ§ã«ããããã®ãããªç¶æ³ãä»ã®å€ãã®ç¶æ³ãšäžç·ã«æ£ããåŠçããç°å¢ã®ææ ®æ·±ãåæåã«ãããã¹ãŠã®ãã¹ãã®å®è¡ã«ãããæéãççž®ããããšãã§ããŸãã
å€éšåç §ã®çµ±å
ããã§ã¯ããªãå€éšåç §ãå¿ èŠãªã®ã§ããããïŒ èŠããã«ãæ©èœãã¢ããªã±ãŒã·ã§ã³ãããã³ãªãªãŒã¹éã®äŸåé¢ä¿ãèå¥ããã³ãŒãã®ãããã»ã¯ã·ã§ã³ãæ€åºããããã§ãã
倧èŠæš¡ãªãããžã§ã¯ãã§ã¯ãäžéšã®ã³ãŒããæ©èœããªããªãããšããããããŸãã å€ãã®çç±ããããŸããããšãã°ãã¢ãžã¥ãŒã«Xã§é¢æ°AãäœæããåŸãA2ãšããã¢ãžã¥ãŒã«Zã«ç§»åãããã¹ãŠã®ãã¹ããæ£åžžã«åæ Œããéçºè ãXãå¿ããïŒA. é¢æ°Aããšã¯ã¹ããŒãããããããã³ã³ãã€ã©ã¯XïŒAã䜿çšãããªãã£ãããšãéç¥ããŸããã§ããã ãã¡ããããããã³ãŒããåé€ããã®ãæ©ããã°æ©ãã»ã©ãã³ãŒãããŒã¹ã¯å°ãããªããããã«å¿ããŠãããç¶æããããã®ã³ã¹ããå°ãããªããŸãã
Xrefã¯ã©ã®ããã«æ©èœããŸããïŒ ãã¹ãŠã®åŒã³åºãããã§ãã¯ããã¢ãžã¥ãŒã«å ã®ç¹å®ã®é¢æ°ãšæ¯èŒããŸãã é¢æ°ãå®çŸ©ãããŠããããã©ãã§ã䜿çšãããŠããªãå ŽåãèŠåã衚瀺ãããŸãã ãŸãããã®ã¡ãœãããŸãã¯ãã®ã¡ãœããã䜿çšãããŠãããã¹ãŠã®å ŽæãèŠã€ããå¿ èŠãããå Žåã®ãŠãŒã¹ã±ãŒã¹ããããŸãã
å®çšŒåç°å¢ã§å€éšåç §ã䜿çšããã«ã¯ãç®æšãäºåã«æ±ºå®ãããŠããŸãã
-
$ make xref
Dialyzerã䜿çšãã
æåŸã®æ®µèœã§ã¯ãäŸåé¢ä¿ãšæªäœ¿çšã®é¢æ°ãèå¥ããæ¹æ³ãèŠã€ããŸããã ããããé¢æ°ãããå Žåãããã¯äœ¿çšãããŸãããã¢ãªãã£ïŒåŒæ°ã®æ°ïŒãŸãã¯åŒæ°èªäœãå®çŸ©ãšäžèŽããªãå Žåã¯ã©ãã§ããããïŒ ãŸãã¯ãããšãã°ãcaseããã³ifã¹ããŒãã¡ã³ãã§å®è¡ãããªãã£ããã©ã³ããã¬ãŒãåŒã®äžå¿ èŠãªãã§ãã¯ããŸãã¯å宣èšã®äžæŽåã®ã±ãŒã¹ã ãã€ã¢ã©ã€ã¶ãŒãæäŸãããã®ãããªäžäžèŽãæ€çŽ¢ããããšã§ãã
å®çšŒåç°å¢ã§ãã€ã¢ã©ã€ã¶ãŒã䜿çšããç®çã¯æ¬¡ã®ãšããã§ãã
-
$ make dialyzer
ã³ãŒãã¹ã¿ã€ã«ãèªåçã«ç¢ºèªãã
åããŒã ã¯ãã©ã®èšèšæšæºã«åŸãã¹ããããŸãåŸãã¹ããã©ãããèªã決å®ããŸãã ã»ãšãã©ã®å€§èŠæš¡ãããžã§ã¯ãã¯ãèšèšåºæºã«æºæ ããããšããŸããããã¯ããã®ææ³ã«ãããã³ãŒãããŒã¹ã®ãµããŒãã«é¢ããå€ãã®åé¡ã解æ¶ãããããã§ãã
Erlangã«ã¯æ®éçãªIDEã¯ååšããªããšããäºå®ã«ããã誰ããemacsã誰ããvimãŸãã¯åŽé«ã奜ããããèªåæ€èšŒã®åé¡ããããŸãã 幞ããªããšã«ãããŒã å ã§ã®æŠäºãªãã§èšèšåºæºã«åŸãããšãã§ããèå³æ·±ããšã«ãã¹ãããžã§ã¯ãããããŸãã
ããšãã°ããªããžããªã«ããã·ã¥ããåã«ãã¹ã¿ã€ã«ãã§ãã¯ãå®è¡ããããšã«åæããŸããã
ãšã«ãã¹ã䜿çšããã«ã¯ãç®çãäºåã«æ±ºå®ãããŠããŸãã
-
$ make lint
ã«ãŠã³ã¿ãŒã¢ããªã±ãŒã·ã§ã³éçº
- ãªããžããªãè€è£œãã
$ git clone https://github.com/Vonmo/acounter.git
- ãµã³ãããã¯ã¹ãèµ·åããŸã
$ make build_imgs
$ make up
- ã¢ããªã±ãŒã·ã§ã³ã®äž»ãªæ©èœãç¹°ãè¿ãéçºããã³ãã¹ãããŸãã åå埩ã®åŸããã¹ããå®è¡ããŸãã
$ make tests
- ãã¹ãŠã®ãã¹ããæ©èœããã³ãŒããè«ççã«å®æããããè² è·ãã¹ããå®è¡ããŠãèŠä»¶ã®ãã©ã°ã©ã4ã«æºæ ããŠãããã©ãããããã°ã©ã ã§ç¢ºèªããå¿
èŠããããŸãã
çŸåšã®å®è£ ã§ã¯ãè² è·çºçåšãšèª¿æ»äžã®ã·ã¹ãã ãåããã·ã³ã§åäœãããããè² è·ãã¹ãã¯æ£ããå®è¡ãããŸããã§ããã ãããããã®ãããªã³ãŒãã§ãããå®è£ ã®å¯èœæ§ãç解ããããšãã§ããŸãã
çºé»æ©ã¯ãäž»èŠãªãã¹ããéå§ããåã«ã·ã¹ãã ãå ç±ãã次ã«è² è·ã段éçã«å¢å ãããŸãã - ãã®æ®µéã§ãå®å
šã«æ©èœããã¢ããªã±ãŒã·ã§ã³ãã§ããŸããã ãªãªãŒã¹ã«ããã±ãŒãžåãããšã³ããŠãŒã¶ãŒã«é
ä¿¡ã§ããŸãã
$ make rel
- ãªãªãŒã¹ã®ç¶æ
ã確èªããã«ã¯ãã³ã³ãœãŒã«ã¢ãŒãã§å®è¡ã§ããŸã
$ ./_build/prod/rel/acounter/bin/acounter console
httpïŒ// localhostïŒ18085 /ã«ç§»åããŸãã ãå¯èœæ§ã®ããå°ããªãšã³ãžã³ããšããããã¹ãã衚瀺ãããå ŽåããªãªãŒã¹ãéå§ãããæ£åžžã«æ©èœããŠããŸãã
ãŸãšã
çµè«ãšããŠããã®ãããã¯ã«å¯Ÿããå¿èãšé¢å¿ã«æè¬ããŸãã çæéäœæ¥çšãµã³ãããã¯ã¹ãååŸããããšãã§ãããããéçºããã»ã¹ãç°¡çŽ åããã³å®å®ãããããšãã§ããŸããã 以äžã®èšäºã§ã¯ãåæ£ã·ã¹ãã ããã³ãã«ãã³ã³ããŒãã³ãã·ã¹ãã ã®éçºã®ããŒãºã«åãããŠãã®ãµã³ãããã¯ã¹ãæ¡åŒµããæ¹æ³ã説æããŸãã
Erlangã¯æãäžè¬çãªèšèªã§ã¯ãããŸãããããµãŒããŒãœãããŠã§ã¢ããœãããªã¢ã«ã¿ã€ã ã·ã¹ãã ã«ã¯æé©ã§ãã ãããŠããã®ãããã¯ãããã§å°ãªããšãå°ã埩掻ãããããšæããŸã