社å Web ã·ã¹ãã ã®ããã³ãã¨ã³ãæè¡å·æ°: React Router v7 vs. TanStack Router
Hori Blogããªã¼ã©ã³ã¹ã§ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã¨ãã¦æ´»åãã¦ãã Ryota Hori ã®ããã°ã§ãã æè¿ã¯ããã¯ç³»è¨äºããéè¨ããã°æ°å³ã ãã®è¨äºã¯ Go Advent Calendar 2017 ã® 1 æ¥ç®ã®è¨äºã§ãã Go ã®é·æã« goroutine ã«ããéåæå¦çãããã¾ãããã©ããã¦ã channel ã®åãåãã§é»éè¡åããã¡ã§ããå°ãã§ãéãæ¸ããã¦ããããã®ã§ã channel ãã¸ãã®åãåãã«ã¤ãã¦ãã¿ã¼ã³ãã¾ã¨ãã¾ããããã¼ãã·ã¼ãçã«ä½¿ããã°å¬ããã§ãã Go ã® channel ã®åºç¤ å ¥éè³æã¨ãã¦ä½¿ãããã®ã§ãæ¬é¡ã«å ¥ãåã«ãã£ããåºç¤ãã å®ç¾©ã®ãã¿ã¼ã³ channel ã«ã¯ capacity ã¨ããæ¦å¿µãããã¾ãã capacity 㯠channel å ã§ãããã¡ãªã³ã°ãã¦ããã容éã®ãã¨ã§ã capacity ã«ç©ºããç¡ãå ´åã¯éä¿¡å´
ããã«ã¡ã¯nasustã§ãã Goè¨èª / golangã®ã©ã¤ãã©ãªããã¬ã¼ã ã¯ã¼ã¯ã®ã¡ã¢ã§ãã ãããªâã©ã¤ãã©ãªä¾¿å©ã ãâã¨ããã®ãããã°Twitterã§æãã¦ãããã¨ãããããã§ãã 2016å¹´12æ 以ä¸ã®ã©ã¤ãã©ãªããã¬ã¼ã ã¯ã¼ã¯ã追å ãã¾ããã 14æ¥: GitHub - garyburd/go-oauth: OAuth 1.0 client package for Go 13æ¥: GitHub - aymerick/raymond: Handlebars for golang 13æ¥: GitHub - valyala/quicktemplate: Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths.
GoGi is part of the GoKi Go language (golang) full strength tree structure system (ki = æ¨ = tree in Japanese) package gi is a scenegraph-based 2D and 3D GUI / graphics interface (Gi) in Go, that functions similar to HTML / CSS / SVG and Qt. NOTE: Requires Go version 1.18+ -- now using the new generics. See the Wiki for more docs (increasingly extensive), Install instructions (mostly basic go build
ã¯ããã« ã¾ãå§ãã«è¨ã£ã¦ãããªããã°ãªãã¾ããã gocode ä»ã¾ã§æ¬å½ã«ãããã¨ã ãã®è¨äºã¯ãGo è¨èªæ´10å¹´ã«ãªãåãããã¾ã§æç¨ãã¦ãã Go è¨èªã®ã³ã¼ãè£å®ã½ããã¦ã§ã¢ gocode ã®æ´å²ã¨å績ãããã¦ä»ãgocode èªãããã®å½¹å²ãçµãããã¨ãã¦ãã姿ããã²çããã«ç¥ã£ã¦é ãããã¨ããæããã Go Advent Calendar 2018 ã®è¨äºã¨ãã¦èµ·ããã¾ããããã®è¨äºã§ã¯ gocode ãæ©ãã§ããæ´å²ã¨è¦æ©ãå°ãã§ãçããã«åããæ§ã«è§£èª¬ããã¦é ãã¤ã¤ãããã¦æ¬¡ã«ãã£ã¦ãã Go è¨èªã®ã³ã¼ãè£å®ã®æªæ¥ã«ã¤ãã¦ãç´¹ä»ãããã¨æãã¾ããVim ã«ã¤ãã¦å¤ãã«æ¸ããã¦ãã¾ãããVisual Studio Code ã§ã® Go éçºã«ãå½±é¿ãã話ã§ãã gocode ã¨ã¯ gocode 㯠nsf æ°ãéçºãã Go è¨èªã®ã³ã¼ãè£å®ãµã¼ãã§ãã GitHub
package main import ( "fmt" "gopkg.in/go-playground/validator.v8" ) type User struct { ID int64 Email string `validate:"required,email"` Name string `validate:"required"` } func main() { config := &validator.Config{TagName: "validate"} validate := validator.New(config) user := &User{ID: 1, Email: "hoge.com"} err := validate.Struct(user) if err != nil { fmt.Println(err) } }
ã¯ããã« æ§é åã¡ãã»ã¼ã¸ãæ§ç¯ã§ããé«éãªãã®ã³ã°ã©ã¤ãã©ãªã謳ã£ã¦ãããzapãã触ã£ã¦ã¿ã¾ããã ããã¥ã¡ã³ãããã¾ãå å®ãã¦ããªãã¦ãã©ããªãã¨ãã§ããã®ãGodocè¦ãªãã調æ»ããã®ã§ããã®çµæãèªåç¨ã®ã¡ã¢ãã¦ãæ¸ãã¦ãããã¨æãã¾ãã 確èªããç°å¢ã¨ãã¼ã¸ã§ã³ Mac OSX 10.11.6 (El Capitan) go v1.8 zap v1.0.0 zapã®ç¹å¾´ é«é zapã¯ä»¥ä¸ã®ãããªã¢ããã¼ãã§é«éåãã¦ããã¨è¨ã£ã¦ãã¾ãã Reflectionã使ããªã ã¢ãã±ã¼ã·ã§ã³ããªãJSONã¨ã³ã³ã¼ããä½¿ç¨ å¯è½ãªéãã·ãªã¢ã«åã®ãªã¼ãã¼ãããã¨ã¢ãã±ã¼ã·ã§ã³ãé¿ãã ããã¦ãç¬èªã®ãã³ããã¼ã¯ã«ããã¨ãä»ã®æ§é åãã®ã³ã°ã©ã¤ãã©ãªã ãã§ãªããæ¨æºã©ã¤ãã©ãªãããé«éã«åä½ããããã§ãã 確ãã«ReadMeã®ããã©ã¼ãã³ã¹ãè¦ãã¨å§åçã«é«éã§ä½ã¢ãã±ã¼ã·ã§ã³ãå®ç¾ãã¦
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ã¯ããã« Goã®æ¨æºããã±ã¼ã¸ã«ã¯ãgoããã±ã¼ã¸ã¨ãããã®ããããGoã®ã½ã¼ã¹ã³ã¼ããéç解æããã®ã«ä¾¿å©ãªæ©è½ãæä¾ããã¦ãã¾ãã goããã±ã¼ã¸ã使ãã¨ã以ä¸ã®ãããªãã¼ã«ãç°¡åã«ä½ãã¾ãã ã½ã¼ã¹ã³ã¼ããèªåçæãããã¼ã« ã½ã¼ã¹ã³ã¼ãã«å¯¾ãã¦lintããã©ã¼ããããè¡ããã¼ã« ãªãã¡ã¯ã¿ãªã³ã°ãã¼ã« ã½ã¼ã¹ã³ã¼ãããç¹å®ã®ä½ããæ¤ç´¢ãããã¼ã« ããè¨èªã®å¦çç³» ã¾ããgoããã±ã¼ã¸ãå¦ã¶ã¨ã³ã³ãã¤ã©ãè¨èªå¦çç³»ã®ç¥èãå¦ã¹ãã®ã§ãä»ã®æ¨æºããã±ã¼ã¸ã¨ã¯ã¾ãå°ãéã£ãç¥èãå¾ããã¨ãã§ããããã°ã©ãã³ã°ã®ç¥èã®å¹ ãåºããã¾ãã
æåã¯CLIç¨ã®ãã¬ã¼ã ã¯ã¼ã¯ã« codegangsta/cli ã使ã£ã¦ãã¾ããã ãµã¯ã£ã¨æ¸ããã®ã§ãããã©ããã¡ãã£ã¨ããããããã¨ããããã¨ããæã«æ©ããã§ãããã ã¨ãããã¨ã§ãããããããä»ã®æ¹ãããã®ããªã¼ãªã©ã¨èãã次第ã ã§ãspf13/cobraãªãã§ãããKubernetesãHugoãæ¡ç¨ãã¦ããã¨ãããã¨ã§èå³ã¯ãã£ããã®ã®æ å ±ããã¾ããªãã£ãã®ã§ãã¾ããã«READMEãèªãã§ããªãã£ãã®ã§ãã https://github.com/spf13/cobra ããããã¦ã¡ããã¨è¦ã¦ã¿ãã¨ãããããããã¯ãã°ããããã¨ããç¹ãå¤ã ããã¾ãã¦ãæ¢åã®ã³ã¼ããããcobraã«æ¸ãæãã¾ããã ã»ãµãã³ãã³ããåå¥ã®.goãã¡ã¤ã«åä½ã§è¿½å ã§ãã ã»ãµãã³ãã³ãã«ã³ãã³ãã追å ãããã¨ãã§ãã ã»ãã©ã°ã«ã¹ã³ã¼ããä»ããããï¼ãµãã³ãã³ã以ä¸ã¸å¼ãç¶ããå¦ãï¼ ã»å®è¡åå¾ã«
ã·ã³ãã¬ã©ãGoã§æ¸ããã¦ãããã ã¨ããå¦æ³ã§ãã å°ãé·ãã§ãããä»ãåããã ããã TL;DR ã½ã¼ã¹ã¯ããã«ããã¦ã¾ã https://github.com/lboavde1121/cinderella ãããã 以ä¸ããããã ã·ã³ãã¬ã©ã¯ãç¶æ¯ã¨ãã®é£ãåã§ããå§ãã¡ã«æ¥ã ãããããã¦ããã ããã¨ããåã§èè¸ä¼ãéãããå§ãã¡ã¯ç飾ã£ã¦åºã¦ããããã·ã³ãã¬ã©ã«ã¯ãã¬ã¹ããªãã£ãã èè¸ä¼ã«è¡ããããã·ã³ãã¬ã©ããä¸å¯æè°ãªåï¼éæ³ä½¿ããä»å¥³ãããºããæ¯è¦ªã®å½¢è¦ã®æ¨ãç½é³©ãªã©ï¼ãå©ããæºåãæ´ããããéæ³ã¯ååé¶æã«è§£ããã®ã§å¸°ã£ã¦ããããã«ã¨è¦åãããã ã·ã³ãã¬ã©ã¯ãåã§çåã«è¦åããããã é¶æã®éã®é³ã«ç¦ã£ãã·ã³ãã¬ã©ã¯é段ã«é´ãè½ã¨ãã¦ãã¾ãã çåã¯ãé´ãæãããã«ã·ã³ãã¬ã©ãæãã å§2人ãå«ããã·ã³ãã¬ã©ã®è½ã¨ããé´ã¯ãã·ã³ãã¬ã©ä»¥å¤ã®èª°ã«ãåããªãã£ãã ã·ã³
O'Reilly Japan, Inc. æ§ã«ç®æ¬é ãã¾ããããããã¨ããããã¾ãã ããã¦ç®æ¬é ãéã«ã声ãæãã¦é ãããæ¬æ¸ã®ç¿»è¨³ãæ å½ããã ymotongpoo ããã«ãã礼ãç³ãä¸ãã¾ãããããã¨ããããã¾ãã æ¬æ¸ã®è¨³ã¯é常ã«ç´ æ´ããããã¨ã¦ãåæãè±æã§ãã£ãã¨ã¯æããªãã»ã©ç¶ºéºã§ãèªãã§ããä¸ã§ãåæã§ã©ã®æ§ã«è¡¨ç¾ããã¦ãããã ãããã¨ãã£ãå¼ã£ããããç¡ããã¨ã¦ãã¹ã ã¼ãºã«èªã¿é²ãããã¾ããã Go è¨èªã«é¢ãã£ã¦éåã¨é·ããªã£ã¦ãã¾ãããåã㦠Go ãç¥ã£ã¦ããã¦ã¼ã¶ãã©ãã©ãå¢ããæ§ãè¦ãäºãåºæ¥ãã®ã¯æ£ç´ã«è¨ã£ã¦é常ã«å¬ããã§ãã ãµã¨ Go ã®é åã¯ä½ãã¨èããããå¹¾ã¤ãæããäºãåºæ¥ã¾ãããééããªãé¸ã¶ã®ããéåæå¦çã®ç°¡åããã§ããããã¾ã§å¤ãã®éçºè ã OS ã¹ã¬ããã§å®ç¾ãã¦ããéåæå¦çããGo è¨èªã¯å°ãªãã¤ãã£ãªã ã¨ã¤ã³ããªã¸ã§ã³ããªã©ã³ã¿ã¤ã ã
Goã®å¤æ°ã¯å¿ ãåæåããã çµè¾¼ã¿åã®ã¼ãå¤ Goã®å¤æ°ã¯å¿ ãåæåããããã¨ããåç¥ã§ããããï¼ ä¾ãã°ãintåã®å ´åã¯0ã§ãstringåã®å ´åã¯""ã§åæåããã¦ãã¾ãã 次ã®ããã«ãä»£å ¥ããã«fmt.Printfã§è¡¨ç¤ºããã¦ã¿ã¾ãããã package main import "fmt" func main() { var n int var f float64 var s string var b bool fmt.Printf("%#v %#v %#v %#v", n, f, s, b) }
gitã使ã£ã¦ãã¦,ããå°ãæ°ã®å©ãããµãã³ãã³ããã»ãããªãã¨ãã¯ããã¾ããã? ãã®è¨äºã§ã¯, Golangã使ã£ã¦ç°¡åã«gitã®ãµãã³ãã³ããä½ãæ¹æ³ããç´¹ä»ãã¾ã. ç®æ¨ã¨ããç¶æ lbranch ã¨ããgitã®ãµãã³ãã³ããä½æãã¾ã. lbranch 㯠git lbranch ã¨ããå½¢ã§å¼ã³åºãã, ããã©ã«ãã§ã¯5æ¥ä»¥å ã«ã³ãããã®ãã£ããã©ã³ãã®ä¸è¦§ã表示ãã¾ã. ã¾ã lbranch 㯠--days (ä½æ¥åã®ã³ãããã¾ã§å«ããã, ããã©ã«ãã¯5æ¥), --through (branchã®è©³ç´°ãªèª¬æã表示ãããå¦ã, ããã©ã«ãã¯false) ã¨ãã2ã¤ã®ãªãã·ã§ã³ãã¨ããã¨ãã§ãã¾ã. lbranchã®ã½ã¼ã¹ã³ã¼ãã¯ä»¥ä¸. shuheiktgw/git-lbranch gitããµãã³ãã³ããèªèããä»çµã¿ git㯠git-[ãµãã³ãã³ãå] ã¨ããå®è¡å¯è½ãã¡ã¤
Goã§HTTP Clientã®ãã¹ããæ¸ãã¦ã¿ã¾ãã ãã¹ããããé ç® æ£å¸¸ãªRequest & Response ç¡å¹ãªAuth Tokenãæããã¨ã Responseã5xxã®ã¨ã Response Bodyãäºæããªãå½¢å¼ã®ã¨ã ã¿ã¤ã ã¢ã¦ãããã¨ã ãã¤ã³ã http.Clientã¯å·®ãæ¿ããããå®è£ ã«ãã http.Client.Transportãå·®ãæ¿ãããã¨ã§ãå®éã«HTTP Requestããããã¨ãªããä»»æã®*http.Responseãè¿ã£ã¦ããç¶æ³ãä½ããã¨ãã§ãã http.Client.Transportã£ã¦ãªããï¼ã¨ããæ¹ã¯ãã¡ããåç § Go http.RoundTripper å®è£ ã¬ã¤ã#http.RoundTripper ã¨ã¯ å®è£ APIã¯ã©ã¤ã¢ã³ãã®æ§é ä½ http.Clientã¯ããã©ã«ãã§http.DefaultClientã使ãããªãã·ã§ã³ã«ã
github.com gofmtã®shellscriptç。 go get -u github.com/mvdan/sh/cmd/shfmt ã§ã¤ã³ã¹ãã¼ã«ããã¨shfmtã³ãã³ããå©ç¨å¯è½ã«ãªã。 ä¾ãã° #!/bin/bash function test { echo $1 } for i in 1 2 3 do test $i done ã«å¯¾ãã¦é©ç¨ãã㨠#!/bin/bash function test() { echo $1 } for i in 1 2 3; do test $i done ã¨ãã£ãæãã«ãªã。 ãããè¦ãããã«ãããããããªãã、functionã®å¼æ°é¨åã«()ãä»ããã、forã§ä½¿ãdoã®ä½ç½®ããã©ã¼ãããããã¦ãã。 ç´°ããæ¸ãæ¹ãçµ±ä¸ããããã«ã¨ããããshfmtãéãã¦ããã¨ããã®ã¯è¯ãã¨æã。 golangã«æ £ããã¨ãã©ã¼ããã¿ããªãè¨èªã¯èããã
ç¹å¥ç®æ°ãã話ã¯å¤åãªãã¨æããã©ãã¾ããã£ãã®ã§ã ãªãã¸ã㪠mackerel-plugin-darwin-battery ã¨ãã Mackerel ç¨ã®ã¨ã¼ã¸ã§ã³ãã github.com ãã®è¨äºã§æ¸ãããã¤ã astj.hatenablog.com go ã®ãã¤ããªãä½ãã®ã§ GitHub release ã«ã¢ãããã¼ãã§ããã¨ä¾¿å©ãããã¨ãããã¨ã§ãã£ããå¥ã«ããããããªãæã§ãã«ãããã°ãããã ãã©ãä»äºã§ãã¡ãã£ã¨ Travis 触ã£ã¦ããã¨ããã£ã¦è©¦ãã« Travis ã§ãã£ã¦ã¿ãã Travis CI ã¯çµã¿è¾¼ã¿ã§ GitHub Releases ã¸ã®ã¢ãããã¼ãæ©è½ãããã®ã§ãã²ã¨ã¾ãã¯ããã«ãä»»ããã¦ã¿ãã GitHub Releases Uploading - Travis CI ã¾ããã¹ããã ãã¹ããããã ããªã.travis.ymlã«language: go
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}