Summer Internship 2018 - The principle of the eureka summer internship 2018
Golangã®errorã«ã¯ã¹ã¿ãã¯ãã¬ã¼ã¹æ å ±ã¯ãªãï¼åºæ¬ã¯å¿ è¦ãªãã¨æããå°ã£ããã¨ããªãï¼ä¸æ¹ã§æ°ããããã¸ã§ã¯ãã«å ¥ããã¤ã³ã¼ããã¼ã¹ã«æ £ãã¦ãªãå ´åã¯ã©ããåé¡ãã¢ã¿ãªãã¤ããããã«ãã£ã¦ãè¯ãã¨ãæãï¼pkg/errorsã使ã£ã¦ããªãããã¯ããã«å®ç¾ã§ããï¼ pkg/errorsã®åºæ¬çãªèãæ¹ã«ã¤ãã¦ãªã©ã¯ GoCon 2016 springã®å¾ã« "Golangã®ã¨ã©ã¼å¦çã¨pkg/error"ã«ã¾ã¨ããï¼ä½è ã®Daveã®ããã°è¨äºã¯ "Donât just check errors, handle them gracefully"ï¼ï¼ããã§å¼·èª¿ãã¦æ¸ããã®ã¯ã¡ããã¨ã¨ã©ã¼ãã¢ããã¼ãããï¼ä½ããã¦ãã®ã¨ã©ã¼ãçºçãããã®ç¶æ³ãä»å ããï¼ãã¨ã§ããï¼ç¹ã«å¤é¨ã®ããã±ã¼ã¸ã¨ããåãããå ´åï¼ã¤ã¾ãã¾ã¨ããªã¨ã©ã¼ã¡ãã»ã¼ã¸ãè¿ã£ã¦ããªããããããªãå ´åï¼pkg/errorsã®
è¨äºä¸ã«ééããããã¾ãããæ°åãéãã¯ãªãã¾ããã§ããã確ã 1.0X ï½ 1.1 åç¨åº¦ã®é«éåã¯å¾ããã¾ãããã³ã£ããããã»ã©ã®ç©ã§ã¯ããã¾ããã§ããããã¿ã¾ããã ãããã Go1.7 ããªãªã¼ã¹ãããããã§ãããçããå¦ä½ãéããã§ãããGo çéã®æ³¢å¹³ã㨠mattn ã§ãããã«ã¡ããï¾ï¾ï½¶ï¾ï½°(ç¥ Go1.7 ã§ã¯ã³ã³ãã¤ã©ã®æé©åãè¡ããããã«ãé度ãããªãç縮ãããæ§ã«ãªãã¾ãããæ¯æ¥ãã«ããã¦ãåã¨ãã¦ã¯é常ã«å¬ããæ©è½æ¹åã§ããã ãã¦ã¨ã¦ããã£ããâãªã¿ã¤ãã«ã§é£ã£ã¦ãã¾ã£ã訳ã§ãããæ°ã«ãããè² ããªã®ã§ã©ãã©ã話ãé²ãã¾ãã var t [256]byte func f(b *[16]byte) { for i, v := range b { b[i] = t[v] } } ä¾ãã°ãã®ã³ã¼ããè¦ã¦ä¸ããããã®ã³ã¼ãã¯ã³ã³ããæåãã¾ãããissue ã®å 容ã¯ã¹ã³ã¼
Reactive Messaging Patternsèªæ¸ä¼ã®ãªãã§ãããã¤ã¯ããµã¼ãã¹ã¨Akkaã¨Goããªé¢ç½ã話é¡ãåºãã®ã§ä»£è¡¨ã§ã¾ã¨ãã試ã¿ã¨ã³ããªã§ããï¼çµæ§ãè²ã ãªè©±é¡ã«é£ãã§ããã®ã§é£åº¦é«ããï¼ ã¾ã¨ãæ¹ã¨ãã¦ã¯ãä¼è©±ãã°ã転è¨ãã¦ãæå¾ã«ã¾ã¨ããå½¢ãã¨ã£ã¦ãã¾ããã¾ããè°è«ã¨ç§ã®èããæ··ãããªãããã«ææã¯åãã¦ããã¾ãã ddd-cqrs-es.connpass.com TL;DR è¦ç´ æè¡ï¼ã©ããªè¨èªä½¿ãã¨ããã©ããªã¢ã¼ããã¯ãã£ã«ããã¨ãï¼ã®åã«ãçµç¹ããããã¯ãã®æ§æ ¼ãèãã¦æ¦ç¥ã決ãã¾ãããã ããã¦ããã®ä¸ã§æé©ã¨æãããæ¦è¡ãã¨ãããããªè¦ç´ æè¡ãæ¡ç¨ãã¾ãããã Akkaè¯ããã ãã°ï¼ä¸é¨æç²ï¼ Slackããã®å¼ç¨ã®ããããã¹ããã¼ã¹ã§ãã äºã®å§ã¾ãã¯ãèæ¨ããï¼ä»¥ä¸ã @applideveloper ï¼ã®çºè¨ã§ããã ï¼ãã®è¨äºçµ¡ã¿ã§ããã éåç¥ã§å
ãã¦ããã®ã¿ã¤ãã«ãããªãæçºçã§ããããããã¯èªãã¾ããããå°ã説æããã¨ãç§ã¯å¤§èãªã¿ã¤ãã«ã好ããªã®ã§ãã人ã®æ³¨æãå¼ããã¨ãã§ãã¾ãããããã¨ã«ããããã®è¨äºã§ã¯ãGoãã²ã©ãè¨è¨ã®è¨èªï¼å®éãæ¬å½ã«å ¨ã¦å°ç¡ãã«ãªãã¾ãï¼ã ã¨ãããã¨ã証æãã¦ãããã¨æãã¾ããç§ã¯æ¢ã«æ°ã«æéGoã§éãã§ãã¾ãããããã6æã®ãã¤ã ã£ããã«åãã¦Hello, Worldãèµ°ããã¦ãã¿ã¾ãããç§ã¯æ°å¦ããããªã«å¾æã§ã¯ããã¾ããããããããæ¢ã«4ã«æçµã£ã¦ãã¾ããã Github ä¸ã®ããã±ã¼ã¸ãããã¤ãæã«å ¥ãã¾ãããè¨ãã¾ã§ãããã¾ããããç§ã¯ä»äºã§Goã使ã£ããã¨ã¯å ¨ããªãã®ã§ãâã³ã¼ããµãã¼ãâãâãããã¤âããã®ãããã«é¢ããç§ã®æè¦ã¯è©±ååã§èªãã§ãã ãããã ç§ã¯Goã大好ãã§ãã使ã£ã¦ã¿ã¦å¤§å¥½ãã«ãªãã¾ãããæ £ç¨è¡¨ç¾ãç解ããããã¸ã§ããªã¯ã¹ããªããã¨ããããããªã¨ã©ã¼ãã³ããªã³ã°ã
ããã§ã¯ãç§ããã©ãã¤ããæåã®ããæ¹ãç´¹ä»ãã¾ããããå人çã«éå»æ°å¹´ã«ããã£ã¦å¤§éã®Goã³ã¼ãã¨ä»ãåã£ã¦ããçµé¨ããéãããã®ã§ãããããã¯å ¨ã¦é常ã«ã¹ã±ã¼ã©ããªãã£ãããã¨æã£ã¦ãã¾ããç§ããã¹ã±ã¼ã«ãããã¨è¨ãã¨ãã¯æ¬¡ã®ãããªæå³ãããã¾ãã ã¢ããªã±ã¼ã·ã§ã³ãæ±ããç°å¢ã¯ãã¢ã¸ã£ã¤ã«ç°å¢ã®ä¸ã§å¤åãã¦ããã¾ããéçºã®3ã4ãæå¾ã«ãå ¨ã¦ããªãã¡ã¯ã¿ãªã³ã°ããå¿ è¦ãåºã¦ãããªã©ãèãããããªãã¯ãã§ããæ°ããæ©è½ã¯ç°¡åã«è¿½å ã§ããªãã¦ã¯æå³ãããã¾ããã ããªãã®ã¢ããªã±ã¼ã·ã§ã³ã¯å¤ãã®äººã ã«ãã£ã¦éçºããã¾ããå¯èªæ§ãé«ããç¶æãããããã®ã§ãªãã¦ã¯ãªãã¾ããã ããªãã®ã¢ããªã±ã¼ã·ã§ã³ã¯å¤§å¢ã®äººã ã«ä½¿ããã¾ãããã°ã¯å®¹æã«ç¹å®ã§ããä¿®æ£ã§ããªãã¦ã¯ãªãã¾ããã é·æçã«ã¿ãã¨ãããã®ãã¨ãéè¦ã«ãªããã¨ãããã¨ãç§ã¯ä»ã¾ã§ã«å¦ãã§ãã¾ãããå°ããªãã¨ã§ãã£ã¦ããå¤æ°ã«å½±é¿ãã¾
ä¸è¨è³ªåã«ãããã50æå以å ãç®å®ã«ç°¡åã«èª¬æãããã¨ã ããã±ã¼ã¸å ã«å®ç¾©ããé¢æ°ãå¤é¨ã«å ¬éããã«ã¯ã©ãããã°è¯ããï¼ éåæã«å¦çãè¡ãçºã®å½ä»¤ã¯ï¼ é¢æ°ãæããéã«å¦çãå®è¡ããã«ã¯ã©ããããï¼ goroutineã®åæå®è¡æ°ãå¤æ´ããã«ã¯ã©ããããï¼ ã³ã³ãã¤ã©ããªã³ã«ã8g/6g/5gã8l/6l/5lã¨ããååã«ãªã£ã¦ããçç±ã¯ï¼ Goã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã®å®è£ ã¯ä¸è¬çã«ä½ã¨å¼ã°ãã¦ããé¡ãï¼ ã¬ã·ã¼ããnilã®å ´åã«ã¡ã½ãããå¼ã³åºãã¨ä½ãèµ·ãããï¼ å¯å¤åå¼æ°ã¯ã©ã®æ§ã«å®ç¾©ãããï¼ é¢æ°å ã§å®ç¾©ããããã¼ã«ã«å¤æ°ã®ã¢ãã¬ã¹ãæ»ãå¤ã¨ãã¦å¤é¨ããåç §ããã¨ã©ããªããï¼ interfaceã¨structã®éãã¯ä½ãï¼ panicãè£è¶³ãã¦å¼·å¶çµäºãããªãçºã«ã¯ã©ããããï¼ çã ããã±ã¼ã¸å ã«å®ç¾©ããé¢æ°ãå¤é¨ã«å ¬éããã«ã¯ã©ãããã°è¯ããï¼ é¢æ°åã®å é ã大æåã«ãã¾ã
第7åãããã®Servo Readingã§è©±ãããã¨ããã£ããã¾ã¨ããã誰ãã©ãã話ãããã¯mangleãã¦ããã®ã§å¾¡å®¹èµ¦ãã å人çã«ãã£ããã¨Twitterãªã©ãªã©ãã¯ãã¼ã«ãã¦å¾ãææ³ã ãã©ãGoã¯Compiled Pythonã¨ãããã¹ãç«ã¡ä½ç½®ãªæ°ããããPythonã¨ãPerlã¨ãRubyã¨ãã·ã§ã«ã¹ã¯ãªããã¨ã以ä¸Cæªæºãªç®æããJavaãScalaããããã£ã¨ã¹ãã¼ãã«ç½®ãæãããããããæå³ã§ã®ãã·ã¹ãã ãéçºè¨èªã 対ããï¼Rustã¯ãã«ã¼ãã«ã¨ããã©ã¦ã¶ã¨ã³ã¸ã³ã¨ãã²ã¼ã ã¨ã³ã¸ã³ã¨ãããã¼ãã¦ã§ã¢ã«è¿ãã¨ãªã¢ã®è¨ç®æ©è³æºãããããã¨å©ãã¾ããããã®è¨èªãC/C++ã®é¢åãããå ç¿ãã¨ã¯ã¹ããªã¼ã ãªé¨åããã¾ãé è½ãã¤ã¤ãæã å¿ è¦ã«ãªã£ããunsafeãããã¯ã§ä¾å¤çã«è¨±å®¹ããããã®å®å ¨æ§ã®æ ä¿ã¨ãã¦ãã³ã³ãã¤ã©ã使ã£ãéçãã§ãã¯ãCPUã¨ã¡ã¢ãªã«ãã®ãè¨ããã¦ãã¤ã
GNU Compiler Collectionï¼GCCï¼ãç£ç£ããGCC Steering Committeeã¯1æ26æ¥ãç±³Googleã®ãGoãããµãã¼ãããæ¹éãçºè¡¨ãããæ©ããã°ãGCC 4.5ãã§ãã¼ã¸ãããã¨ããã Goã¯ãGoogleã2009å¹´11æã«çºè¡¨ãããªã¼ãã³ã½ã¼ã¹ã®ããã°ã©ãã³ã°è¨èªãPythonã®ãããªåçè¨èªã®éçºã¹ãã¼ãã¨ãCãC++ã®ãããªã³ã³ãã¤ã«è¨èªã®æ§è½ãä½µãæã¤ãã¨ãç®çã¨ããã GCCã¯ä»å¾ãgccgoããã³ãã¨ã³ãã¨gccã©ã³ã¿ã¤ã ã®è²¢ç®ãåãä»ããã¼ã¸ãé²ãããã¡ã³ããã¼ã¯Googleã®Ian Tayloræ°ããµãã¼ãã¯GCC 4.5以éã¨ãªããGCCãªãªã¼ã¹ããã¼ã¸ã£ãã³ã³ãã¤ã©ã«ãã¼ã¸ããææãªã©ã決å®ããã GCCã¯ç¾å¨ãCãC++ãObjective-CãFortranãJavaãAdaããµãã¼ããã¦ãããææ°çã¯1æ21æ¥ãªãªã¼ã¹ã
Goã¯ããã°ã©ãã³ã°è¨èªã®1ã¤ã§ãããGoogleã«ããã¦2009å¹´[4]ããã¼ãã»ã°ãªã¼ã¹ããããã»ãã¤ã¯ãã±ã³ã»ãã³ãã½ã³ã«ãã£ã¦è¨è¨ããã[5]ãGoã¯ãéçåä»ããCè¨èªã®ä¼çµ±ã«åã£ãã³ã³ãã¤ã«è¨èªãã¡ã¢ãªå®å ¨æ§ãã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ãæ§é çåä»ãï¼è±èªçï¼ãCSPã¹ã¿ã¤ã«ã®ä¸¦è¡æ§ãªã©ã®ç¹å¾´ãæã¤[6]ãGoã®ã³ã³ãã¤ã©ããã¼ã«ãããã³ã½ã¼ã¹ã³ã¼ãã¯ããã¹ã¦ããªã¼ãã¤ãªã¼ãã³ã½ã¼ã¹ã§ãã[7]ã ã¾ãã軽éã¹ã¬ããã£ã³ã°ã®ããã®æ©è½ãPythonã®ãããªåçåä»ãè¨èªã®ãããªããã°ã©ãã³ã°ã®å®¹ææ§ããªã©ã®ç¹å¾´ããããGoå¦çç³»ã¨ãã¦ã¯ã³ã³ãã¤ã©ã®ã¿ãéçºããã¦ããããã¹ã³ããã»ãã£ã©ã¯ã¿ã¼ã¯Gopherï¼ããªããºãï¼ã çºè¡¨å½åã¯Linuxã¨Mac OS Xã®ã¿ãããµãã¼ããã¦ããªãã£ãã[8]ã2012å¹´3æã«ãªãªã¼ã¹ããããã¼ã¸ã§ã³1.0ããã¯Windowsããµãã¼ãããã¦ãã
Goã¯Googleãä¸å¿ã¨ãªã£ã¦ãªã¼ãã³ã½ã¼ã¹ã§éçºãé²ãã§ããããã°ã©ãã³ã°è¨èªã§ãããããããªããã°ã©ãã³ã°è¨èªã®è¯ãã¨ãããæ¡ãå ¥ããGoã¯ãæ§ã ãªâé¡âãæã£ã¦ãã¾ããGoè¨èªã®çã¾ããèæ¯ãç¹å¾´ãªã©ã«ã¤ãã¦ãã°ã¼ã°ã«ã®ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã§ããéµé£¼æææ°ã«ã話ã伺ãã¾ããã Goãçã¾ããçµç·¯ãèæ¯ã«ã¤ãã¦æãã¦ãã ããã Googleã®ä¸ã«ã¯æ¤ç´¢ã¨ã³ã¸ã³ããGoogle App Engineããªã©ãæ§ã ãªãµã¼ãã¼ãããããããã®ã§ããããã®ä¸ã§ã¹ãã¼ããè¦æ±ããé¨åã§ã¯C++ã使ã£ã¦ãã¾ãããã ãC++ã¯å®è¡é度ã¯éãã®ã§ããããã«ãã«é常ã«æéããããã¾ãã社å ã§ã¯åæ£ã³ã³ãã¤ã«ç°å¢ãä½ã£ã¦ãã¾ãããä»®ã«æ¤ç´¢ã¨ã³ã¸ã³ã®ãµã¼ãã¼ã1å°ã®ãã·ã³ã§ãã«ããããã¨ããã¨ã1æ¥ãããã®åä½ã§æéãè¦ã¦ãããªããã°ãªãã¾ãããCPUãªã©ãéããªã£ã¦ããã®ã«ã³ã³ãã¤ã«ãé ãã¨ããã®ã¯ä½ã
http://atnd.org/events/2115 ã¨ããã¤ãã³ããããã¾ããã11æ14æ¥ã«ãGoogleæ¸è°·ãªãã£ã¹ã§ããã¾ããã ã¾ãã¯ããã«ãGoogleããã«ã¯å ´æãæä¾ãã¦ããã£ãä¸ã«Googleã®ä¸ã®äººã«ãåå ãã¦ããã£ã¦çµæçãä¸ãã£ãã®ã§æ¬å½ã«ãããã¨ããããã¾ããã¨ããããããã¨ããããã¾ããã ã§ã次ã«ãGoè¨èªã®ãã¹ã³ãããã£ã©ã¯ã¿ã¼ã®ååã¯ä¸é¨ã®è³åãå¾ã¦åæã«ãããããã(TAWASHI-KUN)ãã¨ããäºã«ãã¦ããã¾ããããã¡ã ã¨æãã¾ããã§ããªãã¨ããååãªãã§ãããã ä»èª¿ã¹ãã¨ãã¡ããã¨ååããã£ãã®ã§ãé§ç®ã§ãã (http://japan.cnet.com/special/story/0,2000056049,20403390,00.htm) åããããgoã³ã³ãã¤ã©(8g)ãè½ã¨ãããã©ããã§ããã©ã¾ãè½ã¨ãã¾ããã§ããã ã©ãããæ¹åã§æ»ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}