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

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

Для связи @akovardin

Поддержать канал https://boosty.to/kodikapusta
Download Telegram
Forwarded from GitHub Open Sauce
Retro AIM Server

Соскучились по ICQ? Вот реализация AIM Server сервера с которым могут работать классические клиенты AIM и ICQ клиенты.

Вернуться в 2007 и получить 6ти знак

#golang

https://github.com/mk6i/retro-aim-server
👍2🔥21
Zip бомбы

Думаю, большинство читателей еще помнят про zip бомбы в почте - бесконечно распаковывающиеся архивы. Автор рассказывает как применять такой метод для обороны ваших серверов от парсинга AI агентами

Главное чтоб колени были целы

#kod #fun

https://kodikapusta.ru/news/j189-zip-bomby
🔥2😁1
DDD, CQRS, Clean Architecture

Использование DDD, CQRS и чистой архитектуры даже по отдельности могут принести много всего полезного, они лучше всего работают вместе. Как "Могучие рейнджеры". К сожалению, их нелегко использовать вместе в реальном проекте. В этой статье автор расскажет, как подключить DDD Lite, CQRS и Clean Architecture наиболее прагматичным и эффективным способом.

#golang

https://kodikapusta.ru/news/50rc-ddd-cqrs-clean-architecture
👍3
Ретро программирование

Небольшой плейлист с видосами по программированию игры на чистом Си. Чувак пишет игру под Agon Light - не самая распространенная система в наших краях, но все еще интересно

#gamedev #fun

https://kodikapusta.ru/news/94kv-retro-programmirovanie
🔥2👍1
Браузер на SMS

Воу! Как насчет веб-браузера, который работает только на SMS? C TxtNet Browser
- вам не нужен мобильный интернет, только возможность получать SMS

SMS используется в качестве способа передачи HTTP-запросов на сервер, где предварительно обработанный HTML-ответ сжимается с помощью алгоритма Brotli от Google и кодируется в пользовательском формате Base-114 (основанном на Basest). Всё медиа-содержимое, JavaScript и CSS удаляются со страницы. Реализованы только HTTP GET-запросы.

Хочу такое под iOS

#kod #android #mobile

https://kodikapusta.ru/news/xs2i-brauzer-na-sms
🔥7
Как работает Flutter

Подборка видео по внутреннему устройству работы Flutter. Всего должно быть 6 видосов, сейчас уже вышло два ролика. В первом рассказывают про архитектуру, во втором про дерево виджетов

#flutter

https://kodikapusta.ru/news/9ce3-kak-rabotaet-flutter
🔥2
Обработка сигналов

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

Демонология

#golang

https://kodikapusta.ru/news/r68q-obrabotka-signalov
👍4
Метроид на Godot

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

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

#godot #gamedev

https://kodikapusta.ru/news/5751-metroid-na-godot
👍5🔥21
Зеленый чай

Маркирующий сборщик в среднем 85% времени работы тратит на основной цикл обхода графа (scan loop), а более 35% процессорных циклов в этом loop'е уходит просто на ожидание доступа к памяти (без учёта косвенных эффектов). Ожидается, что эта проблема будет только усугубляться с ростом числа ядер и распространением неоднородных архитектур памяти.

Green Tea — алгоритм параллельной разметки, который, если и не является полностью ориентированным на память, то хотя бы учитывает её, стараясь обрабатывать близко расположенные объекты вместе.

Уже можно попробовать

#golang

https://kodikapusta.ru/news/vi6c-zelenyi-chai
🔥3
Void

Опенсорсная альтернатива для курсора. Редактор построен на базе VSCode(ну а как иначе) и поддерживает интеграцию с самыми разными агентами. Кмк, просто обвешанный плагинами вскод. Может кто юзал уже?

#ai #opensource #kod

https://kodikapusta.ru/news/478s-void
👎21
RSS ридер

Наконец нормальный RSS ридер. Селфхостед и еще и на Go написанный. Выглядит топ, работает отлично. Ставим, наслаждаемся, радуемся

#golang

https://kodikapusta.ru/news/3d41-rss-rider
🔥21
Ассемблер на Go

Avo упрощает написание, проверку и поддержку высокопроизводительного ассемблерного кода в Go.

Пакет avo дает удобный интерфейс который ускоряет разработку ассемблерного кода без потери производительности:

- Используйте Go-конструкции для генерации ассемблера - программы avo это обычные Go-программы.
- Автоматическое распределение регистров - пишите функции с виртуальными регистрами, а avo назначит физические.
- Загрузка аргументов и сохранение результатов - корректные смещения в памяти даже для сложных структур.
- Генерация stub-файлов для интеграции с вашим Go-пакетом.

#golang #opensource

https://kodikapusta.ru/news/j9j5-assembler-na-go
1
sudo rust

В Ubuntu теперь по умолчанию используется sudo-rs - утилита, написанная на языке Rust.

Это решение является частью масштабной инициативы Canonical по повышению устойчивости и удобства сопровождения ключевых системных компонентов.

sudo-rs разрабатывается Фондом Trifecta Tech (TTF) — некоммерческой организацией, которая создаёт безопасные открытые строительные блоки для инфраструктурного программного обеспечения.

#rust

https://kodikapusta.ru/news/pubd-sudo-rust
👍41😱1
Change Data Capture

Реализация паттерна Change Data Capture (CDC) на Go. Этот паттерн позволяет отслеживать изменения в базе данных в реальном времени, что критически важно для событийно-ориентированных систем (event-driven), аналитических пайплайнов или синхронизации микросервисов.

В этом руководстве мы разберём реализацию PostgreSQL CDC на Go с использованием: встроенной логической репликации PostgreSQL и драйвера pgx.

#golang

https://kodikapusta.ru/news/6ukx-change-data-capture
👍51
Быть креативным

Эпистемическая тревожность — это чувство беспокойства, напряжения и озабоченности, когда вы хотите узнать правду. Вы переживаете, что ваши знания неполные и/или ошибочны

Представьте, что вы сидите на совещании на работе. Обсуждается план, который ваша команда разработала в прошлом квартале, и анализируются результаты. Данные искажаются и подгоняются под ту версию реальности, которую хочет видеть команда. Вы сидите там и видите, что это фарс.

Отличный лонгрид про то, как оставаться креативным в современном мире

#learn #fun

https://kodikapusta.ru/news/yxq7-byt-kreativnym
1
roons

Это механический компьютер с потрясающим дизайном. Точнее, это даже набор для создания механических компьютеров, типа "настоящий Minecraft redstone".

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

Яб купил

#learn #fun

https://kodikapusta.ru/news/b7uc-roons
6🔥1
Singleflight

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

#golang #learn

https://kodikapusta.ru/news/djn7-singleflight
1
Graceful Shutdown

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

- Закрытие точки входа. Остановка приёма новых запросов или сообщений из источников (HTTP, pub/sub систем и т.д.). При этом исходящие подключения к сторонним сервисам (БД, кэшам) остаются активными
- Ожидание завершения текущих запросов. Обработка всех выполняющихся операций, а если запрос выполняется слишком долго — возврат корректной ошибки
- Освобождение критических ресурсов: закрытие подключений к БД, снятие файловых блокировок, освобождение сетевых сокетов, выполнение финальных очищающих операций

#golang

https://kodikapusta.ru/news/8592-graceful-shutdown
👍21
Netflix реклама

Netflix рассказывает как они принимают и обрабатывают кучу рекламных событий

Система обработки рекламных событий Netflix, запущенная совместно с Microsoft в 2022 году, это целый набор сервисов: Microsoft Ad Server, Netflix Ads Manager и Ad Event Handler, для эффективного управления рекламными запросами.

Для масштабируемости и постоянного роста Netflix позже внедрила Ads Metadata Registry - централизованное хранилище метаданных рекламы. Это оптимизирует производительность за счёт ссылок на метаданные вместо встраивания трекинг-информации в клиентские токены.

Реклама повсюду

#adtech

https://kodikapusta.ru/news/z4bd-netflix-reklama
1🔥1
Про Rust - просто

Автор делится накопленным опытом, чтобы помочь читателям быстро освоить ключевые концепции и избежать фрагментарного понимания, с которым часто сталкиваются при изучении разрозненных материалов по Rust.

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

Если вы, как и я, уже несколько раз попытались подступиться к языку, то добро пожаловать в статью

#learn #rust

https://kodikapusta.ru/news/7r9e-pro-rust-prosto
👍41
sync.WaitGroup

WaitGroup - это очень удобный и на первый взгляд очень простой инструмент. Но есть несколько заковыристых моментов, которые могут стрельнуть в колено. Бездумное использование sync.WaitGroup без полного понимания его работы может легко привести к ошибкам - например, к взаимным блокировкам (deadlock) или некорректной отмене операций.

#golang

https://kodikapusta.ru/news/1565-sync-waitgroup
1