Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LFNW2016

 LFNW2016

How to Raise a Gopher in Record Time

Avatar for tiffany jernigan

tiffany jernigan

April 23, 2016
Tweet

More Decks by tiffany jernigan

Other Decks in Programming

Transcript

  1. LinuxFest Northwest 2016 Who Am I? • - Software Engineer*

    • Georgia Tech - Electrical Engineering • Docker PDX Meetup - Co-organizer • I like gymnastics, reading mysteries, drawing, spending time with family and friends, sour gummies... • I am learning French (J’apprends le français) *My thoughts don’t reflect those of Intel
  2. LinuxFest Northwest 2016 Who Are You? • You've heard about

    Go • You're interested in learning the language • You want to start on the right foot • You’re interested in learning more • You want to help someone else learn
  3. LinuxFest Northwest 2016 Why Learn Go? • Adapted for concurrent

    I/O • Readable • Fast • Compiles into single binaries • Great for • Distributed systems • Microservices Can’t use this excuse as easily :P
  4. LinuxFest Northwest 2016 Outline • Where to Begin? • More

    Websites • Tools • Training • Coding Practice • Communities • Conferences
  5. LinuxFest Northwest 2016 Where to Begin? • Tour of Go

    • https://tour.golang.org • Available in many languages • Available offline • Basics through concurrency • Examples • Exercises
  6. LinuxFest Northwest 2016 Where to Begin? • Godocs • https://golang.org/pkg

    • What are they? http://blog.golang. org/godoc-documenting-go-code • Offline godoc -http=:6060
  7. LinuxFest Northwest 2016 Where to Begin? • Source code •

    https://golang.org/src • https://github.com/golang/go
  8. LinuxFest Northwest 2016 Code Examples • Go by Example •

    https://gobyexample.com/ • Has code as well as explanations and output • Shows more general concepts
  9. LinuxFest Northwest 2016 Code Examples • Socket Loop • https://www.socketloop.com/

    • Has code comments and output • Not as verbose as Go by Example • Generally longer code blocks
  10. LinuxFest Northwest 2016 Blogs • Official Golang blog • https://blog.golang.org/

    • Written by Googlers who work on Go • Detailed descriptions of every big release
  11. LinuxFest Northwest 2016 Blogs • Dave Cheney’s blog • http://dave.cheney.net/

    • Frequent and very informative posts • My go to for learning about channels • http://dave.cheney. net/tag/channels • http://dave.cheney.net/resources-for- new-go-programmers
  12. LinuxFest Northwest 2016 Online Training • Todd McLeod • https://www.youtube.

    com/user/toddmcleod • https://github. com/GoesToEleven/GolangTraining • Pluralsight • Nigel Poulton https://app.pluralsight. com/library/courses/go-fundamentals
  13. LinuxFest Northwest 2016 Workshops • Ultimate Go by Ardan Labs/Bill

    Kennedy • https://www.ardanlabs.com/ultimate- go • https://github. com/ardanlabs/gotraining • Basics through more advanced concepts • Examples and exercises • On site assistance
  14. LinuxFest Northwest 2016 Books • The Go Programming Language by

    Alan A.A. Donovan and Brian W. Kernighan • http://www.gopl.io/ • Go in Action by Bill Kennedy, Brian Ketelsen, and Erik St. Martin • https://www.manning.com/books/go- in-action • Code samples https://github. com/goinaction/code
  15. LinuxFest Northwest 2016 Editors • Go Playground https://play.golang.org/ • Vscode

    (what I use--with vscode-go) https://code.visualstudio.com/ • Can have Delve debugger • Sublime (with GoSublime) https://www. sublimetext.com/ • Vim (with vim-go) http://www.vim.org/ • And there are many more
  16. LinuxFest Northwest 2016 Tools • Gofmt • https://golang.org/cmd/gofmt/ • Formats

    your code to the Go standard format • I have format on save set
  17. LinuxFest Northwest 2016 Tools • Autocomplete • https://github.com/nsf/gocode • Start

    typing and it will show options • Very helpful for learning
  18. LinuxFest Northwest 2016 Tools • Goimports • https://godoc.org/golang. org/x/tools/cmd/goimports •

    Automatically will add packages you’ve used to the imports when you save
  19. LinuxFest Northwest 2016 Testing <-> Features • Testing testing testing!

    • Unit tests (require less context) • Integration tests (requires broader understanding of the project) • Features (once you get the big picture) • Repeat
  20. LinuxFest Northwest 2016 Projects • Recreating previous projects you’ve done

    • Finding a project to do • Golang Github wiki • https://github. com/golang/go/wiki/Projects
  21. LinuxFest Northwest 2016 Coding Challenges • These aren’t Go specific,

    but you have the option of using Go • https://www.hackerrank.com/ • https://www.codeeval.com/ • Starting up again soon are the monthly Go Challenges • http://golang-challenge.org
  22. LinuxFest Northwest 2016 Communities • Coworkers/mentors • Communities at work

    • Gopher Slack • http://bit.ly/1zUTGKh • Go-nuts Google Group • https://groups.google.com/forum/#! forum/golang-nuts
  23. LinuxFest Northwest 2016 Meetups/Organizations • Local Go Meetups (e.g. PDXGo)

    • http://http://www.meetup.com/ • For everyone • GoBridge • http://golangbridge.org/ • For underrepresented communities • Women Who Go • http://www.womenwhogo.org/ • For people identifying as women
  24. LinuxFest Northwest 2016 Conferences • The large scale version of

    meetups • More talks • More people • Many are Go-specific https://github. com/golang/go/wiki/Conferences
  25. LinuxFest Northwest 2016 Conferences • GopherCon • https://www.gophercon.com/ • Videos

    https://www.youtube. com/channel/UCx9QVEApa5BKLw9r8c nOFEA/playlists • Slides https://github.com/gophercon/
  26. LinuxFest Northwest 2016 Conferences • GopherCon India • http://www.gophercon.in/ •

    GopherCon Dubai • http://www.gophercon.ae/ • GopherCon China
  27. LinuxFest Northwest 2016 Conferences • GolangUK • http://golanguk.com/ • dotGo

    • http://www.dotgo.eu/ • https://www.youtube. com/user/dotconferences/playlists
  28. LinuxFest Northwest 2016 Image Credits • Gopher on horse: •

    GopherAcademy, LLC • All Gopher images are from or based on: • Go mascot designed by Renée French and copyrighted under the Creative Commons Attribution 3.0 • XKCD
  29. Thank you! Evaluate this session Session videos will be posted

    to the LinuxFest Northwest YouTube channel. http://lfnw.org/node/4017