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

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

Для связи @akovardin

Поддержать канал https://boosty.to/kodikapusta
Download Telegram
VictoriaLogs

В статье про VictoriaLogs. Это ресурсоэффективное, быстрое и лёгкое схема-независимое хранилище логов, работающее в виде единого бинарного файла без конфигурации. Оно автоматически индексирует все поля логов, что позволяет мгновенно выполнять запросы на языке LogsQL для фильтрации, агрегации и анализа без предварительного определения схемы

#golang #db

https://kodikapusta.ru/news/evv1-victorialogs
1👍1🔥1
Анкетки

Опрос разработчиков Go 2025 года (5379 респондентов) показал, что 91% программистов довольны языком, ценя его простоту, стандартную библиотеку и инструменты. Главные сложности включают соблюдение идиом Go (33%), отсутствие привычных возможностей из других языков (28%) и поиск надёжных модулей (26%). Большинство разработчиков используют AI-инструменты (53% ежедневно), но удовлетворённость ими умеренная из-за проблем с качеством кода. Удивительно, что 15–25% опрошенных часто обращаются к документации по базовым командам go build, go run, go mod, что указывает на необходимость улучшения хелпа. Также отмечается потребность в более чётких руководствах по best practices, особенно для разработчиков, переходящих с других языков.

#golang

https://kodikapusta.ru/news/io25-anketki
👍31
Ну а что
Forwarded from GitHub Open Sauce
rudnstudent/SkufUp

SkufUp — программа, которая слушает микрофон и ждёт звук открытия банки пива.Когда слышит характерный "пшик" - запускает игру или открывает сайт

#python

https://github.com/rudnstudent/SkufUp
👍31🔥1
ASCII

В статье подробно разбирается создание алгоритма для преобразования изображений и 3D-сцен в ASCII-арт с сохранением чётких границ. Автор критикует распространённый подход, где символы обрабатываются как однородные пиксели, что приводит к размытым и неровным краям. Вместо этого предлагается учитывать форму каждого символа, описывая её многомерным вектором (например, 6D), который отражает плотность заливки в разных частях ячейки.

И вот опять. Откуда у людей столько времени свободного?

#art #fun

https://kodikapusta.ru/news/e2k4-ascii
3
Nature

Пятница! И сегодня у меня для вас новый язык программирования - Nature.
Универсальный язык и компилятор для системного программирования, созданные для разработки высокопроизводительного, безопасного и надежного кроссплатформенного программного обеспечения кратким и элегантным способом.

И по ссылке сразу статья про сравнение производительности с гошкой. Ну да, ну да

#kod #learn

https://kodikapusta.ru/news/1s95-nature
Playdate

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

#golang

https://kodikapusta.ru/news/1h05-playdate
🔥3😁2
Четыре игры

Автор запилил сразу 4 игры для Playdate, используя ИИ. Честно говоря, мне кажется кощунством использовать искусственный интеллект для написания приложений под девайсы, спроектированные Teenage Engineering.

Кстати, в статье есть ссылки на Playdate SDK. Это я забираю

#fun

https://kodikapusta.ru/news/x2k6-chetyre-igry
2
SQL Драйвер

Учимся писать свой SQL драйвер. Точнее, ребята из dolt покажут как они писали драйвер для своей базы. А вся магия возможна благодаря прекрасному пакета database sql driver в Go, который позволяет определить подключение к базе данных, которое любая программа на Go может использовать для взаимодействия с вашим SQL-сервером с помощью одного оператора import

#golang

https://kodikapusta.ru/news/3jjk-sql-draiver
1
Атомики

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

Добро пожаловать в мир создания собственных примитивов синхронизации.

#rust

https://kodikapusta.ru/news/h3mi-atomiki
👍3
Физика полета

Хотели бы вы уметь летать? Я тут статью нашел про аэродинамику. С очень классными интерактивными примерами. В статье подробно исследуется физика полёта, в частности принцип работы аэродинамического профиля (аэродинамического сечения крыла). Автор объясняет, как поток воздуха, обтекающий профиль, создаёт распределение давления, которое генерирует подъёмную силу, позволяющую самолёту летать.

#fun

https://kodikapusta.ru/news/46c1-fizika-poleta
👍4🔥2
Нейрослоп линукс

Вайбкодинг вышел на нновый ровень. Автор создал "Pure Go" среду Linux с помощью Claude. Ну ладно, не совсем прям с нуля создал. Просто вдохновившись примером Армина Роначера, автор попросил Клода перенести эмулятор системы TinyEMU RISC-V Фабриса Беллара с C на Go

#golang

https://kodikapusta.ru/news/vts5-neiroslop-linuks
🔥4😁4
Замыкания

Статья с объяснениями как работают замыкания в Rust. От простого сложного. И еще очень круто, что в статье есть ссылки на песочницы с готовым кодом, который можно попробовать в работе

#rust

https://kodikapusta.ru/news/4tpu-zamykaniia
1
Индексы в постгре

Неплохой гайд про то, как на самом деле работают индексы в PostgreSQL. Индексы помогают находить данные в сотни раз быстрее, но за это приходится платить: они занимают место на диске и могут немного тормозить добавление или изменение записей. Автор доходчиво объясняет, как данные лежат на диске, почему без индекса база читает всё подряд, и как индекс это меняет.

Здесь разобраны все основные типы индексов Postgres: от классического B-tree до более нишевых, вроде GIN для поиска по тексту или JSON и BRIN для огромных таблиц. Есть и полезные лайфхаки - например, как создать частичный индекс, чтобы не индексировать вообще всё, или покрывающий индекс, чтобы не ходить лишний раз к самим данным. В общем, статья даёт чёткое понимание, когда и какой индекс использовать, чтобы твоя база не тупила, и какие подводные камни при этом могут всплыть

#db

https://kodikapusta.ru/news/42q7-indeksy-v-postgre
1👍1
Либы для моков не нужны

Да! Либы для моков действительно не нужны. Наконец это кто-то озвучил. Использование либ для создания моков часто приводит к плохо продуманным тестам и увеличивает время адаптации к кодовой базе.

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

#golang

https://kodikapusta.ru/news/mlvi-liby-dlia-mokov-ne-nuzhny
🔥31😁1
Свой git

В статье автор делится опытом создания своей собственной, упрощённой системы контроля версий, чтобы на практике понять, как работает Git. В основе его системы лежат хеширование содержимого файлов с помощью SHA-256, сжатие данных Zstd и хранение всей истории в виде связанных объектов - файлов, деревьев каталогов и коммитов. Он шаг за шагом описывает процесс написания кода на Rust: от чтения аргументов командной строки и работы с файлами .tvcignore до генерации хешей, формирования объектов коммитов и реализации операции checkout для отката к предыдущим версиям. Проект, названный TVC, наглядно показал, что Git - это, по сути, умное хранилище, где всё адресуется по содержимому, а самой сложной частью оказался разбор собственных форматов данных - в следующий раз автор планирует использовать что-то попроще, вроде JSON

#rust

https://kodikapusta.ru/news/et59-svoi-git
👍21
Не сутультесь

Лучшее приложение для macOS, которое размывает экран, когда вы сутулитесь(как собака).

Posturr использует камеру вашего Mac и фреймворк Apple Vision для отслеживания вашей осанки в реальном времени. Когда оно обнаруживает, что вы сутулитесь, экран постепенно размывается, чтобы напомнить вам выпрямиться. Сохраняйте хорошую осанку - и размытие мгновенно исчезнет

#fun

https://kodikapusta.ru/news/hm88-ne-sutul-tes
🔥7😁41
Логическая репликация

Я тут начал ковырять как работают всякие инстументы для репликации данных из постгри куда-то еще. И это можно делать красиво на гошке. Можно наколбасить свой CDC фреймворк и наслаждаться. Для затравки закинул не свежую статью(но все еще актуальные) как ребята из dolt используют логическую репликацию постгри в своих целях

#golang #db

https://kodikapusta.ru/news/ksy1-logicheskaia-replikatsiia
1👍1🔥1
Erasure codes

В статье представлено введение в новое семейство кодов стирания - Information Chaining, разработанное в Open Cybernetics.

Коды стирания (erasure codes) - это алгоритмы и схемы кодирования, которые решают задачу преобразования исходных данных (сообщения из n символов) в избыточное представление (из m символов, где m > n). Это позволяет восстановить исходные данные даже при потере или «стирании» (erasure) некоторой части закодированных символов.

Автор объясняет, как, модифицируя классическую структуру фильтра Блума (используя его упрощённую версию с одной хеш-функцией), можно организовать "цепочку" битов сообщения, где каждый следующий бит зависит от предыдущего через обновляемое состояние (chain header).

#zig

https://kodikapusta.ru/news/u80t-erasure-codes
1
Godot 4.6

Зарелизился Godot 4.6 и самое главное обновление - наконец-то интерфейс нормально выглядит. Ну и остального много завезли

#godot

https://kodikapusta.ru/news/q2bd-godot-4-6