1. Elixirãšã¯
Elixirã¯ãErlangã®VMã§ããBEAMäžã§åäœããã䞊è¡æ§ãšèé害æ§ã«åªããæ©èœçãªããã°ã©ãã³ã°èšèªã§ãã
Elixirã¯é«æ°Žæºãªæœè±¡åãšãã¯ãã䜿çšããŠErlangã®æ©èœãè£å®ããéçºã容æã«ããŸãã
ãã®èšäºã§ã¯ããã®é åãæ·±æãããElixirã®ã©ã€ãã©ãªã®è¿œå æ¹æ³ãäžå¯§ã«è§£èª¬ããŸãã
1.1 Elixirã®ç¹æ§ãšã¯
Elixirã¯ãErlangã®ä¿¡é Œæ§ãšäžŠè¡æ§ãç¶æ¿ããªãããRubyã®ãããªã·ã³ã¿ãã¯ã¹ãšé«åºŠãªã¡ã¿ããã°ã©ãã³ã°æ©èœãåããŠããŸãã
ãŸããElixirã¯éåžžã«åªãã䞊ååŠçèœåãæã£ãŠãããåæ£ã³ã³ãã¥ãŒãã£ã³ã°ã®ããã®ãããã³ã«ãçµã¿èŸŒãŸããŠããŸãã
ããã«ãããElixirã¯å€§èŠæš¡ãªããŒã¿ããŒã¹åŠçã䞊è¡æ§ãèŠæ±ãããå Žæã«é©ããŠããŸãã
1.2 Elixirã®äœ¿çšããã¡ãªãã
Elixirã䜿çšããã¡ãªãããšããŠããŸãé©ãã¹ãå¹çæ§ãšçç£æ§ãæããããŸãã
Elixirã®äžŠè¡åŠçèœåãšãšã©ãŒãã³ããªã³ã°æ©èœã«ãããå¹ççã§é äžãªãœãããŠã§ã¢ã®éçºãå¯èœã«ãªããŸãã
ãŸããElixirã¯åŠã³ãããèšèªã§ããããã®ã·ã³ãã«ãªæ§æãšãã¿ãŒã³ãããã³ã°ã®èœåã«ãããã³ãŒãã®èªã¿ããããåäžãããŸãã
1.3 Elixirã®åºç€ææ³
Elixirã®åºæ¬çãªææ³ã¯Rubyã«äŒŒãŠããŸããããã¿ãŒã³ãããã³ã°ãã¬ãŒããšãã£ãæ©èœãåããŠããŸãã
ãããã®æ©èœã䜿ããšãã³ãŒãã®ççž®åã ãã§ãªããè€éãªããŒã¿æ§é ã®çæãå¯èœã«ãªããŸãã
ãŸããElixirã®ææ³ã«ã¯å匷ããŠè±ããªãã¯ããšã¡ã¿ããã°ã©ãã³ã°ã®ãµããŒããå«ãŸããŠããŸãã
1.4 Elixirã§ãã䜿ãã³ãã³ãã©ã€ã³
Elixirã§ãã䜿ãã³ãã³ãã®äžã€ã«ããmixãããããŸããããã¯ãããžã§ã¯ãã®äœæããã¹ãããããã€ãªã©ãå©ãããã«ãããŒã«ã§ãã
ãŸãããiexãã¯Elixirã®REPLã§ãããã䜿ãããšã§Elixirã³ãŒãã®ã€ã³ã¿ã©ã¯ãã£ããªå®è¡ãå¯èœã«ãªããŸãã
ããã«ããhexãã¯Elixirã®ããã±ãŒãžãããŒãžã£ãŒã§ãElixirã®ã©ã€ãã©ãªã®è¿œå ãšç®¡çãå©ããŸãã
2. Elixirã®ã©ã€ãã©ãª
Elixirã¯é¢æ°åããã°ã©ãã³ã°èšèªãšããŠç¥ãããŠããŸããããã®åŒ·åãã掻ããããã«ã¯ã©ã€ãã©ãªãéèŠãªåœ¹å²ãæãããŸãããã®ç¯ã§ã¯ãElixirã®ã©ã€ãã©ãªã«ã€ããŠè©³ããããã®åœ¹å²ãéžæã®ãã€ã³ããããŒãžã§ã³ç®¡çã«ã€ããŠã®èª¬æããŸãã
Elixirã®ã©ã€ãã©ãªã¯äŸ¿å©ãªããŒã«ã§ãéçºè ãã³ãŒããæžãå¿ èŠããªãå Žé¢ã§ãããã®ã³ãŒããåå©çšããããšãå¯èœãšãªããŸããããã«ãããéçºè ã¯ããéèŠãªã¿ã¹ã¯ã«éäžããããæ°ããªæ©èœãè¿œå ããæéãå¢ããããšãã§ããŸãã
ãããã®ã©ã€ãã©ãªã¯ãå°éæ§ãç®çã«å¿ããŠæ§ã ãªæ©èœãæäŸããŠããŸããå®å®åºŠãæ§èœãäºææ§ããããããæ£ç¢ºãªã©ã€ãã©ãªãéžæããããšããElixirã®ãã¯ãŒãåŒãåºãéµãšãªããŸãã
2.1 ã©ã€ãã©ãªã®åœ¹å²ãšã¯
ã©ã€ãã©ãªã¯åå©çšå¯èœãªã³ãŒãã®éãŸãã§ãããç¹å®ã®ã¿ã¹ã¯ãéæããããã®æºåãæŽã£ãŠããŸããèšãæããã°ãã©ã€ãã©ãªã¯ããªãã®ãããžã§ã¯ãã§å¿ èŠãªæ©èœãæäŸãããã®æ©èœãéæããããã®æéãšåŽåãåçã«åæžããŸãã
Elixirã®ã©ã€ãã©ãªã«ãåæ§ã®åœ¹å²ããããŸããWebéçºã«ãããã«ãŒãã£ã³ã°ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãæå·åãããã«ã¯ç»ååŠçãªã©ãããããåŽé¢ã§æŽ»çšãããŸãã
é©åãªã©ã€ãã©ãªãéžæãããšãããªãã®ã¢ããªã±ãŒã·ã§ã³ã¯ããéããããå¹ççã§ãããå®å®ãããã®ãšãªããŸãããããã£ãŠããããããªãã«ãšã£ãŠæé©ãªéžæã§ãããã©ãããç解ããããšãéèŠã§ãã
2.2 人æ°ã®ããElixirã®ã©ã€ãã©ãª
å€æ°ã®åªããã©ã€ãã©ãªãElixirã«ã¯ååšããŸãããäžéšãã·ã§ãŒããªã¹ãåããŸããããããã¯ãElixirã³ãã¥ããã£ã§ãã䜿ãããŠãããã®ã§ãããããçš®é¡ã®ãããžã§ã¯ãã§åœ¹ç«ã€å¯èœæ§ããããŸãã
1. Plug: Plugã¯Elixirã®å°ããªã¢ãžã¥ãŒã«ã§ãWebã¢ããªã±ãŒã·ã§ã³ãšHTTPãµãŒããšã®éã«äœçœ®ããŸãããªã¯ãšã¹ããã¬ã¹ãã³ã¹ãåãæ±ãæ©èœãæäŸããŸãã
2. Ecto: Ectoã¯ããŒã¿ããŒã¹ã©ãããŒãšã¯ãšãªçæåšã§ããå€æ°ã®ããŒã¿ããŒã¹ã·ã¹ãã ãšé£æºããããã®äžè²«æ§ããAPIãæäŸããŸãã
2.3 ã©ã€ãã©ãªéžæã®ãã€ã³ã
è¯ãã©ã€ãã©ãªãéžæããããã«ã¯ãããã€ãã®èãæ¹ããããŸãããã®äžã€ã¯ãã©ã€ãã©ãªã解決ããããšããŠããåé¡ãããªãã®ãããžã§ã¯ããšãããããŠããããšã§ãã
ä»ã«ããã©ã€ãã©ãªã®ããã¥ã¡ã³ããŒã·ã§ã³ããã£ãããšããŠãããããã¡ã³ããã³ã¹ãç¶ç¶ãããŠããããéèŠãªææšã§ãããŸããã©ã€ãã©ãªã倧ããªã³ãã¥ããã£ã«æ¯ããããŠãããã€ç¶ç¶çã«æŽæ°ãããŠããããéèŠã§ãã
æåŸã«ãã©ã€ãã©ãªã®ããã©ãŒãã³ã¹ãšå®å®æ§ãéèŠãªèŠçŽ ã§ãããããã¯ã©ã€ãã©ãªã®ã¬ãã¥ãŒãè©äŸ¡ããµããŒããã©ãŒã©ã ãéããŠç¢ºèªããããšãã§ããŸãã
2.4 ã©ã€ãã©ãªã®ããŒãžã§ã³ç®¡ç
ãããžã§ã¯ãã«ã©ã€ãã©ãªãè¿œå ãããšãããã®ããŒãžã§ã³ã¯æ¥µããŠéèŠãªèŠçŽ ã§ããäºææ§ã®åé¡ãé¿ãããããããšã©ãŒãã»ãã¥ãªãã£äžã®åé¡ãé²ãããããŸãã
Elixirã§ã¯ãMixãããã±ãŒãžç®¡çãæ ã£ãŠããŸããMixã®depsé¢æ°ãéããŠãå¿ èŠãªã©ã€ãã©ãªãšãã®ããŒãžã§ã³ãæå®ããããšãã§ããŸããããã«ãããã©ã€ãã©ãªã®äŸåé¢ä¿ãä¿å®å¯èœã§äžè²«æ§ãä¿ã€ããšãå¯èœãšãªããŸãã
ãŸããHexãšããããã±ãŒãžãããŒãžã£ãããããããéããŠããã±ãŒãžã®å ¬éãã€ã³ã¹ããŒã«ãå¯èœãšãªããŸããHexã¯Elixirã®ã³ãã¥ããã£ã«ãã£ãŠæäŸãããŠãããããŒãžã§ã³ç®¡çãç°¡çŽ åããããã±ãŒãžé åžã容æã«ããŸãã
3. Elixirã®ã©ã€ãã©ãªè¿œå æ¹æ³
Elixirã®ãšã³ã·ã¹ãã ã«ã¯ãå€æ§ãªã©ã€ãã©ãªãå«ãŸããŠããŸãããããã®ã©ã€ãã©ãªã䜿ãããšã§ãElixirã®æœåšèœåãæ倧éã«åŒãåºãããšãå¯èœã§ããããã§ã¯ãå ·äœçãªã©ã€ãã©ãªã®è¿œå æ¹æ³ã«ã€ããŠèŠãŠãããŸãããã
ãªããåçš®æäœã¯ã³ãã³ãã©ã€ã³ããè¡ããŸãããã®éãåã³ãã³ãã®å®è¡çµæã確èªããªããé²ããŠããããšãéèŠã§ãããšã©ãŒã¡ãã»ãŒãžãçŸããå Žåã§ãããããäœãæå³ããã®ã調æ»ããããšã§åé¡è§£æ±ºã®ç³žå£ãèŠã€ããã¯ãã§ãã
ãŸããã©ã€ãã©ãªã®è¿œå ã«ã¯Hexãšããããã±ãŒãžãããŒãžã£ã䜿çšããŸããHexã¯Elixirã³ãã¥ããã£ã«ãã£ãŠç®¡çãããŠããŠãElixirãããžã§ã¯ãã«ããã±ãŒãžãè¿œå ãããã¢ããããŒããããããã®ã«äŸ¿å©ãªããŒã«ã§ãã
3.1 ã©ã€ãã©ãªã®ããŠã³ããŒã
ãŸãã¯ã©ã€ãã©ãªã®ããŠã³ããŒãæ¹æ³ã«ã€ããŠèª¬æããŸãããŸãHexã®å ¬åŒãŠã§ããµã€ãããç®çã®ã©ã€ãã©ãªãæ€çŽ¢ãããã®ããŒãžã«åŸã£ãŠã€ã³ã¹ããŒã«ãè¡ããŸãããã
ã€ã³ã¹ããŒã«æé ã¯ã©ã€ãã©ãªã«ããç°ãªããŸãããåºæ¬çã«ã¯Hexã³ãã³ãã䜿ã£ãŠã³ãã³ãã©ã€ã³ããããŠã³ããŒããè¡ããŸããå ·äœçãªã³ãã³ãã¯åã©ã€ãã©ãªã®å ¬åŒããŒãžã«èšèŒãããŠããŸãã
ããŠã³ããŒããæåãããã次ã¯ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ãžãšé²ã¿ãŸãããªããå©çšããã©ã€ãã©ãªã«ãã£ãŠã¯äŸåé¢ä¿ã®ããã©ã€ãã©ãªãåæã«ããŠã³ããŒããããããšããããŸãã
3.2 ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«
ããŠã³ããŒãããã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠèŠãŠãããŸããåºæ¬çãªã€ã³ã¹ããŒã«æ¹æ³ãšããŠã¯ããããžã§ã¯ãã®mix.exsãã¡ã€ã«ã«ã©ã€ãã©ãªãè¿œå ããŸãã
mix.exsãã¡ã€ã«ã«ã¯ãããžã§ã¯ãã®äŸåé¢ä¿ãèšèŒãããŠããã®ã§ãããã«ããŠã³ããŒãããã©ã€ãã©ãªåãšããŒãžã§ã³ãèšè¿°ãããã®åŸã«mix deps.getã³ãã³ããå®è¡ããããšã§ã€ã³ã¹ããŒã«ãè¡ããŸãã
ãªããããŒãžã§ã³æå®ãããªããšææ°çãã€ã³ã¹ããŒã«ãããŸããããŒãžã§ã³ã«ãã£ãŠã¯äºææ§ã®åé¡ãçããããšãããã®ã§ãå¿ èŠã«å¿ããŠããŒãžã§ã³ãæå®ããŠãã ããã
3.3 ã©ã€ãã©ãªã®èšå®æ¹æ³
ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ãå®äºããåŸããã®ã©ã€ãã©ãªã®èšå®ãè¡ããŸããèšå®ã¯ãããžã§ã¯ãã®configãã¡ã€ã«ã«å¯ŸããŠè¡ããŸãã
èšå®ã®è©³çŽ°ã¯ã©ã€ãã©ãªã«ãã£ãŠç°ãªããŸãã®ã§ãå ·äœçãªèšå®æ¹æ³ã«ã€ããŠã¯åã©ã€ãã©ãªã®å ¬åŒããã¥ã¡ã³ããåç §ããŠãã ãããèšå®ãã¡ã€ã«ãå€æŽããåŸã¯ã¢ããªã±ãŒã·ã§ã³ãåèµ·åããå¿ èŠããããŸãã
ãªããããã€ãã®ã©ã€ãã©ãªã¯èšå®ãªãã§ãåäœããŸãããèªå·±èšå®ããããšã«ããããå ·äœçãªå¶åŸ¡ãå¯èœãšãªããŸãã
3.4 ã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³
æåŸã«ãã©ã€ãã©ãªã®ã¢ããããŒãæ¹æ³ã«ã€ããŠèª¬æããŸããã©ã€ãã©ãªã«è¿œå ä¿®æ£ãè¡ããããšããããã®ä¿®æ£ãåæ ããããã«ã©ã€ãã©ãªã®ã¢ããããŒããå¿ èŠãšãªããŸãã
ã¢ããããŒãã¯mix deps.updateã³ãã³ããçšããŠè¡ããŸãã匷調ããŠããããããšã¯ãã©ã€ãã©ãªã®æŽæ°ã¯é »ç¹ã«è¡ããããã®ãªã®ã§ãå®æçã«ã¢ããããŒãã確èªããŸãããã
ã¢ããããŒãæã«ã¯ãæ°æ§ããŒãžã§ã³éã§ã®éäºææ§ãçããå¯èœæ§ããããŸãããã®ãããã¢ããããŒãæã«ã¯æ³šææ·±ãåŠçãè¡ããç°åžžãçºçããå Žåã«ã¯é©åã«å¯Ÿå¿ããå¿ èŠããããŸãã
4. Elixirã®ã©ã€ãã©ãªåé¡è§£æ±º
Elixirããã°ã©ãã³ã°æã«ã¯ãæ§ã ãªã©ã€ãã©ãªãå©çšãããŸãããããããè¿œå ãå©çšããéã«ã¯å€ãã®åé¡ãçããããšããããŸããæ¬ç« ã§ã¯ããããã®åé¡ã解決ããããã®äžè¬çãªãšã©ãŒããšã©ãŒã³ãŒãã®è§£ææ¹æ³ããšã©ãŒè§£æ±ºã®ãã³ãããããŠã©ã€ãã©ãªãæ£ããåäœããŠãããã®ç¢ºèªæ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
Elixirã®ã©ã€ãã©ãªè¿œå ã¯ãéåžžã«ç°¡åãªæäœã§ãããäžæ¹ã§æ§ã ãªåé¡ãçããå¯èœæ§ããããŸãããããã®åé¡ãäœã§ããããç解ããããããé©åã«è§£æ±ºããããã®ç¥èã身ã«ã€ããããšããå¹ççãªããã°ã©ãã³ã°ã®ããŒãšãªããŸãã
ããã§ã¯ãElixirã®ã©ã€ãã©ãªãäžæã«ç®¡çããåé¡è§£æ±ºãè¡ãããã®å ·äœçãªç¥èãšã¹ãã«ãæäŸããŸããããããã®ãããã¯ã¯ãå®éã®ãšã©ãŒäºäŸãšå ±ã«è§£èª¬ããŸãã®ã§ãå ·äœçãªç解ãšç¥èã®æ·±åãæåŸ ã§ããŸãã
4.1 ã©ã€ãã©ãªè¿œå æã®äžè¬çãªãšã©ãŒ
ãŸãã¯ãElixirã®ã©ã€ãã©ãªãè¿œå ããéã«äžè¬çã«ééãããšã©ãŒã«ã€ããŠè§£èª¬ããŸããã©ã€ãã©ãªãè¿œå ããéã«ã¯ãäŸåé¢ä¿ã®åé¡ãããŒãžã§ã³ã®äžæŽåãããã«ã¯ã©ã€ãã©ãªã®ååšããªãå Žåãªã©ãæ§ã ãªãšã©ãŒãçããŸãã
å ·äœçãªãšã©ãŒã¡ãã»ãŒãžã¯ããdependency resolution failedãããCould not find libraryããªã©ãšãã£ã圢ã§è¡šç€ºãããŸãããããã®ãšã©ãŒã¡ãã»ãŒãžã瀺ãå 容ãç解ããããšã¯ãåé¡è§£æ±ºã®ç¬¬äžæ©ãšãªããŸãã
ãšã©ãŒãçºçããéã«ã¯ããŸããã®ãšã©ãŒã¡ãã»ãŒãžããã£ãããšèªã¿åãããšã倧åã§ãããã®äžã§ã以äžã«è§£èª¬ãããšã©ãŒã³ãŒãã®è§£ææ¹æ³ããšã©ãŒè§£æ±ºã®ããã®ãã³ãã掻çšããŠãã ããã
4.2 ãšã©ãŒã³ãŒãã®è§£ææ¹æ³
ãšã©ãŒã³ãŒãã¯ãåé¡ã®èµ·ããŠããå ·äœçãªç®æãåå ã瀺ããŠããŸãããã®ããããšã©ãŒã³ãŒãã解æãããã®æå³ãç解ããããšã¯åé¡è§£æ±ºã«ãããŠéèŠãšãªããŸãã
äžè¬çã«ããšã©ãŒã³ãŒãã«ã¯ãã¢ãžã¥ãŒã«åããé¢æ°åããåŒæ°ã®æ å ±ãããšã©ãŒã¡ãã»ãŒãžããªã©ã瀺ãããŸãããããã®æ å ±ãå ã«ãšã©ãŒã®åå ãæšæž¬ããé©åãªå¯ŸåŠæ¹æ³ãå°ãåºããŸãã
ãŸãããšã©ãŒã³ãŒããGoogleãªã©ã®æ€çŽ¢ãšã³ãžã³ã§æ€çŽ¢ããããšã§ãé¡äŒŒã®åé¡ãšãã®è§£æ±ºçãèŠã€ããããšãå¯èœã§ãããšã©ãŒã³ãŒã解æã¯çŽ°å¿ã®æ³šæãæããæ éã«è¡ãããšãæãŸããã§ãã
4.3 ãšã©ãŒè§£æ±ºã®ããã®ãã³ã
å€ãã®ãšã©ãŒã¯ãé©åãªæé ã§å¯ŸåŠããã°è§£æ±ºå¯èœã§ããããã§ã¯ãElixirã®ã©ã€ãã©ãªè¿œå æã«ééããå¯èœæ§ã®ããäžè¬çãªãšã©ãŒè§£æ±ºã®ãã³ããæäŸããŸãã
ãŸããäŸåé¢ä¿ã®åé¡ã«ééããå Žåã¯ããmix deps.getãã³ãã³ããå床å®è¡ããããšãæšå¥šããŸãããŸããããŒãžã§ã³ã®äžæŽåãåé¡ãšãªãå Žåã¯ããããžã§ã¯ãã®ãmix.exsããã¡ã€ã«ã®è©²åœããã©ã€ãã©ãªã®ããŒãžã§ã³ã確èªããå¿ èŠã§ããã°ä¿®æ£ããŸãã
ãããã®è§£æ±ºçãè©ŠããŠã解決ããªãå Žåããããã¯ãšã©ãŒã®å 容ãç解ã§ããªãå Žåã¯ãé©åãªãµããŒããæ±ããããšã倧åã§ããElixirã®ã³ãã¥ããã£ãããããžã§ã¯ãã®issueãã©ãã«ãŒãã¹ã¿ãã¯ãªãŒããŒãããŒãªã©ã§è³ªåãããããšã§ããããªãå©ããåŸãããšãã§ããŸãã
4.4 ã©ã€ãã©ãªãæ£ããåäœããŠãããã®ç¢ºèªæ¹æ³
ã©ã€ãã©ãªãè¿œå ããåŸããã®ã©ã€ãã©ãªãæ£ããåäœããŠããã確èªããæ¹æ³ã«ã€ããŠè§£èª¬ããŸããã©ã€ãã©ãªã®åäœç¢ºèªã¯ãé©åãªæ©èœãæäŸãããŠãããããã°ãæ®ã£ãŠããªããã確èªããããã«éèŠã§ãã
å ·äœçãªåäœç¢ºèªæ¹æ³ãšããŠã¯ïŒãã®ã©ã€ãã©ãªã®æäŸããé¢æ°ãåŒã³åºããŠã¿ããããŠããããã¹ããå®è¡ããæ¹æ³ãªã©ããããŸãããããããããã®ææ³ã¯ã©ã€ãã©ãªã«ããç°ãªããããããããã®ã©ã€ãã©ãªã®ããã¥ã¡ã³ããŒã·ã§ã³ãåç §ããããšãæšå¥šãããŸãã
以äžãElixirã®ã©ã€ãã©ãªåé¡è§£æ±ºã«ã€ããŠã®è§£èª¬ãéããŠããšã©ãŒçºçæã®äžè¬çãªå¯Ÿå¿æ¹æ³ãåäœç¢ºèªæ¹æ³ãªã©ãåŠã³ãŸããããããã®æ å ±ãé§äœ¿ããŠãããªãèªèº«ã®Elixirããã°ã©ãã³ã°ãããã¹ã ãŒãºã«ãåæ»ã«é²ããããšãã§ããããšã§ãããã
5. Elixirã©ã€ãã©ãªã®æŽ»çšäŸ
Elixirã©ã€ãã©ãªã¯ããŸããŸãªå Žé¢ã§æå¹ã«æŽ»çšã§ããŸãã以äžã§ã¯ãç¹ã«é »ç¹ã«äœ¿çšãããäžéšã®å©çšäºäŸã玹ä»ããŸãã
ãããã®äºäŸãåèã«ãèªèº«ã®éçºèª²é¡ãžã®æé©ãªã©ã€ãã©ãªã®éžæãå©çšæ¹æ³ãèããŠã¿ãŠãã ããã
ããããã®äºäŸã§çŽ¹ä»ããã©ã€ãã©ãªã¯ããã®åéã§äžè¬çã«å©çšãããŠãããã®ãéžãã§ãããä¿¡é Œæ§ãå®å®æ§ã確ä¿ãããŠããŸãã
5.1 ãŠã§ãéçºã§ã®ã©ã€ãã©ãªæŽ»çšäºäŸ
ãŠã§ãéçºã«ãããŠã¯ãPhoenixãšãã£ããã¬ãŒã ã¯ãŒã¯ãäžè¬çã«çšããããŸãããã¡ãã¯Elixirã®ã©ã€ãã©ãªã®äžã€ã§ãé«éãªåŠçé床ãšçç£æ§ã®é«ãã掻ããããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºãå¯èœã§ãã
Ectoã¯ãããŒã¿ããŒã¹ãšã®ããåããå¹çåããããã®ã©ã€ãã©ãªã§ããPhoenixãšçµã¿åãããããšã§å¹ççãªããŒã¿æäœãå®çŸããŸãã
Plugã¯ãPhoenixã®äžæ žçãªéšåãæ ã£ãŠãããHTTPãªã¯ãšã¹ãã®åŠçãå¯èœã«ããŸããããã«ãŠã§ã¢ãšããŠã®åœ¹å²ãæãããŠããŸãã
5.2 ããŒã¿åæã§ã®ã©ã€ãã©ãªæŽ»çšäºäŸ
ããŒã¿åæé åã«ãããŠã¯ãFlowãšããã©ã€ãã©ãªãçšããããŸããããã¯ããŒã¿ã®äžŠååŠçãæ¯æŽãã倧éã®ããŒã¿åŠçãå¹ççã«é²ããããšãã§ããŸãã
Decimalã¯ãéé¡èšç®ã粟å¯ãªæ°å€èšç®ãæ±ãéã«å©çšãããŸãã粟床ã®é«ãèšç®ãä¿èšŒããŸãã
ãããŠãCSVã¯ãCSVãã¡ã€ã«ã®èªã¿æžããæ¯æŽããã©ã€ãã©ãªã§ããããŒã¿åæã§é »ç¹ã«çšããããCSV圢åŒã®ããŒã¿åŠçã«åœ¹ç«ã¡ãŸãã
5.3 ãã¹ãèªååã§ã®ã©ã€ãã©ãªæŽ»çšäºäŸ
ãã¹ãèªååã«ãããŠã¯ãExUnitããã䜿çšãããŸããããã¯Elixirã«æšæºã§å«ãŸãããã¹ããã¬ãŒã ã¯ãŒã¯ã§ããã¹ãã±ãŒã¹ã®èšè¿°ãå®è¡ãæ¯æŽããŸãã
Mockã¯ãã¢ãã¯ãªããžã§ã¯ãã®çæãå©ããã©ã€ãã©ãªã§ãããŠããããã¹ãæã«äŸåæ§ã眮ãæããããšãå¯èœã§ãã
ãŸããHoundã¯ããã©ãŠã¶æäœãèªååããããã®ã©ã€ãã©ãªã§ãE2Eãã¹ãã®èªååã«åœ¹ç«ã¡ãŸãã
5.4 ã·ã¹ãã ç£èŠã§ã®ã©ã€ãã©ãªæŽ»çšäºäŸ
ã·ã¹ãã ç£èŠã§ã¯ãTelemetryãšããã©ã€ãã©ãªãäžè¬çã«äœ¿çšãããŸãããããçšããããšã§ã·ã¹ãã ã®åäœç¶æ³ãèšæž¬ã»ç£èŠããããšãå¯èœã§ãã
Loggerã¯ãElixirã®æšæºã©ã€ãã©ãªã®äžã€ã§ãã·ã¹ãã ããã®ãã°åºåãè¡ã圹å²ãæãããŸãã
ããã«ãObserverã¯ãElixirã®ã·ã¹ãã ã®è©³çŽ°æ å ±ããªã¢ã«ã¿ã€ã ã«è¡šç€ºããããã®ã©ã€ãã©ãªã§ãã·ã¹ãã ã®ç¶æã»ç®¡çã«åœ¹ç«ã¡ãŸãã
6. Elixirã®ã©ã€ãã©ãªè¿œå ãæåãããããã®æçµãã§ãã¯ãªã¹ã
ãã®ç« ã§ã¯ãElixirã®ã©ã€ãã©ãªè¿œå ãæåãããããã®æçµãã§ãã¯ãªã¹ãã«ã€ããŠè§£èª¬ããŸããæã ãè¿œå ãããã©ã€ãã©ãªãæ£ç¢ºã«äœã§ãããããã¹ãã®æºåã¯æŽã£ãŠãããããããã€ã®æé ã¯ç解ã§ããŠãããããããŠæçµçã«ãã©ã€ãã©ãªãè¿œå ãããåŸã®åäœã®ç¢ºèªãã§ããŠãããããããã®ãããã¯ã«ã€ããŠèå¯ããŸãã
6.1 è¿œå ããã©ã€ãã©ãªã®ç¢ºèª
ãŸãæåã«ãè¿œå ããã©ã€ãã©ãªãäœã§ãããã確èªããŸããããŒãžã§ã³æ å ±ãããã®ã©ã€ãã©ãªãäŸåããŠããä»ã®ã©ã€ãã©ãªã«ã€ããŠç¢ºèªããããšãéèŠã§ãã
ãŸãããã®ã©ã€ãã©ãªãæäŸããæ©èœãã¡ãªãããæ¬åœã«ãããžã§ã¯ãã«å¿ èŠãªãã®ãåè©äŸ¡ãè¡ãããšãå¿ èŠã§ããé©åãªã©ã€ãã©ãªãéžæããããšã§ãéçºã¹ããŒããåäžãããããã³ãŒãã®å質ãä¿ã€ããšãã§ããŸãã
æåŸã«ããã®ã©ã€ãã©ãªã掻çºã«ã¡ã³ããã³ã¹ãããŠãããã©ããããã§ãã¯ããŸãããã®ããšãããã®ã©ã€ãã©ãªãé·æéã«ããã£ãŠé Œãã«ã§ãããã©ãããããããŸãã
6.2 ãã¹ãå®è¡ã®æºå
次ã«ããã¹ãã®æºåã«ã€ããŠè¿°ã¹ãŸãããã¹ãããã¡ããšè¡ãããããšã§ãæ°ãã«è¿œå ãããã©ã€ãã©ãªããããžã§ã¯ãå šäœã«å¯ŸããŠã©ã®ãããªåœ±é¿ãåãŒãããäºåã«ææ¡ããããšãã§ããŸãã
å šãŠã®ãŠããããã¹ããšçµ±åãã¹ããå®æããŠããããšã確èªããŸããããããã«ãããæ°ãã«è¿œå ãããã©ã€ãã©ãªãæ¢åã®ã³ãŒãã«å¯ŸããŠäœããã®åé¡ãåŒãèµ·ãããŠããªããã確èªããããšãã§ããŸãã
ãã¹ãã«ãã¬ããžããã§ãã¯ããããšãéèŠã§ããããã¯æ°ãã«è¿œå ããã©ã€ãã©ãªãæ³å®å€ã®å¯äœçšãåŒãèµ·ãããŠããŸãå¯èœæ§ãäºåã«ãã§ãã¯ããããã®ãã®ã§ãã
6.3 ãããã€æé ã®ç¢ºèª
次ã«ããããã€æé ã®ç¢ºèªã«ã€ããŠèª¬æããŸããæ°ããªã©ã€ãã©ãªãè¿œå ããåŸãããããã¡ããšãããã€ãããããã«ããããã«ã¯ããã®æé ã®ç解ãå¿ é ã§ãã
ãŸããæ°ããªã©ã€ãã©ãªãæ£ããçµã¿èŸŒãããã®ãã«ãæé ãæ確ã§ããããšã確èªããŸãã
ãããã€ããšã©ãŒãªãå®äºããããæçµçã«ãããžã§ã¯ããæ£ããåäœããããšã確èªããŸãããããæ°ããã©ã€ãã©ãªã®è¿œå ãæåãããã©ãããå€æããéèŠãªæé ã®äžã€ã§ãã
6.4 ã©ã€ãã©ãªè¿œå åŸã®åäœç¢ºèª
æåŸã«ãã©ã€ãã©ãªè¿œå åŸã®åäœç¢ºèªã«ã€ããŠè§£èª¬ããŸããããã¯Elixirã®ã©ã€ãã©ãªãæ£åžžã«è¿œå ãããæ©èœãããåŠãã確èªããããã®æçµã¹ãããã§ãã
ãŸãã¯ãæ°ãã«è¿œå ããã©ã€ãã©ãªãæå³ããéãã®åäœããããã確èªããŸããããã«ã¯ãé©åãªãã©ã¡ãŒã¿ãæå®ããŠé¢æ°ãåŒã³åºãããšãå«ã¿ãŸãã
æåŸã«ãä»ã®éšåãæ£åžžã«åäœãããã©ããã確èªããŸããããã¯ãæ°ãã«è¿œå ããã©ã€ãã©ãªãä»ã®éšåã®ãããŒã«åœ±é¿ãäžããŠããªãããšã確èªããããã®ãã®ã§ãã