
ãã€ã¯ããµãŒãã¹ã®ååå
ããŸããŸãªããžãã¹æ©èœãäºãã«ç¬ç«ããŠéçºãå±éãããã³æ¡åŒµã§ããããšã¯ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã«åãæ¿ããããšã®æãäžè¬çãªå©ç¹ã®1ã€ã§ãã
æèã®é人ã¯ãŸã ãã®å£°æãçå®ãã©ãããå€æããããšã¯ã§ããŸãããããã€ã¯ããµãŒãã¹ã¯ãã§ã«æµè¡ããŠããŸã-ãããŠãã»ãšãã©ã®ã¹ã¿ãŒãã¢ããã«ãšã£ãŠäºå®äžããã©ã«ãã®ã¢ãŒããã¯ãã£ã«ãªãã»ã©ã§ââãã
ãã ãããã€ã¯ããµãŒãã¹ã®
ãã¹ã ïŒãŸãã¯ãããã«æªãããšã«
éçº ïŒã«é¢ããŠã¯ãã»ãšãã©ã®äŒæ¥ãããã¹ãŠã®ã³ã³ããŒãã³ãã
äžç·ã«ãã¹ããããšããæ代é
ãã®æ¹æ³ã«ãŸã åºå·ã
ãŠããŸãã è€éãªã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæã¯ã
åãµãŒãã¹ã®äžé£ã®ãã¹ããå®è¡ããå¿
èŠããã
ãšã³ãããŒãšã³ããã¹ã
ãå®è¡ããããã®åææ¡ä»¶ãšèŠãªãããŸããããã¯ããµãŒãã¹ã«ååž°ãäºææ§ã®ãªãå€æŽããªãããšã確èªããããã«è¡ãããŸãã
翻蚳è
ããã ã§
Cindy Sridharanã«ãããªãªãžãã«ã®èšäºã¯ã確ç«ããããã·ã¢ã®å¯Ÿå¿ãããã®ããªãå€ãã®çšèªã䜿çšããŠããŸãã å Žåã«ãã£ãŠã¯ã䜿çšãããŠããè±èªã䜿çšããŸããããã·ã¢èªã§æžãã®ãåççã§ãããšæãããŸããè«äºã®ããå Žåã¯ã誀ã£ã解éãé¿ããããã«ãå
ã®çšèªãæžããŸãã
ä»æ¥ãäžçã«ã¯ãœãããŠã§ã¢ãã¹ãã®ãã¹ããã©ã¯ãã£ã¹ã«é¢ããæžç±ãèšäºããããŸãã ãã ããæ¬æ¥ã®èšäºã§ã¯ãããã¯ãšã³ããµãŒãã¹ã®ãã¹ãã®ãããã¯ã®ã¿ã«çŠç¹ãåœãŠããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãç¹å¥ãªæè¡çãªã»ãã¥ãªãã£èŠä»¶ãåããã·ã¹ãã ãGUIããŒã«ãããã³ãã®ä»ã®çš®é¡ã®ãœãããŠã§ã¢ã®ãã¹ãã«ã¯è§ŠããŸããã
ããŸããŸãªå°é家ããåæ£ã·ã¹ãã ãã®æŠå¿µã«ç°ãªãæå³ãå
¥ããŠããããšã¯æ³šç®ã«å€ããŸãã
ä»æ¥ã®èšäºã®äžéšãšããŠããåæ£ã·ã¹ãã ããšã¯ããããããç°ãªãä¿èšŒãšçš®é¡ã®é害ãæã€å€ãã®å¯åéšåã§æ§æãããã·ã¹ãã ãæãããããã®éšåã¯ç¹å®ã®ããžãã¹æ©èœãå®è£
ããããã«é£æºããŠåäœããŸãã ç§ã®èª¬æã¯ãåæ£ã·ã¹ãã ã®å€å
žçãªå®çŸ©ã«éåžžã«äŒŒãŠãããããããŸããããç§ãå®æçã«ééããã·ã¹ãã ã«é©çšãããŸã-ãããŠãç§ãã¡ã®
倧å€æ°ã¯ãã®ãããªã·ã¹ãã ãéçºããµããŒãããŠããã«éããããŸããã ããã«ãã®èšäºã§ã¯ãä»æ¥ã§ã¯ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ããšåŒã°ããåæ£ã·ã¹ãã ã«ã€ããŠèª¬æããŠããŸãã
ãããã¯ã¹å
ã®ãã«ã¹ã¿ãã¯ãïŒæ³šæäºé
éçºè
ã®ã©ãããããã§ããŒã«ã«ã«ãµãŒãã¹ããããžã
å®å
šã«åçŸããããšããŠããäŒæ¥ã«å¯ŸåŠããªããã°ãªããªãããšããããããŸãã Vagrantããã¯ã¹ã«ã¹ã¿ãã¯å
šäœãå±éããããšããæåŸã®äœæ¥å Žæã§ãç§ã¯ãã®ãšã©ãŒã«å人çã«çŽé¢ããªããã°ãªããŸããã§ããã Vagrantãªããžããªã¯ãããã¯ã¹å
ã®ãã«ã¹ã¿ãã¯ããšåŒã°ããŠããŸããã ãæ³åã®ãšããã1ã€ã®ã·ã³ãã«ãªæµ®æµªè
ããŒã ãã瀟å
ã®ãšã³ãžãã¢ïŒããã³ããšã³ãããã³ã¢ãã€ã«éçºè
ãå«ãïŒããäœæ¥çšã©ãããããã«ã¹ã¿ãã¯
å
šäœãå®å
šã«ãããã€ã§ããããã«ãããšããèãã§ããã
å®éã®ãšãããããã¯
AmazonèŠæš¡ã®æ¬æ Œçãª
ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã§ã¯ãªããäœåãã®ãµãŒãã¹ãå«ãã§ããŸãã ããã¯ãšã³ãã«ã¯2ã€ã®ãµãŒãã¹ããããŸãããgeventããŒã¹ã®APIãµãŒããŒãšãããã¯ã°ã©ãŠã³ãã§å®è¡ãããéåæPythonã¯ãŒã«ãŒã§ã
C ++ã®ããŒã¹ããå«ããã€ãã£ãã®äŸåé¢ä¿ããããããããŸããã Vagrantã®æ°ããããã¯ã¹ãèµ·åãããã³ã«ãŒãããäœæããŸãã
ãã®äŒç€Ÿã§ã®ç§ã®æåã®é±ã¯ãããŒã«ã«ã§ã®ã¿ä»®æ³ãã·ã³ãäœæããéåžžã«å€ãã®ãšã©ãŒãæã¡è² ãããã ãã§ãã æåŸã«ãéææ¥ã®å€æ¹ãŸã§ã«Vagrantãåäœãããããšãã§ãããã¹ãŠã®ãã¹ãã¯ç§ã®PCã§æ£åžžã«åäœããŸããã æåŸã«ãä»ã®éçºè
ããã®ãããªåé¡ãããå°ãªãããããã«ãç§ãçŽé¢ããªããã°ãªããªããã¹ãŠã®åé¡ãææžåããããšã«ããŸããã
ãããŠãæ°äººã®éçºè
ãVagrantã®èšå®ãå§ãããšãã圌ã¯ãŸã£ããç°ãªããšã©ãŒã«ééãããšæããŸãã å®éããã®å£ããããèšèšã¯ãã¹ãŠã©ãããããã§ãæ¯ãå¹ã蟌ã¿ãŸãã.Pythonã®ã©ã€ãã©ãªãæŽæ°ããã®ãæãã£ãã®ã¯ãäžåºŠ
pipãã€ã³ã¹ããŒã«ãããšVagrantã®èšå®ãå£ããããŒã«ã«ã§èµ·åãããšãã«ãã¹ãã®å®è¡ãåæ¢ããããã§ãã
é£è¡å ±åäŒã®éçšã§ãVagrantã¯ã¢ãã€ã«ããã³WebéçºããŒã ã®ããã°ã©ããŒãšåæ§ã®ç¶æ³ã«ãã£ãããšãå€æããŸããã Vagrantã䜿çšãããã©ãã«ã·ã¥ãŒãã£ã³ã°ã¯ããµããŒãããŒã ã«é »ç¹ã«äŸé Œãããããã«ãªããŸããã ãã¡ãããVagrantã®èšå®ããã¹ãŠãä¿®æ£ãããããã«äžåºŠã ãå€ãã®æéãè²»ãããªããã°ãªããªããšèª°ããèšããããããŸãããç§ã®é²è¡ã§ã¯ã説æãããã¹ããŒãªãŒã¯ã¹ã¿ãŒãã¢ããã§è¡ããããšèšããŸãããšã³ãžãã¢ãªã³ã°ãµã€ã¯ã«ã¯æ°žé ã«äœããèŠéããŠããŸãã
ãã¬ããã»ãšããŒã¯ãã®èšäºã®çŽ æŽãããã¬ãã¥ãŒãæžããŠãç§ã®æ°æã¡ãæ£ç¢ºã«èª¬æããçºèšãããŸããã
...éçºè
ã®ãã·ã³ã§ã¯ã©ãŠããèµ·åãããšããèŠæ±ã¯ããããŸã§ã«ééããææªã®äºæ
ã§ããæ°ããã¯ã©ãŠããããã€ããŒããµããŒãããå¿
èŠæ§ã«çžåœããŸãã
ãã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ããäžå€ã®ã€ã³ãã©ã¹ãã©ã¯ãã£-æãææ°ã®æäœæ¹æ³ã«åŸã£ããšããŠããã¯ã©ãŠãç°å¢ãããŒã«ã«ã«ãããã€ããããšããŠãããããåŒãäžããŠé·æçãªãµããŒããæäŸããããã®åªåã«èŠåã£ãã¡ãªããã¯åŸãããŸããã
å人ãšè©±ããåŸã説æããåé¡ã¯ãã¹ã¿ãŒãã¢ããã§åã人ã
ã ãã§ãªãã倧èŠæš¡ãªçµç¹ã§åã人ã
ã«ãšã£ãŠã人çã害ããŠããããšãããããŸããã éå»æ°å¹Žéããã®èšèšãç°¡åã«ãã©ãã©ã«ãªããéçšãšä¿å®ã«ã©ãã»ã©è²»çšãããããã«ã€ããŠå€ãã®ãžã§ãŒã¯ãè³ã«ããŸããã çŸåšãäŒç€Ÿã®èŠæš¡ã«é¢ä¿ãªã
ãã¹ã¿ãã¯å
šäœãéçºçšã©ãããããã«å±éãããšããèãã¯
æªè³ªã§ãããšç¢ºä¿¡ããŠããŸãã
å®éããã®ãããªãã€ã¯ããµãŒãã¹ãžã®ã¢ãããŒãã¯ãåæ£ã¢ããªã¹ã®äœæãšåçã§ãã
2020幎ã®äºæž¬ïŒã¢ããªã·ãã¯ã¢ããªã±ãŒã·ã§ã³ã¯ã人ã
ãåæ£ã¢ããªã¹ã®äžå©ãªç¹ã«æ
£ããåŸãæµè¡ã«æ»ããŸãããããã¬ãŒã® ã¿ã€ã©ãŒã»ããªã¹ã¯æ¬¡ã®ããã«
è¿°ã¹ãŠããŸãã
圌ã¯Hacker Newsã§ã®ãã€ã¯ããµãŒãã¹ã®è°è«ãå¿ããç¬ã£ãã ãéçºè
ã¯ç°å¢ãããŒã«ã«ã«å±éã§ããå¿
èŠããããŸããä»ã®ãã¹ãŠã¯æªãããŒã«ã®å
åã§ããã ããããã¡ãããè³¢ã人ãç°ãªãããŒã¿ããŒã¹ãšMacBookã«äŸåãã20åã®ãã€ã¯ããµãŒãã¹ãå®è¡ããŠã¿ãŠãã ããã ãããããdocker composeããã¹ãŠã®åé¡ã解決ããããšãå¿ããŠããŸããã
ã©ãã§ãåãããšã 人ã
ã¯ãã¢ããªã·ãã¯ããªã¡ã³ã¿ãªãã£ãå€ããããšãªãããã€ã¯ããµãŒãã¹ã®äœæãéå§ããŸãããããŠãããã¯åžžã«äžæ¡çã®æ¬åœã®åå Žã§çµãããŸãã ã1ã€ã®å€æŽããã¹ãããããã«ãéžæãããµãŒãã¹æ§æã䜿çšããŠãã·ã³ã§ããããã¹ãŠãå®è¡ããå¿
èŠããããŸããã ç§ãã¡ã«äœãèµ·ãã£ãã®ã...
ç¥ãçŠããŠãã誰ããå¶ç¶ãããã¿ããããšãç§ã®ã³ãŒãã¯ããã«ãã¹ãã§ããªããªããŸãã ããŠããã®ã¢ãããŒãã§é 匵ã£ãŠãã ããã å€æ°ã®ãµãŒãã¹ãå«ã倧èŠæš¡ãªçµ±åãã¹ãã¯ã¢ã³ããã¿ãŒã³ã§ãããä»ã®äººãçŽåŸãããã®ã¯äŸç¶ãšããŠå°é£ã§ãã ãã€ã¯ããµãŒãã¹ãžã®åãæ¿ããšã¯ãé©åãªããŒã«ãšãã¯ããã¯ã䜿çšããããšãæå³ããŸãã æ°ããã³ã³ããã¹ãã§ã®å€ãã¢ãããŒãã®äœ¿çšãåæ¢ããŸãã
æ¥çå
šäœãéããŠãç§ãã¡ã¯ãŸã ç§ãã¡ããé ãé¢ããæ代ã«çºæããããã¹ãæ¹æ³è«ã«å·çããŠããŸãããããã¯çŸåšã®çŸå®ãšã¯éåžžã«ç°ãªã£ãŠããŸããã
å®å
šãªãã¹ãã«ãã¬ããž ïŒäžéšã®äŒæ¥ã§ã¯ãæ°ããæ©èœãåããããããŸãã¯ãã©ã³ããã³ãŒãããŒã¹ã«ãã¬ããžãäžå®ã®å²å以äžäœäžããããšå䜵ããããã¯ãããã»ã©ïŒã
ãã¹ãã«ããéçº ãã·ã¹ãã ã¬ãã«ã§ã®å®å
šãªãšã³ãããŒãšã³ããã¹ãã
ãã®ãããªä¿¡å¿µã¯ãè€éãªCIãã€ãã©ã€ã³ãšè€éãªããŒã«ã«éçºç°å¢ã®æ§ç¯ã«å€§ããªãšã³ãžãã¢ãªã³ã°ãªãœãŒã¹ãæè³ããããšããäºå®ã«ã€ãªãããŸãã ããã«ããã®ãããªæ¡åŒµã·ã¹ãã ã®ãµããŒãã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãäœæãä¿å®ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãããã³éçºããããŒã ãå«ããå¿
èŠæ§ã«å€ãããŸãã ãããŠã
倧 äŒæ¥ ããã®ãããªé«åºŠãªæŽç·ŽåºŠã«
äœè£ãããå Žåã¯ãä»ã®å
šå¡ããã®ãŸãŸãã¹ããå®æœããå¿
èŠããããŸããããã¯æé«ã®ã·ã¹ãã æ€èšŒã§ãã éžæãã䟡å€ã®è©äŸ¡ã«è³¢æã«ã¢ãããŒããã劥åããå Žåããããæè¯ã®éžæè¢ã«ãªããŸãã
è©Šéšç¯å²
ãã¹ãã¯ãªãªãŒã¹åã«è¡ãããããšãäžè¬ã«åãå
¥ããããŠããŸãã äžéšã®äŒæ¥ã§ã¯ãéçºããŒã ãäœæãããœãããŠã§ã¢ã®æåãŸãã¯èªåãã¹ããå®è¡ããããšãäž»ãªè²¬åã§ããåå¥ã®ãã¹ãããŒã ïŒQAïŒããããçŸåšãååšããŠããŸãã ãœãããŠã§ã¢ã³ã³ããŒãã³ããQAã«åæ Œãããšããã«ãèµ·åã®ããã«ïŒãµãŒãã¹ã®å ŽåïŒéçšããŒã ã«è»¢éããããã補åïŒãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããã³ã²ãŒã ã®å ŽåïŒãšããŠãªãªãŒã¹ãããŸãã
ãã®ã¢ãã«ã¯ãã£ããã§ããã確ãã«éå»ã®ãã®ã§ã-å°ãªããšã
ãµãŒãã¹ã®é¢ã§ã¯
ã ãµã³ãã©ã³ã·ã¹ã³ã®ã¹ã¿ãŒãã¢ããããã©ãã ãå€æã§ãããã çŸåšãéçºããŒã ã¯ãäœæãããµãŒãã¹ã®ãã¹ããšéçšã®äž¡æ¹ãæ
åœããŠããŸãã ãµãŒãã¹ãäœæããããã®ãã®æ°ããã¢ãããŒãã¯
éåžžã«åŒ·åã§ããããã«ãããéçºããŒã ã¯ããã¹ãæ¹æ³ã®
å
šç¯å²ã«ããã£ãŠ ãçŸå®çãªæ¹æ³ã§ãã¹ã³ãŒããç®æšããã¬ãŒããªããããã³è£åã«ã€ããŠçã«èããããšãã§ããŸãã ãµãŒãã¹ãã©ã®ããã«æ©èœããããå®å
šã«ç解ãããããã®äœæ¥ãæ£ããããšã確èªããããã«ãå¯çšæ§ãä¿¡é Œæ§ãããã³ãµãŒãã¹ã®æ£ããæäœã«å¿
èŠãªãã©ã¡ãŒã¿ãŒãèæ
®ããŠããã¹ãæ¹æ³ãšããŒã«ã®é©åãªãµãã»ãããéžæããæ©èœãæããã«å¿
èŠã§ãã
èãå€ããããã«ã å±éåã®ãã¹ãã¯ãå®çšŒåç°å¢ã§ã®ãã¹ãã®éšåçãªæºåã§ãã ã¹ããŒãã¡ã³ããèšãæãããšãå±éåã«ãã¹ãããããšã§ãã·ã¹ãã ã®åã£ãã¡ã³ã¿ã«ã¢ãã«ãæãããªããŒãµã«ãã匷åããããšãã§ããå®éã«è£œåã§ããªãã«åããŠãçŸå®ã«å
ç«ãäžããŸããæŠããŠãããã¹ããã®æŠå¿µã¯ãåŸæ¥ããªãªãŒã¹ãšã³ãžãã¢ãªã³ã°ããéçšããŸãã¯QAã®é åãšåŒã°ããŠããããã€ãã®ã¿ã€ãã®ã¢ã¯ãã£ããã£ãã«ããŒã§ããŸãã å³å¯ã«èšãã°ãäžã®è¡šã«ãªã¹ããããŠããæ¹æ³ã®äžéšã¯ãã¹ã圢åŒãšã¯èŠãªãããŸãããããšãã°ã
ã«ãªã¹ãšã³ãžãã¢ãªã³ã°ã¯ å
¬åŒã®å®çŸ©ã§ã¯ å®éšåœ¢åŒãšããŠåé¡ãããŠã
ãŸã ã ããã«ãäžèšã®ãªã¹ãã¯æ±ºããŠç¶²çŸ
çãªãã®ã§ã¯ãããŸããã
è匱æ§ãã¹ã ã
䟵å
¥ãã¹ã ã
è
åšã¢ããªã³ã° ïŒ
è
åšã¢ããªã³ã° ïŒããã³ãã®ä»ã®ãã¹ãæ¹æ³ã¯å«ãŸããŠããŸããã ãã ãããã®è¡šã«ã¯ãç§ãã¡ãæ¯æ¥ééããæãäžè¬çãªãã¹ãæ¹æ³ããã¹ãŠå«ãŸããŠããŸãã

ãã¡ãããè¡šã®ãã¹ãæ¹æ³ã®åé¡ã¯çŸå®ãå®å
šã«ã¯åæ ããŠããŸãããå®è·µã瀺ãããã«ãäžéšã®ãã¹ãæ¹æ³ã¯äžåºŠã«äž¡æ¹ã®ã«ããŽãªã«åé¡ã§ããŸãã ãããã£ãŠãããšãã°ãããããã¡ã€ãªã³ã°ãã¯æ¬çªç°å¢ã§ã®ãã¹ãã«é¢é£ããŠããŸãããéçºäžã«ãã䜿çšããããããæ¬çªç°å¢ã§ã®ãã¹ãã«èµ·å ããå¯èœæ§ããããŸãã åæ§ã«ãã·ã£ããŒã€ã³ã°-ãããã¯ã·ã§ã³ããã®å°éã®ãã©ãã£ãã¯ãå°æ°ã®ãã¹ãã€ã³ã¹ã¿ã³ã¹ã§å®è¡ãããæ¹æ³-ã¯ããããã¯ã·ã§ã³ã§ã®ãã¹ãïŒå®éã®ãã©ãã£ãã¯ã䜿çšããããïŒããã³ããªãããã¯ã·ã§ã³ã§ã®ãã¹ãïŒå®éã®ãŠãŒã¶ãŒã«ã¯åœ±é¿ããªãããïŒãšèŠãªãããšãã§ããŸãã
ããã°ã©ãã³ã°èšèªãç°ãªãã°ãå®çšŒåç°å¢ã§ã®ã¢ããªã±ãŒã·ã§ã³ãã¹ãã®ãµããŒãã®åºŠåããç°ãªããŸãã Erlangã§èšè¿°ããŠããå Žåãä»®æ³ãã·ã³ããªããã£ãã䜿çšããŠéçšäžã®ã·ã¹ãã ããããã°ããããã®ä»®æ³ãã·ã³ããªããã£ãã®äœ¿çšã«é¢ãã
Fred Eberã®
ã¬ã€ãã³ã¹ã«ç²ŸéããŠããå¯èœæ§ããããŸãã Goãªã©ã®èšèªã«ã¯ãå®è¡äžã®ããã»ã¹ïŒå®çšŒåç°å¢ã§ã®ãã¹ãïŒãŸãã¯åäœãã¹ãã®å®è¡ïŒããã¯å®çšŒååã®ãã¹ããšããŠèªå®ã§ããŸãïŒã®ããŒããããã¯ãCPUãããã³ãŽã«ãŒãã³ã®ãããã¡ã€ãªã³ã°ã®çµã¿èŸŒã¿ãµããŒããä»å±ããŠããŸãã
å®çšŒåç°å¢ã§ã®ãã¹ã-å®çšŒåç°å¢ã§ã®ãã¹ãã«åã£ãŠä»£ãããŸããïŒ
ååã®èšäºã§ã¯ãäž»ã«èŠ³æž¬å¯èœæ§ã®èŠ³ç¹ãããããã¹ããããã¯ã·ã§ã³ãã§ã®ãã¹ãã«å€ãã®æ³šæãæããŸããã ãã®ãããªåœ¢åŒã®ãã¹ãã«ã¯ãç£èŠãã¢ã©ãŒãã調æ»ãããã³åçã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ïŒåææé ã®å®è¡å¯èœã³ãŒããžã®æ¿å
¥ïŒãå«ãŸããŸãã ãããããå®çšŒåç°å¢ã§ã®ãã¹ãã«ã¯ã
ã²ãŒãã£ã³ã°ãæ©èœãã©ã°ïŒ
æ©èœãã©ã° ãæ§æã䜿çšããŠã³ãŒãã®æ©èœãæå¹/ç¡å¹ã«ã§ããæ©èœïŒã®äœ¿çšãªã©ã®ææ³ãå«ãŸããå ŽåããããŸãã ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®è©äŸ¡-ããšãã°ãA / Bãã¹ããš
å®éã®ãŠãŒã¶ãŒã¢ãã¿ãªã³ã°ã¯ ã
å®çšŒåãã¹ãã«ãé©çšãããŸãã
çãåã§ã¯ããã®ãããªãã¹ãæ¹æ³ãå®çšŒååã®åŸæ¥ã®ãã¹ãã«åã£ãŠä»£ããããšãã§ãããšããè°è«ããããŸãã æè¿ãåæ§ã®
æçºçãªè°è«ãTwitter
Sarah Mayã§å§ãŸããŸããã ãã¡ããã圌女ã¯ããã«ããã€ãã®é£ãããããã¯ãåãäžããŸããç§ã¯ãã¹ãŠã«åæããŸãããã圌女ã®çºèšã®å€ãã¯ç§ã®æ°æã¡ã«æ£ç¢ºã«å¯Ÿå¿ããŠããŸãã ãµã©ã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸãã
人æ°ã®ããç¥æµã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸãïŒã³ãŒãããªãªãŒã¹ããåã«ãååž°ãã¹ãã®å®å
šãªã»ããã¯ãã°ãªãŒã³ãã§ããã¹ãã§ãã å€æŽã«ãã£ãŠã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåãç Žå£ãããªãããšã確èªããå¿
èŠããããŸãã ããããäžé£ã®ååž°ãã¹ãã«é Œããã«ãããæ€èšŒããæ¹æ³ããããŸãã ç¹ã«ä»ãè€éãªç£èŠã·ã¹ãã ã®å
šçæãšéçšåŽã®ãšã©ãŒçã®ç解ã§ã
ååã«é«åºŠãªç£èŠãšå€§èŠæš¡ãªå ŽåãçŸå®çãªæŠç¥ã¯ãã³ãŒããèšè¿°ããŠè£œåã«ããã·ã¥ãããšã©ãŒã®æ°ãç£èŠããããšã§ãã ãã®çµæãã¢ããªã±ãŒã·ã§ã³ã®å¥ã®éšåã§äœããå£ããå Žåããšã©ãŒã®å¢å æ°ããéåžžã«è¿
éã«æããã«ãªããŸãã åé¡ãä¿®æ£ããããããŒã«ããã¯ã§ããŸãã ç°¡åã«èšãã°ãç£èŠã·ã¹ãã ãååž°ãã¹ããšåã圹å²ãæãããä»ã®ããŒã ã§ç¶ç¶çã«çµ±åã§ããããã«ããŸãã
å€ãã®äººã¯ãå®çšŒååã«ãã¹ããå®å
šã«åé€ãã䟡å€ããããã®ããã«èããŸããããããã¯ã¢ã€ãã¢ã§ã¯ãªãã£ããšæããŸãã ãããã®èšèã®èæ¯ã«ã¯ãå€ãã®ãœãããŠã§ã¢éçºè
ãããã®ãã¹ã¿ãŒãææ
¢ã§ããªããšããäºå®ããããŸããå€ãã®å Žåãæåãã¹ããŸãã¯èªåãã¹ãã ãã§ã¯äžååãªå Žåããã
ãŸã ã
æ¬ã
ãœãããŠã§ã¢ãã¹ãã§åŠãã æèš ãïŒãã·ã¢èªãžã®å
¬åŒç¿»èš³ã¯ãããŸããããã¢ããã¥ã¢èªããããŸãïŒã«ã¯ãã
èªåãã¹ã ããšåŒã°ããç« ããããèè
ã¯ããå°æ°ã®ãã°ã®ã¿ãèªåååž°ãã¹ããèŠã€ãããšäž»åŒµããŠããŸãã
éå
¬åŒã®äžè«èª¿æ»ã«ãããšãèªåãã¹ãã䜿çšããŠæ€åºããããã°ã®å²åã¯é©ãã»ã©äœãã§ãã é©åã«èšèšãããèªåãã¹ããå€æ°ãããããžã§ã¯ãã¯ãååž°ãã¹ãããã°ã®ç·æ°ã®15ïŒ
ãæ€åºã§ãããšå ±åããŠããŸãã
éåžžãèªåååž°ãã¹ãã¯ãåŸç¶ã®ã¹ããŒãžã§ã®ãã¹ãã®å®è¡äžãããããã¹ãèªäœã®éçºäžã«å€ãã®ãã°ãæ€åºããã®ã«åœ¹ç«ã¡ãŸãã ãã ããååž°ãã¹ããå®è¡ããŠãç°ãªãç°å¢ïŒããšãã°ãç°ãªããã©ãããã©ãŒã ãŸãã¯ç°ãªããã©ã€ããŒïŒã§ããããåå©çšããæ¹æ³ãèŠã€ããå Žåããã¹ãã¯åé¡ãæ€åºããå¯èœæ§ãé«ããªããŸãã å®éããã®å Žåããããã¯ä»¥åã«ãã¹ããããŠããªãæ§æããã¹ãããããã«äœ¿çšãããããããã¯ãååž°ãã¹ãã§ã¯ãããŸããã ãã¹ã¿ãŒã¯ããã®çš®ã®èªåãã¹ãã§ã¯30ã80ïŒ
ã®ãšã©ãŒãæ€åºã§ãããšå ±åããŠããŸãã
ãã¡ããããã®æ¬ã¯å°ãæ代é
ãã«ãªããååž°ãã¹ãã®æå¹æ§ã«é¢ããæè¿ã®ç 究ãèŠã€ããããšã¯ã§ããŸããã§ããããããã§ã¯ãèªåãã¹ãã®çµ¶å¯Ÿçãªåªäœæ§ã«åºã¥ããŠæé«ã®ãã¹ããã©ã¯ãã£ã¹ãšèŠåŸã«åºã¥ããŠãããšããäºå®ã«æ
£ããŠããŸããçãè©Šã¿ã¯ãããªããç°ç«¯è
ãšã¿ãªããããšããäºå®ã«ã€ãªãããŸãã ãµãŒãã¹ãã©ã®ããã«å€±æããããæ°å¹Žé芳å¯ããŠäœããåŠãã å Žåãããã¯æ¬¡ã®ãšããã§ãïŒéçšåãã¹ãã¯ãã·ã¹ãã ä¿èšŒã®å°ããªã»ããã®å¯èœãªéãæé«ã®æ€èšŒã§ãããåæã«ãããã ãã§ã¯ååã§ã¯ãããŸãããé·æéåäœããé »ç¹ã«è² è·ãå€åããã·ã¹ãã ã®ãã§ãã¯ã
ãµã©ãæžããããšã«æ»ãïŒ
ãã®æŠç¥ã¯å€ãã®åæã«åºã¥ããŠããŸãã ããã¯ãã»ãšãã©ã®éçºããŒã ã«ã¯ãªãè€éãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããŒã ã«ãããšããäºå®ã«åºã¥ããŠããŸãã ããã ãã§ã¯ãããŸããã ãŠãŒã¶ãŒãã»ã°ã¡ã³ãåããç°ãªãã»ã°ã¡ã³ãã®åéçºè
ã®é²è¡äžã®å€æŽã衚瀺ããåã»ã°ã¡ã³ãã®ãšã©ãŒçã決å®ã§ããããšãåæãšããŠããŸãã ããã«ããã®ãããªæŠç¥ã«ã¯ãå®éã®ãã©ãã£ãã¯ã§å®éšãããšãã«å¿«é©ã«æãã補åçµç¹ãå«ãŸããŸãã ç¹°ãè¿ãã«ãªããŸãããããŒã ãæ¢ã«ã©ã€ããã©ãã£ãã¯ã®è£œåã®å€æŽã«ã€ããŠA / Bãã¹ããè¡ã£ãŠããå Žåãéçºè
ãè¡ã£ãå€æŽã«ã¢ã€ãã¢èªäœãæ¡åŒµããã ãã§ãã ããããã¹ãŠå®è¡ããå€æŽã«é¢ãããã£ãŒãããã¯ããªã¢ã«ã¿ã€ã ã§ååŸã§ããã°ãããã¯çŽ æŽãããããšã§ãã
ç§ã®éžæã¯ãäœæäžã®ã·ã¹ãã ã«å€§ããªä¿¡é ŒãåŸãããã®éã®æ倧ã®ãããã¯ã§ããããã«æããŸãã ã»ãšãã©ã®å Žåãããå
æ¬çãªãã¹ãã¢ãããŒãã«ç§»è¡ããããã®æ倧ã®é害ã¯ãæèã®å¿
èŠãªã·ããã§ãã ããªãããã¯ã·ã§ã³ã§ã®ç¿æ
£çãªãã¹ãã®ã¢ã€ãã¢ã¯ããã£ãªã¢ã®æåããããã°ã©ããŒã«æµžéããŠããŸããããã©ã€ããã©ãã£ãã¯ã§å®éšãããšããã¢ã€ãã¢ã¯ãéçšãšã³ãžãã¢ã®ç¹æš©ã§ããããã¢ã©ãŒã ã®ãããªã²ã©ããã®ã«ééãããã®ããããã§ãã
åäŸã®é ãããç§ãã¡ã¯çãçç£ã®äžå¯äŸµãªç¥èãã«æ
£ããŠããŸãããããã¯ç§ãã¡ããµãŒãã¹ããã§ãã¯ããæ©äŒã奪ã£ãŠããŠããç§ãã¡ãéã¶ã¹ãã§ã¯ãããŸããããããŠãç§ãã¡ã®å€ãã«æ®ã£ãŠããã®ã¯ä»ã®ç°å¢ã§ãããæ¬è³ªçã«ã¯çç£ã®èã圱ã«ãããŸããã çç£ã«ãå¯èœãªéãé¡äŒŒãããç°å¢ã§ã®ãµãŒãã¹ã®ãã¹ãã¯ããã¬ã¹ãªããŒãµã«ã«äŒŒãŠããŸã-ããã¯è¯ãããšã®ããã«æããŸãããæºå®€ãšç©ºå®€ã§è©±ãããšã«ã¯å€§ããªéãããããŸãã
ãµã©ã®å¯Ÿè©±è
ã®å€ãããã®æèŠãå
±æããããšã¯é©ãããšã§ã¯ãããŸããã ãããã«å¯Ÿãã圌女ã®çãã¯æ¬¡ã®ãšããã§ããã
圌ãã¯ç§ã«æ¬¡ã®ããã«æžããŠããŸãïŒãããããããªãã®ãŠãŒã¶ãŒã¯ããå€ãã®ãšã©ãŒãèŠãã§ãããïŒããã®å£°æã¯çŽæ¥æçœã§ã¯ãªã誀解ããæãç«ã£ãŠããŸã-ç§ã¯ã©ãããå§ããã°ãããããç¥ããŸãã...
å®çšŒåç°å¢ã§ã®ã¢ãã¿ãªã³ã°ãã¹ãããååž°ãèŠã€ãã責任ã移ããšããŠãŒã¶ãŒã¯ã·ã¹ãã ã§ããå€ãã®ãšã©ãŒãçæããå¯èœæ§ãé«ããªããŸãã ããã¯ãããã«å¿ããŠã³ãŒãããŒã¹ãå€æŽããã«ãã®ã¢ãããŒãã䜿çšããäœè£ããªãããšãæå³ããŸã-ãã¹ãŠããŠãŒã¶ãŒã®ãšã©ãŒãç®ç«ããªããªãããã«æ©èœããå¿
èŠããããŸã å®éãããã¯ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãããè¯ãããã®ã«åœ¹ç«ã€æçãªãã¬ãã·ã£ãŒã§ãã ããŠãŒã¶ãŒã¯ããå€ãã®ãšã©ãŒãçæããŸãã->ããŠãŒã¶ãŒã¯ããå€ãã®ãšã©ãŒã衚瀺ããŸãã->ããŠãŒã¶ãŒã¯æ°ã«ããŸããïŒããšèšã人ãããŸããããããããã¯çµ¶å¯Ÿã«ããã§ã¯ãããŸããã
ããã§ãé ã®çªã«åœãããŸãã éçšåŸã«ååž°ãã¹ããç£èŠã«ç§»è¡ããå Žåããã®ãããªå€æŽã«ã¯èãæ¹ã®å€æŽã ãã§ãªãããªã¹ã¯ãåãæ欲ãå¿
èŠã«ãªããŸãã ããã«éèŠãªããšã¯ãã·ã¹ãã èšèšã®å®å
šãªåèšèšãšãé«åºŠãªãªãªãŒã¹ãšã³ãžãã¢ãªã³ã°ã®å®è·µãšããŒã«ãžã®é倧ãªæè³ãå¿
èŠã«ãªãããšã§ãã èšãæããã°ãããã¯åã«ãã§ã€ã«ã»ãŒã
ã¢ãŒããã¯ãã£ã«é¢ãããã®ã§ã¯ãããŸãããå®éã
ãã§ã€ã«ã»ãŒãããã°ã©ãã³ã°ãããã«ãããŸãã äžæ¹ããŽãŒã«ãã¹ã¿ã³ããŒãã¯ãåžžã«ã¹ã ãŒãºã«å®è¡ããããœãããŠã§ã¢ããã°ã©ãã³ã°ã§ããã ãããŠãããã§ãéçºè
ã®å€§å€æ°ã¯ééããªãäžå¿«ãæããã§ãããã
å®çšŒåç°å¢ã§äœããã¹ãããå®çšŒååç°å¢ã§äœããã¹ãããŸããïŒ
ãµãŒãã¹ã®ãã¹ãã¯ã¹ãã¯ãã«å
šäœã§è¡šããããããã·ã¹ãã èšèšæã«ã¯
äž¡æ¹ã®åœ¢åŒã®ãã¹ããèæ
®ããå¿
èŠããããŸãïŒããã«ãããã§ã¯ã¢ãŒããã¯ãã£ãšã³ãŒãã®äž¡æ¹ãæå³ããŸãïŒã ããã«ãããã·ã¹ãã ã®ã©ã®æ©èœãçç£åã«ãã¹ãããå¿
èŠãããããããã³ãã®ç¹åŸŽã®ãã¡ã
æ©èœã®é·ãå°Ÿãé£æ³ããããã®ããé©åãªããŒã«ãšããŒã«ã䜿çšããŠçç£ã§æ¢ã«æãããç ââ究ããããšãã§ããŸãã
ãããã®å¢çãã©ãã«ããã®ããã©ã®ãã¹ãæ¹æ³ãã·ã¹ãã ã®1ã€ãŸãã¯å¥ã®æ©èœã«é©ããŠããã®ããå€æããæ¹æ³ã¯ïŒ ããã¯éçºãšéçšã«ãã£ãŠäžç·ã«æ±ºå®ããã
ã¹ãã§ãã ããããã·ã¹ãã èšèšã®æ®µéã§è¡ããã
ã¹ãã§ãã ãã®æ®µéã®åŸã®ãã¹ããšç£èŠã«é©çšããããããããŠã³ã¢ãããŒãã¯ããã®å€±æã蚌æããããšãã§ããŸããã
ãSREããŒã ããéçšããŠãããµãŒãã¹ã®ä¿¡é Œæ§ã¯åäžããŸããã ä¿¡é Œæ§ãšå®å®æ§ã«å¯ŸãããããããŠã³ã¢ãããŒãã¯æ©èœããŸãããããã§ã¯ãããã ã¢ããã¢ãããŒããå¿
èŠã§ãã ãããã®ç®æšãéæããã«ã¯ãæŸåããããç¶ããã®ã§ã¯ãªããSWEãä¿¡ããªããã°ãªããŸããããã£ãªãã£ãŒã¡ãžã£ãŒãºã¯æšå¹Ž
Strangeloopã§ãã¬ãŒã³ããŒã·ã§ã³ãè¡ãã芳枬å¯èœæ§ãšã¢ãã¿ãªã³ã°ã®éãããæ¢ç¥ã®æªç¥æ°ããšãæªç¥ã®æªç¥æ°ãã«ã©ã®ããã«åœ±é¿ãããã«ã€ããŠè©±ããŸããã
2017幎ã®Strangeloopã«é¢ããCharity Majorã®ã¬ããŒãããã®ã¹ã©ã€ãæ
åå£äœã®æš©å©-ã¹ã©ã€ãã«ãªã¹ããããŠããåé¡ã¯ãçæ³çã«ç£èŠããããã®ã§ã¯ãããŸããã åæ§ã«ããããã¯ãéçšåã«ãã¹ããããåé¡ã§ã¯ãããŸããã åæ£ã·ã¹ãã ã¯ç
çåŠçã«äºæž¬äžå¯èœã§ãããããŸããŸãªãµãŒãã¹ããµãã·ã¹ãã ãåºçŸããå¯èœæ§ã®ãã沌å°ã®ãã¹ãŠã®å¯èœãªæ²Œå°ãäºæž¬ããããšã¯äžå¯èœã§ãã ãµãŒãã¹ãå®è¡ã§ãããã¹ãŠã®æ¹æ³ãäºåã«äºæž¬ããè©Šã¿ãšããã«ç¶ãååž°ãã¹ãã±ãŒã¹ã®äœæã¯éŠ¬é¹¿ããä»äºã§ãããšããäºå®ã«ããã«è¿ã¥ããããæ©èœäžå
šã®å°ãªããã¹ãã«åãæããããã«ãªããŸãã
ãã®èšäºã®ã¬ãã¥ãŒã§ãã¬ããã»ãšããŒãææããããã«ïŒ
...å€æ°ã®ãã·ã³ã䜿çšãã倧èŠæš¡ãªãµãŒãã¹ãæé·ããã«ã€ããŠãã·ã¹ãã ã100ïŒ
皌åããå¯èœæ§ããªããªãå¯èœæ§ããããŸãã éšåçãªé害ã¯åžžã«ãã®ã©ããã§çºçããŸãã ãã¹ãã§100ïŒ
ã®ããã©ãŒãã³ã¹ãå¿
èŠãªå Žåãåé¡ãçããŠããããšã«çæããŠãã ããã
éå»ã«ãããã¹ãŠãç£èŠãããããšã¯ã¢ã³ããã¿ãŒã³ã§ãããšäž»åŒµããŸããã ä»ã§ã¯ãåæ§ã®èšè¿°ããã¹ãã«ãåœãŠã¯ãŸãããã«æããŸãã
ãã¹ãŠãå®å
šã«ãã¹ãããããšã¯ã§ããªããããè©ŠããŠã¯ãªã
ãŸãã ã
SREã®æ¬ã¯ä»¥äžã䞻匵ããŠããŸãïŒ
äžå®ã®ãã€ã³ããéãããšãä¿¡é Œæ§ã®åäžã¯ãç掻ãæ¹åãã代ããã«ããµãŒãã¹ïŒããã³ãã®ãŠãŒã¶ãŒïŒã«æªåœ±é¿ãåãŒããŸãã 極端ãªä¿¡é Œæ§ã«ã¯ä»£åã䌎ããŸãïŒå®å®æ§ãæ倧åãããšãæ°ããæ©èœã®éçºé床ãšãŠãŒã¶ãŒãžã®æäŸé床ãå¶éãããã³ã¹ãã倧å¹
ã«å¢å ãããããããŒã ãå®è£
ããŠãŠãŒã¶ãŒã«æäŸã§ããæ©èœã®æ°ãæžå°ããŸãã
ç§ãã¡ã®ç®æšã¯ããµãŒãã¹ãåãããªã¹ã¯ãšãããžãã¹ãè² æ
ããæºåãã§ããŠãããªã¹ã¯ãšã®éã®æ確ãªå¢çãèŠã€ããããšã§ãã ç§ãã¡ã¯ããµãŒãã¹ã®ä¿¡é Œæ§ãååã«é«ããããåªããŠããŸãããããã¯ç§ãã¡ã«å¿
èŠãªãã®ã«éããŸããã
äžèšã®åŒçšã§ãä¿¡é Œæ§ããããã¹ããã«çœ®ãæããå Žåããã®ã¢ããã€ã¹ã¯ããã»ã©æçšã§ã¯ãªããªããŸããã
ãã ãã次ã®è³ªåãããæãæ¥ãŸãããæ¬çªåã«ãã¹ãããæ¹
ãè¯ãã®ã¯äœã§ããïŒ
æ¢çŽ¢çãã¹ãã¯ãå®çšŒååã®ãã¹ããç®çãšããŠããŸããã
ç 究ãã¹ãã¯ã80幎代ãã䜿çšãããŠãã
ãã¹ãææ³ã§ãã äž»ã«ããã®ãã¹ã¿ãŒã«ââãã£ãŠå®è·µãããŠããŸãã ãã®ã¢ãããŒãã§ã¯ããã¹ã¿ãŒããã®ãã¬ãŒãã³ã°ãå°ãªããŠæžã¿ãéèŠãªãã°ãèŠã€ããããšãã§ãã
ãã¹ã¯ãªãããã¹ããå®è¡ãããããç¥çã¬ãã«ã§åºæ¿çã§ãããããšãå®èšŒãããŠããŸãã ç§ã¯ããã®ãã¹ã¿ãŒã§ã¯ãªãã£ãããå¥ã®ãã¹ãããŒã ãæã€çµç¹ã§åããããšããªãã®ã§ãæè¿ãã®ã¿ã€ãã®ãã¹ãã«ã€ããŠåŠãã ã ãã§ãã
æ¢ã«è¿°ã¹ãæ¬ã
ãœãããŠã§ã¢ãã¹ãã§
åŠãã æèš ãã®ã
ãã¹ã¿ãŒã®ããã«èãã ãã®ç« ã«ã¯
ããã®ããã«èãããéåžžã«è³¢æãªã¢ããã€ã¹ã1ã€ãã
ãŸã ã
ãã¹ãããã«ã¯ã調æ»ããå¿
èŠããããŸã ã
äœããé©åã«ãã¹ãããã«ã¯ããããæäœããå¿
èŠããããŸãã ããªãã¯ãããç解ããå¿
èŠããããŸãã å®ç§ãªè£œå説æãæå
ã«ããå Žåã§ããããã¯èª¿æ»ããã»ã¹ã§ãã é ã®äžãã¹ã¯ããŒã«ãããã補åèªäœãæäœããŠãã®ä»æ§ã調æ»ãããŸã§ãäœæãããã¹ãã¯è¡šé¢çãªãã®ã§ãã 補åãããªãæ·±ãã¬ãã«ã§ç 究ããåŸã§ããåé¡ãèŠã€ããããã«ç 究ãç¶ããªããã°ãªããŸããã , , .
â , . ; , , .
«» «», , , , â ,
- .
, , , . , :
â . . . , . . .
: , , , .
: , , , , .
: , , , « », .
, , , , , , . ,
; .
, ,
, - , . , , , , , / .
, . . , «» . , , , .
, . , â , â , .
, â . , , â . ,
«» , â , .
1000%, . , , ( , S3zure). â . «», Ops. .( !) . , ; - , « ».
, :
, :
- , ;
- 0 ?
- ?
- ;
- service discovery ?
- ?
- , ;
- graceful restart ;
- â â ;
- (, , event driven , , );
- - (- ).
, . , - .
( ) . , , :
- Consul ( « », , );
- , RPC- TTL;
- Confluent Python Kafka Python;
- pgbouncer , ( LIFO) , Postgres.
, :
, « » (, , «
») .
-
, , â .
. . , , â .
,
( , , ); , , . , â , , .
, â , , , â , .
, â
, â
.
-, , ( , , , ), , «-» , «-» .
, , . , , , , .
, . - , . , - , , , .
, , .
-
- , , - . RPC-, .
, , , .
, () , , - . , ( JSON, , ), , - . - .
, «
Succeeding with Agile » ( «Scrum. »),
«
Building Microservices: Designing Fine-Grained Systems ». -, , ( ), UI ( end-to-end ). , , , .

, . , , .
, ( , , ) - ( -), stateful- . , â
â I/O (
, ), .
I/O
PyCon 2016ã§ã
Corey Bandfieldã¯ãã»ãšãã©ã®ã©ã€ãã©ãªããããã³ã«è§£æãšI / Oãåé¢ããªããšããééããç¯ããæçµçã«ãã¹ããšã³ãŒãã®åå©çšãå°é£ã«ãããšãã
çŽ æŽãããã¬ããŒããçºè¡šããŸããã ããã¯æ¬åœã«éåžžã«éèŠãªã¢ã€ãã¢ã§ãããç§ãããã«åæããŸãã
ãã ãããã¹ãŠã®ã¿ã€ãã®I / Oãåçãšã¿ãªããããã§ã¯ãªããšæããŸãã ãããã³ã«è§£æçšã®ã©ã€ãã©ãªãRPCã¯ã©ã€ã¢ã³ããããŒã¿ããŒã¹ãã©ã€ããŒãAMQPã¯ã©ã€ã¢ã³ããªã©ã¯ãã¹ãŠI / Oãå®è¡ããŸããããããã¯ãã¹ãŠããã€ã¯ããµãŒãã¹ã®éãããã³ã³ããã¹ãã«ãã£ãŠæ±ºå®ããããç°ãªã
ã¬ãŒãã®ç°ãªã圢åŒã®I / Oã䜿çšããŸãã
ããšãã°ããŠãŒã¶ãŒç®¡çãæ
åœãããã€ã¯ããµãŒãã¹ãã¹ããå®æœããŸãã ãã®å ŽåãããŒã¿ããŒã¹ã§ãŠãŒã¶ãŒãæ£åžžã«äœæããããã©ããã確èªã§ããHTTP解æãæ£åžžã«æ©èœãããã©ããããã¹ãããªãããšãããéèŠã§ãã ãã¡ãããHTTP解æã©ã€ãã©ãªã®ãã°ã¯ããã®ãµãŒãã¹ã®åäžé害ç¹ãšãªãå¯èœæ§ããããŸãããåæã«ãHTTP解æã¯äžè¬çãªã¹ããŒã ã§ãµããŒããã圹å²ã®ã¿ãæããããµãŒãã¹ã®äž»ãªè²¬ä»»ã«
äºæ¬¡çã§ãã ããã«ãHTTPãæäœããããã®ã©ã€ãã©ãªã¯ããã¹ãŠã®ãµãŒãã¹ã§åå©çšãããéšåã§ããããïŒãã®å Žåã
ãã¡ãžã³ã°ã¯éåžžã«
圹ç«ã¡ãŸãïŒã
äžè¬çãªæœè±¡åã«ãªãã¯ãã§ãã ãåç¥ã®ããã«ãæœè±¡åïŒæããæŒããããããã®ïŒãæ±ãéã®ãã©ã³ã¹ãèŠã€ããæè¯ã®æ¹æ³ã¯ãäžæ¬æãªãããçŽæããããµãŒãã¹å¥çŽãä¿¡é Œããããšã§ãã ãã®ãããªè§£æ±ºçã¯çæ³çãªè§£æ±ºçãšã¯èšããŸããããç§ã«ãšã£ãŠã¯ãå°ãªããšãäœãã解ãæŸã€ããã«ã¯ããã®åŠ¥åæ¡ãååšãããã¹ãŠã®æš©å©ããããŸãã
ãã ãããã€ã¯ããµãŒãã¹èªäœã«é¢ããŠã¯ãã·ã¹ãã ã®ä»ã®éšåã«é¢ããæœè±¡åã«ã¯ãããžãã¹ãŸãã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ããžãã¯ã®ç¹å®ã®éšåã«çŽæ¥ãããã³ã°ãããç¶æ
é·ç§»ãå«ãŸããããã
ãã®æ©èœã¯å°å°ããããŠãããã®ã¬ãã«ã§ãã¹ã
ããå¿
èŠããããŸãã
åæ§ã«ãZookeperãšãµãŒãã¹æ€åºã䜿çšããŠãªã¯ãšã¹ããåçããã¯ãšã³ãã«åæ£ããããããã¯ãŒã¯ãããã·ãµãŒããŒããããšããŸãã ãã®å Žåããããã·ããŠã©ããå€ããªã¬ãŒã«æ£ããå¿çã§ãããã©ããããã¹ãããå¯èœã§ããã°æ°ããå¶åŸ¡å€ãèšå®ã§ããããšãã¯ããã«éèŠã§ãã ãã
ã¯ããŸãã«ãã¹ãããå¿
èŠã®ãããŠãããã§ãã
äžèšã®ãã¹ãŠã®æå³ã¯ããã€ã¯ããµãŒãã¹æ©èœã®
æãéèŠãªåäœã¯I / Oã®åºç€ãšãªãæœè±¡åã§ãããããã¯ãšã³ããšã®å¯Ÿè©±ã«äœ¿çšãããããããã¹ãããåºæ¬æ©èœã®
éåžžã«ã¿ã€ããªåäœã«ãªãå¿
èŠã
ãããšããããšã§ãã
æãèå³æ·±ãã®ã¯ãäžèšã®ãã¹ãŠã«ããããããããã®ãããªã·ã¹ãã ããã¹ãããããã®ããã¹ããã©ã¯ãã£ã¹ãã®å€§éšåã¯ããã¹ãããå¿
èŠãããããã¢ãã¯ã®å©ããåããŠé€å»ããå¿
èŠãããå¹²æžãšããŠãåºç€ãšãªãI / Oãã€ã¯ããµãŒãã¹ãåç
§ã§ããªãããšã§ãã æè¿ã®
ãã¹ãŠã®åäœãã¹ãã¯ãmokaã®ç©æ¥µçãªäœ¿çšãšå矩èªã«ãªã£ãŠããŸãã
mokamiã䜿çšããI / OãµãŒãã¹ã®ãã®ãããªã¯ãªãã£ã«ã«ã®ãŠããããã¹ãã¯ããµãŒãã¹ããã¹ãããããã®ããããã¯ãã§ããããã¯ãé床ãç ç²ã«ããäœæããã·ã¹ãã ã«ã€ããŠèããã®ã«æ
£ããŠããããã§ãã ã ããã§ããã«é²ãã§ãmokasã®å©ããåããåäœãã¹ãïŒçšèª
"mokãã¹ã"ãšåŒã¶ããšãã§ããŸãïŒã¯ãã»ãšãã©ã®å Žåãã·ã¹ãã ã®éèŠãªããžãã¹ã³ã³ããŒãã³ãã®äžå®å
šã§ãããããééãã®å€ãã¡ã³ã¿ã«ã¢ãã«ã®ãã¹ãã§ãããã®çµæãç§ãã¡ã¯æãé°æ¹¿ãªåœ¢ã®åèŠã®äººè³ªã«ãªããŸãã
ã¢ããã³ã°ã¯æèã«åœ±é¿ãäžãããšããèãã奜ãã§ãã ã¢ãã¯ã¯äºæž¬ã©ããã«åäœããŸããããããã¯ãŒã¯ãšããŒã¿ããŒã¹ã¯åäœããŸããããã¹ãããŒã«ãšããŠã®mokaã®æ倧ã®æ¬ ç¹ã¯ãå®è¡ã®æåãšã¯ã©ãã·ã¥ãã·ãã¥ã¬ãŒãããå Žåãmokaãããã°ã©ãã®miæ°æ¥Œã§ãããå®éã®çç£ã®æŠèŠ³ãåæ ããããšããã§ããªãããšã§ãã
ããã§ã¯ããã®åé¡ãå¥ã®æ¹æ³ã§åŠçããæ¹ãè¯ããšèšã人ãããŸãïŒãããã¯ãŒã¯ã¬ãã«ã§
èµ·ãããããã¹ãŠã®é害ã远跡
ã ãããã«å¿ããŠã以åç¡èŠãã
ããããã¹ãŠã®ãã¹ãã±ãŒã¹ãã«ããŒããè¿œå ã®ã¢ãã¯ã§ãã¹ãã¹ã€ãŒãã«è¿œå ããŸãã ããŠãèãããããã¹ãŠã®åé¡ãèæ
®ããããšã«å ããŠãããã¯ã»ãšãã©äžå¯èœã§ããããã«æããããã®ã¢ãããŒãã¯ãåæ§ã®æ©èœãå®è¡ããå€æ°ã®ç°ãªãã¢ãã¯ãåããéå°ãªãã¹ãã®ã»ããã«ã€ãªããå¯èœæ§ãé«ãã ãããŠæçµçã«ã¯ãããããã¹ãŠããå°æ¥ããã®åãæ¯æŽããããšã«å¯ŸåŠããªããã°ãªããªã人ã
ã®è©ã«å€§ããªè² æ
ããããããšã«ãªããŸãã
ãã¹ãã®ãµããŒãã«é¢ããŠã¯ãã ãã¯ã®å¥ã®æ¬ ç¹ãããã«ç©æ¥µçã«çŸããŠããŸãããã¹ãã³ãŒããäžå¿
èŠã«è©³çŽ°ã«ãªããç解ãã«ãããªããŸãã ç§ã®çµéšãããããã¯ã¯ã©ã¹å
šäœãmokaã«ãªã£ãå Žåã«ç¹ã«åœãŠã¯ãŸããŸããmokaã®å®è£
ã¯ãç¹å®ã®ã¯ã©ã¹ã¡ãœãããnåãŸãã¯ç¹å®ã®ãã©ã¡ãŒã¿ãŒã§åŒã³åºãããããšãmokã確èªã§ããããã«ãäŸåé¢ä¿ãšããŠã®ã¿ãã¹ãã«å°å
¥ãããŸãã ãã®åœ¢åŒã®mokã¯ããµãŒãã¹ã®åäœããã¹ããããã¹ããäœæãããšãã«ç©æ¥µçã«äœ¿çšãããããã«ãªããŸããã
ç§ã®æŠèŠã¯ããã¹ãã§ã®ã¢ãã¯ãªããžã§ã¯ãã®äœ¿çšã§ããã»ãšãã©ãã¹ãŠã®ãã¹ãã±ãŒã¹ã§ãåäœã§ã¯ãªãå®è£
ã®ãã¹ãã§çµãããŸãã ããã¯æãã§ããããŒãããžãŒã¯ã©ãã®æåã®ã«ãŒã«ã¯ãããŒãããžãŒã¯ã©ãã®æåã®ã«ãŒã«ã§ãã
ããã«ãã³ãŒãããŒã¹ã®ãµã€ãºãæã
å¢ãããŸãã ãã®çµæãå€æŽãå ããã®ãã¯ããã«é£ãããªããŸããMokingãšã®èª¿æŽ
ãã¹ãã«é¢ããGoogleããã°ãäºéãªããžã§ã¯ãã«é¢ããæçš¿ããã¢ããã¹ã¿ããããã³åœç©ã¯ããã¹ãŠã®ã¿ã€ãã®ããããã
ãã¹ãããã« ãã§ãã 以åã«mokiã«ã€ããŠæžããã»ãšãã©ãã¹ãŠã¯ãä»ã®åœ¢åŒã®ãã¹ãããã«ã¹ã«é©çšã§ããŸãã ãã ãã極端ãªè©±ãããã«ãmokaïŒããã³ãã®ããªã¢ã³ãïŒã«ã¯å©ç¹ãå«ãŸããŠããªããšã¯èšããŸããã åæ§ã«ããã¹ãŠã®ãŠããããã¹ãã«
åžžã« I / Oãã¹ããå«ãã
å¿
èŠã¯ãããŸããã åäœãã¹ãã§ã¯ãæºåããå¿
èŠã®ããå¯äœçšããªãããã¹ãã«
åäžã® I / Oæäœãå«ãŸããå Žåã«ã®ã¿I / Oãå«ããã®ãçã«ããªã£ãŠããŸãïŒãããããµãã¹ã¯ãªãã·ã§ã³ã®ãã¹ãã«ããŸãæå³ããªãäž»ãªçç±ã§ããåæ§ã®æ¹æ³ã§åºçç©ïŒã
ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®éåžžã«åŠ¥åœãªäŸã®æ¬¡ã®ããããžãæ€èšããŠãã ããã

ãµãŒãã¹AãšãµãŒãã¹Bã®çžäºäœçšã«ã¯ããµãŒãã¹BãšRedisããã³ãµãŒãã¹Cãšã®éä¿¡ãå«ãŸããŸãããã ãããã¹ããããæå°
åäœ ã¯ãµãŒãã¹AãšãµãŒãã¹Bã®çžäºäœçšã§ããããã®çžäºäœçšããã¹ãããæãç°¡åãªæ¹æ³ã¯ããµãŒãã¹Bã®ãã§ã€ã¯ããããã€ãããµãŒãã¹Aãšãã§ã€ã¯ãšã®çžäºäœçšããã¹ãããããšã§ãã
ãã¹ãå¥çŽã¯ããã®ãããªçµ±åã®ãã¹ãã«ç¹ã«åœ¹ç«ã¡ãŸãã Soundcloud
ã¯ãå¥çŽãã¹ãã
䜿çšããŠ300ãè¶
ãããã¹ãŠã®ãã€ã¯ããµãŒãã¹ããã¹ãããããšã§
ç¥ãããŠããŸãã
ãµãŒãã¹AãRiakãšéä¿¡ããŸãã ãã®å Žåã®ãã¹ã察象ã®æå°ãŠãããã«ã¯ã
ãµãŒãã¹AãšRiakã®éã®å®éã®ã¡ãã»ãŒãžãå«ãŸããŠããããããã¹ãäžã«ããŒã«ã«Riakã€ã³ã¹ã¿ã³ã¹ããããã€ããããšã¯çã«ããªã£ãŠããŸãã
GCPãAWSãDropboxãTwilioãªã©ã®ãµãŒãããŒãã£ãµãŒãã¹ãšã®çµ±åã«é¢ããŠã¯ãçæ³çã«ã¯ããã³ããŒãæäŸãããã€ã³ããŒãŸãã¯SDKã«ã¯ããã¹ãã¹ã€ãŒãã§äœ¿çšã§ããæ¢è£œã®åªããåœç©ãæ¢ã«å«ãŸããŠããŸãã ããã«è¯ãã®ã¯ããã³ããŒãå®éã®APIåŒã³åºãããã¹ãã¢ãŒããŸãã¯ãµã³ãããã¯ã¹ã§å®è¡ã§ããå Žåãéçºè
ã¯ããçŸå®çãªæ¹æ³ã§ãµãŒãã¹ããã¹ãã§ããããã§ãã ãããã®ãµãŒãã¹ã«ã¯ããã¹ãããŒã¯ã³ãæäŸããStripeãå«ãŸããŸãã
ãã®ããããã¹ãã¯ãã¹ãç¯å²å
ã§ãåå¢ããã䟡å€ãããããšãããããŸããããåäœãã¹ããå®è¡ãããããããã䜿çšããŠããããããããå¯äžã®æ段ãšããŠãããã«åºå·ããªãã§ãã ããã
åäœãã¹ãã®ç®ç«ããªãå©ç¹
åäœãã¹ãã¯ãè°è«ããæ¹æ³ã«éå®ãããŸããã åäœãã¹ãã®è°è«ãéå§ããããšã¯çç¥ã§ããã
ããããã£ããŒã¹ã®ãã¹ããšãã¡ãžã³ã°ã«ã€ããŠã¯è©±ããŸããã Haskellã®
QuickCheckã©ã€ãã©ãªïŒåŸã«Scalaããã³ä»ã®èšèªã«ç§»æ€ãããïŒãšPythonã®
Hypothesisã©ã€ãã©ãªã®ãããã§äººæ°ãé«ãŸã£ãŠã
ãŸããããããã£ããŒã¹ã®ãã¹ãã§ã¯ãããã°ã©ããå
¥åããŒã¿ã®åºå®ã»ãããçæããããšãªããç°ãªãå
¥åã§åããã¹ããæ°åå®è¡ã§ããŸããã¹ãã±ãŒã¹ã
ãžã§ã·ã«ã«ãŒããã®ãããã¯
ã«é¢ããçŽ æŽãããã¬ããŒããäœæãã
ãã¬ãããšã㌠ã¯ãã®ãããã¯ã«é¢ããå
šç·šãæžãã ã ãã®èšäºã®ã¬ãã¥ãŒã§ãFredã¯ããããã£ããŒã¹ã®ãã¹ãã®ããã®ããŸããŸãªããŒã«ã«å¯ŸããããŸããŸãªã¿ã€ãã®ã¢ãããŒãã«èšåããŠããŸãã
ããããã£ããŒã¹ã®ãã¹ãã«é¢ããŠãç§ã¯æ¬¡ã®ããã«èšããŸãïŒã»ãšãã©ã®ããŒã«ã¯ãã¡ãžã³ã°ã«è¿ã¥ããŸãããå°ãé£ããå Žåã¯ããã埮åŠãªã¢ãããŒãã§ãã¯ã€ãããã¯ã¹ãã¹ãã®ããã«è¡ãããšãã§ããŸãã èšãæããã°ããã¡ãžã³ã°ãã·ã¹ãã ã®ç¹å®ã®éšåããèœã¡ãããã©ããã調ã¹ãå Žåãããããã£ããŒã¹ã®ãã¹ãã¯ãç¹å®ã®ã«ãŒã«ãŸãã¯ããããã£ã®ã»ãããåžžã«ã·ã¹ãã ã§èŠ³å¯ããããã©ããã確èªããã®ã«åœ¹ç«ã¡ãŸãã ããããã£ãã¹ãã«ã¯3ã€ã®å€§ããªãã¡ããªããããŸãã
-Haskell QuickCheckãã¡ããªãŒ ã ãã®ããªãšãŒã·ã§ã³ã¯ãã¿ã€ãæ
å ±ã䜿çšããŠããã¹ããå®è¡ãããããŒã¿ãçæããããšã«åºã¥ããŠããŸãã äž»ãªå©ç¹ïŒãã¹ããå°ãããªãããã¹ãã®ç¯å²ãšæçšæ§ãé«ããªããŸãã æ¬ ç¹ïŒæ¡åŒµãé£ããã
-Erlang QuickCheckãã¡ããªãŒ ã ãã®ããªãšãŒã·ã§ã³ã¯ãè€åé¢æ°ã§ããåçããŒã¿ãžã§ãã¬ãŒã¿ãŒã«åºã¥ããŠããŸãã åã®ã¿ã€ãã®æ©èœã«å ããŠããã®ãããªãã¬ãŒã ã¯ãŒã¯ã§ã¯ã¹ããŒããã«ã¢ããªã³ã°ããªããã£ãã䜿çšã§ããŸãã ç·åœããæ€çŽ¢ã®ä»£ããã«ç¢ºççæ€çŽ¢ãå®è¡ããããããã¢ãã«ãã§ãã¯ãé£æ³ãããŸãã ãããã£ãŠãããã§ã¯ããã¡ãžã³ã°ãããã¢ãã«ãã¹ããã®ãŸãŒã³ã«ç§»åããŠããŸããããã¯ããã¹ãæ¹æ³ã®ãŸã£ããç°ãªããã¡ããªã§ãã èè
ãããŸããŸãªã¯ã©ãŠããããã€ããŒã«å¯ŸããŠãã®ãããªãã¹ããå®è¡ãããããã䜿çšããŠéã®ãšã©ãŒãæ€åºããã¬ããŒããèãæ©äŒããããŸããã
- 仮説 ïŒããžãã¹ãžã®ãŠããŒã¯ãªã¢ãããŒãã ããã¯ãã¡ãžã³ã°ã«äŒŒãã¡ã«ããºã ã«åºã¥ããŠãããããŒã¿ã¯ãã€ãã¹ããªãŒã ã«åºã¥ããŠçæãããè€éãã®å°ºåºŠã§ãã軜ã/ãã倧ãããªãå¯èœæ§ããããŸãã ãŠããŒã¯ãªããã€ã¹ãããããªã¹ããããŠããæãé©çšå¯èœãªããŒã«ã§ãã ç§ã¯ä»®èª¬ãã©ã®ããã«ãããŒãã®äžã§ãæ©èœãããã«ã€ããŠããŸã詳ãããããŸãããããã®ããŒã«ã¯Haskellã®å¯Ÿå¿ããããŒã«ãããã¯ããã«å€ãã®ããšãã§ããŸãã
äžæ¹ããã¡ãžã³ã°ã䜿çšãããšãç¡å¹ãªå
¥åãè¿·æãªå
¥åãäºåã«ã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ããŠãã¢ããªã±ãŒã·ã§ã³ãèšç»ã©ããã«é害ãå®äºã§ããããã«ããããšãã§ããŸãã

ãã¡ãžã³ã°çšã®ããŸããŸãªããŒã«ãå€æ°ãããŸãïŒ
aflãªã©ã®ã«ãã¬ããžã«åºã¥ããã¡ã¶ãŒã
ã¢ãã¬ã¹ãµãã¿ã€ã¶ãŒ ã
ã¹ã¬ãããµãã¿ã€ã¶ãŒ ã
ã¡ã¢ãªãµãã¿ã€ã¶ãŒ ã
æªå®çŸ©ã®åäœãµãã¿ã€ã¶ãŒ ã
ãªãŒã¯ãµãã¿ã€ã¶ãŒããŒã«ãªã©ããããŸãã
åäœãã¹ãã¯ãç¹å®ã®å
¥åããŒã¿ã»ããã«å¯ŸããŠäœããæå³ãããšããã«æ©èœããããšãéåžžã®æ€èšŒã«å ããŠãä»ã®å©ç¹ãæäŸã§ããŸãã ãã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠå
¬éãããAPIã®åªããããã¥ã¡ã³ããšããŠæ©èœããŸãã Goãªã©ã®èšèªã䜿çšãããšã
ãµã³ãã«ãã¹ããäœæã§ããŸãããã®
ãã¹ãã§ã¯ãTestã§ã¯ãªãExampleã§å§ãŸãé¢æ°ããéžæããããã±ãŒãžã®_test.goãã¡ã€ã«ã®éåžžã®ãã¹ãã®æšªã«ååšããŸãã ãããã®ãµã³ãã«é¢æ°ã¯ãããã±ãŒãžã®ãã¹ãã¹ã€ãŒãã®äžéšãšããŠã³ã³ãã€ã«ïŒããã³ãªãã·ã§ã³ã§å®è¡ïŒãããåŸãããã±ãŒãžããã¥ã¡ã³ãã®äžéšãšããŠè¡šç€ºããããã¹ããšããŠå®è¡ã§ããããã«ãªããŸãã
ããã¥ã¡ã³ãã«
ãããšããã®æå³ã¯æ¬¡ã®ãšããã§ãã
ãã®ã¢ãããŒãã«ãããAPIãå€æŽããŠããããã±ãŒãžã®ããã¥ã¡ã³ãã®æå¹æéãåããããšã¯ãããŸããã
åäœãã¹ãã®ãã1ã€ã®å©ç¹ã¯ããµãŒãããŒãã£ã®ãµãŒãã¹ã§ç°¡åã«æäœã§ããAPIãæ§ç¯ããããã«ããã°ã©ããŒãšãã¶ã€ããŒã«å§åããããããšã§ãã ãã¹ãã«é¢ããGoogleããã°ã«ãã°ãããæçš¿ã
å€æŽã®åæ©ä»ããšããŠã®äžå¿«æ ããå
¬éãããŸãããããã¯ãAPIã®äœæè
ãåœã®åœ¢åŒã§å®è£
ãæäŸãããšããèŠä»¶ã«ããããã®APIã䜿çšãã人ãããããç解ãããã®æ°ãæžããããšãã§ãããšããäºå®ã«å
ãåœãŠãŠããŸããã®äžçã®çã¿ã
2016幎ã圌女ã¯ãµã³ãã©ã³ã·ã¹ã³ã§
Python Twisted mitapsãçµç¹ããããšã«é¢äžããŸããã 人æ°ã®ãããã£ã¹ã«ãã·ã§ã³ãããã¯ã®1ã€ã¯ãTwistedã°ããŒãã«ïŒPython 3ã
asyncioå®è£
ã§åçŸã
ã Twistedã³ãã¥ããã£ã
ææã«é¥ãã ïŒã§ã€ãã³ãã«ãŒããäœæããã®ã¯ééãã§ããã
Reactor ïŒæ瀺çãªäŸåé¢ä¿ãšããŠã³ã³ã·ã¥ãŒãã«æž¡ãããããããã¯ãŒãã³ã°ãã¹ããªãŒãã³ã°ãã€ãã³ãã¹ã±ãžã¥ãŒãªã³ã°ãªã©ãå«ãããã¹ãŠã®ã¿ã€ãã®ãµãŒãã¹ã®åºæ¬çãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãã
ãã ããããã§ã¯äºçŽãå¿
èŠã§ãã ååãšããŠãåªããAPIã®èšèšãšåªãããã¹ãã¯ãäºãã«å®å
šã«ç¬ç«ãã2ã€ã®ç®æšã§ãããå®éã«ã¯ïŒãã ãããããè¡ãããšã¯
ãå§ãã§ããŸããïŒããã¹ãã®ãªãéåžžã«äŸ¿å©ã§çŽæçãªAPIãèšèšããããšã¯é£ãããããŸããã ãã ãã
å€ãã®å Žåã人ã
ã¯ãã¹ãã§100ïŒ
ã®ã«ãã¬ããžãéæããããšããAPIãèšèšããŸãïŒã³ãŒãè¡ãªã©ã§æž¬å®ããæ¹æ³ã¯é¢ä¿ãããŸããïŒããçµå±
ã¯ãç Žç£ã®ææå°æ©ã«æœè±¡åããã
ææç©ã§ããããšãå€æããŸããã mochaããŒã¹ã®ãŠããããã¹ãã¯åªããAPIèšèšã®æ¹æ³ã§ãããã³ãŒããé©åã«å®è¡
ãããããšã
ä¿èšŒãããã®ã§
ã¯ãããŸãã ã
VCR-ãã¹ãå¿çããã£ãã·ã¥ãŸãã¯ç¹°ãè¿ã
mokas / fakes / test twins / stubsãé床ã«äœ¿çšããããšã¯ããã¹ãæè¡ã®æãä¿¡é Œã§ããéžæã§ã¯ãããŸããïŒãã ããããã§ããŸããããªãããšããããŸãïŒããVCRã¹ã¿ã€ã«ã®ãã£ãã·ã³ã°ã«é¢ããŠã¯ã倱æãããã¹ãã®ãããã°ã¯ããã«é£ãããªããŸããmokiã®äžè¬çãªä¿¡é Œæ§ããªãããšãèãããšã
å人ã ãã¹ããã£ã¯ã¹ãã£ãŒãšããŠåç
ãæžãçããããã«ããã«
äžã«è¡ãããšã¯çµ¶å¯Ÿã«ã°ãããŠãããšæããŸãã ãã®æ¹æ³ã¯ãçµ±åãã¹ããé«éåããæ¹æ³ãšããŠïŒãã®ãããªãã¹ãæ¹æ³ã䜿çšããå Žåã¯ã©ã®ãããªçµ±åã§ãããšããŠãïŒã
åäœãã¹ããé«éåãããšãã芳ç¹ããã¯å¹æããããŸããã äœåãªã¬ã€ã€ãŒã®å±±ã§å€±æãããã¹ãã®ãããã°äžã«ããªãã®è³ã®é床ã®éè² è·ã¯ããã«è²»ããæéã®äŸ¡å€ããããŸããã
çµ±åãã¹ã
mokasã䜿çšããåäœãã¹ãã®ä¿¡é Œæ§ãäœããä¿¡ããããªãå Žåãããã¯çµ±åãã¹ããç§ãã¡ã®å©ãã«é§ãã€ããç§ãã¡ãæãããšãæå³ããŸããïŒ
ããã¯ç§ãéå»ã«ãã®åé¡ã«ã€ããŠæžããããšã§ãã
ããã¯éåžžã«éæ¿ã«èããããããããŸããããåªããïŒããã³é«éã®ïŒçµ±åãã¹ãïŒããŒã«ã«ããã³ãªã¢ãŒãïŒãšåªããã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã®çµã¿åããã¯ãå€ãã®å Žåã100ïŒ
ã®ãã¹ãã«ãã¬ããžãéæãããšããæã¿ãããåªããŠããŸããåæã«ãåœç€Ÿã®ãµãŒãã¹ãšçžäºäœçšããå©çšå¯èœãªåãµãŒãã¹ã®å€§èŠæš¡ãªçµ±åãã¹ãã¯ãããŸãããŸãã¹ã±ãŒã«ããŸããã ããã©ã«ãã§ã¯é
ããªããçµ±åãã¹ãããã®ãã£ãŒãããã¯ãè¿
éã«ååŸã§ããå Žåã«ã®ã¿ãçµ±åãã¹ããæ倧ã®å©çããããããŸãã
æé©ãªåæ£ã·ã¹ãã ãã¹ããã¿ãŒã³ãå¿
èŠã§ããç§ã®Twitterã®èªè
ã®äžã«ã¯ãç§ã®2ã€ã®å£°æãäºãã«ççŸããŠããããšãææããŠãã人ãããŸãã äžæ¹ã§ã¯ãåäœãã¹ãã§ã¯ãªããããå€ãã®çµ±åãã¹ããäœæããããšããå§ãããŸããä»æ¹ã§ã¯ãåæ£ã·ã¹ãã ã®å Žåãçµ±åãã¹ãã¯ããŸãã¹ã±ãŒã«ããªããšäž»åŒµããŸãã ãããã®èŠ³ç¹ã¯çžäºã«æä»çã§ã¯ãªããããããç§ã®æåã®å£°æã«ã¯æ¬åœã«è©³çŽ°ãªèª¬æãå¿
èŠã§ãã
ããã§ã®ãã€ã³ãã¯ããã®å Žåã®åäœãã¹ãã
ãšã³ãããŒãšã³ãã®ãã¹ãã«çœ®ãæããããããšã§ã¯ãããŸããã , «», , - , « », .
. , , ,
I/O. ,
, . , Uber, , , , , , , , c , : « ». , ,
, , , .
, , -.
Event Sourcing â , Kafka. (
Command and Query Responsibility Segregation )
- 10 . (
writes ) (
reads ). , ,
, .
, , , , (, , ).
; , ., / . «» , «» ( ) , . , .
, , , . « ».
, , . , - ( I/O
), , â . :

, , , ( , observability ). , â ; , ,
â , ,
. , , .

, , , , . Consul . â API- ( ) , G
.
,
Macbook API, ( , ). . , , , , , .
-
80% API MongoDB, - MongoDB. E â LuaJIT, , , API. E ,
(watch) Consul , - Consul, , «» , . -, .
G, H, I K ( ).

G â Python, Kafka , , H, I K. G , H, I K, - 15-20 G ( 7). G â , , Kafka, H, K I.
H, K I â . H â nginx ( ,
Openresty ) ( ), , LevelDB
write through cache ( ) , MySQL, ,
Go. K â HAProxy, I â HTTP- LuaJIT. , H, I K Kafka. ,
.
:
(eventual consistency) ?
, ,
,
end-to-end , Kafka G, H, I K . , « », , , :
- K â HAProxy ( HAProxy )
- H ( ) , - . , , - nginx H . H , - nginx «» , - , « »:
, NGINX , .
, HTTP2, «» , , , nginx . , H, I K â , .
, ,
. ,
, - , .
Service Meshes
,
service meshes â , , «» . staging staging ( , HTTP- , IP- ),
, . - .
ããã¹ããã¯ã©ã¹ã¿ãŒã§ã®çµ±åãã¹ãã¯å®éã«ã¯åœ¹ã«ç«ãããæ¶æ»
ããã¯ãã ãšä¿¡ããŠããŸã-æªæ¥ã¯ã©ã€ããã©ãã£ãã¯ã§ãã ä»æ¥ãFacebookã¯ããªãåãããã®ã¢ãããŒããå®è·µããŠããããšãç¥ããŸããã https://t.co/zMrt1YXaB1
Service Meshesãã©ãã€ã ã«ããããã¹ãã®çã®å¯èœæ§ãåŒãåºãããšãã§ããŸãããã¡ãããããã§ã¯å®å
šæ§ãããŒã¿ã®æŽåæ§ãªã©ãç¶æããããšã«æ³šæãæãå¿
èŠããããŸãããå®è¡ããããã¹ãã®çµæãšããŠè¯å¥œãªå¯èŠ³æž¬æ§ãåããã©ã€ããã©ãã£ãã¯ã§ã®ãã¹ãã¯ããã€ã¯ããµãŒãã¹ãã¹ãã®åéã«ãããæªæ¥ãžã®éã§ãããšå¿ããä¿¡ããŠããŸãã
ãã®ãã¹ãã¢ãã«ã®éžæã¯ããµãŒãã¹éã®åé¢ã®æ¹åãä¿é²ããããé«åºŠãªã·ã¹ãã ãèšèšããããšã§è¡šãããå¥ã®å©ç¹ããããããŸãã ãšã³ãžãã¢ã¯ããµãŒãã¹éã®äŸåé¢ä¿ãšãããŒã¿ã®æŽåæ§ã«äžããå¯èœæ§ã®ãã圱é¿ã«ã€ããŠçå£ã«èããå¿
èŠããããŸããããã«ãããã¢ãŒããã¯ãã£èšèšè
ã¯åèããããšã«ãªããŸãã ããã«ã1ã€ã®ãµãŒãã¹
ãå®çšŒå
äžã®ä»ã®ãã¹ãŠã®ãµãŒãã¹ã§ãã¹ãããããã«ã¯ããã¹ã察象ã®ãµãŒãã¹ã«ãã¢ããã¹ããªãŒã ãŸãã¯ããŠã³ã¹ããªãŒã ã®äŸåé¢ä¿ã®ããããã«åœ±é¿ãäžããå¯èœæ§ã®ããå¯äœçšããªãããšãå¿
èŠã§ããããã¯ãã·ã¹ãã ãèšèšããéã®åççãªçç±ã ãšæããŸãã
ãããã«
ãã®èšäºã§ã¯ãç¹å®ã®ãã¹ãæ¹æ³ã®å©ç¹ã蚌æãããšããç®æšãèšå®ããŸããã§ããã ç§ã¯ãã®ãããã¯ã®å°é家ãšã¯èšããŸããããªããªããç§ã®èãæ¹ã¯ãç§ã䜿çšããã·ã¹ãã ã®çš®é¡ã®åœ±é¿äžã§åœ¢æãããããã§ãããªãœãŒã¹ïŒãããã³äŒæ¥èªäœã®çµç¹æ§é ã ä»ã®ã·ããªãªãç¶æ³ã§ã¯ãç§ã®èšäºã§è¡šæãããã¢ã€ãã¢ãæå³ãæããªãå¯èœæ§ã¯ååã«ãããŸãã
ãããããå°é家ãã«è³ãåŸããã ãã§ãªããããé »ç¹ã«é ãåããŸãã ãå°é家ãã¯ãã°ãã°é床ã«äžè¬åãããã¢ããã€ã¹ãæäŸããŸãã ãããã£ãŠãèªåã®é ã§èããŠãæ ããŠã¯ãããŸããïŒãã¹ãã®ç¯å²ãã©ãã»ã©åºãããèãããšãæ£ããæ¹æ³ã§ãã¹ãããããã®åäžã®ãçã®ãæ¹æ³ã¯ãªãããšãæããã«ãªããŸãã ã©ã®ã¢ãããŒãã劥åãšç ç²ã®å¿
èŠæ§ãæ瀺ããŠããŸãã
æçµçã«ãåããŒã ã¯ããããã®ç¶æ³ãšããŒãºã®å°é家ã§ãããããªãã®èãã¯å€æ³šãã¹ããã®ã§ã¯ãããŸããã
åã
ã®éçºè
ã ãã§ãªããã»ãšãã©ãã¹ãŠã®ãããžã§ã¯ãããŒã ããã®ãããªåé¡ã®è§£æ±ºã«é¢äžããŠãããããç¹ã«å€§èŠæš¡ãªæŠå¿µçãªè°è«ãç¹ã«ç§ãã¡ã®äŸã«ç²ŸéããŠããããšã倧奜ãã§ãã
RIT ++ 2018㧠è¬æŒããããã« ããœãããŠã§ã¢éçºã®å²åŠçåé¡ã«ã€ããŠæ¢ã«è°è«ããçµéšã®ããå°é家ãæåŸ
ããŸãã