Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Desert Racer: Первая игра, разработанная исключительно на CSS с возможностью управления свайпом

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 376

Я разработал игру Desert Racer, чтобы показать уникальные и инновационные приемы, которые используют только CSS, включая функционал свайпа и детектирования столкновений, выполненные исключительно средствами CSS. На мой взгляд, это первые в своем роде решения. Вы вольны бросить вызов этому утверждению. В данной статье мы рассмотрим упомянутые техники и обсудим общие этапы создания игры со свайп-управлением.

Идеален ли CSS для этой задачи? На данный момент, возможно, нет. Однако CSS начинает заменять некоторые функции обработчиков событий JavaScript. Я надеюсь, что эта статья внесет вклад в продвижение к этой цели. В конце концов, как творческому человеку, мне нравится использовать неподходящие инструменты для создания чего-то, что считается невозможным — это вызов, который я не могу игнорировать. У меня было предчувствие, что это должно работать, и оно оправдалось.

Эта статья предложит вам интерактивный и, надеюсь, вдохновляющий опыт. Приятного прочтения! (По крайней мере, вы можете прокрутить вниз, чтобы посмотреть крутые GIF-анимации)

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Новости

Автоматизируем поиск ценной информации в групповых чатах Telegram с помощью LLM

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 405

Устали мониторить бесконечные групповые чаты в Telegram в поисках важной информации? Решение есть! Пишем компактное приложение на Python, которое будет делать это за нас с использованием LLM.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Этот опасный рефакторинг

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 327

Ошибки во время рефакторинга могут дорого обойтись. Модернизация, ведущая к отказу системы, или внесение новой функциональности параллельно с ошибочными правками явно принесут вред. Но степень вреда может быть разной.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 0

Делаем макросы в Rust

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 284

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

Rust имеет два основных типа макросов: декларативные и процедурные. Каждый из этих типов служит различным целям и предоставляет различные возможности манипуляции с кодом.

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

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

В этой статье мы как раз и рассмотрим то, как их пишут на Rust.

Начнем с декларативных!

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 1

Истории

Стейт-машины: The Good, The Bad and The Ugly

Время на прочтение 7 мин
Количество просмотров 479

Стейт-машины: The Good, The Bad and The Ugly 

Привет! Меня зовут Дарья Андреева, я тимлид в команде бэкенда Биллинга Яндекс 360. Яндекс 360 объединяет такие сервисы, как Диск, Телемост, Почта и другие, в единую экосистему, а мы собираем их в цельный продукт и реализуем функции оплаты и подписочные модели. 

В статье расскажу, как мы запускали промокоды для студентов, а заодно научились проектировать и писать стейт-машины, и поделюсь, в каких ситуациях такое решение точно не подойдёт.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

Особенности управления реальными устройствами с точки зрения backend разработчика. Часть 1. Разработка на стенде

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 293

Началось всё с того, что я захотел повысить мощность двигателя автомобиля установкой компрессора.

В процессе понадобилось разобраться с Arduino и написать алгоритмы автоматического управления реальными устройствами, формально - управление всего одним моторчиком, но на практике - выявилось несколько подводных камней, о которых не подозреваешь в начале.

Разработка и особенности управления "реальными" устройствами с позиции человека, который раньше не работал ни с Arduino, ни тем более не управлял какими-то устройствами - показались интересными для написания статьи.

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Магия управления игрой через GigaChat (или любой другой моделью)

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 438

Гифка отображает пример использования, а из ограничений - только ваше воображение и кошелек :)

Пример с промптом, кодом и вообще полным проектом - внутри.

И как это работает?
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 6

Нидерланды сделают все, чтобы оставить ASML в стране: миллиардные инвестиции и всесторонняя помощь

Время на прочтение 4 мин
Количество просмотров 6.2K

Привет, Хабр! Недавно мы опубликовали статью «ASML собирается уйти из Нидерландов. Производитель литографов целится на международный уровень». В ней говорилось о том, что производитель самых современных литографов в мире планирует перенести штаб-квартиру из Нидерландов из-за проблем с инфраструктурой и логистикой. Но теперь, кажется, все изменилось: чиновники решили помочь компании решить все эти проблемы. Подробности под катом!
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 12

Управление электромеханической системой на основе ДПТ. Метод желаемой ЛАЧХ и другие средства Matlab

Время на прочтение 13 мин
Количество просмотров 353

Частой задачей при обучении теории автоматического управления является расчет корректирующего устройства методом желаемой ЛАЧХ. Эта задача дается для ознакомления с большим миром управления в частотной области.
Зачем вообще частотный метод, когда есть модальный?
Дело в том, что в 1978 году Джоном Дойлом в статье Guaranteed Stability Margins for LQG Regulators было показано, что для LQG регуляторов не существует гарантированного запаса устойчивости, и поэтому в зависимости от объекта управления, шума и помех в каналах управления и измерения, LQG регулятор может быть сколь угодно чувствительным к неопределенности в модели и временным задержкам, а значит он может быть сколь угодно не надежным (робастным).
В данной статье покажем несколько способов расчета компенсатора частотными методами, помимо метода желаемой ЛАЧХ, в пакете Matlab с использованием Control System Toolbox.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

Как донести секреты до dev-тачки и не пролить?

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 1.6K

Чем дольше работаю, тем больше вижу разнообразных практик по работе с секретами. Некоторые рабочие, другие — нет, а от части просто берёт оторопь. В статье я разберу варианты и расскажу о плюсах и минусах разных подходов.

Поговорим мы о секретах в общем, но с практической точки зрения сфокусируемся именно на работе с секретами на машинах разработчиков: как их туда безопасно доставить и употребить.

Этот текст — продолжение серии CI/CD в каждый дом, в прошлый раз мы обсуждали, как организовать сборочный цех базовых docker-образов.

TL;DR: На dev-тачках должны светиться только персональные/локальные секреты. Короткоживущие секреты лучше вечных. Храним безопасно. Передаём шифрованно. Употребляем сессионно.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 1

О Wikidata для тех кто вообще не слышал: открытая база данных, сестринский проект Википедии — с ней же и интегрирован

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.2K

Здравствуйте, на Хабре не много о Викиданных, хочу рассказать об этом бесплатном открытом интересном и полезном сервисе. Веб интерфейс располагается по адресу https://www.wikidata.org/wiki/Wikidata:Main_Page.

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 5

PostgreSQL 17: Часть 4 или Коммитфест 2024-01

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 2K


Весна уже в разгаре, а мы вспомним горячие новости самого зимнего, январского коммитфеста. И сразу начнем с козырей.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

Препарируем Wazuh. Часть 1: Базовая установка

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.9K

Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не уверены, что им вообще нужен SIEM. Третьи хотят уйти с иностранных, не поддерживаемых официально в России решений. И наконец, множество организаций не располагают достаточным бюджетом для того, чтобы закупить коммерческий SIEM (не забываем, что помимо лицензий на SIEM нам потребуется еще потратиться на лицензии на поддержку и существенно вложиться в железо).   

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

Этой статьей мы начинаем цикл посвященный работе с Wazuh. Сегодня мы рассмотрим различные варианты развертывания Wazuh, а в последующих статьях поговорим о подключении источников под управлением Linux и Windows, о работе с правилами корреляции и другими основными моментами, связанными с использованием данного решения в качестве SIEM.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн

Рекуррентные сети против трансформеров

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.7K

Или история о том, как научная статья "Вам нужно только внимание..." немного перевернула игру и индустрию ИИ. 

Трансформеры становятся сотами или попросту попадают в самые последние решения сферы NLP. Кстати, заслужили свою популярность они вообще недавно — только в 2017 году, когда курс доллара был 60 рублей, а для ТГ-каналов с новыми ИИ не исчислялись тысячами.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 3

Система инвентаря на Godot. Костыль первый

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 2.8K

Годот, немного костылей и прямые руки (по желанию).

Самый подробный гайд о создании системы инвентаря, без воды, по факту и с кодом!

Начать гайд
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 8

Telegram Desktop и Compose Multiplatform

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.2K

Всем привет! В своей прошлой статье я рассказывал как можно запустить Telegram клиент в качестве backend‑сервиса. В описываемой там библиотеке с тех пор были внесены некоторые оптимизации, и в целом, я остался доволен возможностями, которые получил. После чего возникло желание добавить визуальную часть к имеющемуся бэкенду и заодно изучить что‑то новое для себя. Выбор пал на фреймворк Compose Multiplatform. Давайте сделаем десктопную версию Telegram!

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 0

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 1.4K

Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.

Однажды к нам пришел крупный бренд бытовой техники, который в том числе производит и продает «умную» технику для дома. Нам нужно было в короткие сроки разработать новое мобильное приложение для управления умными устройствами. 

На руках у нас было три устройства — весы, чайник и мультиварка. О том, как они работают, мы знали только из инструкций и теоретической информации на сайте. У нас не было опыта разработки приложений для управления подобными умными устройствами. Также мы не знали, как работает управление по Bluetooth и Wi-Fi.

Проект обещал быть интересным.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 3

Как вручную протестировать веб-API

Время на прочтение 4 мин
Количество просмотров 1.7K


Ранее я рассказывал об основных понятиях и терминологии API. В этой статье я покажу, как применить эти знания и попробовать API с помощью тестирования вручную.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Как выжить на первом испытательном сроке в IT и не только

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 5.8K

Всем привет! Меня зовут Артём Харченков, и я руководитель подразделения разработки программных продуктов в компании Crosstech Solutions Group. Сегодня я расскажу, как успешно пройти свой первый испытательный срок, что нужно делать обязательно и чего лучше не делать. 

Для начала – кратко обо мне, чтобы было понятно, почему мне стоит доверять в таком вопросе.

/слайд обо мне/

Образование у меня ИБ-шное, в ИТ я работаю с 2012 года. За свою карьеру занимался внедрением, был разработчиком, инженером, главным техническим специалистом в группе разработчиков и даже делал проекты практически в одиночку :) В «Кросстех Солюшнс Групп» руковожу разработкой чуть более трех лет. Здесь мы создаем системы для обеспечения безопасности данных, сейчас импортозамещаем зарубежные продукты, ушедшие с российского рынка. К слову, активно нанимаем сотрудников: еще в прошлом году в компании было 50 человек, а в этом году стало уже больше 200.

В моем управлении четыре департамента: разработка, тестирование, системная аналитика и devops, суммарно нас на текущий момент уже 29 человек. За свою карьеру я сам прошел несколько испытательных сроков, а самое главное – повидал много работников, которые его проходили. 

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

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 3

Часть 1. GPU-Based Fuzzing. Что за зверь такой?

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 886

Всем привет!

При изучении темы фаззинг‑тестирования всегда возникает вопрос, насколько сильно можно увеличить количество выполнений приложения в секунду. Иначе говоря — как ускорить фаззинг?

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

И так, с одной стороны мы имеем фаззинг, который надо ускорить, с другой — большое количество вычислительных ресурсов на основе видеокарт из‑за активного развития ИИ. Так почему бы не попробовать использовать эти ресурсы во благо ИБ?

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1