Tag go

24 bookmarks have this tag.

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

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-25

433.

godocs.io

godocs.io

2023-11-19

427.

Gripes With Go

peppe.rs/posts/gripes_with_go

2023-10-21

Reposted 370.

banging errors in go

flak.tedunangst.com/post/bango

Tedu wrote a tool that lets you handle errors in Go like this:

func decomp(filename string) ([]byte, error) {
        fd := ^os.Open(filename)
        defer fd.Close()
        zd := ^gzip.NewReader(fd)
        data := ^io.ReadAll(zd)
        return data, nil
}

Funky!

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-08-31

309.

Делаем Django на Go (ну почти)

blog.exo.icu/posts/django-on-go

Go - классный язык программирования у которого есть все шансы обеспечить конкуренцию Python. Этот очерк показывает как из уже существующих библиотек построить крутой бекенд для web-приложения.

Теперь почти все готово к первому билду, осталось только синхронизировать зависимости, выполняем такую команду

go mod tidy && go mod verify && go mod tidy

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.