Обновить

Разработка

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

Фиксим залипающий hover на мобильных устройствах

Время на прочтение4 мин
Охват и читатели6.9K

Залипающий hover на мобильных устройствах – частый баг. Раньше мы решали это просто плагином PostCSS Hover Media Feature, он оборачивает все псевдоклассы :hover в медиазапрос @media (hover: hover) {}. Так мы проверяли поддержку hover и отключали его на мобилках. Но во время тестирования одного проекта оказалось, что на некоторых устройствах hover продолжает залипать.

Читать далее

Под Горой: История разработки игры командой

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5.1K

Давно не писал истории о процессе разработки своих конкурсных игр. Исправляюсь.

В этот раз я ввязался в кооперацию, а не в одиночку стал делать игру, как обычно бывает у меня. Уже принимал участие в командной разработке на конкурсы, например, «Антивирус» (или «Cybxus Heart») на Гаминатор 19, «Изгоняющий» на Гаминатор 25, и «Из Тени» на ЗОК 2024.

В прошлых совместных разработках моя роль была исключительно графическая — рисовал графику, делал 3д модели. Короче говоря, художник, но с обсуждением каких-то геймплейных идей. Хотя, я немного программировал в случае с «Антивирус», когда он стал «Cybxus Heart» после конкурса. А когда делаю игру в соло, то я отвечаю за все аспекты: программирование, геймдизайн, графика, музыка и т. д.

Теперь же моя роль — программист! В статье описываю свой опыт работы в команде и смотрю, что из этого получится.

Узнайте о пути игры от концепта до релиза!

Roadmap.sh: дорожные карты для изучения IT, 346k звёзд на GitHub

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

В 2013-м я получил свою первую вакансию джуна. Требования: PHP, MySQL, jQuery. Всё. Я открыл tutorial, за выходные накодил todo-лист, через месяц уже чинил баги в проде.

Вчера смотрел вакансию для джуна. Требования занимали два экрана. Node.js ИЛИ Python ИЛИ Go. React ИЛИ Vue ИЛИ Angular. PostgreSQL + Redis + MongoDB. Docker обязательно. Kubernetes — плюсом. GraphQL знание приветствуется. Плюс микросервисы, CI/CD, облака...

Я посчитал: чтобы формально соответствовать этой вакансии, нужно изучить минимум 15 технологий. На поверхностное изучение каждой — месяц. Итого больше года непрерывной учёбы. Для позиции джуна.

А что сейчас?

Сейчас — это Node.js, Deno, Bun для JavaScript-бэкенда. Go, Rust, Elixir для хайлоад. Python с FastAPI, Django, Flask. Kotlin, Java, Scala для enterprise. Плюс Ruby, PHP (еще жив), C#/.NET... И это только языки и рантаймы. А еще базы: PostgreSQL, MySQL, MongoDB, Redis, Cassandra, ElasticSearch. Очереди: RabbitMQ, Kafka, NATS. Контейнеризация: Docker, Kubernetes, Helm. CI/CD: GitLab, Jenkins, GitHub Actions, CircleCI. Облака: AWS, GCP, Azure.

Бедные джуны. Хотя нет — бедные мы все. Даже опытные разрабы теряются в этом океане, когда делают шаг в сторону. Зоопарк технологий растёт экспоненциально. И вопрос "с чего начать?" и "куда двигаться?" превращается в настоящий паралич выбора.

Читать далее

NVIDIA RTX PRO 2000 Blackwell. На что способен «младшенький GPU» нового семейства профессиональных карт NVIDIA

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8K

Профессиональную видеокарту RTX PRO 2000 Blackwell сама NVIDIA позиционирует как недорогое, компактное и энергоэффективное решение для профессиональных рабочих станций, ускоряющее графику и ИИ-задачи. Но что мы реально получаем за 85000 рублей?

Читать далее

Хроника о том, как новые технологии поселились в нашем видеопроизводственном пайплайне, или чему нас научили нейросети

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

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

Теперь давайте поговорим про оставшиеся этапы нового рабочего процесса.

Читать далее

2026 год без фрустрации: ставим цели и начинаем жить по-настоящему

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.8K

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

Читать далее

How To: XML-config для хранимых процедур MS SQL — создание, разбор, развёртывание

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели6.3K

Всем привет! Меня зовут Александр Гаврилов, я архитектор баз данных и аналитических систем в GRI. Если вы когда-нибудь пытались выполнить одну и ту же операцию с похожими таблицами в разных базах, да ещё и на разных серверах, то знаете, насколько это может быть мучительно.

В этой статье я покажу один из рабочих вариантов, как упростить такую задачу, и заодно расскажу про интересную функцию XQuery, которая может неожиданно помочь.

Читать далее

Мороз по коже: LLM может оценить ваш код, а ИИ-компании — использовать это в своих целях

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели28K

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

Читать далее

Как правильно посчитать выгоды от внедрения PIM-системы

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.8K

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

Читать далее

Танцы с бубном, душевные терзания и комплекс супергероя: как мы новый редактор в «Заметках» разрабатывали

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

Привет, Хабр! Меня зовут Антон Макарычев, я ведущий инженер-программист в команде мобильной разработки kvadraOS. Сейчас мы с коллегами работаем над приложением «Заметки»: уже реализовали Drag-and-Drop между разными экранами в Compose, рисование на холсте, экспорт заметок в PDF или TXT и другие полезные функции. И сегодня я хочу рассказать, как рождалась наша ключевая функциональность — редактор. 

Спойлер: в этой истории будет много боли, падений, преодолений и взлетов (без последнего у меня не осталось бы сил на статью). А еще расскажу про главную ошибку в выборе архитектурных решений, которую мы допустили и которая завела нас в тупик. Так что сможете научиться на нашем опыте!

Читать далее

MIMO LQR/LQG: линейно квадратичный и линейно гауссовский регуляторы с практическим примером и кодом (Часть 1)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели4.9K

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

Цель публикации — демонстрация методов оптимального управления (LQR) и стохастической фильтрации (LQG/Kalman Filter) для решения задачи точного поддержания режима в условиях  взаимосвязи физических параметров (температура и давление в замкнутом объеме) и зашумленных измерений.

Проект реализован на языке Python в парадигме Model-Based Design, разделяющей физику процесса, модель управления и среду моделирования.

Он включает постановку задачи, описание решения и его программную реализацию в виде python-пакета, адаптированного для работы в Google Colab. Среда автоматически сохраняет все артефакты каждого цикла моделирования — конфигурацию и результаты.

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

Модульная архитектура делает проект относительно универсальным шаблоном: заменив модель объекта, этот же каркас можно адаптировать для решения других задач MIMO-управления с той же размерностью. Будь то стабилизация мобильного робота (скорость/угол поворота) или управление полетом (тангаж/горизонтальная скорость).

Читать далее

Kак мы разработали новую модель автодополнения кода в GigaCode

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.6K

Привет, Хабр! Меня зовут Дмитрий Бабаев, я руковожу R&D в GigaCode — это ИИ‑ассистент для разработчиков от Сбера. Сегодня расскажу про очередной этап развития наших кодовых моделей. Недавно мы выпустили новую версию inline‑модели автодополнения кода (code completion). Это первая в мире MoE‑модель, созданная специально для этой задачи, мы полностью разработали и обучили её с нуля.

Читать далее

hq-cropper: Image Cropper без зависимостей для JavaScript

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.2K

Привет! Хочу рассказать о своей библиотеке hq-cropper — инструменте для обрезки изображений на чистом TypeScript без единой зависимости.

Когда искал cropper для своего проекта, столкнулся с двумя проблемами. Во-первых, большинство популярных решений тянут за собой кучу зависимостей и весят 100+ KB. Во-вторых, мало кто работает с большими изображениями.

Читать далее

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

От Electron к Tauri: как я пересобрал архитектуру десктоп-приложения и почему Rust оказался к месту

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

В этой статье я расскажу, как я для себя понимаю архитектуру десктоп-приложений — и почему в какой-то момент Rust перестал быть «языком, который я когда-нибудь посмотрю», и стал практичным решением.

Сразу оговорюсь: это не попытка доказать, что «Electron — зло», а Rust — «спаситель». Это скорее дневник архитектора, который хотел собрать удобный продукт и по дороге несколько раз наступил на грабли. Некоторые грабли были с подогревом.

Читать далее

Книга: «Паттерны Kubernetes: Шаблоны разработки облачных приложений. 2-е изд.»

Время на прочтение4 мин
Охват и читатели9K

Привет, Хаброжители! «Паттерны Kubernetes» — это не очередной справочник по настройке кластеров или описанию API. Это фундаментальный труд, который отвечает на самый главный вопрос: как эффективно проектировать и строить приложения, предназначенные для работы в Kubernetes? Авторы систематизировали лучшие практики, преобразовав их в паттерны. Книга учит не просто использовать Kubernetes, а мыслить категориями платформы, комбинируя примитивы для создания отказоустойчивых, масштабируемых и удобных в эксплуатации систем. Это must-read для любого разработчика, который хочет выйти за рамки простого деплоя контейнеров и овладеть всеми возможностями Kubernetes.

Читать далее

Космология виртуальной Вселенной (Часть II)

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели9K

Предыдущие части:

«Геометрическая головоломка на выходные»,
«Электродинамика виртуальной Вселенной»,
«Механика виртуальной Вселенной»,
«Квантовая механика виртуальной Вселенной (Часть I)»,
«Квантовая механика виртуальной Вселенной (Часть II)»
«Релятивизм виртуальной Вселенной»
«Космология виртуальной Вселенной (Часть I)»

Здравствуйте, дорогие читатели.

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

В этой статье мы сделаем следующий, более рискованный шаг. Мы перейдём от статической картины к обсуждению динамики фазовой Вселенной, рассмотрим различие между глобальным и локальным временем, а также покажем, каким образом в SU(2)-фазовой модели могут возникать эффекты, традиционно интерпретируемые как космологическое расширение и красное смещение — без прямого введения метрического расширения пространства.

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

Читать далее

8 лучших RDP-клиентов 2025 года

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели35K

Удалёнка уже стала нормой, поэтому надежный RDP‑клиент — обязательный инструмент админа. Под катом рассмотрим популярные RDP‑клиенты за 2025 год, а также расскажем, как выбрать подходящий вариант.

Читать далее

Борьба с дисбалансом классов. Ансамблевые и комбинированные методы

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

Привет, Хабр! На связи KozhinDev и ml-разработчик Приходько Александр. Это четвертая часть цикла о борьбе с дисбалансом классов. Предыдущие статьи:
- В первой статье мы рассказали про суть проблемы дисбаланса классов и стандартные методы борьбы с ним;
- Во второй статье обсуждались методы undersampling - удаление данных из распространенного класса;
- В третьей статье рассматривались методы oversampling - генерация примеров редкого класса.

В данной части мы рассмотрим комбинированные и ансамблевые методы библиотеки Imbalanced Learn.

Читать далее

Как приземляться в Top Gun: проверено реверс-инжинирингом

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

Наверно, как и большинство игроков, вы стали первоклассным специалистом в приземлении на авианосец в игре Top Gun для NES. Но если вы всё же относитесь к тому меньшинству, которое так и не освоило этот навык, то вам повезло: я выполнил небольшой реверс-инжиниринг и разобрался, как именно работает приземление. Надеюсь, в следующем вылете вы справитесь идеально!

Читать далее

dag_generator: лоукод-генерация гетерогенных Airflow DAG

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

Многие команды сейчас меняют проприетарное ПО на открытые аналоги. Под «открытостью» мы понимаем не только миграцию с платного софта на бесплатный, но и новый подход к построению data-платформ, где каждый продукт развивает свой сегмент платформы с помощью релевантного стека технологий. 

Полноценных open-source-альтернатив, которые закрыли бы все наши потребности, не нашлось. Поэтому мы решили создать свой «мультитул» — low-code-фреймворк для генерации гетерогенных Airflow DAG с незамысловатым названием dag_generator.

Цель этой статьи — поделиться опытом внедрения подобного инструмента. Генерация выполняется по старинке, так что про ИИ здесь пока ничего не найдете.

Читать далее