å€å žãèšã£ãããã«ããé ããæ©ããç§ãã¡ã¯ããã«å°éããããšãç¥ã£ãŠããŸããããã ããç§ã¯ãåŽåè ã®Symfonyãšããããããžã§ã¯ãã®ReactPHPã§é·å¹Žéããªç掻ãéã£ãåŸãç§ã®ãã¬ãŒã ã¯ãŒã¯ã®äœæã«é©åããŸããã
ãããã圌ã®è©±ã¯ãŸã å§ãŸã£ãã°ããã§ãããããŠãé è³ãçç£ã¬ãã«ã«æé·ããããããããªè§£æ±ºçã®ãŸãŸã§ãã人ã ã¯ã©ãã§ããïŒãã®è³ªåãžã®çããç¥ã£ãŠãã誰ããèŠã€ããŸãã-ã¢ã¹ãã¯ãæåã®ãã¬ãŒã ã¯ãŒã¯ã®äœè ã§ããéçºè ã§ãã
ããã«ã¡ã¯ïŒããã¯ç§ã®ããããã£ã¹ããBetweentheBracketsãã®éšåçãªãã©ã³ã¹ã¯ãªããã§ã-PHPã®äžçããã®è峿·±ã人ã ãžã®ã€ã³ã¿ãã¥ãŒã§ãããã®ãšããœãŒãã§ã¯ãgopherãããã°ãŒã°ã«ããJavaããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã®äœæè ã§ããAlexanderLisachenkoãšè©±ãããŸãã
èãåãã«æ £ããŠããå Žåã¯ããªãŒãã£ãªããŒãžã§ã³ã«æè¡çãªäŸããããŸãã
ãããããç§ãã¡å šå¡ãAOPïŒPHPã®ã¢ã¹ãã¯ãæåããã°ã©ãã³ã°ïŒã®ãããªãã®ã«åºããããããã§ã¯ãããŸããããããŠããµãŒã·ã£ã¯ç«ã¡åŸçãããã®ããšãç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã«ãã©ãã°ãããšãã圌èªèº«ã®æ±ºå®ãããŸããã
Sergey ZhukãSkyengãDriftPHPïŒæåããå§ããŸããã-AOPãšã¯äœã§ããïŒããã¯ã©ã®ãããªåé¡ã解決ããŸããïŒ
ã¢ã¬ã¯ãµã³ããŒãªãµãã§ã³ã³ãPHPãã·ã¢ã¢ã³ããŽãŒïŒ AOPïŒã¢ã€ãã¢ã¯æ°ãããã®ã§ã¯ãããŸããã AOPã¯ããšã³ãããŒãšã³ãã®æ©èœã®åé¡ã«å¯ŸåŠããããã«Xeroxã§çºæãããŸããããŸããJavaã®äžçã§ã¯ããã®ã¢ãããŒãã¯ãæ¿èªãèªèšŒããã£ãã·ã³ã°ããã®ã³ã°ãæ©èœã®åãæ¿ãã®ç®¡çãåè·¯ãã¬ãŒã«ãŒãªã©ã®æ©èœããã§ãã¯ããããã«ç©æ¥µçã«äœ¿çšãããŠããŸãã
ã¢ã¹ãã¯ãã䜿çšãããšãéåžžã«å¹ åºãã¿ã¹ã¯ã解決ã§ããŸããäŸã䜿çšããŠã¿ãŸãããïŒ
- . , . , , . â , .
- â . , - . , , - .
- : , , . Xdebug â .
- , â circuit breaker, , , , .
ã¢ããªã±ãŒã·ã§ã³ãèŠããšããã®ãããªã³ãŒããã©ã°ã¡ã³ããããããšããã«ããããããæäœããã®ã¯ããŸã䟿å©ã§ã¯ãªãããšãããããŸãããã®ãããããšã³ãããŒãšã³ãæ©èœã¯ãã¢ããªã±ãŒã·ã§ã³å šäœã«ååšããŸãã
ãããŠãåŸæ¥ã®ãªããžã§ã¯ãæåã®ããã°ã©ãã³ã°ã䜿çšããŠãã©ããããããããããŸãšããè¯ãæ¹æ³ã¯ãããŸããã
ã¯ãããã¡ããããã³ã¬ãŒã¿ã䜿çšããããšã¯ã§ããŸãããã¯ã©ã¹ã§åãã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããå Žåã¯ããã³ã¬ãŒã¿ã§åã¡ãœãããå®è£ ãŸãã¯çæããå¿ èŠããããŸããã€ãŸãããã£ãã·ã¥ãããã¹ãŠã®ã¯ã©ã¹ã®ãã³ã¬ãŒã¿ãçšæããŸãã
Sergey ZhukïŒããããŸãããããããŸãããããããããã«ã¯ãã§ã«ããã€ãã®PECLæ¡åŒµæ©èœãããããã¬ãŒã ã¯ãŒã¯ãååšããŠããŸããããªãèªåã§æžãããšã«ããã®ã§ããïŒ
Aleksandr LisachenkoïŒã¯ããããªãã¯ãã§ã«å€ãã®è§£æ±ºçããã£ãããšãæ£ããææããŸãããããããç§ã«ã¯ãããã«ã¯éå€§ãªæ¬ ç¹ãããããã«æãããŸããã
äžéšã®ãœãªã¥ãŒã·ã§ã³ã¯ããœãŒã¹ã³ãŒãã倿ããããšããããã«ç¹å®ã®ã¢ããã€ã¹ãç¹å®ã®ã¯ã©ã¹ã«åã蟌ã¿ãŸãããããã¯ãããã¡ãœããããå¥ã®ã¡ãœããã«ç¹°ãè¿ãããã³ãŒãã®äžéšã§ãã xltã䜿çšãããšã1ã€ã®ã¯ã©ã¹ãçæããããã¹ãŠãããã«é 眮ãããŸããäžè¬ã«ããã®ã³ãŒãã¯ãŸã£ããéããªãæ¹ãããã§ãããïŒ
2çªç®ã®ã¯ã©ã¹ã®ãœãªã¥ãŒã·ã§ã³ã¯æ¡åŒµæ©èœã§ããããšãã°ãPHP AOPã¯ååãšããŠéåžžã«æ©èœçã§ãããå®è¡æã«ãã¹ãŠãå®è¡ããŸããã¢ããã€ã¹ã1ã€è¿œå ãããšããã¹ãŠåé¡ãªãããã«èŠããŸããã2ã€ç®ã远å ãããšãããã«æ¯äŸããŠé床ãäœäžãå§ããŸãããããã£ãŠã10ã®ãã³ãã§ãã¢ããªã±ãŒã·ã§ã³ã®é床ãäœäžãå§ããŸããããã«æ°åã远å ãããšãããã ãã§ããã¿ã€ã ã¢ãŠããä¿èšŒãããŸãã
ã©ãããããããããã£ã«ã¿ãŒããšåŒã°ããã¢ã€ãã¢ããçŸä»£ã®ããã«ãŠã§ã¢ã®ãããã¿ã€ãã§ããLithiumãã¬ãŒã ã¯ãŒã¯ã«ã©ã®ããã«å®è£ ãããŠããããèŠãããšããããŸãããããã°ã©ã ã§æ¢ç¥ã®ãã€ã³ããããã€ãäœæããåŒã³åºãã®åãšåŸã®äž¡æ¹ã§ããããã®ãã€ã³ãã«ãã£ã«ã¿ãŒãé©çšã§ããŸãããã®ã¢ã€ãã¢ã¯ãšãŠãé¢çœããã ã£ãã®ã§ãã¢ããªã±ãŒã·ã§ã³ãäœæãããããã®ãã£ã«ã¿ãŒã䜿çšããŠæšªæçãªæ©èœãå ¬éããããšã«ããŸãããç§ã¯ãããJavaã§ã©ã®ããã«è¡ãããããç ç©¶ãå§ããŸããã
ãããŠãPHPã§ã¯ããããªããã³ãã§å®è£ ããããšã¯äžå¯èœã§ããããšã«æ°ã¥ããŸãããããã¯ããããæãè峿·±ãç¬éã§ããã
äžè¬ã«ããã¬ãŒã ã¯ãŒã¯ãäœæããããã»ã¹å šäœã¯ãããããããšãäžå¯èœããšããçµ¶ãéãªãéäºã§ãããåºæ¬çãªããšã¯ã§ããªãã£ãããã§ããããã以äžã«é¢çœãã£ãã§ãã
Sergey ZhukïŒç§ã¯ãã å°ããããåŸãŸããããªãAOPã«è¡ãã®ã§ããïŒãã¬ãŒã ã¯ãŒã¯ã®æåã®ãªãªãŒã¹ã¯2013幎ã®åãã«è¡ãããGoèšèªã¯ãã§ã«ååšããPHPã䜿çšããŠããŸããã JavaScriptãJavaã®ãããªãã®ã§ãããïŒïŒ
Alexander LisachenkoïŒæåã®ã³ãããã¯ç§ã®ã³ã³ãã¥ãŒã¿ãŒã§ã®ããŒã«ã«éçºã®å§ãŸããšåãã§ã¯ãããŸããïŒåœæãGoã¯ãŸã 人æ°ããããŸããã§ãããç§ã¯ã°ãŒã°ã«ã§æ€çŽ¢ããŸããããã°ãŒã°ã«ã«ããããçš®ã®å éšéçºããããããã¯ããèªèº«ã®ããããå ããŠããŸã...ãããŠæ°ã«ããŸããã§ããã
ãã¬ãŒã ã¯ãŒã¯èªäœã®ååã¯ãããã°å éšã®åžæã«åºã¥ããŠéžæããŸããã goãã-ãgoãããforwardãããdoãã
Sergei ZhukïŒããã§ã¯ãååã倿Žããèãã¯ãããŸããã§ãããïŒ
Alexander LisachenkoïŒæ£åŒã«ã¯ã GoïŒã®ãã«ããŒã ã§ãã AOPPHPãããããæéãçµã€ã«ã€ããŠãPHPã¯Composerãä»ããŠæž¡ããããªã€ã«ãæ²¹ã£ãœãããæå³ããªãããã«æããããããåé€ããŸããã
ãããŸã§ã®ãšãããäœåãªãã©ãã£ãã¯ãçºçããŠããŸããAOPforGoãèŠã€ããããšããå€ãã®äººããç§ã®PHPãã¬ãŒã ã¯ãŒã¯ã«ãã©ãçããŸããããããå°æ¥ã®ããŒãžã§ã³ã§ã¯ãããã¯Goã«é¢ãããã®ã§ã¯ãªãããšã匷調ããå¿ èŠããããŸãããããŸã§ã®ãšããããã®ç¹ã«é¢ããŠGitHubã§åé¡ãéå§ãã人ã¯èª°ãããŸããã Googleãã³ãã¥ããã£ããã®èŠæ ããããŸããã§ããã
Sergey ZhukïŒããããŸãããã¯ã©ã€ã¢ã³ãã³ãŒãã®èгç¹ãããããã¯ã©ã®ããã«å®è£ ãããŠããŸããïŒããã«ã¢ããªã±ãŒã·ã§ã³ããããŸããããšãã°ãLaravelã«ã¯ããµãŒãããŒãã£ã®ãµãŒãã¹ãšã®çµ±åãããã€ããããŸãããããã®åŒã³åºãããã°ã«èšé²ããããšæããŸãã
Alexander LisachenkoïŒ Laravelçšã®ç¹å¥ãªã¢ãžã¥ãŒã«ããã§ã«ãããŸãã圌ã¯ããªããå¿ èŠãšãããã¹ãŠã®ãã®ãã·ã¹ãã ã«å ¥ãããããæ§æããŸããã¢ã¹ãã¯ããäœæããå¿ èŠããããŸããããã¯ãµãŒãã¹ã«ãªããã¿ã°ãä»ããŠãAOPã³ã¢ã«ãã£ãŠèªåçã«ååŸãããŸãããŸãã«ãã®åŽé¢ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã®ãã€ã³ãã§ãã©ã®ã¯ã©ã¹ãšã¡ãœããã§ããã£ãã·ã¥æ©èœãå®è£ ããããçè§£ããå¿ èŠããããŸãã眲åã䜿çšããŠã¡ãœãããçŽæ¥æå®ããããšãïŒãã ãããªãã·ã§ã³ã¯ããŸãæè»ã§ã¯ãªããããã¡ãœããã®ååã倿Žããããšã¯ã§ããŸãããã¢ã¹ãã¯ãã«æ®ããŸãïŒããŸãã¯æ³šéã䜿çšããŠã¡ãœããã«ããŒã¯ãä»ããããšãã§ããŸãã 2çªç®ã®ãªãã·ã§ã³ã¯ããæè»æ§ããããŸãããã£ãã·ã¥ããå¿ èŠãããå Žåã¯ããã£ãã·ã¥å¯èœãšããŠããŒã¯ããã ãã§ããšã³ãžã³ããã£ãã·ã¥ãå®è¡ããã¢ã¹ãã¯ãã®ã³ãŒãã«ããã³ãŒã«ããã¯ãåŒã³åºããŸãã
Composerã䜿çšããŠã¯ã©ã¹ãããŒããããšãã«ããã¬ãŒã ã¯ãŒã¯ãä»å ¥ããã¢ã¹ãã¯ããåã蟌ãŸãããã£ãã·ã¥ã«ãã®ã¯ã©ã¹ã®æºåãã§ããŠããããŒãžã§ã³ããããã©ããã確èªããŸããããå Žåã¯ãããã«è¿ãããå®è¡æã«è¿œå ã®ãã§ãã¯ã¯è¡ãããŸããããã£ãã·ã¥ããªãå Žåã¯ãASTããªãŒãäœæãããã®ããªãŒã®äžã«åå°ã¯ã©ã¹ãäœæããŸãããã¡ã¢ãªã«ããŒãããŸããããããŠãã®æç¹ã§ãå¿ èŠã«å¿ããŠå€æŽã§ããŸããã€ãŸãããã®ã¯ã©ã¹å ã«ã¢ã¹ãã¯ãã³ãŒããç¹ã蟌ãããšãã§ããŸãã
ç§ã¯åŽé¢ã®äžã®éººã奜ãã§ã¯ãªããã¯ã©ã¹ã2ã€ã®éšåã«åããããšã«ããŸããã
å ã®ã¯ã©ã¹ã¯å®è³ªçã«å€æŽãããŸãããååã®ã¿ã倿ŽãããŸãããŸããå ã®ã¯ã©ã¹åã§2çªç®ã®ã¯ã©ã¹ã衚瀺ãããŸããããã¯ãã¡ã€ã³ã®ã¯ã©ã¹ãæ¡åŒµããå¿ èŠã«å¿ããŠãããã€ãã®ã¡ãœããããªãŒããŒã©ã€ãã§ããŸãã
ãªããå®éã«ã¯ãç¶æ¿ãã€ã³ã¹ã¿ã³ã¹ãè¿ãã¡ãœãããšã¯ã©ã¹ã¯ãããããããŸããããšãã°ãããç¥ãããŠãããã§ãŒã³ã¡ãœããïŒãªããžã§ã¯ãã®ã¡ãœããã®ãã§ãŒã³ãåŒã³åºããšã$ thisãè¿ãããŸãã食ããšãæåã®åŒã³åºãã¯æ©èœããŸãããã¢ã¹ãã¯ãã¯äœäžããŸããã¡ã¢ãªã«ã¯ãŸã 1ã€ã®ã€ã³ã¹ã¿ã³ã¹ããããããç¶æ¿ãšãšãã«ã¡ã¢ãªãä¿åãããŸãã
Sergey ZhukïŒãã®ãã¹ãŠã®ã¢ãŒããã¯ãã£ããšã³ãžã³ãæåãããã¹ãŠãèããŸãããïŒ
ã¢ã¬ã¯ãµã³ããŒãªãµãã§ã³ã³ïŒé£ã³èŸŒãããšããããããããŸãããããšãã°ãç§ã¯ASTã«ããŸã詳ãããªãã£ãã®ã§ãææ³ã®èšè¿°ã«é¢é£ããå€ãã®åéãç ç©¶ããŸããããããŠãç§ã®ãã¬ãŒã ã¯ãŒã¯ãèŠããšãç§ã®ãã€ã³ãã«ããã¯æ¬æ Œçãªææ³ãå®è£ ããç¬èªã®æ§æãæã£ãŠããŸã-ããã¯ããããçŽ æŽãããææã®1ã€ã§ããããšãã°ããã¢ã»ããã§å§ãŸããªããããªãã¯ã¡ãœããã®åŒã³åºããã€ã³ã¿ãŒãã§ã€ã¹ãªã©ã®å éšã¹ããŒã¹ãªã©ã®å®è£ ããªã©ãè€éãªåŒãããã€ã§ãèšè¿°ã§ããŸãã
ãŸããPHPã®å éšãããããæãäžããŸãããæ¡åŒµæ©èœãã©ãã«ããã®ããã©ã®ããã«æ©èœããã®ããèŠãŸãããã©ããã§ãããã¡ã€ãªã³ã°ãè¡ããäœããæé©åãã調æŽããŸãããããããAOPãã¬ãŒã ã¯ãŒã¯ãæ¥ç¶ããã ãã§ãã¢ããªã±ãŒã·ã§ã³ã¯7ã10ããªç§ã远å ããŸããå€å žçãª100ããªç§ã®å¿çã®ã¬ãã«ã§ã¯ããã®ãããªå·šå€§ãªãã¬ãŒã ã¯ãŒã¯ãå éšã§åŒã³åºãããŠããããšã¯èªèã§ããŸããã
Sergey ZhukïŒããŸããŸãªPHPãã¬ãŒã ã¯ãŒã¯ã«åºææ§ã¯ãããŸããïŒ
Alexander LisachenkoïŒååãšããŠãAOPãã¬ãŒã ã¯ãŒã¯ã¯ãç¹å®ã®ãã€ã³ãã£ã³ã°ãå¿ èŠãšããªãäžè¬çãªã©ã€ãã©ãªãšããŠèæ¡ãããŸãããäž»ãªæ¡ä»¶ã¯ãComposerã䜿çšããããšã§ããããããããã¯Symfonyãšã¯ããŸãå奜çã§ã¯ãããŸããã
Symfonyã«ã¯é»ã®éæ³ãå€ãããŠããããç§ã®ãã¬ãŒã ã¯ãŒã¯ã®éæ³ãšè¡çªãããšãæåŒ·ã®Symfonyãåã¡ãŸãã
äžè¬çã«ãSymfonyã®èãæ¹ã¯ãã³ã³ããããããšããããšã§ããAOPæ©èœãååŸããããã«åå¥ã®ãã¬ãŒã ã¯ãŒã¯ãçºæããã®ã§ã¯ãªããã³ã³ããã䜿çšããå¿ èŠããããŸããããäŒçµ±çãªæ¹æ³ããããŸãïŒãã³ãã«ãå«ãã-ããšãã°ãJMSAOPãŸãã¯ç§ã®SymfonyGoAOPãã³ãã«ã
Sergey ZhukïŒã³ãã¥ããã£ãšç«¶åä»ç€Ÿã«ã€ããŠè©±ããŸããããæã£ãŠããŸããïŒ
Alexander LisachenkoïŒç§ã®ç¥ãéããçŸåš3ã€ã®ãã¬ãŒã ã¯ãŒã¯ããããŸããããã¬ã€ã¯ã Aopããã ããComposerã广çã«æäœããæ¹æ³ãããããªããããæ¬çªç°å¢ã«ã¯åœ¹ç«ã¡ãŸããã Flowã®äœæè ã¯ãããã«AOPããããœãŒã¹ã䜿çšããŠãã¬ãŒã ã¯ãŒã¯ãæäŸããŸããäžåœã®ãã¬ãŒã ã¯ãŒã¯ã®é£ã«äœãä»ã®ãã®ããããSwooleã®äžã«ã¹ãã©ããããããŸã-ããããããã¯ãã¹ãŠæ¡åŒµæ©èœã®ã¬ãã«ã§ãããã»ãã¥ãªãã£äžã®çç±ãã管çè ãæ¡åŒµæ©èœãèŠéãããšã¯ã§ããŸãããç§ã¯ãŸã å€å žçãªãã¬ãŒã ã¯ãŒã¯ãæã£ãŠããŸãããããŠããã¯ã©ããªããŒãžã§ã³ã§ãçãç¶ããŸãã
ã³ãã¥ããã£ãããã¶ããããçè§£ããŠçè§£ããŠããã®ã¯4人ã ãã§ããç§ãã»ã«ãã¢ã®1人ã®ç·ããããŠç§ãè¡ã£ããã¹ãŠã®ããšã«åå ããç§ã®åã®ä»äºã®2人ã§ããåœç¶ãç§ã¯åœŒãã«ç§ã®ãã¹ãŠã®éçºãšçµæã瀺ããŸãããããæ°ã¶æãç§ã転è·ãããšãããªãŒãã³ãœãŒã¹ã«ã»ãšãã©åŽåãšãšãã«ã®ãŒãè²»ãããŸããã§ããããããã¯èªåŸçã«çããæ©èœããŸãã
, - Z-Engine â c , , PHP.
æéã空ãããããã«ãZ-Engineã®äœæ¥ãç¶ããèšèªèªäœã®å éšæ§é ã«åºã¥ããŠããã¬ãŒã ã¯ãŒã¯ã®æ¬¡ã®ããŒãžã§ã³ãäœæããäºå®ã§ãã Javaã®AspectJãšã»ãŒåãããã«æ©èœããŸããç®æšã¯ãPHP8ã§ããã«å°éããããšã§ãã
Sergey ZhukïŒããã¯ãã¬ãŒã ã¯ãŒã¯ã®ã»ãŒå®å šãªæžãçŽãã§ããïŒ
ã¢ã¬ã¯ãµã³ããŒãªãµãã§ã³ã³ïŒããããç§ã¯ãã¹ãŠãåè§£ããŸãããã³ãŒãã€ã³ãžã§ã¯ã·ã§ã³ããã»ã¹ã®ã¿ã倿ŽãããŸããç¹å®ã®ã¯ã©ã¹ã®ç·šéãæ åœããã¯ã©ã¹ãæåéãããã€ããããŸãããã®å Žåããã®ã¯ã©ã¹ã¯ç°ãªãæ§é ã®ãã¡ã€ã«ããã£ãã·ã¥ã«äœæããŸãããããã®æç¹ã§å®è¡æã«OPcacheã倿Žããã¡ã¢ãªå ã®PHPæ§é ã倿ŽããŸãã
Sergey ZhukïŒãããŠãã®ãããã¯ã«å¯ŸããPHPã³ãã¥ããã£ã®äžè¬çãªæ 床ã¯äœã§ããïŒç§ã¯éåæPHPã奜ãã§ãç¡é¢å¿ãªäººã¯ã»ãšãã©ããŸããã調åã¯ã©ãïŒ
Alexander LisachenkoïŒ AOPãªãã§ãããå®è¡ã§ãããšèšã人ã¯åžžã«ããŸããããªãã¢ããªã±ãŒã·ã§ã³ã§ãããå¿ èŠãªã®ã§ãããç§ã®çãã¯ãäŒæ¥ã§åããŠããªãå Žåã¯ãåŽé¢ã¯å¿ èŠãªããšããããšã§ãããŸããäŒæ¥ããããšæã£ãŠããŠãããµãŒãã¹ã1ã€ã§éçºè ã2ã3人ããå Žåããããæ©èœããŸããïŒAOPã¯ãæ°å人ã®ããŒã ã§ããŸãæ©èœãããããããç¬èªã®ã¹ã¿ã€ã«ã§æžã蟌ã¿ãŸããéåžžã¯è€æ°ã®ã¢ããªã±ãŒã·ã§ã³ãéåžžã¯ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã
èªå® ã§ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå€§äŒæ¥ãããããããããšã¯ç¢ºãã§ãããã©ã³ã¹èªããã·ã¢èªã§ããæè¬ã®æ°æã¡ã蟌ããã¡ãã»ãŒãžãã¡ãŒã«ã§å±ãããšããããŸãã圌ãã¯ãç§ãã¡ã«ã¯1ãæã®äœæ¥ããããšæã£ãŠãããããã¬ãŒã ã¯ãŒã¯ãæãèµ·ãããæ°æ¥ã§ãã®ã¿ã¹ã¯ãå®äºãããšèšã£ãŠããŸãã圌ãã¯éçºè ã®äœæ¥ã1ãæç¯çŽããŸãããããã¯çŽ æŽãããããšã§ãã
Sergey ZhukïŒäœãæè²æŽ»åãããŠããŸããïŒããªãã®ãã¬ãŒã ã¯ãŒã¯ã¯ååã«å€ãã§ãããç§ã¯ãã¥ãŒããªã¢ã«ããã£ãšæ¢ããŸãã-ãŸã°ãã§ãã 10人ã«AOPãšã¯äœããå°ããããã§ããã9人ã¯ç¥ããªããšèšãã§ãããã
ã¢ã¬ã¯ãµã³ããŒã»ãªãµãã§ã³ã³ïŒã¯ããããã§ãã
Sergey ZhukïŒã§ãã圌ããç¥ããªãã®ã¯è¯ãããšãããããŸããã
ã¢ã¬ã¯ãµã³ããŒãªãµãã§ã³ã³ïŒããã¯è«ç¹ã§ãïŒããããç§ãæ±ããŠããããããŠãŸã æ±ããŠããåé¡ããããŸã-ããã¯ããã¥ã¡ã³ãã§ããç§ã¯æ¬è³ªçã«ããã¥ã¡ã³ããæžãã®ã奜ãã§ã¯ãããŸãããç§ã¯ã¯ãŒã«ãªè§£æ±ºçãæžãããšãã§ããŸããç§ã¯ããã€ãã®å€ãã£ããã®ãã©ã€ãã©ãªãçºæããããšãã§ããŸãããããããã¥ã¡ã³ãã§ããã¯ãã èŠçã§ãã
ã»ã«ãã¢ã®å人ãç§ã«ææ¡ããç¬éã§ãããæžããŸãããããããŠåœŒã¯ãããæžãå§ããŸãããããããã°ãããããšãã¥ãŒãºãçµãããŸãã...ãããŠããã§åœŒãã¯ããã¥ã¡ã³ããè±å¯ã§ã¯ãªãããšãããããŸããããšããŸãããã
Sergey ZhukïŒã§ã¯ãèªç¶ãªéžæã§ããïŒæãå·æã«ç»ã£ã人ã¯ãæ·±ãæãäžããŠãããã䜿çšããŸã...
Alexander LisachenkoïŒã¯ãããããŠãããã¯ã倱æããªãããã«ååãªã¬ãã«ãæã£ãŠãã人ã ã§ãã
Sergey ZhukïŒããªããæšæž¬ããªãã£ãæ¹æ³ã§ãã¬ãŒã ã¯ãŒã¯ã䜿çšãã人ã ãããã£ãŒãããã¯ãåãåããŸãããïŒ
ã¢ã¬ã¯ãµã³ããŒã»ãªãµãã§ã³ã³ïŒã¯ãããã®ãããªã±ãŒã¹ããããŸãããããšãã°ãAspectMockãæžããMikhailBodnarchukã§ãã圌ã¯ãã¬ãŒã ã¯ãŒã¯ãæ¡çšããããã䜿çšããŠãæçµçãªã¡ãœãããã¯ã©ã¹ãããã«ã¯é¢æ°ãååŸãããšããåé¡ã解決ã§ããããšã«æ°ä»ããŸããã
å€ãã¢ããªã±ãŒã·ã§ã³ããªãã¡ã¯ã¿ãªã³ã°ãã人ãã¡ãå¥ã®è©±ãæããããŸãããã圌ãã¯ãã¹ããããŠããŸããã§ãã-äžè¬çã«ããã¹ãŠãå€å žçã§ããç§ã®ãã¬ãŒã ã¯ãŒã¯ã®å©ããåããŠã圌ãã¯ããããã®ç¹å®ã®ã¡ãœãããäœãšåŒã°ããããèšé²ããã°ããŒãã«ãªåŽé¢ãäœããŸããããã®ãã©ã«ãå ã®ãã¹ãŠã®ã¯ã©ã¹ã®ãã¹ãŠã®ãããªãã¯ã¡ãœãããåŒã³åºãåã«ãäœãåŒã³åºãããäœãè¿ããããïŒã©ã®ã¿ã€ããã©ã®å€ïŒãèšè¿°ãããŠããŸãããæ¬¡ã«ãè² è·ãããã£ãç¶æ ã§ãã®ã¢ããªã±ãŒã·ã§ã³ã®å®è¡ãéå§ããŠãã³ãŒãã®ãã¹ãŠã®å¯èœãªç¶æ ãååŸããŸããã圌ãã¯ãåã¡ãœããã§èš±å¯ãããŠããå€ã®èªåã»ãããååŸããå€ãè¿ããŸããã€ãŸããç¶æ å šäœã®ã¹ãããã·ã§ãããåããéã®åŽé¢ãèšå®ããŸãããããã«ãããã¡ãœãããåŒã³åºãããããžãã¯ã倿Žããããã©ããããã§ãã¯ãããŸããã
å®éã圌ãã¯ãã¹ãã§ã«ããŒããããšãªããèªåã³ãŒããªãã¡ã¯ã¿ãªã³ã°ãå®è£ ããããšã«æåããŸããã
ãã¹ãŠã®ã¯ã©ã¹ãããªãŒãºããããããäœãšã©ã®ããã«åŒã³åºããããã確èªãããªãã¡ã¯ã¿ãªã³ã°äžã«æ¢åã®é¢ä¿ãå£ããŠããªãããšã確èªã§ããããã«ãã¬ã¬ã·ãŒã¢ããªã±ãŒã·ã§ã³çšã®ããŒã«ãäœæããæ¹æ³ããã°ããèããã®ã¯ãšãŠãã¯ãŒã«ãªã¢ã€ãã¢ã§ããããããããããå€éšå§èšã§ããããçš®ã®ããŒã«ã«å®è£ ããããšã¯ãŸã ããŸããããŸããã§ããã
psçµãããèªãã§èããŠãããŠããããšãïŒãã®ä»ã®ããããã£ã¹ããšããœãŒãã¯ããã«ãããŸãã