Feed aggregator

Пилим игровой мультиплеерный сервер на базе esp32: завершение. Портируем игру на esp32

Habr.com - Thu, 04/03/2025 - 18:01
Картинка Freepik

Итак, в прошлой части статьи мы начали довольно интересное дело — написание своей собственной мультиплеерной игры, которая бы запускалась на esp32, используя её как сервер.

Сегодня мы продолжим это дело и закончим наш проект!

Сразу небольшой спойлер: мы сделаем минимально необходимое, набросав основу игры и добившись её устойчивой работы, в то время как дополнительные «плюшки» — игровой счёт, компьютерные противники (кстати, было бы любопытно прикрутить в этом качестве к esp32 нейросеть!) и прочие улучшающие элементы — вы можете сделать самостоятельно, взяв за основу тот код, который будет в конце статьи. Для тех, кто не в курсе, что такое esp32, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак... Читать дальше →

Быстрая установка и обзор Gotify — удобного сервиса для пуш-уведомлений и автоматизации задач

Habr.com - Thu, 04/03/2025 - 18:00

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

Читать далее

slots в Python

Habr.com - Thu, 04/03/2025 - 17:41

Привет, Хабр!

Сегодня мы познакомимся с механизмом slots в Python, который способен значительно оптимизировать использование памяти. Этот инструмент особенно полезен в системах, где необходимо создать миллионы объектов, позволяя избежать утечек памяти и тормозов. Каждый экземпляр класса по умолчанию хранит свои атрибуты в словаре, что предоставляет гибкость, но также увеличивает расход памяти.

Использование slots позволяет заранее определить набор атрибутов класса, исключая создание дополнительного словаря и, как следствие, снижая объем памяти, занимаемой каждым объектом.

Читать далее

Регулярные выражения: как научиться читать между строк

Habr.com - Thu, 04/03/2025 - 17:40

Представьте: нужно проверить документ или веб-страницу и найти повторяющиеся слова, чтобы, скажем, заменить их. А если найти нужно не просто слова, а электронные адреса, которые бывают разными.

Решение этой задачи существенно упростит использование регулярных выражений.

Регулярные выражения или regex (от англ. regular expression) – это особый синтаксис для описания шаблонов поиска информации. С их помощью можно искать, заменять или извлекать данные из текста с высокой точностью. В основе регулярных выражений лежат символы, которые задают правила для поиска, например, всех цифр или слов, начинающихся на определенную букву. Регулярные выражения позволяют описать сложные условия поиска в простой и читаемой форме, что делает их незаменимыми для различных задач.

Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации.

Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.

Читать далее

Как мы сделали битву разработчиков

Habr.com - Thu, 04/03/2025 - 17:32

Вот тут два игрока соревнуются, кто быстрее решит задачу

Вообще-то мы ничего специально не придумывали, как-то всё само получилось с Code Battle. Взяли простую задачу по информатике, добавили мультиплеер, чтобы два разработчика видели код друг друга, и предложили приз тому, кто пройдёт тесты быстрее.

И что-то всем внезапно понравилось. Причём так, что в итоге этим сервисом пользуются даже в Яндексе и других крупных компаниях на мероприятиях для разработчиков, а также в эпическом соревновании разных вузов.

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

Можно использовать любой язык из 16 доступных, гуглить в процессе — пожалуйста (если успеете), тырить чужой код и отлаживать у себя быстрее, чем это сделает оппонент, — тоже не проблема.

В итоге получились очень забавные соревнования. Читать дальше →

Почему пациенты откладывают лазерную коррекцию? 5 неудобных вопросов — 5 честных ответов

Habr.com - Thu, 04/03/2025 - 17:25

Как хирург-офтальмолог с 30-летним стажем, я ежедневно отвечаю на вопросы пациентов о лазерной коррекции зрения. Страхи, мифы, сомнения — всё это может надолго остановить решение. В этой статье я честно и без пиара расскажу, чего действительно стоит бояться, а чего — нет. Если вы задумывались о свободе от очков и линз, но не решались сделать первый шаг, эта статья для вас.

Читать далее

Сохранится всё: как возник Internet Archive и какова его дальнейшая судьба

Habr.com - Thu, 04/03/2025 - 17:19

Internet Archive или Архив интернета занимается поиском и хранением накопленной информации: будь то книги, видео или программное обеспечение. В 2024 году сервис подвергся хакерской атаке, что привело к утечке данных 31 млн пользователей. Также на организацию неоднократно подавали в суд из-за нарушений в сфере интеллектуальной собственности. Рассказываем в нашей статье историю взлетов и падений Архива.

Читать далее

Как эксперимент помог распутать спагетти-код: применяем DDD-Lite на микросервисах

Habr.com - Thu, 04/03/2025 - 17:18

Ситуация, знакомая многим: разрабатываем сервис, пилим в нём фичи, развиваем продукт… но постепенно всё выходит из под контроля. Кодовая база разрастается, зависимости становятся сложнее. Команда разработчиков тратит больше времени на распутывание существующих проблем, чем на создание новой функциональности.

Хорошая новость: распутать спагетти-код можно по-разному, и иногда срабатывают не самые очевидные способы. В нашем случае помогла комбинация действий: не просто выделение части кода в отдельные микросервисы, но и параллельная реализация архитектурного подхода DDD Lite (в связке с принципами чистой архитектуры).

О том, как в рамках кейса мы избавились от спагетти-зависимостей, поделили сервис на чёткие слои, упростили поддержку и масштабирование кода, — рассказываем под катом. Плюс делимся рекомендациями: кому и при каких сценариях связка «DDD Lite + микросервисы» может пригодиться.

Читать далее

Безопасность AI-агентов в Web3. Часть 1: архитектура, уязвимости и старые добрые джейлбрейки

Habr.com - Thu, 04/03/2025 - 17:17

В последние годы мы наблюдаем активный рост популярности LLM-моделей и интереса к их интеграции в Web3-приложения, такие как DAO и dApp-боты или автоматические трейдеры. Представьте: смарт-контракт управляет финансами, а подключённая языковая модель принимает решения, основываясь на анализе новостей или команд пользователей. Ещё недавно такая идея казалась футуристичной, однако сегодня, в 2025 году, web3 AI-агенты, взаимодействующие с блокчейном и децентрализованными системами, стали реальностью.

Многие уже слышали истории о том, как пользователи вынуждают LLM-модели отвечать на неэтичные вопросы, сочинять матерные стихи и совершать другие «шалости». Однако в контексте web3 подобные нестандартные поведения моделей могут привести к реальным и ощутимым финансовым последствиям. В этой статье мы рассмотрим устройство web3 AI-агентов, проанализируем возможные векторы атак, обсудим актуальные jailbreak-методы и разберём несколько конкурсных задач на примерах из личного опыта.

Читать далее

React 19: что нового, что полезного, и куда мы движемся

Habr.com - Thu, 04/03/2025 - 17:17

С вами Дима, старший фронтенд разработчик в Surf, и сегодня мы разберём React 19 — новую версию одной из самых популярных библиотек для создания пользовательских интерфейсов. 

Вперёд, к подробному разбору основных фичей, оценке их плюсов и минусов и исследованию будущего React. 

Читать дальше

Быстро и качественно: как создать 3D-объект для VR с помощью фотограмметрии

Habr.com - Thu, 04/03/2025 - 17:15

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

Привет, Хабр, меня зовут Аким, я дизайнер в IT-компании SimbirSoft. В этой статье я расскажу, как создавать 3D-модели с нужными для VR-тренажеров параметрами с помощью фотограмметрии, и составлю универсальный пайплайн для этого процесса.

Материал будет интересен тем, кто работает с 3D-моделями, а также заказчикам проектов для VR-тренажеров.

Погрузиться в тему

Как создаются шедевры: будни технического писателя

Habr.com - Thu, 04/03/2025 - 17:13

Один из важнейших принципов работы команды «Оптимакрос» — прозрачность. Нам важно, чтобы каждый процесс был понятным и хорошо документированным, чтобы даже новичок быстро разобрался. За созданием такой понятной документации стоят технические писатели. Елена Логунова, технический писатель «Оптимакрос», рассказывает, как превращает сложные технические решения в простые инструкции, без которых невозможна ни прозрачность процессов, ни удобное использование продукта.

Программисты, тестировщики, девопсы и аналитики — кто из них отвечает за выход программного обеспечения? Этот вопрос можно обсуждать долго, но когда речь заходит о документации к ПО, ответ становится однозначным — ею занимается тот, кому поручили эту задачу. В небольших компаниях эту функцию может выполнять практически любой специалист, но если нужно сделать качественно, здесь необходим технический писатель.

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

Читать далее

[Перевод] Настраиваем контекст Copilot: что работает, а что нет

Habr.com - Thu, 04/03/2025 - 17:01

Недавно мы разбирались, как писать код с Cursor. Знать про настройку LLM необходимо всем, кто профессионально использует нейросети в своей работе. Предлагаем перевод еще одной статьи Романа Иманкулова. Автор исследовал GitHub Copilot, чтобы разобраться в составлении инструкций по кодированию и, таким образом, повлиять на предложения, которые генерирует Copilot. Читать дальше →

Автоматизация задач без кодинга: единый реестр, система управления проектами и таск-трекер на основе MWS Tables

Habr.com - Thu, 04/03/2025 - 17:00

Привет, Хабр! Меня зовут Александр Антипов, я продакт-оунер MWS Tables.

Раньше казалось, что «опытные пользователи ПК» — исчезающий вид, но реальность другая: сегодня сотрудники не просто работают с технологиями, а сами автоматизируют рутинные процессы. Без разработчиков и сложных систем — с помощью макросов, таблиц, SharePoint и других инструментов.

Полтора года назад мы в МТС создали для таких кейсов MWS Tables — внутреннюю платформу самостоятельной автоматизации. В этом посте — реальные примеры, как MWS Tables уже применяется на практике. Я покажу, как с помощью MWS Tables реализовали единый реестр для работы с качеством данных, централизованную систему по менеджменту IT-проектов и собственный таск-трекер. Все подробности — под катом.

Читать далее

Импортозамещение службы каталога — не повод для паники: разбираем возможности и риски

Habr.com - Thu, 04/03/2025 - 16:52

Одна из горячих тем импортозамещения в крупных компаниях — переход на отечественные решения единой службы каталога (ЕСК). Пообщавшись с несколькими игроками рынка, рассказываем о возможностях, рисках и вариантах миграции.

Читать далее

Виноград, Фурье и немного наивности: 4 подхода к реализации сверток с простыми примерами

Habr.com - Thu, 04/03/2025 - 16:45

Привет, Хабр! Меня зовут Кирилл Колодяжный, я работаю в YADRO и продолжаю изучать машинное обучение на С++. Я уже писал, как реализовать модели для распознавания лиц на фото и для поиска объекта в пространстве с помощью computer vision. Ссылки на материалы ищите в конце статьи.

Сегодня затрону «математическую» тему и расскажу о реализации сверток: что это за операция и какие есть алгоритмы для вычисления. Приведу простые примеры с кодом, чтобы вы могли опробовать решения.

У статьи будет вторая часть: про особенности реализации одного из этих алгоритмов с использованием CUDA в рамках фреймворка PyTorch и про то, как адаптировать его под свои задачи.

Читать далее

Установка и настройка Flowise AI для создания RAG-агентов

Habr.com - Thu, 04/03/2025 - 16:21

Всем привет!

Это очередная статья из цикла, где мы разбираем различные способы применения ИИ-агентов с RAG — методом оптимизации работы и вывода LLM агента благодаря добавлению в контекст базы знаний. Проще говоря, мы даём модели какой-то объём знаний, по которому она способна работать. Это может быть как документ, по которому будет вестись поиск релевантных данных, так и база данных.

Использование подхода может быть полезно в различных задачах. Такая модель сможет работать с актуальными для вас данными, даже если память самой LLM ограничивается на неактуальных данных какого-нибудь 2022 года.

Сегодня будет рассматриваться очередной веб-интерфейс для взаимодействия с ИИ. И это будет FlowiseAI. Я постараюсь наглядно показать установку и работу с ним так, чтобы смог разобраться даже новичок.

Читать далее

Книга: «System Design: пережить интервью»

Habr.com - Thu, 04/03/2025 - 16:17
Привет, Хаброжители!

Собеседования по проектированию систем — это боль. Даже опытные разработчики спотыкаются о бесконечные open-ended вопросы и доску, на которой нужно за 45 минут набросать архитектуру, способную пережить апокалипсис.

Хорошая новость: наша новинка поможет успешно пройти интервью.

Книга Чжиюна Таня «System Design: пережить интервью» — это гайд по выживанию. В ней нет воды, только практика: как разбирать задачи, выбирать решения и уверенно их продавать эксперту. Автор знает, о чем говорит — его подход помог разработчикам попасть в Amazon, Apple, ByteDance, PayPal и Uber.
Читать дальше →

Как я писал проводник для Wear OS и что из этого вышло

Habr.com - Thu, 04/03/2025 - 16:12

Как я писал проводник для Wear OS и что из этого вышло

О чём тут пойдёт речь:

- Почему я решил этим заняться
- Как я разрабатывал приложение (в общих чертах)
- Обманчивые гайдлайны Google и о том, как я пытался победить банальные (на первый взгляд) проблемы

Читать далее

SPL – мультиязычный вычислительный граф и локальный FaaS на вашем ноутбуке

Habr.com - Thu, 04/03/2025 - 16:07

Привет, Хабр!

Хочу рассказать вам про пет-проект, над которой мы сейчас работаем с товарищем.  Основная идея заключается в создании мультиязычного вычислительного графа с возможностью быстрого развертывания собственной мини-FaaS (Function as a Service) платформы прямо на локальной машине. То есть возможность совмещать наработки из разных источников (на самом деле не только их, а еще и различные сторонние утилиты) посредством локального фреймворка и сервера. Сейчас мы называем этот проект SPL (Smart Pipe Lime).

Читать далее

Who's online

There are currently 0 users and 0 guests online.
Syndicate content