Forwarded from Код и Капуста
Память в Rust и Go
В статье автор рассказывает про работу с памятью в Rust и Go. Сравнение, конечно, теплого с зеленным. Но я не профессионал в Rust, поэтому мне было интересно почитать
#rust #golang
https://kodikapusta.ru/news/kkta-pamiat-v-rust-i-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
Подборка с лучшими докладами за 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
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
В блоге 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
Вы когда-нибудь задумывались о том, как 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
Статья не первой свежести, но все еще интересная. Конечно, уже есть "распределенная постгря" - это 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
Курируемый список шаблонов проектирования, рецептов и идиом на языке Go.
#golang
https://github.com/tmrts/go-patterns
👍3👎2
Forwarded from Код и Капуста
Разрозненные режимы отказа
"Человек с часами знает, который час. Человек с двумя часами никогда не будет уверен в этом"
Часто методы валидации возвращают булевый результат и ошибку. Но в этом случае не всегда понятно как обрабатывать результат и ошибку одновременно, потому что могут быть странные комбинации. Например, можно получить ошибку, но валидный результат валидации.
В статье автор предлагает как логично реализовать АПИ, когда нужно возвращать и результат и ошибку
#golang
https://kodikapusta.ru/news/6exw-razroznennye-rezhimy-otkaza
"Человек с часами знает, который час. Человек с двумя часами никогда не будет уверен в этом"
Часто методы валидации возвращают булевый результат и ошибку. Но в этом случае не всегда понятно как обрабатывать результат и ошибку одновременно, потому что могут быть странные комбинации. Например, можно получить ошибку, но валидный результат валидации.
В статье автор предлагает как логично реализовать АПИ, когда нужно возвращать и результат и ошибку
#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
Майкл из команды разработчиков 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
Доклад с 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
Мои любимые извращения! В этом посте автор расскажет, как создать первый 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
Автор прочитал знаменитую статью 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
Статья, в которой ругают фреймворк 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
Эмбединг в Go - отличная штука. Он позволяет объединять статические ресурсы в исполняемый файл, но они хранятся в несжатом виде. Отцы-основатели не захотели добавлять возможность включать сжатие при эмбединге. Но автор покажет вариант, как можно экономить на размере бинарника, встраивая ZIP-архив
#golang
https://kodikapusta.ru/news/g72j-embeding-i-szhatie
Forwarded from Код и Капуста
Секретный режим
Для Go появился интересный пропозал - автоматическое удаление использованной памяти для предотвращения утечек секретных данных.
Новый пакет runtime/secret позволяет запускать функцию в секретном режиме. После завершения работы функции она немедленно удаляет (обнуляет) регистры и стек, которые использовала. Выделения памяти, сделанные функцией, удаляются, как только сборщик мусора решает, что они больше недоступны. Так вы получаете больше конфедициальности при работе с секретами
#golang
https://kodikapusta.ru/news/d1na-sekretnyi-rezhim
Для 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
Статья про работу 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
Библиотека для валидации и парсинга 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
Любая база данных гарантирует надёжность. Записывайте данные, получайте подтверждение, спите спокойно. Но что происходит между вызовом write() и моментом, когда электроны наконец оседают на постоянном носителе?
Статья в блоге UnisonDB из которой вы узнаете, как создать отказоустойчивый журнал опережающей записи (WAL) на Go и почему одного CRC32 недостаточно. Рассмотрите уровни надёжности, которые позволяют предотвращать повреждения данных после сбоев
#golang
https://kodikapusta.ru/news/yl8f-wal
🔥1
Forwarded from Код и Капуста
Ретраи
Статья про обработку сбоев и ретраи в Go приложении. Мало воды и много кода. Рассмотрено довольно много всяких нюансов вроде джитера и предохранителя
#golang
https://kodikapusta.ru/news/m8p6-retrai
Статья про обработку сбоев и ретраи в Go приложении. Мало воды и много кода. Рассмотрено довольно много всяких нюансов вроде джитера и предохранителя
#golang
https://kodikapusta.ru/news/m8p6-retrai
👍4
Forwarded from Код и Капуста
Пишем traceroute
В статье автор рассказывает как написать свой собственный traceroute на Go. Отличная практическая статья, которая стимулирует копаться в подробностях и разбираться как работает интернет
#golang
https://kodikapusta.ru/news/3535-pishem-traceroute
В статье автор рассказывает как написать свой собственный traceroute на Go. Отличная практическая статья, которая стимулирует копаться в подробностях и разбираться как работает интернет
#golang
https://kodikapusta.ru/news/3535-pishem-traceroute
👍5