Запилил себе шпаргалку по Axum. Пока неплохо полходит для написания маленьких сервисов для всяких приколю и обучению #rust
https://kodikapusta.ru/articles/rust-web-server
https://kodikapusta.ru/articles/rust-web-server
👍5❤3
OpenAPI
Библиотека для валидации и парсинга OpenAPI-спецификации. Ребята из Speakeasy зарабатывают на разработке SDK. У них есть специальная консольная утилита, через которую можно сгенерировать SDK по любой спецификации, но за денежку.
На самом деле, это реально проблема. Все опенсорсные генераторы для Go по OpenAPI уебищные. Я тут хотел наколбасить либу для ОРД - и прям нет ничего приличного.
Расскажите, кто какими генераторами SDK по OpenAPI пользуется
#golang
https://kodikapusta.ru/news/3ag5-openapi
Библиотека для валидации и парсинга OpenAPI-спецификации. Ребята из Speakeasy зарабатывают на разработке SDK. У них есть специальная консольная утилита, через которую можно сгенерировать SDK по любой спецификации, но за денежку.
На самом деле, это реально проблема. Все опенсорсные генераторы для Go по OpenAPI уебищные. Я тут хотел наколбасить либу для ОРД - и прям нет ничего приличного.
Расскажите, кто какими генераторами SDK по OpenAPI пользуется
#golang
https://kodikapusta.ru/news/3ag5-openapi
👍2❤1
Космические захватчики
Так-так-так. У меня для вас идеальное развлечение на новогодние праздники - небольшой курс по написанию игры про космических захватчиков. И всё это на Zig!
В долгие праздники как раз есть возможность подучить новый, стильный и молодёжный язык программирования
#zig
https://kodikapusta.ru/news/0bhq-kosmicheskie-zakhvatchiki
Так-так-так. У меня для вас идеальное развлечение на новогодние праздники - небольшой курс по написанию игры про космических захватчиков. И всё это на Zig!
В долгие праздники как раз есть возможность подучить новый, стильный и молодёжный язык программирования
#zig
https://kodikapusta.ru/news/0bhq-kosmicheskie-zakhvatchiki
🔥3❤2
Картинки на C
Учимся писать на чистом С. В видосе автор показывает как на чистом C просмотрщик картинок. Дело непростое, но очень интересное. Особенно доставили эмоции автора, когда все заработало
А еще видео теперь можно смотреть прямо на сайте kodikapusta.ru. Чуть меньше редиректов
#kod #fun
https://kodikapusta.ru/news/8694-kartinki-na-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
Любая база данных гарантирует надёжность. Записывайте данные, получайте подтверждение, спите спокойно. Но что происходит между вызовом 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
Автор запрогал клон 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
Легендарный российский журнал об играх и гик-культуре возвращается!
На ностальгии играют, собаки. Но я себе уже заказал
Дебютный номер посвящён масштабной ретроспективе индустрии за почти 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
Фасетирование - это способ обобщения результатов поиска. Когда вы вводите запрос вроде "динозавр", вы не просто запрашиваете список подходящих документов, вы также думаете о том, какие виды динозавров представлены в этом наборе результатов? Возможно, там 87 плотоядных, 112 травоядных и 41 всеядный. Каждый элемент в этой разбивке - количество результатов, сгруппированных по атрибуту, - это фасет. Фасеты позволяют просматривать результаты, фильтруя их по структурированным полям
#db
https://kodikapusta.ru/news/lb3s-fasety-v-paradedb
Ретраи
Статья про обработку сбоев и ретраи в Go приложении. Мало воды и много кода. Рассмотрено довольно много всяких нюансов вроде джитера и предохранителя
#golang
https://kodikapusta.ru/news/m8p6-retrai
Статья про обработку сбоев и ретраи в Go приложении. Мало воды и много кода. Рассмотрено довольно много всяких нюансов вроде джитера и предохранителя
#golang
https://kodikapusta.ru/news/m8p6-retrai
🔥4❤1
Блоки в Rust
В rust почти все - выражение, а значит возвращает результат. Автор открыл для себя использование блоков и показывает как можно красиво структурировать код с их помощью
#rust
https://kodikapusta.ru/news/j9cp-bloki-v-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
На конференциях и в статьях обычно можно услышать скепсис: "Очередь на PostgreSQL? Не стоит даже пытаться". Действительно, подобных попыток было много, и почти все сталкивались с типовыми проблемами - от блокировок до деградации производительности.
Тем не менее в реальности у многих крупных компаний всё равно есть свои очереди, построенные поверх SQL‑баз — как PostgreSQL, так и MySQL
#db
https://kodikapusta.ru/news/v9wc-ochered-na-pg
Пишем traceroute
В статье автор рассказывает как написать свой собственный traceroute на Go. Отличная практическая статья, которая стимулирует копаться в подробностях и разбираться как работает интернет
#golang
https://kodikapusta.ru/news/3535-pishem-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
Дедлоки, состояния гонки и утечки горутин - это, пожалуй, три самые распространённые проблемы в параллельном программировании на 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
Даешь больше игровых движков на Go!
Kaiju - это игровой движок для 2D/3D-игр, написанный на Go (Golang) и использующий Vulkan. Цель разработки движка - создать новый тип игрового движка, используя современный, простой и низкоуровневый язык программирования, с акцентом на простоту и понятность.
#golang
https://kodikapusta.ru/news/31qg-kaiju
👍2❤1😱1
Зависимости
Когда мем выходит из под контроля. Разработчик запилил тулзу, которая рендерит зависимости вашего приложения как в том самом меме (на картинке выше). Самый полезный инструмент
Поддерживаемые языки: python, rust, javascript, ruby, php, java, go
#fun #golang
https://kodikapusta.ru/news/w164-zavisimosti
Когда мем выходит из под контроля. Разработчик запилил тулзу, которая рендерит зависимости вашего приложения как в том самом меме (на картинке выше). Самый полезный инструмент
Поддерживаемые языки: python, rust, javascript, ruby, php, java, go
#fun #golang
https://kodikapusta.ru/news/w164-zavisimosti
🔥4❤1
Почему любят Rust
Во-первых, это надёжность. Людям нравится принцип "если компилируется, значит, работает".
Другой аспект, конечно же, - это эффективность. Это особенно актуально для очень крупных (центры обработки данных) и очень маленьких (встроенные системы) масштабов.
Ну и блеизинг фаст, конечно
#rust
https://kodikapusta.ru/news/dpre-pochemu-liubiat-rust
Во-первых, это надёжность. Людям нравится принцип "если компилируется, значит, работает".
Другой аспект, конечно же, - это эффективность. Это особенно актуально для очень крупных (центры обработки данных) и очень маленьких (встроенные системы) масштабов.
Ну и блеизинг фаст, конечно
#rust
https://kodikapusta.ru/news/dpre-pochemu-liubiat-rust
👍5❤1
PatchworkOS
Гляньте что нашел на просторах интернета - маленькая операционная система для обучения операционным системам
PatchworkOS - это модульная операционная система, не соответствующая стандарту POSIX, для архитектуры x86-64, которая строго следует принципу "всё является файлом" в стиле Plan9. Она написана с нуля на C и ассемблере и предназначена для использования в образовательных и экспериментальных целях.
#learn #kod
https://kodikapusta.ru/news/5ajh-patchworkos
Гляньте что нашел на просторах интернета - маленькая операционная система для обучения операционным системам
PatchworkOS - это модульная операционная система, не соответствующая стандарту POSIX, для архитектуры x86-64, которая строго следует принципу "всё является файлом" в стиле Plan9. Она написана с нуля на C и ассемблере и предназначена для использования в образовательных и экспериментальных целях.
#learn #kod
https://kodikapusta.ru/news/5ajh-patchworkos
🔥4❤1
В этом году больше не будет постов. Но я расскажу вам, как весь год подбирал для вас полезные ссылки. Надеюсь, вам будет интересно, и мы станем чуть ближе друг к другу.
За этот год обновился и улучшился сайт kodikapusta.ru. На сайте у меня небольшая админка, которая работает на PocketBase, кстати. Эта админка умеет публиковать посты в мои каналы и на самом сайте. Туда я всю неделю заношу интересные мне материалы. Нахожу я их в блогах и рассылках, на которые подписан в Feedly — это мой основной рабочий инструмент для поиска интересностей.
На выходных я сажусь за работу и начинаю разбирать всё, что накидал за неделю. Я составляю расписание с тремя публикациями в день. Нужно выбрать самые интересные ссылки, а ещё загрузить видео в группу vkvideo.ru/@kodikapusta. Я стараюсь поменьше публиковать заВПНных ресурсов, поэтому видео скачиваю и загружаю на VK Video — мне так самому потом удобнее смотреть, а в группе скапливается интересная подборка. Кстати, по Godot видео заливаются в отдельную группу vkvideo.ru/@godotvideos, надеюсь, в следующем году я займусь ей плотнее.
Чтобы разобрать накопившиеся новости и составить график публикаций, у меня уходит минимум 3-4 часа. Да, новости публикуются по расписанию, и в течение недели я почти ничего с ними не делаю, но на выходных приходится тратить ощутимое количество времени.
В этом году появился еще один канал — @githubopensauce, где я публикую только ссылки на интересные репозитории. Кроме того, все еще на плаву бессмертный @gophernews, куда я репощу посты про Go.
И всё это для того, чтобы вы побольше узнали о прикольных штуках ❤️
За этот год обновился и улучшился сайт kodikapusta.ru. На сайте у меня небольшая админка, которая работает на PocketBase, кстати. Эта админка умеет публиковать посты в мои каналы и на самом сайте. Туда я всю неделю заношу интересные мне материалы. Нахожу я их в блогах и рассылках, на которые подписан в Feedly — это мой основной рабочий инструмент для поиска интересностей.
На выходных я сажусь за работу и начинаю разбирать всё, что накидал за неделю. Я составляю расписание с тремя публикациями в день. Нужно выбрать самые интересные ссылки, а ещё загрузить видео в группу vkvideo.ru/@kodikapusta. Я стараюсь поменьше публиковать заВПНных ресурсов, поэтому видео скачиваю и загружаю на VK Video — мне так самому потом удобнее смотреть, а в группе скапливается интересная подборка. Кстати, по Godot видео заливаются в отдельную группу vkvideo.ru/@godotvideos, надеюсь, в следующем году я займусь ей плотнее.
Чтобы разобрать накопившиеся новости и составить график публикаций, у меня уходит минимум 3-4 часа. Да, новости публикуются по расписанию, и в течение недели я почти ничего с ними не делаю, но на выходных приходится тратить ощутимое количество времени.
В этом году появился еще один канал — @githubopensauce, где я публикую только ссылки на интересные репозитории. Кроме того, все еще на плаву бессмертный @gophernews, куда я репощу посты про Go.
И всё это для того, чтобы вы побольше узнали о прикольных штуках ❤️
12❤11👍4🔥2🎉1