Sssssh

Автор запилил многопользовательскую "Змейку", в которую можно играть прямо в терминале. Вбиваешь ssh snakes.run и погнал.

Самое сложное было заставить все это работать по SSH и не чтобы не сжиралось тонны трафика. Сначала автор мучился с графикой (терминал - не самый игровой интерфейс), но нашел способ рисовать два разноцветных пикселя в одном символе с помощью Unicode-блоков. Потом вплотную занялся трафиком: первая версия сжирала 35 КБ/c, что для кучи игроков было бы слишком много. Пришлось написать свой рендерер, который отправляет не весь экран целиком, а только то, что изменилось. В итоге удалось ужать трафик до 2,5 КБ/с.

Ну и под автор выпилил тормозные библиотеки, закэшировал всё, что можно, и даже влез в настройки SSH, чтобы отключить мусорные пакеты. В итоге его сервер спокойно переваривает 2500 человек и выдает больше 100 миллионов "пикселей" в секунду

Новости

Post Thumbnail

Блокировки в PG

Прикольный итерактивный туториал по всем возможны блокировкам в PostgreSQL. И не только блокировки, автор еще про мониторинг и траблшутинг рассказывает. Я не так плотно знаком с работой блокировок в PostgreSQL и этот туториал прям в сердечко

Post Thumbnail

RwLock

Автор решил ускорить кэш с помощью RwLock, но получил неожиданный результат - код стал работать в 5 раз медленнее, чем с обычным мьютексом. В чём подвох? Оказалось, что даже "чтение" за кулисами заставляет ядра процессора драться за счётчик читателей. Пред...

Post Thumbnail

Бэкрумс

Делаем свой хоррор от первого лица. Симулятор ходьбы в стиле Backrooms. Короткометражный хоррор целиком строится на атмосфере, а она начинается с того, как движется игрок. Мы откажемся от стандартной "ватной" мыши и соберем с нуля тяжелого персонажа и оформим ...

Post Thumbnail

Капасити

В статье объясняется, как работают подсказки ёмкости (capacity hints) в Go для срезов и карт. Срезы имеют явную капасити - это максимальное количество элементов, которое можно в них хранить до перераспределения памяти. В отличие от срезов, у мап нет поняти...

Post Thumbnail

Убер рейт лимиты

В статье описывается эволюция системы ограничения скорости запросов в Uber от разношорстных решений к единой автоматизированной платформе. Изначально каждая команда внедряла собственную логику тротлинга, и это довольно неудобно и сложно в обслуживании. Для...

Post Thumbnail

ublk

В Linux 6+ появился новый фреймворк ublk, который позволяет создавать виртуальные блочные устройства прямо в user space, без написания драйвера в ядре. Теперь можно сделать свой собственный "диск", например, из файла, из сети или из кастомного storage, добавив...

Статьи

Post Thumbnail

Анонимные животные

Знаете эти милые аватарки с животными в общих Google-документах? Они появляются у каждого, кто открывает файл по ссылке. Выбрать себе зверюшку заранее или как-то на неё повлиять нельзя - ваш аватар назначается случайно. Чтобы узнать, в кого вы "превратились", ...

Post Thumbnail

Бекенд на Rust

Создать веб-сервер на Rust не сложно. С помощью фреймворка Axum можно написать веб-сервер без лишних хлопот. На Rust решать задачи и реализовывать веб-сервисы также просто, как и на других языках, а иногда даже проще.

Post Thumbnail

Улучшаем VSCode плагин

VSCode — отличный инструмент для разработки. Я пользуюсь им уже много лет, и он меня полностью устраивал для работы с Go. Расширение vscode-go просто замечательное: оно поддерживает всё необходимое — от сниппетов до отладки через Delve. Но оно кривовато.

Post Thumbnail

Первая игра на Ebitten

Желание писать игры подтолкнуло меня к программированию 20 лет назад. Я стал делать это своей профессией, хотя и создал несколько небольших игр с использованием различных технологических стеков. Но я решил продолжить заниматься программированием игр, и для мен...

События

Post Thumbnail

Я любил этот фронтенд

14 февраля пройдет самая крупная конференция Яндекса для фронтенд-разработчиков — «Я 💛 Фронтенд». На одной площадке соберутся лучшие эксперты индустрии, чтобы поделиться опытом, дать прикладные советы по развитию навыков и зарядить на новые идеи.

Post Thumbnail

Sber Process Mining Conf 2026

22 января 2026 года в Москве состоится ежегодная открытая конференция «Sber Process Mining Conf 2026». Как AI трансформирует Process Mining и влияет на точность и скорость анализа процессов. Можно ли доверять выводам AI-агентов и какое место во всем этом остае...

Post Thumbnail

T-Sync Conf

Встречайте новый формат инженерного диалога T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security- и дата-инженеры, аналитики, DevOps-, SRE-, CI/CD-, AI-, ML-, R...

Post Thumbnail

☃️ Зима близко...

☃️ Зима близко... Как и Java-митап от Мир Plat.Form! Мир Plat.Form — технологическая команда Национальной системы платежных карт (НСПК). Наши самые известные разработки — платёжная система «Мир» и Система быстрых платежей (СБП). Увидимся 27 ноября, 18:00-22:0...

AdTech

Post Thumbnail

Реклама в агентах

Нашел подробности к вчерашней статье про Agentic Roadmap. По ссылке можно почиатать про новую спеку - Agentic RTB Framework Агентская платформа RTB (ARTF) определяет как автономные агенты на основе машинного обучения и искусственного интеллекта могут взаим...

Post Thumbnail

Agentic Roadmap

Техническая лаборатория IAB опубликовала Agentic Roadmap, в которой показано, как можно масштабировать закупки и продажи с помощью искусственного интеллекта, расширяя существующие стандарты, а не внедряя новые, разрозненные. Для издателей это означает, что аге...

Post Thumbnail

ИИ убивает трафик

Генеративный ИИ не просто изменил результаты поиска в прошлом году, он перевернул представление о монетизации в открытом интернете. Так как же обстоят дела у цифровых издателей в эту новую эру поиска контента? Э-э, скажем так, дела обстоят не очень

Post Thumbnail

Сети авторов

К 2026 году пользовательский контент обгонит профессиональные СМИ по объёмам рекламных расходов. Цифры говорят сами за себя: исследование Pew Research Center показало, что примерно каждый пятый американец, в том числе гораздо большая доля взрослых в возраст...