Код и Капуста
1.58K subscribers
2.62K photos
61 videos
3 files
2.9K links
Авторский канал с интересными ссылками про разработку на Go, Rust, Flutter, Android, iOS, Aurora. Все ссылки тут https://kodikapusta.ru/

Реклама https://kodikapusta.ru/ads

Для связи @akovardin

Поддержать канал https://tbank.ru/cf/6xz8n4h0LzO
Download Telegram
Применение итераторов

Автор делает краткое введение в итераторы Go и рассказывает про полезные шаблоны применения этих самых итераторов

#golang

https://kodikapusta.ru/news/f6j7-primenenie-iteratorov
1
TikTok из RSS

У автора прикольная идея - сделать не просто RSS-ридер, а RSS-ридер в формате TikTok. Так, чтобы можно было лайкать и дизлайкать новости. А умный алгоритм будет подсовывать вам следующую RSS-новость. В целом, одобряю

#fun

https://kodikapusta.ru/news/ksei-tiktok-iz-rss
👍31👎1
Секретный режим

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

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

#golang

https://kodikapusta.ru/news/d1na-sekretnyi-rezhim
👍61
Ассемблер для гоферов

В этой статье автор постарается дать максимально простое введение в Го-ассемблер — зачем и когда он может понадобиться, а также покажет как делать функцию умножения для 256-битных чисел

На хабре уже вышла вторая часть статьи, вроде годно

#golang

https://kodikapusta.ru/news/w2m0-assembler-dlia-goferov
👍2
Ручное управление памятью

Этот туториал исследует ручное управление памятью в Go, обходя встроенный сборщик мусора. В видео показано использование аллокатора памяти jemalloc и проводится сравнение его производительности со стандартным сборщиком мусора Go. Вы узнаете, как отслеживать использование памяти и внедрять ручное выделение и освобождение памяти

#golang

https://kodikapusta.ru/news/eol0-ruchnoe-upravlenie-pamiat-iu
Побег на кучу

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

#golang

https://kodikapusta.ru/news/oi4m-pobeg-na-kuchu
1
易语言

Настала пятница, и у меня для вас - новый язык программирования.

易语言 (Easy Language) — это независимо разработанный китайский язык программирования, который подходит для национальных условий и прост в изучении и использовании для людей разного уровня и специализации.

Джависты, напряглись?

#fun #kod

https://kodikapusta.ru/news/ml2n-yi-yu-yan
🔥53
Funxy

В эту пятницу аж два языка программирования. Теперь - Funxy. Симпатичный язык, написанный на Go

Funxy (фанкси, fun x(y)) — гибридный язык программирования со статической типизацией, pattern matching и удобной работой с бинарными данными.

Прикольно, что даже в 2025 году имеет смысл писать свои языки

#kod #golang

https://kodikapusta.ru/news/714h-funxy
1🔥1
Запилил себе шпаргалку по Axum. Пока неплохо полходит для написания маленьких сервисов для всяких приколю и обучению #rust

https://kodikapusta.ru/articles/rust-web-server
👍53
OpenAPI

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

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

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

#golang

https://kodikapusta.ru/news/3ag5-openapi
👍21
Космические захватчики

Так-так-так. У меня для вас идеальное развлечение на новогодние праздники - небольшой курс по написанию игры про космических захватчиков. И всё это на Zig!

В долгие праздники как раз есть возможность подучить новый, стильный и молодёжный язык программирования

#zig

https://kodikapusta.ru/news/0bhq-kosmicheskie-zakhvatchiki
🔥32
Картинки на C

Учимся писать на чистом С. В видосе автор показывает как на чистом C просмотрщик картинок. Дело непростое, но очень интересное. Особенно доставили эмоции автора, когда все заработало

А еще видео теперь можно смотреть прямо на сайте kodikapusta.ru. Чуть меньше редиректов

#kod #fun

https://kodikapusta.ru/news/8694-kartinki-na-c
2
WAL

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

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

#golang

https://kodikapusta.ru/news/yl8f-wal
👍3
Qt, QML и Rust

Автор запрогал клон Telegram на Rust, QML и Qt. В основном на QML и только интерфейс без логики, но он смог все это сделать в VS Code.

Фронтендеры тоже могут

#rust

https://kodikapusta.ru/news/9gci-qt-qml-i-rust
😁2
Игромания в бумаге

Легендарный российский журнал об играх и гик-культуре возвращается!

На ностальгии играют, собаки. Но я себе уже заказал

Дебютный номер посвящён масштабной ретроспективе индустрии за почти 30 лет: каждый год сопровождается отдельным любовным письмом к ключевым играм своей эпохи. Также внутри - более 20 оригинальных лонгридов с разбором ключевых событий, потрясших и изменивших индустрию: "Хронология русскоязычного гейминга", "Гонка консолей", "Сексуализация персонажей в видеоиграх" и многое другое.

#fun

https://kodikapusta.ru/news/kz58-igromaniia-v-bumage
👍5
Фасеты в ParadeDB

Фасетирование - это способ обобщения результатов поиска. Когда вы вводите запрос вроде "динозавр", вы не просто запрашиваете список подходящих документов, вы также думаете о том, какие виды динозавров представлены в этом наборе результатов? Возможно, там 87 плотоядных, 112 травоядных и 41 всеядный. Каждый элемент в этой разбивке - количество результатов, сгруппированных по атрибуту, - это фасет. Фасеты позволяют просматривать результаты, фильтруя их по структурированным полям

#db

https://kodikapusta.ru/news/lb3s-fasety-v-paradedb
Ретраи

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

#golang

https://kodikapusta.ru/news/m8p6-retrai
🔥41
Блоки в Rust

В rust почти все - выражение, а значит возвращает результат. Автор открыл для себя использование блоков и показывает как можно красиво структурировать код с их помощью

#rust

https://kodikapusta.ru/news/j9cp-bloki-v-rust
👍4
Очередь на PG

На конференциях и в статьях обычно можно услышать скепсис: "Очередь на PostgreSQL? Не стоит даже пытаться". Действительно, подобных попыток было много, и почти все сталкивались с типовыми проблемами - от блокировок до деградации производительности.

Тем не менее в реальности у многих крупных компаний всё равно есть свои очереди, построенные поверх SQL‑баз — как PostgreSQL, так и MySQL

#db

https://kodikapusta.ru/news/v9wc-ochered-na-pg
Пишем traceroute

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

#golang

https://kodikapusta.ru/news/3535-pishem-traceroute
1👍6
Утечки горутин и synctest

Дедлоки, состояния гонки и утечки горутин - это, пожалуй, три самые распространённые проблемы в параллельном программировании на Go. Дедлоки обычно приводят к паникам, поэтому их легче обнаружить. Детектор состояний гонки может помочь найти состояния гонки (хотя он не выявляет всё). Что касается утечек горутин, то инструменты Go долгое время не решали эту проблему.

В Go 1.24 всё начало меняться с появлением пакета synctest . В Go 1.26 произойдут ещё более масштабные изменения: появится новый экспериментальный профиль goroutineleak , который будет сообщать об утечке горутин. Давайте посмотрим как это будет

#golang

https://kodikapusta.ru/news/720a-utechki-gorutin-i-synctest
👍2