
é·å¹Žã«ãããã.NETã¢ããªã±ãŒã·ã§ã³ã«é¢é£ããäž»ãªåé¡ã®1ã€ã¯ããã©ãŒãã³ã¹ã®åé¡ã§ããã ãã®ãããã¯ã«é¢ããæåã®èšäºã®1ã€ã¯
2001幎ã«é¡ããŸãã
ãã®ãããã¯ã®é¢é£æ§ã¯10幎以äžã倱ãããŠããŸããã2011幎ãããããã¡ã€ãªã³ã°ã«æé©ãªããŒã«ã
æ±ããŠè³ªåãå¯ããããŠããŸãã
ãããçŸä»£ã®.NETéçºã«ãšã£ãŠäœãæå³ããã®ãããããŠæ倧ã®ããã©ãŒãã³ã¹ã確ä¿ããããã«äžçæ倧ã®éçºè
ã³ãã¥ããã£ã䜿çšããããŒã«ã«ã€ããŠã¯ãStack Overflowããã©ãŒãã³ã¹ãšã³ãžãã¢ã®Marco Cecconiã«çžè«ããããšã«ããŸããã

Marco Cecconiããã³ãã³ã®ã¹ã¿ãã¯ãªãŒããŒãããŒãšã³ãžãã¢ã 圌ã¯ãœãããŠã§ã¢éçºãã³ãŒãã£ã³ã°ãã¢ãŒããã¯ãã£ãããŒã ã¯ãŒã¯ã«ã€ããŠå€ãã®ããšãæžããŠããŸãã
-Stack Overflowã§åããŠããŸãããçç£æ§ã®èŠ³ç¹ãããããžã§ã¯ãã®äž»ãªãçã¿ã®ãã€ã³ããã«ååãä»ããããŸããïŒ-ãããã®2ã€ããããŸãïŒäžæ¹ã§ã¯ããªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹åãšã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã§ã®äœæ¥ã«ã¯éåžžã«æ³šæããå¿
èŠããããä»æ¹ã§ã¯ãSQLãµãŒããŒã®äœ¿çšæ¹æ³ãSQLã¯ãšãªã®äœæãæ§ç¯ã«æ³šæãæãå¿
èŠããããŸãããŒãã«ãªã©
çŸæç¹ã§ã¯ããããã¯æ倧ã®æ³šæãæããçç£æ§ã«æã圱é¿ãäžãã2ã€ã®äž»èŠãªåŽé¢ã§ãã
-ãœãªã¥ãŒã·ã§ã³ã¯å®å
šã«CïŒã§æ§ç¯ãããŠããŸããããŸãã¯C ++ãJavaãPythonãªã©ã®ä»ã®èšèªã®äžéšããããŸããïŒ-99ïŒ
ã®CïŒããããšèšããŸãã ãã¡ãããC ++ãŸãã¯Cã«ã¯å°ããããŸãããã³ãŒãã®è¡ã§ã¯ããã¯éåžžã«å°ããã§ãã åœç¶ãTypeScriptãšJavaScriptããããŸãã ãµãŒããŒäžã®JavaScriptã¯ããã³ãã«ã®ã³ã³ãã€ã«ãšã³ãŒãã®çž®å°ã«äœ¿çšãããŸãã ãŸããSQLã䜿çšããŠããŸãããããã¯å¥ã®èšèªã§ãã 以äžã§ãã
-ããŒã«ãéããããšãã§ããŸããïŒä»ã®èšèªãæè¡ã§ã¯ãªããCïŒã§ãããžã§ã¯ããéçºããããšã«ããã®ã¯ãªãã§ããïŒããã®è³ªåã«çããŠãå察åŽããå°ãæ¥ãŠãããã§ããïŒã ã¹ã¿ãã¯ãªãŒããŒãããŒã¯8幎éç¶ããŠããŸãã ãã®éã1æ¥ããã10äžãã¥ãŒãã1ãæãããæ°ååãã¥ãŒã«ãŸã§æé·ããŸããã ãããŠãç§ãã¡ã¯ãŸã CïŒã䜿çšããŠããŸãã ã§ã¯ããªãä»ã®äœãã«åãæ¿ããªãã£ãã®ã§ããïŒ ãããŠãããã§ã®çãã¯ãMicrosoftããã®äžå¥åº·ãªç®èº«ã§ã¯ãªãããã¹ãŠã®ããŒãºãæºããéåžžã«åªããã©ã³ã¿ã€ã ç°å¢ã«é¢ãããã®ã§ãã ãããŠãæéãç¡é§ã«ããŠä»ã®äœãã«åãæ¿ããçç±ã¯ãããŸããã çŸæç¹ã§ã¯ãç§ãã¡ã«ãšã£ãŠã¯ãã¹ãŠããŸããããŸãã
-ã€ãŸããçŸæç¹ã§ã¯ã蚪åè
ã®æ¥æ¿ãªæµå
¥ã«å¯ŸåŠããããã«è¿œå ã®æºåéããããŸããïŒ-çŸæç¹ã§ã¯ãæ倧容éã®5ïŒ
ã§äœæ¥ããŠããŸãã 20åã®éè² è·ã«èããããšãã§ããŸãã ãã¡ãããããã¯é£ããããšã§ããåžžã«100ïŒ
ã§åããããšã¯æããªãã§ãããããçŸæç¹ã§ã¯5ã10ïŒ
ã®äœããæã£ãŠããŸãã
-ããã§ã¯ã€ã³ã¿ãã¥ãŒãç¶ããã¹ãã§ããïŒ :)æããã«ããã©ãŒãã³ã¹ã®åé¡ã¯ãããŸããã-ããããããã©ãŒãã³ã¹ã®åé¡ããããããããŸãã ãã ããããã©ãŒãã³ã¹ã®æé©åã¯ããã¹ãŠããã§ã«åæ¢ããŠããŠãããã»ããµãŒã®äžå®ã®è² è·ãæ°æ¥é80ïŒ
ãäžåããªãå Žåã«ã®ã¿è¡ãããšã§ã¯ãããŸããã 5ïŒ
ã®è² è·ãããã®ã¯ãŸãã«æé©åã§ãããæé©åã¯çµ¶ããé·æéã®ããã»ã¹ã§ãã
å®å
šããŒãžã³
-OKãç¹ã«æ·±å»ãªåé¡ãæãåºããŸããïŒ ãã¶ããããªãã®æŽå²ã®äžã§ãããªãã®æ±ºå®ã®ä»äºã§æ¬åœã«é
ããšäžæãçµéšãããšããåžå Žã§ããã€ãã®åºæ¥äºããããŸããïŒ-ãããããã®èŠæš¡ã®åé¡ã¯äžåºŠããããŸããã§ããã ãã®çç±ã¯ãç§ãã¡ã®å€§ããªå®å
šããŒãžã³ã§ãã ç§ãã¡ã¯DDoSã§ãã£ãŠãåããŸãã ãã¡ãããèªä¿¡ãæã¡ãããŠã¯ãããŸãããã倧èŠæš¡ãªDDoSæ»æã§ã¯ãã€ã³ã¿ãŒããããã£ãã«ãæåã«è©°ãŸããäœãã§ããŸãããšããå°è±¡ãåããŸããã ãã°ã«åæ ãããŠããç¹å®ã®ã€ãã³ãããããŸãã ãã±ã¢ã³ãŽãŒããªãªãŒã¹ããããšããç§ãã¡ã¯æ°æ¥ééåžžã«å€§ããªæé·ãéããŸããã ãããŠã倧統é éžæã¯èããäœäžããéžæåŸã蚪åè
ã®æ°ã¯å€§å¹
ã«æžå°ããŸããã ãã®ãããªã€ãã³ãã远跡ã§ããŸããããããã®ãžã£ã³ãã¯æšæºã®100ïŒ
ãè¶
ããŸããã
-ããŒã«ã®éžæã«ç§»ããŸãããã ã³ãŒãã®ããã«ããã¯ãèŠã€ããããã®ãæ°ã«å
¥ãã®ããŒã«ã¯äœã§ããïŒMiniProfilerãšããç¬èªã®ããŒã«ããããŸãã ããã¯ãªãŒãã³ãœãŒã¹ã§ããã
GitHubã§èŠã€ããããšãã§ããŸãã .NETããã³Rubyã§åäœããŸãã .NETã§ã¯
ãusingã¹ããŒãã¡ã³ãã䜿çšããŸãã ã䜿çšããŠã枬å®ããã³ãŒããããã¯ã決å®ããŸãã åŒã³åºãã®æéã枬å®ããå Žåã¯ãããã䜿çšããŠããã¯ããã¯ãšãªå®è¡ãããã¡ã€ã«ãäœæã§ããŸãã ããšãã°ããªã¯ãšã¹ãã®åŠçãéå§ãããšéå§ããã¿ã€ããŒãããããªã¯ãšã¹ãã®åŠçãçµäºãããšåãã¿ã€ããŒãåæ¢ããŸãã åããŒã¿ããŒã¹ãããŒã¿ããŒã¹ãžã®åã¯ãšãªãElasticSearchãšã³ãžã³ãžã®ã¿ã€ããŒãååšããŸãã
ã¿ã€ããŒã¯åããŒãžã®ç°ãªããããã¯ã«èšå®ãããŠããããã質åãªã¹ãã®ã¬ã³ããªã³ã°é床ãšã¡ã€ã³ããŒãžã®ããã¿ãŒãŸãã¯ããããŒã®ã¬ã³ããªã³ã°é床ãæ¯èŒããã³è©äŸ¡ã§ããŸãã ãã®ããŒã«ã¯ãã«ãŠã³ãçµæãã³ã¡ã³ããšããŠå¿çããããŒã«æ¿å
¥ããŸãã éçºè
ã«ã¯ãããŒãžã®å³äžé
ã«ããŒãžãã¬ã³ããªã³ã°ãããæéã«é¢ããããŒã¿ãå«ãå°ããªãã£ãŒã«ãã衚瀺ãããŸãããã®ãã£ãŒã«ããã¯ãªãã¯ãããšãããŒãžäžã®åããã»ã¹ã®è©³çŽ°æ
å ±ã衚瀺ãããŸãã
ãã®ããŒã«ã¯ãç¹å®ã®åé¡ãæ€åºããããã«èšèšãããŠããŸãã ããŒãžã衚瀺ãããšãã«é
延ãããå Žåããããçºçããæ£ç¢ºãªçç±ã確èªã§ããŸãã ãŸãããã°ãšãšãã«åéããã³ä¿åããããŒã¿ã®ãµãã»ããã䜿çšããŸããããã«ãããSQLã¯ãšãªãäœæããåããŒãžã®ããã©ãŒãã³ã¹çµ±èšã衚瀺ã§ããŸãã
BosunãšåŒã°ããä»ã®ããŒã«ã¯ãæç³»åã¢ã©ãŒã ã·ã¹ãã ã§ãã ã¡ã¢ãªãåæ£ãªãœãŒã¹ãªã©ãåœç€Ÿã瀺ãããã©ã¡ãŒã¿ãç£èŠãããããã®ãã©ã¡ãŒã¿ã«å€§å¹
ãªå€æŽãããå Žåã«ã¢ã©ãŒã ãçºçãããŸãã

åSQLã¯ãšãªãç£èŠããå¥ã®ã·ã¹ãã ããããŸããã€ãŸããããŒã¿ããŒã¹ã®çµ±èšãåéããŸãã ãã®ãããã§ãã©ã®ã¯ãšãªã«æéããããããäœãééã£ãããšãããªãã£ãå ŽåããããŠäžè¬ã«äœãèµ·ãããã確å®ã«ããããŸãã
å¥ã®ã·ã¹ãã ã¯ãã¡ã¢ãªãCPUãªã©ã®ãµãŒããŒæäœãã©ã¡ãŒã¿ãŒãåžžã«ç£èŠããŸãã ãã¹ãŠã®ãããžã§ã¯ãã§ããã¹ãŠã®ãµãŒããŒã§çºçãããã¹ãŠã®ç¹å¥ãªç¶æ³ã远跡ã§ããŸãã
-Telegrafã®ããã«èŠããŸããïŒ
-ç§ãã¡ã®ããŒã«ã¯
OpserverãšåŒã°ãããã®åé¡ã解決ããããã«ç§ãã¡èªèº«ãäœæãããã®ã§ããªãŒãã³ãœãŒã¹ã§ãã
-ããã©ãŒãã³ã¹ãæé©åããããã®ã¢ãããŒãã¯äœã§ããã é
ãã³ãŒãã§äœãããŸããïŒ-éåžžãå²ãåœãŠã¯ãèŠã€ãã«ããããšã¯éããŸãããããæªèãããã-ãããè¡ãå¯äžã®æ¹æ³ã¯ãIISã®ã¡ã¢ãªãã³ããååŸããããã§çºçããããšãšãã¡ã¢ãªãå æããçç±ãçŽæ¥ç¢ºèªããããšã§ãã ããã¯ãç¬èªã®ã³ãŒããšåŒã³åºãããã©ã€ãã©ãªã®äž¡æ¹ã§çºçããå¯èœæ§ããããŸãã ããã¯ããµãŒãããŒãã£ã®ã©ã€ãã©ãªãš.NETã©ã€ãã©ãªã®äž¡æ¹ã§çºçããŸãã ããšãã°ãStringBuildersã¯ã³ã³ã¹ãã©ã¯ã¿ãŒã«1ã€ã®å²ãåœãŠãè¿œå ãå§ããŸããããããã¯ã·ã¹ãã ã®åäœã«éåžžã«å€§ããªåœ±é¿ãäžããŸããã
LINQã䜿çšãããšãå²ãåœãŠãçºçããå ŽåããããŸãã LINQã¯å²ãåœãŠãã²ã©ãã§ãã æã«ã¯æé©åãããæ©èœããããšãããã°ãæ©èœããªãããšãããããã¹ãŠãåé¡ãªãæ©èœãããã©ãããå€æããããšã¯åžžã«éåžžã«å°é£ã§ãã ãããç§ãã¡ã芳å¯ã远跡ããŠããäž»ãªãã®ã§ãã
-ã¹ã¿ãã¯ãªãŒããŒãããŒã§äœ¿çšããç¹å¥ãªããŒã«ã«ã€ããŠèšåããŸããã ãã³ãããŒã¯ã®æ¹æ³ãæããŠãã ããã-å®éããã³ãããŒã¯ã¯ããã»ã©é »ç¹ã«ã¯è¡ããŸããã ç§ãã¡ã«ãšã£ãŠã®äž»ãªããšã¯ãã³ãŒããå®çšŒåã«å
¥ããšãã®ã³ãŒãã®åäœã§ãã çç£ã¯ç§ãã¡ã®ãã³ãããŒã¯ã§ãã ã³ãŒãããªãªãŒã¹ããæ©èœãããã©ããã確èªããŸãã ããããªãéèŠãªã®ããç解ããããã«ãSQLã¯ãšãªã«ã€ããŠèããŠãã ããã äžååã«æé©åãããSQLã¯ãšãªãäœæãããšããŸãããã äœãããããã¯ããããšãã§ããæ®ãã¯é©åã«æ©èœããããããã®ãªã¯ãšã¹ããåé¡ã®åå ãšããŠå
·äœçã«ããã«å€æããããšã¯ã§ããŸããã ã³ãŒããæ¬çªç°å¢ã«ããå Žåãã³ãŒããšçµæã®éã®ãªã³ã¯ã¯å¿
ãããæããã§ã¯ãããŸããã äžè¬ã«ãæ¬çªç°å¢ä»¥å€ã§ã³ãŒããå®å
šã«ãã¹ãããããã«ãã§ããã ãçŸå®ã«è¿ãç°å¢ãäœæããããšã¯åžžã«å°é£ã§ãã
-å€ãã®å Žåãæé©åãããã³ãŒãã¯ãã£ãšãããã«èŠããŸã
-ã»ãšãã©ã®å Žåãé«æ§èœã³ãŒãã¯éåžžã«ããããŸããŸãªããã¯ã§ãã£ã±ãã§ãã æé©åãããã³ãŒãã§ã®äœæ¥ã«èŠåŽããŠããŸãããïŒ-ã¯ããæé©åã¯ãããã³ã°ãã«ãŒãã®å·»ãæ»ããªã©ã®èŠèŠããããšããããŸãããã»ãšãã©ã®å Žåãæé©åã¯ã³ãŒããå£åããããã®ã§ã¯ãããŸããã å®éãã»ãšãã©ã®å Žåãé«éã³ãŒãã®æ¹ãã¯ããã«ãããã§ãã
ç§ã®èšãããšã¯æãã«èããããããããŸãããããããçå®ã§ããããšãä¿èšŒããŸãã ããå°ãªãã³ãŒããèšè¿°ããã°ãããéãåäœããŸãã ããªãã¯æåéãå°ãªãã³ãŒããæžãã®ã§ãã³ã³ãã¯ãã§ããããšãããããŸãã åãã¯ã©ã¹ã§ãæ®å¿µãªããHTMLããSQLãŸã§ãã¹ãŠãèŠã€ããããšãã§ããŸãã ãããŠããã¯éåžžã«ã³ã³ãã¯ãã§ããã¹ãŠãé£ãåã£ãŠããŸãã ããã«ãããã³ãŒããèªã¿ããããªããŸãããã¹ãŠãæå
ã«ãããããã³ãŒãã®ä»ã®éšåãåžžã«åç
§ããå¿
èŠããªãããã§ãã
-å®éãããã³ã³ãã¯ããªã³ãŒãã¯èªã¿ã«ãããµããŒããããŠããŸãããïŒ-ããã³ã³ãã¯ããªã³ãŒãã¯å®éã«ã¯ç解ãããããä¿å®ã容æã«ãªããŸããããå€éšäŸåé¢ä¿ã®ãªãã³ãŒãã®èªçµŠèªè¶³ã«ãããå®éã«ç解ããããä¿å®ãããããªããŸãã ç§ãã¡ã®ã³ãŒãã®äž»ãªãã®ã¯ãèªåèªèº«ã«ã®ã¿äŸåããŠããããã«æããŸãã ã±ãŒã¹ããã¹ãããããã ãã®éåžžã«å°ããªMockãããžã§ã¯ãããŸãã¯æ°çŸè¡ã®ã³ãŒããã䜿çšããªãéåžžã«ã³ã³ãã¯ããªãããžã§ã¯ããæžããŠãããšããŸãã ãã¶ããLinkpadãæã«åã£ãŠããã«ç©ãèŒããŠãéåžžã«ã³ã³ãã¯ããªã®ãããããŸããã
ãã®ã³ãŒãã¯éåžžã«æ確ã§ãªããã°ãªããŸããã 100è¡ã®ã³ãŒããããããããããã¹ãŠèªãã§ãé ã®äžã«å
¥ããŠããããã©ã®ããã«æ©èœãããæ³åããŠã¿ãŠãã ããã ãããç§ãã¡ãç®æããŠããããšã§ããåæ©èœã¯éåžžã«ã³ã³ãã¯ãã§èªåŸçã§ãã ãã¡ãããããã¯åžžã«ããŸããããšã¯éãããã³ãŒãã¯ããè€éã«ãªãããšãããããŸãããããã¯é¿ããããŸããã ä»äºãããŠããå Žåã®90ïŒ
ã§ãè€éãªã³ãŒããæžããŠããªãããã«æããŸãã æå°éã®å¯åéšåã§éåžžã«ã·ã³ãã«ãªãã®ãæžããŠããŸãããããã¯æ¬åœã«ã·ã³ãã«ã§ãã ããã©ãŒãã³ã¹ã«é¢ããè¬æŒã«ã€ããŠã¯ã
äŸãšãã®æ¹æ³ã
瀺ããŸã ã ã³ãŒãã¯å¯èœãªéãã·ã³ãã«ã§ã³ã³ãã¯ãã§ããããšãããããŸãã
-ç¬èªã®ã³ãŒãã ãã§ãªããããã©ãŒãã³ã¹ã®åé¡ãçºçããŸã
-èªåã®ã³ãŒãã ãã§ãªããããã©ãŒãã³ã¹ã®åé¡ãçºçããããšã«æ°ä»ããŸããã ç°å¢ãããŒããŠã§ã¢ããµãŒãããŒãã£ã®ã©ã€ãã©ãªããããŸãã ããã®ãŸãŸã䜿çšããå¿
èŠããããŸããããŸãã¯ãããæé©åããæ¹æ³ã¯ãããŸããïŒãããã¯éåžžã«ããããã£ãŠããŸããã ãã¹ãŠã®ããŒããŠã§ã¢ã¯åœç€ŸãéçºããŠããŸãã åœç¶ã®ããšãªããããã¶ãŒããŒãã¯èšèšããŠããŸãããããã¹ãŠã®èŠä»¶ã¯SREã®ç¹å¥ãªãŠãããã«ãã£ãŠéçºãããŠããŸããã€ãŸãã䜿çšããRAMãã¡ãŒã«ãŒãã¢ãã«ãé»æºã¿ããã®éã§ãã ãã¹ãŠãæå®ãããŠãããããã¯ã©ãŠããµãŒãã¹ã䜿çšãããç¬èªã®ãã¹ãã£ã³ã°ãæã¡ããã¹ãŠãå¶åŸ¡ããŸãã ç§ãã¡ã®ã¿ã¹ã¯ãšèŠä»¶ã«åãããŠç¹å¥ã«èª¿æŽãããæ©æ¢°ã®æ§ç¯ã¯ãçç£æ§ã®éµã®1ã€ã§ãã
ãµãŒãããŒãã£ã®ã©ã€ãã©ãªã«é¢ããŠã¯ãã¯ããç§ãã¡ã¯ãã®åé¡ã«ç²ŸéããŠããŸãã äž»ãªè³ªåïŒäœãããŠããã®ããã©ã®ããŒã«ã䜿çšããŠããã®ããããšãã°ãç§ãã¡ãèªåã§æžããŠå
¬éããã©ã€ãã©ãªã ã»ãšãã©ã®å ŽåãèŠä»¶ã¯æšæºãšã¯å€§ããç°ãªããŸãã ç§ãã¡ã¯åžžã«èªåèªèº«ã®ããã«ã©ã€ãã©ãªãæžãæããŠããŸãã ããšãã°ãRedisã¯ã©ã€ã¢ã³ããç¬èªã®protobufãœãªã¥ãŒã·ã§ã³ãJMSã·ãªã¢ã©ã€ã¶ãŒãªã©ãç¬èªã®ã©ã€ãã©ãªã»ããããããŸãã
-ãšããã§ãç¬èªã®ããŒãžã§ã³ã®CïŒããæã¡ã§ããïŒ-äž»ã«ã«ããœãªã®ãã³ãã¬ãŒããã³ã³ãã€ã«ããããã®ãRoslynããŒã¹ã®ã³ã³ãã€ã©ã®ç¬èªã®ããŒãžã§ã³ããããŸããã䜿çšãããã®ã¯ããŒã«ãªãŒãŒã·ã§ã³ã®ã¿ã§ãã å¿
èŠãªãã®ã ããããçŽããèšèªãæ¡åŒµããŸããã ç§ãã¡ã¯èªåã§ããã©èšèªã䜿çšããŠããŸãã èšèªãå€æŽããªãäž»ãªçç±ã¯äºææ§ã§ãããVisual Studioããã®ä»ãã¹ãŠãå³åº§ã«ç Žå£ããŸãããããã¯æãŸãããããŸããã
-ãã£ãããã§ããã
æé©åã«é¢ããŠèª¬æãããã¹ãŠã®ããšãèæ
®ããŠãéçºè
ãã³ãŒãã®æé©åãéå§ãã¹ããšãããŸãã¯ãŸã£ããéå§ããªããšãã®ç¹å®ã®ã·ã°ãã«ã¯ãããŸããïŒ-ã³ãŒããåžžã«æé©åããŸãã ããã©ãŒãã³ã¹ã¯æ©èœã§ãããããã©ãŒãã³ã¹ã®äœäžã¯ãã°ã§ãã
-å²åŠçãªè³ªå-ITã¯ãéã«é¢ãããã®ã ãšæããŸãã äœæ¥ã®æé©åã«è²»ããæéãå°ããããå Žåãããšãã°ã40æéããªã©å
·äœçã«çããããšãã§ããŸããïŒ ãããã®40æéã®éã«ããŠãŒã¶ãŒã«æ©èœãå®è£
ããããæé©åã«è²»ããããšãã§ããŸããããã®å¿
èŠæ§ã¯éèŠã§ã¯ãããŸããã ããã¯äžçš®ã®åŠ¥åã§ãã-ç§ã¯ããªãã«åæããŸããã ãªãªãŒã¹ã«ãã°ãããå Žåãä¿®æ£ã§ããŸããïŒ
ããã¡ããããããŸãã«ã ããã¯åãã§ãã ããã©ãŒãã³ã¹ã®æ¬ åŠã¯ä¿®æ£ãå¿
èŠãªãã°ã§ãã ãã¹ãŠãã·ã³ãã«ã§ãã
-ãããŠãããã©ãŒãã³ã¹ãããã°ãã«ãªã£ãããšãå€æããæ¹æ³ã¯ïŒ-ããã©ãŒãã³ã¹ãã©ã¡ãŒã¿ãåžžã«ç£èŠããŸãã ããã©ãŒãã³ã¹ãäœäžããŠããããšã«æ°ä»ããŸãããïŒ åé¡ãèŠã€ããŠè§£æ±ºããŠãã ããã åœç¶ãããã»ã¹ã®ããã ãã«æé©åãè¡ã人ã¯ããŸããã ãã®ããã«ããŠããã©ã¡ãŒã¿ã远跡ããŸãã äœããå£ããŠããããæ£åžžã«åäœããŠããªãããšãããããŸãã åé¡ãä¿®æ£ããŸãã ç¹å®ã®ã±ãŒã¹ã§ã¯ããã¹ãŠãåçŽã§ãã 修埩ããã»ã¹ã¯ç°¡åã§ã¯ãªãã決å®ããã»ã¹ã¯ç°¡åã§ãã ããšãã°ã20ããªç§ã§ã¯ãªãããŒãžã®èªã¿èŸŒã¿ã«2ç§ããããªã©ãäœããéå¹ççã«æ©èœããå Žåã¯ãä¿®æ£ããå¿
èŠããããŸãã ãŠãŒã¶ãŒã«2ç§éåŸ
æ©ãããããšã¯ã§ããŸããã äžéšã®äŒæ¥ã¯ãããè²·ãäœè£ããããããããŸããã ç§ãã¡ã¯éããŸãã
-éãæé©åããæ¹æ³ã¯ãããŸããïŒ ããšãã°ããã«ãã¹ã¬ããã£ã³ã°ããã€ããŒã¹ã¬ããã£ã³ã°ãGPUã³ã³ãã¥ãŒãã£ã³ã°ïŒ-䜿çšããŸãã ããã±ãŒã¹ã§ã¯ã䞊åèšç®ãèŠæ±ããããã«CUDAã䜿çšããŸããã éåžžãå€ãã®äžŠååŠçã䜿çšããŸãããäž»ã«ãã«ãââãªã©ã®ã¿ã¹ã¯ã«äœ¿çšããŸãã è€æ°ã®ãã¡ã€ã«ãåŠçããå Žåãå¯èœãªéã䞊åèšç®ãšãã«ãã¹ã¬ããã䜿çšããŸãã ã³ãŒãã®èŠ³ç¹ãããåæã䜿çšããŠãããŒã¿ããŒã¹ã®éã¿ãªã©ã®ãã¹ãŠã®å€éšã®éã¿ãåé¿ããããšããŸãã ãããããããçã®ãã«ãã¹ã¬ãããšåŒã°ãããã®ãã©ããã¯ããããŸããã èããããŠãã ãã...
ã»ãšãã©ã®å ŽåãWebãµãŒããŒã®æé©ãªæŠç¥ã¯æ倧é床ã§ãããç°ãªãã³ã¢ã«æ¡æ£ããå¿
èŠã¯ãããŸããã ãªããªããç§ãã¡ã¯ä»ã®ãŠãŒã¶ãŒããã®äžå®æ°ã®ãªã¯ãšã¹ããšåžžã«ç«¶äºããŠããããã§ãã ãã®å Žåã«CPUã䜿çšããããã®æè¯ã®ãªãã·ã§ã³ã¯ãããããIASã®ã«ãŒãã«å
šäœã«èŠæ±ã®åæ£ãæ®ãããšã§ãã ããã¯ãšã³ãã§ã©ã€ãã©ãªãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã䜿çšããå Žåããªã¯ãšã¹ããå°ãªããªãããªã¯ãšã¹ãããšã«ããå€ãã®ã«ãŒãã«ã䜿çšããæ¹ããããããããã¯ããçã«ããªã£ãŠããŸãã å®éãCUDAãäœæãããã®ã¯ãã®ããã§ãã ã¹ã¬ããæ°ãå¢ãããšããã©ãŒãã³ã¹ãåäžããããšã«æ°ã¥ããã®ã§ããè©ŠããŠã¿ãŸãããããšèšããŸããã å¥ã®äŒè©±ãç§ã¯ããã®ããã«æ£ç¢ºã«äœãäžããŸãã
-ãDO NOT ROBOTãã¢ã€ã³ã³ã«ã€ããŠäœãèããŸããã ããã«ã€ããŠäœãæããŠããããŸããïŒ-Stack Overflowã¯éçºè
åãã®ãŠãŒã¶ãŒã³ãã¥ããã£ã§ããéçºè
ã«ã¯ããè©å€ããšåŒã°ãããã€ã³ããå²ãåœãŠãããšã§éçºè
ã«å ±é
¬ãäžãããããžãæäŸããŸãã ãã®ããã«ããŠãç§ãã¡ã¯äººã
ãå±ãŸãã圌ããã³ãã¥ããã£ã«åœ¹ç«ã€ãšèããããšãããããã«å±ãŸããŸãã ããšãã°ãã¹ããŒããªè³ªåããããšãã¢ã€ã³ã³ã衚瀺ãããŸãã ã¹ããŒããªè³ªåã«ããçãããšãã¢ã€ã³ã³ã衚瀺ãããŸãã ãDO NOT ROBOTããããžã䜿çšãããšãäŒè°ã«åºåžããã ãã§ãªããã¹ããŒã«ãŒã®äžéšãšæ¥ãŠã³ãã¥ãã±ãŒã·ã§ã³ããšã人ã
ã«å ±ããããšãã§ããŸãã
æè¿ãç§ãã¡ã¯å€ãã®ã³ã¡ã³ããããå€ãã®äŒè°ãéå¬ããŠããŸãã ãŸãã人ã
ã¯è³ªåãããã®ã¯æ¥ãããããŠäŒè°ã«åºåžããªãããšã«æ°ã¥ããŸãããå€å圌ãã¯å
åçãããããªããã圌ãã¯ç§ãã¡ã«ã¢ã¯ã»ã¹ã§ããªããšæããããããŸããã ãã®ããã人ã
ãããæ°ã«ãããã¢ã€ã³ã³ãäœæããŸããã å®ç掻ã§äŒããšãã¢ã€ã³ã³ãæå¹ã«ããç¹å¥ãªã³ãŒããååŸããŸãã ãããžã¯éåžžã«ãŸãã§ããããããååŸããå¯äžã®æ¹æ³ã¯ç§ãã¡ãšäŒãããšã§ãã ãã«ã·ã³ããšã¢ã¹ã¯ã¯ã§é
åžããããšèããŠããŸãã
-ãã¹ãŠã®.NETããã³CïŒéçºè
ã«äœããå§ãããŸããïŒ-ããªãã奜ããªããšãããŠãåºæ¿ãåããŸãã éçºã¯åãªãä»äºã§ã¯ãªãããšãéåžžã«éèŠã§ãã éçºã¯åµé çãªèª²é¡ã§ããããŸããããšãã°ãèªåè»æŽå士ãšã¯ç°ãªããæ¯æ¥äœãæ°ããããšã«çŽé¢ããŠããŸãã ããã¯ãåžžã«æ°ããããšãè¡ããåžžã«æ°ããããšãåŠã¶ããšãæå³ããŸãã å°éçã«ä»äºãããã ãã§ãªããæ
ç±ãæã£ãŠä»äºãããããšãéèŠã§ãã ä»äºãžã®æ
ç±ãè²ãŠãŠãã ãããããã¯åžžã«ãããããžã®ä»äºã ãã§ã¯ãªãããããªãææãžãšããªããæŒãé²ããŸãã äœãããªãã幞ãã«ãããèããŠããããããŠãã ããã
ã¡ãªã¿ã«ã12æ9æ¥ã«éå¬ããã
ãDotNextãã«ã³ãã¡ã¬ã³ã¹ã§ã¯ã
MarcoãèŽããŠãDO NOT ROBOTããããžãååŸã§ããŸãã
次ã®ã¬ããŒããããã©ãŒãã³ã¹ã®åé¡ã«å°å¿µããŸãã
ã.NET éçºè
åãã®WinDbg Superpowers
⬠ãããŠããµãŒããŒã¯100,000ãªã¯ãšã¹ã/ç§ããããŒã«ãªãŒããŒããŸãããïŒ
⬠ãšã³ãããŒãšã³ãJIT
runtimeã©ã³ã¿ã€ã ã§ã®.NETã³ãŒãã®å€æŽ