Best of GolangMay 2024

  1. 1
    Article
    Avatar of awegoAwesome Go·2y

    A JavaScript developer tries Go for the first time

    A JavaScript developer shares their first impressions of the Go programming language, highlighting its error handling, defer statement, explicit type conversion, switch statement, pointers, simple type system, and consistent approach to coding.

  2. 2
    Article
    Avatar of awegoAwesome Go·2y

    Go is Not Java

    This post discusses the misconception of posting 'Patterns in Go' articles by Java programmers and highlights that many of these patterns are considered anti-patterns. It explores the definition of Object Oriented programming and suggests that Go is more 'Object Oriented' than C++ or Java. The post also mentions the language that is most familiar with Object Oriented principles and criticizes the promotion of misinformation in articles about patterns in Go.

  3. 3
    Video
    Avatar of communityCommunity Picks·2y

    The BEST Tool to Structure Golang Projects

    The post discusses the topic of Go project structure and project layout. It mentions that there isn't a clear guide on how to structure Golang projects and introduces the go blueprint project as a solution. Go blueprint is a CLI tool that helps users spin up a Go project with a corresponding structure seamlessly.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    gopherjs/gopherjs: A compiler from Go to JavaScript for running Go code in a browser

    GopherJS is a Go to JavaScript compiler that allows writing front-end code in Go to run in all browsers. It has support for various Go versions and provides bindings to JavaScript APIs and libraries. GopherJS can be installed using 'go install' command.

  5. 5
    Article
    Avatar of hnHacker News·2y

    roblillack/spot: React-like desktop GUI toolkit for Go

    Spot is a simple, cross-platform, reactive GUI toolkit for Go using native widgets where available. It provides easy-to-use UI controls, automatic UI updates based on application state changes, and support for creating custom components.

  6. 6
    Article
    Avatar of communityCommunity Picks·2y

    Alternatives to Makefiles written in Go

    Discover alternatives to Makefiles written in Go, such as Taskfile and Mage. These tools offer advantages like familiarity with YAML and the power of a complete programming language. Learn how they can simplify task automation for developers.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Create plugins in Go

    Learn how to create plugins in Go using the standard library. Enable third-party development, extensibility, and customization. Create a main package with public functions and/or variables. Build the plugin with the buildmode flag. Load and use the plugin in the main application.

  8. 8
    Video
    Avatar of codeheimcodeHeim·2y

    #37 Golang - Mastering Background Jobs in Go with gocraft/work

    Learn how to handle background jobs in Go using the gocraft/work package. Discover why background jobs are needed, how they differ from Go's built-in concurrency, and how background job systems persist the state of jobs. Explore advanced topics like using context and middleware, as well as the user interface for job status and the check-in feature for long-running jobs.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    Go or Rust? Just Listen to the Bots

    The post describes the journey of building conversational bots with voices using Go and Rust. The author shares their inspiration for the project, discusses the design implementation details, and provides code snippets for both the Go and Rust implementations.

  10. 10
    Article
    Avatar of awegoAwesome Go·2y

    Conquering Errors in Go: A Guide to Returning and Handling errors

    This post explores different approaches to error handling in Go, starting with the basic 'if err != nil' approach and moving on to wrapped errors, descriptive errors, and error sentinels. It also discusses the problems with each approach and provides examples of how to implement them in Go code.

  11. 11
    Article
    Avatar of awegoAwesome Go·2y

    goqite

    goqite is a Go library for building persistent message queues using SQLite and inspired by AWS SQS. It provides a simple way to send, receive, extend, and delete messages in a queue.

  12. 12
    Article
    Avatar of changelogChangelog·2y

    Migrating from PHP to Go with Matthew Boyle & Chris Shepherd (Go Time #316)

    Matthew Boyle and Chris Shepherd share their experience migrating from PHP to Go in Curve and Cloudflare.

  13. 13
    Article
    Avatar of lobstersLobsters·2y

    microsoft/go: The Microsoft build of the Go toolset

    microsoft/go is a repository containing the infrastructure Microsoft uses to build Go. It produces a modified version of Go that can be used to build FIPS 140-2 compliant applications. The binaries produced are intended for general use within Microsoft. The repository follows the upstream Go Release Policy and supports each major release until there are two newer major releases.

  14. 14
    Article
    Avatar of lobstersLobsters·2y

    Golang is evil on shitty networks

    Discover why Go disables Nagle's algorithm by default and how it affects network performance. Learn when to enable TCP_NODELAY for better throughput.

  15. 15
    Article
    Avatar of awegoAwesome Go·2y

    Web App with Go and React - Part 1

    Learn how to build a full-stack web application using Go, Gin, and React in a three-part series.

  16. 16
    Article
    Avatar of medium_jsMedium·2y

    How to do Data Serialization and Deserialization in Golang

    Learn about data serialization and deserialization in Golang, covering popular formats such as JSON, XML, Gob, Protocol Buffers, MessagePack, and YAML. Explore examples and tips for each format.

  17. 17
    Article
    Avatar of awegoAwesome Go·2y

    Introduction to Generative AI with Go

    Learn about generative AI and how to integrate it into Go applications in this free remote webinar with Daniel Whitenack.

  18. 18
    Video
    Avatar of codeheimcodeHeim·2y

    #36 Golang - Mastering JWT Authentication

    Learn how to implement JWT authentication in a Go application using Golang, Gin Gonic, and Gorm. Discover how JWT tokens can be used to securely transmit information between parties in authentication. Restrict access to web pages using JWT authentication.

  19. 19
    Article
    Avatar of golangGo·2y

    Secure Randomness in Go 1.22

    Go 1.22 improves the security of programs by using the ChaCha8Rand generator for random numbers. The previous Go 1 generator had predictable outputs and could lead to serious security issues. ChaCha8Rand provides better randomness and is more suitable for generating random numbers. It is used in math/rand/v2 package, as well as in the math/rand and runtime packages of the Go standard library. The performance of ChaCha8Rand is comparable to the Go 1 generator and PCG generator.

  20. 20
    Video
    Avatar of primeagenThePrimeTime·2y

    Go Kind Of Sucks

    Go has several criticisms, including verbosity, poor interoperability with other code, poor garbage collection performance with certain types of heaps, and difficulty in managing go routine lifetimes. However, it also has strengths like lightweight threads and error handling with 'panic'. Overall, Go is a language with pros and cons, like any other programming language.

  21. 21
    Article
    Avatar of awegoAwesome Go·2y

    Create a DNS Resolver with Golang

    Learn how to create a simple DNS Resolver using Golang. Understand the structure of a DNS query message and the DNS compression algorithm.