Код и Капуста
رفتن به کانال در Telegram
Авторский канал с интересными ссылками про разработку на Go, Rust, Godot, Flutter, Android, iOS, Aurora. Все ссылки тут https://kodikapusta.ru/ Читать канал в max https://vk.cc/cVOWSP Для связи @akovardin Поддержать канал https://boosty.to/kodikapusta
نمایش بیشتر1 638
مشترکین
+1024 ساعت
+107 روز
+1330 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئن '26
ژوئن '26
+30
در 1 کانالها
مه '26
+31
در 1 کانالها
Get PRO
آوریل '26
+42
در 2 کانالها
Get PRO
مارس '26
+33
در 2 کانالها
Get PRO
فوریه '26
+54
در 2 کانالها
Get PRO
ژانویه '26
+36
در 1 کانالها
Get PRO
دسامبر '25
+43
در 2 کانالها
Get PRO
نوامبر '25
+41
در 2 کانالها
Get PRO
اکتبر '25
+54
در 1 کانالها
Get PRO
سپتامبر '25
+36
در 2 کانالها
Get PRO
اوت '25
+34
در 3 کانالها
Get PRO
ژوئیه '25
+42
در 2 کانالها
Get PRO
ژوئن '25
+39
در 2 کانالها
Get PRO
مه '25
+111
در 5 کانالها
Get PRO
آوریل '25
+55
در 1 کانالها
Get PRO
مارس '25
+72
در 2 کانالها
Get PRO
فوریه '25
+62
در 1 کانالها
Get PRO
ژانویه '25
+73
در 3 کانالها
Get PRO
دسامبر '24
+37
در 1 کانالها
Get PRO
نوامبر '24
+53
در 1 کانالها
Get PRO
اکتبر '24
+75
در 2 کانالها
Get PRO
سپتامبر '24
+96
در 2 کانالها
Get PRO
اوت '24
+75
در 2 کانالها
Get PRO
ژوئیه '24
+57
در 4 کانالها
Get PRO
ژوئن '24
+41
در 3 کانالها
Get PRO
مه '24
+33
در 2 کانالها
Get PRO
آوریل '24
+46
در 2 کانالها
Get PRO
مارس '24
+41
در 1 کانالها
Get PRO
فوریه '24
+38
در 2 کانالها
Get PRO
ژانویه '24
+70
در 2 کانالها
Get PRO
دسامبر '23
+57
در 2 کانالها
Get PRO
نوامبر '23
+68
در 3 کانالها
Get PRO
اکتبر '23
+30
در 4 کانالها
Get PRO
سپتامبر '23
+6
در 0 کانالها
Get PRO
اوت '23
+5
در 0 کانالها
Get PRO
ژوئیه '23
+26
در 0 کانالها
Get PRO
ژوئن '23
+25
در 0 کانالها
Get PRO
مه '23
+42
در 0 کانالها
Get PRO
آوریل '23
+27
در 0 کانالها
Get PRO
مارس '23
+62
در 0 کانالها
Get PRO
فوریه '23
+38
در 0 کانالها
Get PRO
ژانویه '23
+76
در 0 کانالها
Get PRO
دسامبر '22
+42
در 0 کانالها
Get PRO
نوامبر '22
+31
در 0 کانالها
Get PRO
اکتبر '22
+49
در 0 کانالها
Get PRO
سپتامبر '22
+31
در 0 کانالها
Get PRO
اوت '22
+21
در 0 کانالها
Get PRO
ژوئیه '22
+9
در 0 کانالها
Get PRO
ژوئن '22
+32
در 0 کانالها
Get PRO
مه '22
+16
در 0 کانالها
Get PRO
آوریل '22
+223
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 16 ژوئن | +1 | |||
| 15 ژوئن | +10 | |||
| 14 ژوئن | +3 | |||
| 13 ژوئن | +2 | |||
| 12 ژوئن | +1 | |||
| 11 ژوئن | +1 | |||
| 10 ژوئن | 0 | |||
| 09 ژوئن | +2 | |||
| 08 ژوئن | +1 | |||
| 07 ژوئن | +1 | |||
| 06 ژوئن | +1 | |||
| 05 ژوئن | 0 | |||
| 04 ژوئن | +1 | |||
| 03 ژوئن | +1 | |||
| 02 ژوئن | +3 | |||
| 01 ژوئن | +2 |
پستهای کانال
boring
#tools #golang
boring - консольный менеджер SSH-туннелей, который просто работает.
Поддерживает локальный, удаленный проброс портов и SOCKS5, автоматически переподключается при обрывах, читает ~/.ssh/config и умеет работать с Unix-сокетами. Настройка через TOML, есть группировка туннелей и автодополнения для bash/zsh/fish.
Устанавливается через Homebrew, готовым бинарником или можно собрать из исходников
https://kodikapusta.ru/tools/2-boring
Поддержать проект на boosty и читать в MAX
| 2 | Уровни микроархитектуры amd64
#golang
Возможно вы слышали про уровни микроархитектуры. Каждый уровень включает в себя набор расширений набора команд. Тулинг Go предоставляет доступ к настройке уровней через переменную окружения GOAMD64
Наши 64-битные процессоры Intel и AMD совершенствовались на протяжении десятилетий. При компиляции программы на Go компилятор по умолчанию ориентируется на набор инструкций, которому уже почти 20 лет. Полученный бинарный файл работает практически на любом чипе x64, но при этом не использует ни одну из инструкций, добавленных после 2003 года.
Автор поигрался с настройкасм GOAMD64 и сравненил использование разных уровней в Go на библиотеке roaring. Получил большой прирост производительности при переходе на v2 и v3 уровни, но почти ничего от v4.
Можете попробовать такой подход у себя, но перед сменой целевого уровня компиляции тестируйте CPU-нагруженный код
https://kodikapusta.ru/news/1083-urovni-mikroarkhitektury-amd64
Поддержать проект на boosty и читать в MAX | 607 |
| 3 | mvm
#golang #tools
mvm - быстрая стековая виртуальная машина для Go, позволяющая запускать программы напрямую из исходников без компиляции. Целиком совместима с Go, поддерживает встраивание в Go/C-приложения, имеет встроенный REPL, отладчик и тестовый движок. Распространяется как единый статический бинарник со стандартной библиотекой внутри
https://kodikapusta.ru/tools/1-mvm
Поддержать проект на boosty и читать в MAX | 305 |
| 4 | Wi-Fi данные
#golang
Не знаю зачем вам это может буть нужно, но мне всегда нравятся статьи по работе с сетью. Вот в этой статье про то, как добраться до данных Wi-Fi в macOS
Apple удалила утилиту airport в macOS Sonoma 14.4, а ее замена wdutil скрывает BSSID и другие данные как приватную информацию о местоположении.
Единственный легальный обходной путь - вынести вызов CoreWLAN в отдельное мини-приложение-бандл, подписанное Developer ID, которое запрашивает разрешение геолокации один раз и передает полученные данные в основную Go-программу через локальный сокет.
Автор упаковал этот паттерн в Go-библиотеку macwifi и CLI-утилиту macwifi-cli, которые возвращают SSID, BSSID, уровень сигнала, канал и другие параметры Wi-Fi
https://kodikapusta.ru/news/1082-wi-fi-dannye
Поддержать проект на boosty и читать в MAX | 320 |
| 5 | Playdate
Наколбасил для вас одной рукой большущую статью про написание приложений под Playdate и про Gopher протокол.
Playdate — это миленькая ретроконсоль с монохромным дисплеем и "крэнком", который можно крутить. И это дает интересный пользовательский опыт.
Gopher — это сетевой протокол, который был еще до HTTP. И это прикольный и простой протокол.
В статье покажу, как реализовать небольшой Gopher-сервер и как сделать клиент для этого сервера под Playdate. И все это на Golang. Кроме того, в статье много советов, как начать разработку под Playdate на C и Lua, как настроить VSCode и SDK.
https://kodikapusta.ru/articles/28-playdate | 879 |
| 6 | Golang Ревью
#golang
Продолжение серии заметок о неочевидных и опасных поведениях Go, дополнение к первой части 2024 года.
Автор освещает ряд проблем:
- тихие целочисленные переполнения, где тип int зависит от архитектуры, что ведёт к реальным уязвимостям вроде SQL-инъекций через библиотеки сериализации;
- удаление заголовков hop-by-hop в httputil.ReverseProxy, из‑за чего можно сбросить auth-заголовки через Connection;
- мутация net/url при копировании по значению, приводящая к race condition;
- обход аутентификации через null-байты на границе с CGO;
- невызов кастомного MarshalJSON при кодировании по значению — это вызывает утечку sensitive data из‑за reflection;
- а также CSRF-уязвимости из‑за пропущенной валидации Content-Type в паре с игнорированием лишних байт encoding/json.
К статье прилагаются semgrep-правила для поиска этих паттернов.
https://kodikapusta.ru/news/1081-golang-rev-iu
Поддержать проект на boosty и читать в MAX | 937 |
| 7 | mvm
mvm - быстрая стековая виртуальная машина для Go, позволяющая запускать программы напрямую из исходников без компиляции. Целиком совместима с Go, поддерживает встраивание в Go/C-приложения, имеет встроенный REPL, отладчик и тестовый движок. Распространяется как единый статический бинарник со стандартной библиотекой внутри
https://kodikapusta.ru/tools/1-mvm | 1 |
| 8 | Свой Max с E2E
#rust
Статья про кастомный клиент для Max с сквозным шифрованием и все это на Rust. Отличный хобби проект, я теперь тоже такое хочу
https://kodikapusta.ru/news/1080-svoi-max-s-e2e
Поддержать проект на boosty и читать в MAX | 381 |
| 9 | Revo
#zig #lang
На эту пятницу у меня вас новый язык программирования, написанный на Zig
Revo - выразительный динамически типизированный язык программирования, написанный на Zig. Поддерживает пайпы, сопоставление с образцом, встроенные каналы и "горутины", first-class тесты, и LSP-сервер. Имеет C API для встраивания
https://kodikapusta.ru/news/1077-revo
Поддержать проект на boosty и читать в MAX | 422 |
| 10 | Claude Code
#ai
Практическое руководство по продвинутому использованию Claude Code: от базовых промптов - к настройке .claude/ директории, CLAUDE.md, скиллов, сабэджентов, плагинов, MCP и параллельных сессий в worktree.
Если вдруг вы решили не просто использовать Claude как автодополнение и начать настраивать его как программируемого агента с верификацией, изолированными контекстами и "компаундирующейся" конфигурацией, где каждый ревью улучшает правила
Ну а что, такие уж времена, приходится
https://kodikapusta.ru/news/1079-claude-code
Поддержать проект на boosty и читать в MAX | 498 |
| 11 | Детектив
#fun
Детективная история про взлом колонки
Исследователь обнаружил критические уязвимости в саундбаре Creative Sound Blaster Katana V2X: прошивка не проверяет цифровую подпись, только SHA-256 хеш, а BLE-соединение не требует аутентификации для отправки CTP-команд.
Атакующий в радиусе ~15 метров может без сопряжения загрузить кастомную прошивку, которая превращает колонку в подслушивающее устройство или эмулировать USB-клавиатуру, которая исполняет произвольные команды на подключенном ПК
Отак от
https://kodikapusta.ru/news/1078-detektiv
Поддержать проект на boosty и читать в MAX | 485 |
| 12 | Как работает интернет
#learn #fun
Туториал объясняет, как работают TCP-серверы, начиная с теории - что такое сокеты, TCP-соединения, порты, фрагментация и сборка пакетов. И заканчивая практической реализацией простого TCP-эхо-сервера и клиента на Python.
Автор последовательно разбирает каждый шаг: создание сокета, привязка к адресу, перевод в режим listening, принятие соединений через accept, чтение и запись данных, а также корректное закрытие сокетов, поясняя, что скрывается за каждым системным вызовом
Для многих тут не будет ничего нового, но прикольно что автор старается рассказать внутрянку
https://kodikapusta.ru/news/1076-kak-rabotaet-internet
Поддержать проект на boosty и читать в MAX | 447 |
| 13 | Эээксперименты
В Go есть "экспериментальные" возможности, чтобы вы могли опробовать новые функции или изменения в поведении до того, как они будут окончательно зафиксированы. Но знаете ли вы, как их найти и включить или как они переходят в статус общедоступных? Алекс объясняет, как работает эта система.
https://kodikapusta.ru/news/1075-eeeksperimenty
Поддержать проект на boosty и читать в MAX | 1 309 |
| 14 | Files.md
#tools
Files.md — minimalistic PWA для заметок, задуманная как "тихое приватное пространство для мышления". Это local-first приложение, где все данные хранятся в обычных .md-файлах прямо на устройстве, без отправки на сервер.
Автоматическая сортировка по папкам, поддержка Markdown, бэклинков, задач и чеклистов. А киллер-фича - это чат-интерфейс для быстрого сброса мыслей. Я джва года такого ждал
Автор строил проект 5 лет и настаивает: важнее думать головой, а не коллекционировать заметки. Второй мозг без развития первого мозга — иллюзия продуктивности
https://kodikapusta.ru/news/1074-files-md
Поддержать проект на boosty и читать в MAX | 474 |
| 15 | Код руками
#ai
Автор 7 месяцев вайб-кодил TUI-дашборд для Kubernetes GPU-кластеров на Go с помощью Claude и в итоге переписывает с нуля вручную на Rust.
Проблема в том, что AI отлично генерирует отдельные фичи, но не архитектуру — каждый новый запрос добавлял очередной if в 1690-строчный model.go, где 110 веток switch и 9 ручных обнулений полей для очистки состояния предыдущего вью.
В итоге получаем god-object, магические индексы ra[3] вместо типов, data race в фоновых обновлениях и расползание скоупа.
Архитектуру должен писать человек и фиксировать в CLAUDE.md. Вайб-кодинг даёт иллюзию бесплатных фич, но сложность системы никуда не девается
https://kodikapusta.ru/news/1073-kod-rukami
Поддержать проект на boosty и читать в MAX | 485 |
| 16 | Prolog с покемонами
#lang
Автор объясняет основы Prolog на примере данных о покемонах — их типах, характеристиках, атаках и эффективности.
Prolog позволяет формулировать запросы вроде "какие особые атаки, суперэффективные против любого покемона команды соперника, знает мой Tornadus?" на порядок короче и понятнее, чем аналогичный SQL или формулы в Google Sheets.
Автор демонстрирует, как легко добавлять правила простым добавлением предикатов, без изменения логики, например, исключить дабл-баттл атаки, учесть способность Prankster, дающую +1 priority статусным ходам.
Prolog идеален для моделирования сложных правил и отношений, а основной вызов — превратить этот DSL в веб-интерфейс, доступный не-программистам
https://kodikapusta.ru/news/1072-prolog-s-pokemonami
Поддержать проект на boosty и читать в MAX | 466 |
| 17 | Mini Micro
#fun
Mini Micro — десктопное приложение для Windows, macOS и Linux, симулирующее ретро-домашний компьютер на базе языка MiniScript.
Такая штука будет интересна как для обучения программированию новичков, так и для разработки игр и симуляций опытными разработчиками.
Mini Micro имеет на борту API для пиксельной, спрайтовой и тайловой графики, звука и музыки, текстового дисплея, работы с файлами и изображениями, а также поддержку клавиатуры, мыши и геймпадов. Приложение работает идентично на всех платформах, обеспечивая единообразную среду для разработки.
Миленько
https://kodikapusta.ru/news/1069-mini-micro
Поддержать проект на boosty и читать в MAX | 446 |
| 18 | TigerFS
#golang
Файловая система — это просто API. А TigerFS — это файловая система, работающая поверх PostgreSQL. Файлы становятся строками в БД, директории — таблицами, а YAML-фронтматер — колонками.
Поддерживается два режима. В "file-first" монтируешь БД и работаешь с обычными файлами через vim/cp/mv с полной ACID-транзакционностью. И "data-first", когда монтируешь существующую PostgreSQL и исследуешь её как файловую систему. На Linux используется FUSE, на macOS — NFS.
Автор демонстрирует блог на Markdown-файлах, в котором каждый пост — это одновременно файл и строка в tigerfs.posts с колонками title, author, tags, body.
Такой подход должен быть полезен для AI-агентов, которые любят работать с файлами, но получают под капотом транзакции, конкурентность и версионирование PostgreSQL
https://kodikapusta.ru/news/1063-tigerfs
Поддержать проект на boosty и читать в MAX | 1 418 |
| 19 | MS-DOS
#fun
Microsoft открыла исходный код самой ранней из известных версий DOS — 86-DOS 1.00, которая предшествовала MS-DOS и была создана Тимом Патерсоном для Seattle Computer Products.
Исходники не сохранились в цифровом виде — их восстановили по бумажным распечаткам участники "DOS Disassembly Group" под руководством Юфэна Гао и Рика Чини, так как современные OCR-системы не справлялись с качеством старых принтов.
Код выложен в том же GitHub-репозитории Microsoft, где уже хранятся открытые версии MS-DOS 1.25, 2.0 и 4.0.
Это уже настоящая программная археология
https://kodikapusta.ru/news/1071-ms-dos
Поддержать проект на boosty и читать в MAX | 480 |
| 20 | 58 720 256 ключей
#rust
Статья о крупном инциденте в рабочем процессе LinkedIn, когда их база данных, написанная на Rust, испытывала 15-секундные зависания из-за того, что стандартная библиотечная HashMap достигла ровно 58 720 256 ключей и вызвала автоматическое изменение размера.
Выделение огромного объема памяти через mmap, необходимое для расширения таблицы, блокировало всё адресное пространство процесса. Этот случай показывает, как стандартное поведение коллекций в языках программирования может создавать серьёзные системные узкие места уровня исполнения при работе на больших масштабах.
Думайте головой, даже когда пишете на Rust
https://kodikapusta.ru/news/1067-58-720-256-kliuchei
Поддержать проект на boosty и читать в MAX | 475 |
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
