Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ï¼æ¬ç¨¿ã¯ãQCon London 2016ã§è¡ã£ãè¬æ¼ã®å 容ã«åºã¥ãã¦ãã¾ããã¹ã©ã¤ãã¨ãããªã¯è¿æ¥ä¸ã«æ²è¼äºå®ã§ãï¼ 2014å¹´ã«éå¬ãããæåã®GopherConã§ãç§ã¯ã Best Practices in Production Environmentsï¼æ¬çªç°å¢ã§ã®ãã¹ããã©ã¯ãã£ã¹ï¼ ãã¨é¡ããè¬æ¼ãè¡ãã¾ããã SoundCloud ã®ç§ãã¡ã¯Goã®ã¢ã¼ãªã¼ã¢ããã¿ã¼ã§ããã®æç¹ã¾ã§ã«æ¢ã«2å¹´è¿ããæ¬çªç°å¢åãã®æ§ã ãªGoã³ã¼ããæ¸ããå®è¡ããã¡ã³ããã³ã¹ãã¦ãã¾ãããããã¦ç§ãã¡ã¯ããã¤ãã®ãã¨ãå¦ãã ã®ã§ããã®æè¨ãã¾ã¨ããå¤ãã®äººã«ä¼ãããã¨æã£ãã®ã§ãã ãã以æ¥ãç§ã¯ãã«ã¿ã¤ã ã§Goã使ãä»äºãç¶ãã¦ãã¾ããSoundCloudã§ã¯ãã®å¾ã®æ´»åãã¤ã³ãã©ãã¼ã ã§ãããã¦ç¾å¨ã¯ Weaveworks 㧠Weave Scope ã Weave Mesh ã®éçºã«ä½¿ã£ã¦ã
Digdag ã Apache License 2.0 ã®å ã§ãªã¼ãã³ã½ã¼ã¹åããã¾ãããï¼ ãã試ããã â¦ï¼ ä»ããã«ã§ãï¼ https://t.co/Uzc4a5GLCe ããã¥ã¡ã³ãï¼https://t.co/PF8wy5KHlnâ Sadayuki Furuhashi (@frsyuki) 2016å¹´6æ15æ¥ Digdagãå æ¥ãªãªã¼ã¹ãããã®ããã£ããã«ãã¼ã¿åæåºç¤æ§ç¯ã®å¤¢ãè¦ãã ä»åã¯ãGoogle Cloud Platformï¼ä»¥ä¸ãGCPï¼ã®ã³ã¹ããå¯è¦åãã¤åæå¯è½ã«ãã¦ã¿ã¦ãã¾ãã¯Digdagã®ä½¿ç¨æã試ãã¦ã¿ããã¨ã«ããã äºåç¥è Digdagã¨ã¯ Workload Automation Systemã§ããã以ä¸ã®è¨äºã詳ããã Embulkã¨Digdagã¨ãã¼ã¿åæåºç¤ã¨ åæ£ã¯ã¼ã¯ããã¼ã¨ã³ã¸ã³ãDigDagãã®å®è£ at Tokyo RubyKaigi
ç§ã¯ã½ããã¦ã§ã¢ã®å°é家ã¨ãã¦ãçãããã¨ãã¦ã©ã¼ã¿ãã©ã¼ã«ã¯ä½ã®ã¡ãªãããç¡ãã¨ããã®ãç§ã®æè¦ã§ãããã¨ãå ±æãã¦ãããããããããæè¦ã«è³ã£ãçµç·¯ããã®ããã°ã§æ¸ãçãã¦ç½®ãããã å°ãããã¯æå±ä¼ç¤¾ã®è¦è§£ã§ã¯ãªããã¨ã¯æ確ã«ãã¦ããã¾ãã ãµã ã»ã°ãã±ã³ãã¤ãã¼ã®ä¸è¨ ç§ã¯ DevOpsã®ã¨ãã³ã¸ã§ãªã¹ãã§ããã以åããã¢ã¸ã£ã¤ã«éçºãããããï¼ï¼å¹´ãããå®æ½ããå°å ¥ã®æ¯æ´ããã¦ãããç§ã¯ãã¤ã¦ã¯ãæ¥æ¬ã®ç°å¢ã®å¶ç´ã®ä¸ã§å¦ä½ã«ã¢ã¸ã£ã¤ã«éçºã®ã¡ãªãããæ大ã«å¼ãåºããï¼ã¨ãããã¨ãèãã¦ããã ã¦ã©ã¼ã¿ã¼ãã©ã¼ã«ã«å¯¾ããç«å ´ããçã£åããå¦å®ãããã®ã§ããªããç¾ç¶ãããããããã«æ £ãã¦ãã人ãããããå®éã¦ã©ã¼ã¿ã¼ãã©ã¼ã«ã§ã失æããªã人ãå± ããã ããã人ã«ã¦ã©ã¼ã¿ãã©ã¼ã«ã®ã¡ãªããã»ãã¡ãªãããèãããæããå¤åããªããã®ã«é¢ãã¦ã¯ã¦ã©ã¼ã¿ãã©ã¼ã«ã¯ããã®ãããããªããã¨åçãã¦
ã¯ããã« å°å ¥ textlintrcãè¨ç½® æåã®ã¤ã¾ãã prh ã使ã£ã¦ã¿ã | 2度ç®ã®ã¤ã¾ãã 追è¨: 絶対ãã¹ã«ã対å¿ãã¦é ãã¾ãã prh ã使ã£ã¦ã¿ãï¼2ï¼ | è¾æ¸ãé¸ã¶ çµæãããã¹ããã¡ã¤ã«ã«æ¸ãåºã 追è¨: [39m[32m ãªã©ãæ¶ãæ¹æ³ ã³ã¼ããæ¸ã tx.sh textlint_pretty_error_tidy.pl Vimãã使ããããã«ãã å±æã¨ã¾ã¨ã ã¯ããã« textlintã«ã¤ãã¦ã¯å°ãåããæã ååãèããªã¨æã£ã¦ãã¾ããããèªåã«é¢ããããããããªãã®ã¨ãã¦æèãããã£ããã¯ã@t_wada ããã«ãã以ä¸ã®ãã¤ã¼ãã ã£ãã¨æãã¾ãã ã¨ããæè¡æç« ã®ã¬ãã¥ã¼ãããéã«ãç´°ããªè¨ãåãã®ä¿®æ£ãéä¸ææãã代ããã« textlint ãå ¥ãã¦ããã£ãããæç« ãã¿ãã¿ãè¯ããªã£ã¦ãã¦ããã®ããªã¢ã«ã¿ã¤ã ã«è¦ã¦ããã textlint ã¯å大ã ãâ
ããã«ã¡ã¯ãAimingã¨ã³ã¸ãã¢ã®è¤éã§ãï¼ 5/28(å)ã«å¤§éªã§éå¬ãããããGameServerDevelopers Vol.1ãã«åå ãã¾ããã®ã§ã ãã®è¨äºãæ¸ããã¦ããã ãã¾ãã ãµã¼ãå¨ãã«ç¹åããè¬æ¼ä¼ GameServerDevelopersã¨ãããã¨ã§ããµã¼ãã«é¢ããã話ããèããã®ã大ããªç¹å¾´ã§ãï¼å ¥ç¤¾2ã«æç®ã®ç§ã§ãç解ã§ãããã㪠ãããæãå°å ¥ãããè² è·è©¦é¨ã®ç¨®é¡ã¨ ããããã®å®æ½æ¹æ³ã«ã¤ãã¦çã®ãã¨ã¦ãæ¿ãã話ã¾ã§ï¼è²ã çã沢山ã§ããï¼ å¼ç¤¾ã®å±±è¤ãç»å£ãã¾ãã å®ã¯ãã®ä¼ãå¼ç¤¾ã®å±±è¤ãç»å£ããã¦ããã ãã¾ããï¼ã話ãããã¦ããã ããå 容ã¯ã Aimingã§å®éã«ä½¿ããã¦ããéä¿¡æè¡ã«ã¤ãã¦ï¼å¤§è¦æ¨¡MMORPGãåä½ãããããã« å¿ è¦ãªéä¿¡ã®åºç¤ã¯ãã©ããªè¨è¨ããã¦ããã®ããç´¹ä»ãããã¾ããã å½æ¥ä½¿ç¨ããè³æã§ãã ã¾ã¨ã ä»åãåã®éå¬ã¨ãªã ãGame
func TestSetsRemoteAddr(t *testing.T) { defer afterTest(t) ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) { fmt.Fprintf(w, "%s", r.RemoteAddr) })) defer ts.Close() res, err := Get(ts.URL) if err != nil { t.Fatalf("Get error: %v", err) } body, err := ioutil.ReadAll(res.Body) if err != nil { t.Fatalf("ReadAll error: %v", err) } ip := string(body) if !strings.HasPrefix(ip, "1
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}