Takuya UedaSouzoh, Inc. (affiliated by Mercari, Inc.) - Go Engineer
![Go静的解析ハンズオン](https://cdn-ak-scissors.b.st-hatena.com/image/square/3f19171715ce4803b160cb9def9185a1265c5efa/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgo-170624053442-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Takuya UedaSouzoh, Inc. (affiliated by Mercari, Inc.) - Go Engineer
Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく Go が Go であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ
Slices are used everywhere in my code. If I am working with data from MongoDB, it is stored in a slice. If I need to keep track of a collection of problems after running an operation, it is stored in a slice. If you don’t understand how slices work yet or have been avoiding them like I did when I started, read these two posts to learn more. https://www.ardanlabs.com/blog/2013/08/understanding-slic
The HashiCorp plugin system supports a number of features: Plugins are Go interface implementations. This makes writing and consuming plugins feel very natural. To a plugin author: you just implement an interface as if it were going to run in the same process. For a plugin user: you just use and call functions on an interface as if it were in the same process. This plugin system handles the commun
gopy: extend CPython with Go Golang-Lyon, 2015/09/29 Sebastien Binet CNRS/IN2P3 Go in High Energy Physics (HEP) 2 HEP (High Energy Physics) Field of physics which studies the fundamental laws of Nature and the properties of the constituents of matter. Many labs working on HEP around the world. But, perhaps one of the most famous ones is CERN. 3 CERN 4 CERN-LHC LHC: Large Hadron Collider. A proton-
panicwrap is a Go library that re-executes a Go binary and monitors stderr output from the binary for a panic. When it finds a panic, it executes a user-defined handler function. Stdout, stderr, stdin, signals, and exit codes continue to work as normal, making the existence of panicwrap mostly invisible to the end user until a panic actually occurs. Since a panic is truly a bug in the program mean
What is gmx ? gmx is an experimental package for instrumenting Go applications. gmx is similar to Java’s jmx and provides a simple method of querying the internal state of your Go application by invoking anonymous functions bound to published keys. Here is an example using the included client, gmxc. % ./gmxc -p 16378 runtime.version runtime.numcpu os.args os.args: [./godoc -v -http=:8080] runtime.
go func() { // HL1 log.Printf("Hello, %s\n", name) }() // HL1 package main import ( "log" "os" "time" ) func logging(fmt string, args ...interface{}) { log.Printf(fmt, args...) } func main() { name := "Gopher" go logging("Hello, %s\n", name) logger := log.New(os.Stdout, "", log.Ldate | log.Ltime) go logger.Printf("Hello, %s\n", name) go func() { log.Printf("Hello, %s\n", name) }() time.Sleep(100 *
Go differs from many other languages in that a wide range of dependency management methods and tools exist for it. The approach endorsed by the Go team involves vendoring dependencies within the project folder and modifying the the import statements to support the new location. Godep works differently than the endorsed approach… Instead of requiring changes to be made to the source code to support
dullgiulio/pingo Go言語でのプラグイン機構の提供方法は実装者の好みによると思う(cf. fluentd の go 実装におけるプラグイン構想).Go言語はクロスコンパイルも含めビルドは楽なのでプラグインを含めて再ビルドでも良いと思う.が,使う人がみなGo言語の環境を準備しているとも限らないし,使い始めてもらう障壁はなるべく下げたい.プラグインのバイナリだけを持ってこればすぐに使えるという機構は魅力的だと思う. Go言語によるプラグイン機構はHashicorpの一連のプロダクトやCloudFoundryのCLIなどが既に提供していてかっこいい.net/rpcを使っているのは見ていてこれを自分で1から実装するのは面倒だなと思っていた. dullgiulio/pingoを使うと実装の面倒な部分を受け持ってくれて気軽にプラグイン機構を作れる. 使い方 サンプルに従ってプラグインを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く