Код и Капуста
1.59K subscribers
2.7K 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
Браузер на 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
Микросервисы?

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

#learn

https://kodikapusta.ru/news/s5wu-mikroservisy
👍4👎21😱1
Смартфоны Fplus R570E на ОС Аврора с RuStore уже в рознице⚡️

В сети Всёсмарт в продаже Fplus R570E — смартфон на доверенной российской ОС Аврора пятого поколения с предустановленным магазином RuStore!

🔒 Безопасность + комфорт
Аврора гарантирует защиту данных, а в RuStore уже ждут приложения:
🔹 Каждая 5-я программа — игра!
🔹 Банки — Альфа-Банк, Т-Банк и др.
🔹 Покупки — Wildberries, Дикси и многое другое

💪 Технические характеристики
🔹 Прочный корпус IP68, ему не страшны пыль и вода
🔹 IPS-экран с диагональю 5,7 дюйма и HD-разрешением
🔹 8-ядерный процессор, 4 ГБ ОЗУ, 64 ГБ памяти
🔹 Поддержка 4G/LTE, GPS/ГЛОНАСС, Bluetooth

📲 Успейте оценить в сети Всёсмарт!

ℹ️ Подробная информация по ссылке.

#АврораОС

@omp_ru
🔥3👎21😱1😢1🫡1
Хендлер ошибок

Простой паттерн, который немного упростит вам жизнь при разработке вашего API.

Автор предлагает использовать врапер для перехвата любых ошибок на уровне роутера. Просто, но эффективный и удобный паттерн

#golang

https://kodikapusta.ru/news/e4en-khendler-oshibok
1
Checkmate

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

Много таких сервисов появляется, надо прям обзор делать. Мне пока больше всего Simon нравится

#utils

https://kodikapusta.ru/news/2d95-checkmate
🔥21