goto paris | @see gopher
TRANSCRIPT
GOTO Paris | @see Gopher
JAN KLAT | SKRZ.CZ | @
KLATYS
�1
Tools & Libraries | GopherJS
• Compiler of Go code to Javascript
• Similar to CGO
• All Go functionality
�5
Dmitri Shuralyov Go in the browser http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
WHY???
�6
Dmitri Shuralyov Go in the browser http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
Tools & Libraries | Go Mobile
• Export Go packages to Java and Objective C / Swift
• Access Java and Objective C API from Go
• Graddle plugin
• Databinding and other resources available from Go
�7
Elias Naur Make mobile programming fun (again)http://www.thedotpost.com/2016/10/elias-naur-make-mobile-programming-fun-again
Tools & Libraries | Small binaries
• $ go build -ldflags="..."
• -s Omit the symbol table and debug information
• -w Omit the DWARF symbol table.
• UPX (goupx for <= 1.6)
• might be marked as virus threat by AV
�8
Javier Provecho Fernández Small binaries https://golang.org/cmd/link/
Tools & Libraries | Small binaries
�9
Javier Provecho Fernández Small binaries https://golang.org/cmd/link/
https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/
Tools & Libraries | Worth mentioning
• Kelsey Hightower Self Deploying Go applications 🔗link 🔗code
• Franz Eichhorn Go machine learning at large scale 🔗link
• Book - Thorsten Ball Writing An Interpreter In Go interpreterbook.com
�10
Codebase mess & refactoring | The talk with way too long title to fit here
• No-op No-op No-op Interface maneuver
• Flocking rules
�11
Katrina Owen The Scandalous Story of the Dreadful Code Written by the Best of Us http://www.thedotpost.com/2016/10/katrina-owen-the-scandalous-story-of-the-dreadful-code-written-by-the-best-of-us
Codebase mess & refactoring | Plugins
• Proposition on how plugins might communicate
• most used is custom build - gh/mholt/custombuild
• wrap calls to external binaries using "net/rpc" for both os/exec and "docker run”
• see https://github.com/drone/drone/issues/1863
�12
Brad Rydzewski Plugins
What else?
• Robert Griesemer Prototype your design! 🔗link 🔗github
“Prototyping raises design questions we didn't even know we should be asking”
• Péter Szilágyi Immutability in Go 🔗link“Opensource means good people find the bugs earlier but also bad people find
bugs earlier. Not so great when memory bug shuts down your network”
�13
�14
First class functions
�15
First class functions
Dave Cheney Do not fear first class functions http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
�16
First class functions
Dave Cheney Do not fear first class functions http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
�17
First class functions
Dave Cheney Do not fear first class functions http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions