Применение итераторов
Автор делает краткое введение в итераторы Go и рассказывает про полезные шаблоны применения этих самых итераторов
#golang
https://kodikapusta.ru/news/f6j7-primenenie-iteratorov
Автор делает краткое введение в итераторы Go и рассказывает про полезные шаблоны применения этих самых итераторов
#golang
https://kodikapusta.ru/news/f6j7-primenenie-iteratorov
❤1
TikTok из RSS
У автора прикольная идея - сделать не просто RSS-ридер, а RSS-ридер в формате TikTok. Так, чтобы можно было лайкать и дизлайкать новости. А умный алгоритм будет подсовывать вам следующую RSS-новость. В целом, одобряю
#fun
https://kodikapusta.ru/news/ksei-tiktok-iz-rss
У автора прикольная идея - сделать не просто RSS-ридер, а RSS-ридер в формате TikTok. Так, чтобы можно было лайкать и дизлайкать новости. А умный алгоритм будет подсовывать вам следующую RSS-новость. В целом, одобряю
#fun
https://kodikapusta.ru/news/ksei-tiktok-iz-rss
👍3❤1👎1
Секретный режим
Для Go появился интересный пропозал - автоматическое удаление использованной памяти для предотвращения утечек секретных данных.
Новый пакет runtime/secret позволяет запускать функцию в секретном режиме. После завершения работы функции она немедленно удаляет (обнуляет) регистры и стек, которые использовала. Выделения памяти, сделанные функцией, удаляются, как только сборщик мусора решает, что они больше недоступны. Так вы получаете больше конфедициальности при работе с секретами
#golang
https://kodikapusta.ru/news/d1na-sekretnyi-rezhim
Для Go появился интересный пропозал - автоматическое удаление использованной памяти для предотвращения утечек секретных данных.
Новый пакет runtime/secret позволяет запускать функцию в секретном режиме. После завершения работы функции она немедленно удаляет (обнуляет) регистры и стек, которые использовала. Выделения памяти, сделанные функцией, удаляются, как только сборщик мусора решает, что они больше недоступны. Так вы получаете больше конфедициальности при работе с секретами
#golang
https://kodikapusta.ru/news/d1na-sekretnyi-rezhim
👍6❤1
Ассемблер для гоферов
В этой статье автор постарается дать максимально простое введение в Го-ассемблер — зачем и когда он может понадобиться, а также покажет как делать функцию умножения для 256-битных чисел
На хабре уже вышла вторая часть статьи, вроде годно
#golang
https://kodikapusta.ru/news/w2m0-assembler-dlia-goferov
В этой статье автор постарается дать максимально простое введение в Го-ассемблер — зачем и когда он может понадобиться, а также покажет как делать функцию умножения для 256-битных чисел
На хабре уже вышла вторая часть статьи, вроде годно
#golang
https://kodikapusta.ru/news/w2m0-assembler-dlia-goferov
👍2
Ручное управление памятью
Этот туториал исследует ручное управление памятью в Go, обходя встроенный сборщик мусора. В видео показано использование аллокатора памяти jemalloc и проводится сравнение его производительности со стандартным сборщиком мусора Go. Вы узнаете, как отслеживать использование памяти и внедрять ручное выделение и освобождение памяти
#golang
https://kodikapusta.ru/news/eol0-ruchnoe-upravlenie-pamiat-iu
Этот туториал исследует ручное управление памятью в Go, обходя встроенный сборщик мусора. В видео показано использование аллокатора памяти jemalloc и проводится сравнение его производительности со стандартным сборщиком мусора Go. Вы узнаете, как отслеживать использование памяти и внедрять ручное выделение и освобождение памяти
#golang
https://kodikapusta.ru/news/eol0-ruchnoe-upravlenie-pamiat-iu
Побег на кучу
Статья про работу escape анализа и про то, как ваши функции умудряются правильно возвращать. Автор описал все по-простому, но прикольно что сравнил с C. Вернулся к корням так сказать
#golang
https://kodikapusta.ru/news/oi4m-pobeg-na-kuchu
Статья про работу escape анализа и про то, как ваши функции умудряются правильно возвращать. Автор описал все по-простому, но прикольно что сравнил с C. Вернулся к корням так сказать
#golang
https://kodikapusta.ru/news/oi4m-pobeg-na-kuchu
❤1
易语言
Настала пятница, и у меня для вас - новый язык программирования.
易语言 (Easy Language) — это независимо разработанный китайский язык программирования, который подходит для национальных условий и прост в изучении и использовании для людей разного уровня и специализации.
Джависты, напряглись?
#fun #kod
https://kodikapusta.ru/news/ml2n-yi-yu-yan
Настала пятница, и у меня для вас - новый язык программирования.
易语言 (Easy Language) — это независимо разработанный китайский язык программирования, который подходит для национальных условий и прост в изучении и использовании для людей разного уровня и специализации.
Джависты, напряглись?
#fun #kod
https://kodikapusta.ru/news/ml2n-yi-yu-yan
🔥5❤3
Funxy
В эту пятницу аж два языка программирования. Теперь - Funxy. Симпатичный язык, написанный на Go
Funxy (фанкси, fun x(y)) — гибридный язык программирования со статической типизацией, pattern matching и удобной работой с бинарными данными.
Прикольно, что даже в 2025 году имеет смысл писать свои языки
#kod #golang
https://kodikapusta.ru/news/714h-funxy
В эту пятницу аж два языка программирования. Теперь - Funxy. Симпатичный язык, написанный на Go
Funxy (фанкси, fun x(y)) — гибридный язык программирования со статической типизацией, pattern matching и удобной работой с бинарными данными.
Прикольно, что даже в 2025 году имеет смысл писать свои языки
#kod #golang
https://kodikapusta.ru/news/714h-funxy
❤1🔥1
Запилил себе шпаргалку по 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👍6
Утечки горутин и 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