Код и Капуста
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
Запилил себе шпаргалку по 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👍7
Утечки горутин и synctest

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

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

#golang

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

Даешь больше игровых движков на Go!

Kaiju - это игровой движок для 2D/3D-игр, написанный на Go (Golang) и использующий Vulkan. Цель разработки движка - создать новый тип игрового движка, используя современный, простой и низкоуровневый язык программирования, с акцентом на простоту и понятность.

#golang

https://kodikapusta.ru/news/31qg-kaiju
👍21😱1
Зависимости

Когда мем выходит из под контроля. Разработчик запилил тулзу, которая рендерит зависимости вашего приложения как в том самом меме (на картинке выше). Самый полезный инструмент

Поддерживаемые языки: python, rust, javascript, ruby, php, java, go

#fun #golang

https://kodikapusta.ru/news/w164-zavisimosti
🔥41
Почему любят Rust

Во-первых, это надёжность. Людям нравится принцип "если компилируется, значит, работает".

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

Ну и блеизинг фаст, конечно

#rust

https://kodikapusta.ru/news/dpre-pochemu-liubiat-rust
👍51
PatchworkOS

Гляньте что нашел на просторах интернета - маленькая операционная система для обучения операционным системам

PatchworkOS - это модульная операционная система, не соответствующая стандарту POSIX, для архитектуры x86-64, которая строго следует принципу "всё является файлом" в стиле Plan9. Она написана с нуля на C и ассемблере и предназначена для использования в образовательных и экспериментальных целях.

#learn #kod

https://kodikapusta.ru/news/5ajh-patchworkos
🔥41
В этом году больше не будет постов. Но я расскажу вам, как весь год подбирал для вас полезные ссылки. Надеюсь, вам будет интересно, и мы станем чуть ближе друг к другу.

За этот год обновился и улучшился сайт kodikapusta.ru. На сайте у меня небольшая админка, которая работает на PocketBase, кстати. Эта админка умеет публиковать посты в мои каналы и на самом сайте. Туда я всю неделю заношу интересные мне материалы. Нахожу я их в блогах и рассылках, на которые подписан в Feedly — это мой основной рабочий инструмент для поиска интересностей.

На выходных я сажусь за работу и начинаю разбирать всё, что накидал за неделю. Я составляю расписание с тремя публикациями в день. Нужно выбрать самые интересные ссылки, а ещё загрузить видео в группу vkvideo.ru/@kodikapusta. Я стараюсь поменьше публиковать заВПНных ресурсов, поэтому видео скачиваю и загружаю на VK Video — мне так самому потом удобнее смотреть, а в группе скапливается интересная подборка. Кстати, по Godot видео заливаются в отдельную группу vkvideo.ru/@godotvideos, надеюсь, в следующем году я займусь ей плотнее.

Чтобы разобрать накопившиеся новости и составить график публикаций, у меня уходит минимум 3-4 часа. Да, новости публикуются по расписанию, и в течение недели я почти ничего с ними не делаю, но на выходных приходится тратить ощутимое количество времени.

В этом году появился еще один канал — @githubopensauce, где я публикую только ссылки на интересные репозитории. Кроме того, все еще на плаву бессмертный @gophernews, куда я репощу посты про Go.

И всё это для того, чтобы вы побольше узнали о прикольных штуках ❤️
1211👍4🔥2🎉1