Tag go

29 bookmarks have this tag.

2024-12-18

810.

Go Protobuf: The new Opaque API - The Go Programming Language

go.dev/blog/protobuf-opaque

We are adding a new generated code API to Go Protobuf.

Reposted 809.

Исследование Go-разработчиков, 2024

devcrowd.ru/go-2024

DevCrowd вместе с Авито провели исследование рынка Go-разработчиков, 2024

2024-10-28

788.

Generators in Go 1.23 for Database Pagination - DZone

dzone.com/articles/practical-generators-in-go-123-for-database-pagina

2024-09-03

Reposted 755.

Mage :: Mage

magefile.org

Something like make, but magefiles are written in Go instead. Pretty funny.

2024-06-04

Reposted 672.

Staticcheck - The advanced Go linter

github.com/dominikh/go-tools

Staticcheck - The advanced Go linter. Contribute to dominikh/go-tools development by creating an account on GitHub.

2024-05-15

640.

Golang + HTMX - Creating a Go webserver / HTMX Integration / Template Fragments

www.youtube.com

2024-05-06

631.

The Notifier Pattern for Applications That Use Postgres

brandur.org/notifier

2024-05-02

619.

Выжимаем из Go максимум производительности

www.youtube.com/watch?v=QMC9Kg4Ogxg

Никита рассказывает про оптимизации в Го.

Треш, конечно. Язык приколов

2024-04-11

604.

How I write tests in Go

blog.verygoodsoftwarenotvirus.ru/posts/testing-in-go

In many other languages, you have to not only evaluate testing libraries, but also write your tests in a style that complies with that library’s expectations. Gophers are blessed to have a thoroughly adequate solution out-of-the-box, and even further blessed to have an active ecosystem where folks are making in-depth testing a walk in the park.

603.

ETag and HTTP caching

rednafi.com/misc/etag_and_http_caching

2024-03-10

566.

valyala/quicktemplate

github.com/valyala/quicktemplate

Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template

2024-03-07

548.

Структурированное логирование в Go с помощью Slog

habr.com/ru/companies/slurm/articles/798207

2024-03-06

547.

Dysfunctional options pattern in Go

rednafi.com/go/dysfunctional_options_pattern
package src

type config struct {
    // Required
    foo, bar string

    // Optional
    fizz, bazz int
}

// Each optional configuration attribute will have its own public method
func (c *config) WithFizz(fizz int) *config {
    c.fizz = fizz
    return c
}

func (c *config) WithBazz(bazz int) *config {
    c.bazz = bazz
    return c
}

// This only accepts the required options as params
func NewConfig(foo, bar string) *config {
    // First fill in the options with default values
    return &config{foo, bar, 10, 100}
}

func Do(c *config) {}

You’d use the API as follows:

package main

import ".../src"

func main() {
    // Initialize the struct with only the required options and then chain
    // the option methods to update the optional configuration attributes
    c := src.NewConfig("hello", "world").WithFizz(0).WithBazz(42)
    src.Do(c)
}

2024-03-05

543.

Wrapping Errors in Go - How to Handle Nested Errors

blog.boot.dev/golang/wrapping-errors-in-go-how-to-handle-nested-errors

By wrapping errors and building well-formatted error messages, we can keep better track of where errors are happening. I often just add the name of the function being called to my error messages, but we can make the message say whatever we want. For example, I’ll often include parameter information in the error so I know which inputs caused the error.

2024-03-04

541.

Как я пишу HTTP-сервисы спустя 13 лет работы с Go

habr.com/ru/articles/793166

В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go:

  • Структурирование серверов и обработчиков с расчётом на максимальное удобство поддержки;

  • Советы и рекомендации по оптимизации сервисов под быстрый запуск и правильное отключение;

  • Обработка стандартных задач, применимых ко множеству типов запросов;

  • Глубокое исследование правильного тестирования сервисов.

2024-02-18

524.

Strategy pattern in Go

rednafi.com/go/strategy_pattern

2024-02-12

521.

Functional programming in Go

bitfieldconsulting.com/golang/functional

Thanks to generics, there are some interesting new ways to program in Go. This article explains how we can use functional programming techniques like Map, Filter, and Reduce, and what kind of problems they might help us to solve.

2024-01-17

496.

Google I/O 2013 - Advanced Go Concurrency Patterns

www.youtube.com/watch?v=QDDwwePbDtw

Concurrency is the key to designing high performance network services. This talk expands on last year's popular Go Concurrency Patterns talk to dive deeper into Go's concurrency primitives, and see how tricky concurrency problems can be solved gracefully with simple Go code.

2024-01-12

488.

Фаззинг (fuzzing) тестирование

b.sattellite.me/2022/01/2022-01-golang-fuzzing

2024-01-10

Reposted 485.

What We Got Right, What We Got Wrong

commandcenter.blogspot.com/2024/01/what-we-got-right-what-we-got-wrong.html

2023-12-22

Reposted 471.

Gio UI

gioui.org

Gio is an open source library for creating portable, immediate mode GUI programs for Android, iOS, Linux, Windows, macOS.

2023-12-21

468.

research!rsc: Coroutines for Go

research.swtch.com/coro
Reposted 466.

NilAway: Practical Nil Panic Detection for Go

www.uber.com/blog/nilaway-practical-nil-panic-detection-for-go

A linter for Go that finds nil panics. It found several potential nil panic in Betula and Mycorrhiza codebases that I didn't bother fixing.

2023-12-12

454.

Finding unreachable functions with deadcode

go.dev/blog/deadcode

Functions that are part of your project’s source code but can never be
reached in any execution are called “dead code”, and they exert a drag
on codebase maintenance efforts.
Today we’re pleased to share a tool named deadcode to help you identify them.

2023-12-05

452.

Go Developer Survey 2023 H2 Results - The Go Programming Language

go.dev/blog/survey2023-h2-results
  1. Go developers said they are more interested in AI/ML tooling that improves the quality, reliability, and performance of code they write, rather than writing code for them. An always-awake, never-busy expert “reviewer” might be one of the more helpful forms of AI developer assistance.

  2. The top requests for improving toolchain warnings and errors were to make the messages more comprehensible and actionable; this sentiment was shared by developers of all experience levels, but was particularly strong among newer Go developers.

  3. Our experiment with project templates (gonew) appears to solve critical problems for Go developers (especially developers new to Go) and does so in a way that matches their existing workflows for starting a new project. Based on these findings, we believe gonew can substantially reduce onboarding barriers for new Go developers and ease adoption of Go in organizations.

  4. Three out of every four respondents work on Go software that also uses cloud services; this is evidence that developers see Go as a language for modern, cloud-based development.

  5. Developer sentiment towards Go remains extremely positive, with 90% of survey respondents saying they felt satisfied while working with Go during the prior year.

2023-11-19

427.

Gripes With Go

peppe.rs/posts/gripes_with_go

2023-10-11

361.

CodeReviewComments

github.com/golang/go/wiki/CodeReviewComments

This page collects common comments made during reviews of Go code, so
that a single detailed explanation can be referred to by shorthands.
This is a laundry list of common style issues, not a comprehensive style guide.

2023-09-24

Reposted 338.

Writing safe-to-use Go libraries

blog.orsinium.dev/posts/go/safe-api

The Go standard library is full of bad design choices from the perspective of safety of use.

2023-07-24

247.

5 Ways to Write a Go Database Model

pboyd.io/posts/5-ways-to-write-a-go-database-model

Choosing the right tools to write a database model in Go can be overwhelming. This post describes the various approaches.