4gophers
3.54K subscribers
684 photos
4 videos
1.71K links
Язык программирования Go. Больше новостей про разработку тут https://kodikapusta.ru/

Реклама https://kodikapusta.ru/ads
Download Telegram
Forwarded from Код и Капуста
Память в Rust и Go

В статье автор рассказывает про работу с памятью в Rust и Go. Сравнение, конечно, теплого с зеленным. Но я не профессионал в Rust, поэтому мне было интересно почитать

#rust #golang

https://kodikapusta.ru/news/kkta-pamiat-v-rust-i-go
👍2
Forwarded from Код и Капуста
Лучшие доклады

Подборка с лучшими докладами за 2025 год. Самые годные видосы про Java, Rust, Go, JS, Python, Kotlin и C++. Вот наступят новогодние выходные и вам будет чем заняться

Ну окей, джаву можете пропустить

#rust #golang

https://kodikapusta.ru/news/c2xm-luchshie-doklady
👍5🔥2
Forwarded from Код и Капуста
Умереть от датарейс

Go часто хвалят за простоту написания высококонкурентных программ. Однако поражает то, как много возможностей Go предоставляет разработчикам, чтобы они сами себе навредили.

Статья с примерами гонок и других ошибок при написании конкурентного кода

#golang

https://kodikapusta.ru/news/etpu-umeret-ot-datareis
🔥2
Forwarded from Код и Капуста
Собираем cgo

В блоге Dolt DB неплохая статья про использования Docker для сборки Go приложений с CGO. Частенько это правда бывает изъебисто, особенно когда нужно собирать под разные архитектуры. Ребята проделали неплохую работу, надо брать на вооружение

#golang

https://kodikapusta.ru/news/zk2r-sobiraem-cgo
👍2
Forwarded from Код и Капуста
MapReduce на Golang

Вы когда-нибудь задумывались о том, как Google обрабатывает огромные объёмы данных? Или как работают такие системы, как Hadoop? Секрет в MapReduce - простом, но эффективном способе обработки больших массивов данных путём их разбиения на более мелкие части.

В этой статье мы создадим собственную систему MapReduce на Go

#golang

https://kodikapusta.ru/news/3c40-mapreduce-na-golang
Forwarded from Код и Капуста
Пишем свою постргю

Статья не первой свежести, но все еще интересная. Конечно, уже есть "распределенная постгря" - это CockroachDB

Что представляет собой CockroachDB? Взгляните на его файл go.mod и обратите внимание на ряд зависимостей, которые выполняют большой объём работы: реализация сетевого протокола PostgreSQL, уровень хранения данных, реализация Raft для распределённого консенсуса. И хотя реализация грамматики PostgreSQL не указана зависимостью в go.mod, она всё равно основано на стороннем коде.

Если CockroachDB это клей для разных пакетов, то почему бы нам не повторить их подход?

#golang #db

https://kodikapusta.ru/news/x543-pishem-svoiu-postrgiu
1
Forwarded from GitHub Open Sauce
tmrts/go-patterns

Курируемый список шаблонов проектирования, рецептов и идиом на языке Go.

#golang

https://github.com/tmrts/go-patterns
👍3👎2
Forwarded from Код и Капуста
Разрозненные режимы отказа

"Человек с часами знает, который час. Человек с двумя часами никогда не будет уверен в этом"

Часто методы валидации возвращают булевый результат и ошибку. Но в этом случае не всегда понятно как обрабатывать результат и ошибку одновременно, потому что могут быть странные комбинации. Например, можно получить ошибку, но валидный результат валидации.

В статье автор предлагает как логично реализовать АПИ, когда нужно возвращать и результат и ошибку

#golang

https://kodikapusta.ru/news/6exw-razroznennye-rezhimy-otkaza
Forwarded from Код и Капуста
Зеленый чай

Майкл из команды разработчиков Go ловко объясняет, как работает сборщик мусора в Go и как новый, так называемый подход "зелёного чая" («green tea»), по умолчанию улучшит работу в Go 1.26. Если вы предпочитаете читать, а не смотреть, в официальном блоге Go есть статья на эту тему.

#golang

https://kodikapusta.ru/news/52os-zelenyi-chai
🔥4👍1
Forwarded from Код и Капуста
Криптография

Доклад с GopherCon US 2025 про криптографию в Go

Основные события прошлого года:
- Внедрили постквантовые системы обмена ключами, о которых вам не придётся беспокоиться, они будут работать за вас.
- Внедрили стандарт FIPS 140, который кого-то из вас совершенно не волнует, а кто-то будет очень рад

Кстати, доклад от чувака, который организовал свою небольшую кампанию по поддержке опенсорс проектов для корпов и зарабатывает на этом

#golang

https://kodikapusta.ru/news/g0jc-kriptografiia
3
Forwarded from Код и Капуста
Go на Nintendo 64

Мои любимые извращения! В этом посте автор расскажет, как создать первый ROM для N64 на Go. Расскажет о базовом выводе на фреймбуфер, опросе контроллера и даже о воспроизведении звука.

Круто, что у людей есть столько времени для таких вещей

#golang

https://kodikapusta.ru/news/9k45-go-na-nintendo-64
🔥1
Forwarded from Код и Капуста
Tail на стероидах

Автор прочитал знаменитую статью Google 2013 года Tail at Scale и решил реализовать описанный механизм на Go. Основная суть - сокращение задержек в распределенных системах.

Крупные системы должны быть специально спроектированы так, чтобы противостоять редким, периодическим замедлениям, потому что редкое становится обычным, когда ваш запрос обрабатывается сотнями или тысячами машин

#golang

https://kodikapusta.ru/news/f8x6-tail-na-steroidakh
👍1
Forwarded from Код и Капуста
Джин не нужен

Статья, в которой ругают фреймворк Gin. Так-то вообще непонятно, зачем им пользоваться - тут я с автором согласен. Но меня впечатлило, насколько въедливо автор подошел к делу. Это не просто статья на пять пунктов, тут прям все четко по полочкам разложено, где Gin не прав

#golang

https://kodikapusta.ru/news/l3e1-dzhin-ne-nuzhen
🔥1
Forwarded from Код и Капуста
Эмбединг и сжатие

Эмбединг в Go - отличная штука. Он позволяет объединять статические ресурсы в исполняемый файл, но они хранятся в несжатом виде. Отцы-основатели не захотели добавлять возможность включать сжатие при эмбединге. Но автор покажет вариант, как можно экономить на размере бинарника, встраивая ZIP-архив

#golang

https://kodikapusta.ru/news/g72j-embeding-i-szhatie
Forwarded from Код и Капуста
Секретный режим

Для Go появился интересный пропозал - автоматическое удаление использованной памяти для предотвращения утечек секретных данных.

Новый пакет runtime/secret позволяет запускать функцию в секретном режиме. После завершения работы функции она немедленно удаляет (обнуляет) регистры и стек, которые использовала. Выделения памяти, сделанные функцией, удаляются, как только сборщик мусора решает, что они больше недоступны. Так вы получаете больше конфедициальности при работе с секретами

#golang

https://kodikapusta.ru/news/d1na-sekretnyi-rezhim
🔥9
Forwarded from Код и Капуста
Побег на кучу

Статья про работу escape анализа и про то, как ваши функции умудряются правильно возвращать. Автор описал все по-простому, но прикольно что сравнил с C. Вернулся к корням так сказать

#golang

https://kodikapusta.ru/news/oi4m-pobeg-na-kuchu
Forwarded from Код и Капуста
OpenAPI

Библиотека для валидации и парсинга OpenAPI-спецификации. Ребята из Speakeasy зарабатывают на разработке SDK. У них есть специальная консольная утилита, через которую можно сгенерировать SDK по любой спецификации, но за денежку.

На самом деле, это реально проблема. Все опенсорсные генераторы для Go по OpenAPI уебищные. Я тут хотел наколбасить либу для ОРД - и прям нет ничего приличного.

Расскажите, кто какими генераторами SDK по OpenAPI пользуется

#golang

https://kodikapusta.ru/news/3ag5-openapi
Forwarded from Код и Капуста
WAL

Любая база данных гарантирует надёжность. Записывайте данные, получайте подтверждение, спите спокойно. Но что происходит между вызовом write() и моментом, когда электроны наконец оседают на постоянном носителе?

Статья в блоге UnisonDB из которой вы узнаете, как создать отказоустойчивый журнал опережающей записи (WAL) на Go и почему одного CRC32 недостаточно. Рассмотрите уровни надёжности, которые позволяют предотвращать повреждения данных после сбоев

#golang

https://kodikapusta.ru/news/yl8f-wal
🔥1
Forwarded from Код и Капуста
Ретраи

Статья про обработку сбоев и ретраи в Go приложении. Мало воды и много кода. Рассмотрено довольно много всяких нюансов вроде джитера и предохранителя

#golang

https://kodikapusta.ru/news/m8p6-retrai
👍4
Forwarded from Код и Капуста
Пишем traceroute

В статье автор рассказывает как написать свой собственный traceroute на Go. Отличная практическая статья, которая стимулирует копаться в подробностях и разбираться как работает интернет

#golang

https://kodikapusta.ru/news/3535-pishem-traceroute
👍5