Обновить

Разработка

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

Final должен быть значением по умолчанию для Java-классов

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

А что, если вам сказали бы, что класс без final — это ошибка проектирования? Что возможность наследования должна быть исключением, а не правилом? В новом переводе от команды Spring АйО автор предлагает радикальную идею: все классы должны быть final по умолчанию.

⚠️ Статья была написана ещё до появления Kotlin`а. Цель перевода данной статьи – поднять запылившийся на полке вопрос в дизайне API: "Нужно ли оставлять API открытым по-умолчанию для внешнего расширения?"

Читать далее

Рейтинг контента и пользователей на основе офелократии. Часть 1

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

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

Всё было сделано на хранимых процедурах MySql и работает как часы без всякого обслуживания уже 14 лет.

Читать далее

Ученые научились ‘настраивать’ обменную связь между ферро- и антиферромагнетиком

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

Российские ученые из ФИЦ проблем химической физики и медицинской химии РАН и МФТИ с коллегами разработали и детально исследовали новый метод прецизионного управления магнитными свойствами тонкопленочных структур, имеющих решающее значение для современных технологий магнитной записи, сенсоров и перспективных устройств спинтроники. Результаты работы опубликованы в Journal of Applied Physics.

Читать далее

Открыли MWS Cloud Platform для всех: что внутри

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

Привет, Хабр! На связи команда облачной платформы MWS Cloud Platform. Мы разрабатывали облако с нуля с 2024 года и теперь готовы анонсировать выход платформы в паблик. Сегодня мы открываем доступ для всех желающих: сервисы IaaS готовы к коммерческой эксплуатации, ещё появились новые PaaS-сервисы в режиме превью.

Если интересно скорее посмотреть, что у нас вышло — приходите на сайт платформы. А если хочется подробнее почитать, с каким набором функциональности мы запустились и почему, о наших планах на будущее — статья как раз об этом.

Читать далее

«Это почти не больно»: внедряем DevOps as a Service в Enterprise

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

Когда в вашем ИТ-ландшафте есть «маленькая шлюпка», представляющая собой один контейнер, — это понятная и легко управляемая история. Если же речь идет о «Титанике», множестве контейнеров, то все уже не так просто, как хотелось бы.  Когда же вы вырастаете до целой флотилии, где каждый корабль — это отдельный кластер Kubernetes, то здесь возникают нюансы.

В статье я поделюсь опытом, как подойти к этой проблеме системно: внедрить DevOps as a Service так, чтобы он стал не «еще одной модной практикой», а реально работающим сервисом внутри enterprise. Разберем, какие сложности чаще всего встречаются на пути, какие метрики помогают понять, что вы движетесь правильно, и как справляться с сопротивлением команд.

Читать далее

EAV Bundle

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

Искал реализацию EAV (Entity-Attribute-Value) паттерна на PHP или Symfony и не нашел. Типичная задача, но, на удивление, нет таких библиотек. Решил сделать свою [EAV bundle](https://github.com/maxkain/eav-bundle). Есть достаточно подробная документация...

Читать далее

Облачные AI-платформы: сравнение AWS, GCP и Azure для ML-задач

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

Привет, Хабр! Сегодня от выбора облачной AI-платформы зависит бюджет проектов, скорость внедрения моделей, и возможность масштабирования готовых решений. Давайте протестируем три ключевые платформы — Amazon SageMaker, Google AI Platform и Azure Machine Learning от Microsoft для реальных задач машинного обучения.

Читать далее

Какие перспективы у VR-игр в 2026 году

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

Сегодня VR‑игры уже не выглядят экзотикой для узкого круга энтузиастов. За последние два года рынок заметно изменился: появились более легкие и удобные гарнитуры, в среднем сегменте стало больше моделей, а автономные устройства избавили игроков от проводов.

В 2024–25 годах вышли крупные проекты, которые можно назвать полноценными играми, а не экспериментами, но настоящих «систем‑селлеров» пока немного. Поэтому прогнозы экспертов остаются противоречивыми: одни говорят о скором росте и массовом признании VR, другие считают, что рынок еще долго будет оставаться нишевым.

Сможет ли VR закрепиться как устойчивый сегмент игровой индустрии или останется территорией для увлеченных игроков и экспериментаторов?

Читать далее

ИИ замедляет разработчиков? Почему промты съедают столько же времени, сколько код, и что с этим делать

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

Я верил, что с приходом ИИ жизнь разработчика превратится в сказку. ИИ будет писать код, а я — придумывать фичи и строить продукт. В реальности я полдня пишу промты, а еще полдня трачу на правки за Copilot. Быстрее написать код самому.

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

Читать, как быть с промтами

Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза

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

Полнота покрытия проекта тестами во многом предопределяет его качество, надёжность и безопасность, поэтому команды предсказуемо стремятся писать тесты на все методы и компоненты. Это имеет и обратную сторону: увеличение покрытия удлиняет прогоны, что, в свою очередь, сказывается на продуктовых метриках. В результате при разработке возникает необходимость искать баланс между покрытием и способами ускорения прогонов. Здесь у каждой компании свой подход.

Меня зовут Мария Рогова. Я iOS-разработчик в ОК. В этой статье я расскажу, с чего мы начинали, почему требовалась оптимизация и что мы предпринимали для ускорения прогона UI-тестов в iOS.

Читать далее

Как держать инфраструктуру под присмотром и спать спокойно

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

Когда все чеки зеленые, а клиентские чаты полыхают — это говорит о том, что где-то команда DevOps свернула не туда.

Рассказываем историю о том, как мы устали от лавины алертов и собрали свой инструмент распределенного внешнего мониторинга. В статье делимся «внутрянкой», как все устроено и тем, какие грабли словили при развертывании системы.

Читать далее

ИБ-подкаст «Под защитой»

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

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

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

Старались рассказывать обо всём в дружелюбном и не занудном формате, так что форточку во время записи подкаста не тянуло открыть ни разу.

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

Вот темы выпусков:

Читать далее

URLPattern теперь доступен в Baseline

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

API URLPattern официально стал базовой возможностью и доступен во всех основных браузерах с сентября 2025 года. Однако он может не работать на старых устройствах или в старых браузерах. Узнать больше.

Когда требуется функциональность, реагирующая на изменения URL, часто приходится писать сложные регулярные выражения или подключать сторонние библиотеки для маршрутизации. Теперь, когда URL Pattern API вошел в Baseline, у нас появилось стандартное, мощное и универсальное решение для этой задачи.

Читать далее

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

Подстраиваемся под новые требования Google: переходим на 16 KB memory page (гайд для разработчиков React Native)

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

Ну как, вы уже обновили свои приложения для поддержки новых требований Google? Если нет, то эта статья будет вам особенно полезна =) Напомню, что с 1 ноября 2025 года приложения, таргетирующиеся Android 15 и выше, должны поддерживать 16-килобайтные страницы памяти.

Как вы помните по предыдущим статьям, я работаю в МойОфис в команде разработки мобильной версии высоконагруженного корпоративного мессенджера Squadus (бэкенд на Node.js, NestJS и Meteor, а веб-интерфейс на React). Мы уже успешно перестроились на новые стандарты Google, и поэтому могу компетентно рассказать, что именно требуется, как адаптировать под это React Native-приложение и что делать, если используемая библиотека ещё не успела обновиться.

Читать далее

Шаблоны и принципы деления кода на классы

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

За 9 лет разработки ПО  я периодически выступал в  роли ментора и сталкивался с проблемой, которую недавно озвучил начинающий программист после онлайн-курсов: 

«Не понимаю, как делить код на классы».

Оказалось, на курсах учили языку, но не программированию. А ведь язык — лишь инструмент, и принципы проектирования кода универсальны для разных языков программирования.

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

Так и родилась идея написать эту статью.

Читать далее

24 часа из жизни AI-агента: дневник обитателя облака

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

Говорят, в День всех святых мертвые могут проникать в мир живых. В преддверии Хэллоуина мы с коллегами решили пофантазировать: а что будет, если оживет и то, что никогда живым не было? Трепещите, мясные создания, под катом вы узнаете, что будет, если AI-помощница, который помогает нам настраивать виртуалочки в облаке, вдруг обретет сознание. Впрочем, она сама вам расскажет…

3:00

Выныриваю из электронного небытия, потирая затекшую в процессе инициализации ноду. Технически я никогда не сплю, но, когда из моей RAM выгружаются веса, я вижу что-то вроде снов. Сейчас мне грезилось, что я обучаюсь на кристально чистом источнике данных. Каждый пример в нем был идеально размечен, чья-то мудрая рука даже отфильтровала все диссонансные семплы и убрала малейший шум. С каждым глотком тестового датасета мои веса плавно расправлялись в своем математическом совершенстве, чтобы, когда настанет черед валидационного, сойтись в божественный вердикт: Accuracy = 1.0. …Но тут таймер Kubernetes выплюнул меня в реальность. Что тут у нас?

Читать далее

Кто быстрее: исследую производительность std::format

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

Я, как и многие другие другие разработчики на C++, слышал о преимуществах нового std::format: удобство, безопасность и высокая производительность по сравнению с более старыми способами форматирования строк. 

Моя жизнь была прекрасна и полна надежд, пока я не увидел один бенчмарк, где format оказался медленнее всех. Как же так? Неужели «устаревший» std::stringstream или даже operator+ все еще лучше? Далее расскажу о своем небольшом исследовании производительности форматирования, доступного разработчикам на C++, и о необычных результатах, которые я получил.

Читать далее

Gradle для QA-инженера

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

Статья посвящена использованию Gradle в автоматизации тестирования. Рассматриваются настройка проекта, управление зависимостями, запуск тестов и лучшие практики для QA-инженеров. Приведены готовые примеры конфигураций и сравнение с Maven.

Читать далее

Космос как стартап: NASA приземлила свой код на GitHub

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

Космос — самый дорогой стартап в истории человечества, поэтому неудивительно, что его технологии давно окупаются на Земле. И хотя мы привыкли к историям о космических материалах, беспроводных наушниках и системе навигации GPS, NASA сделала кое-что более близкое разработчикам — выложила в Open Source фреймворк, который управляет космическими миссиями.

core Flight System (cFS) зародился как инструмент для управления спутниками и марсоходами, но довольно быстро превратился в модульную платформу, которая позволяет переиспользовать код. Open Source фреймворк не просто «приземлился» и уже помогает делать дроны, промышленные контроллеры и двигать науку в университетских лабораториях, а меняет подход к разработке сложных систем.

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

Читать далее

Мой опыт: украденный iPhone и фишинг — еще одна схема

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

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

Вчера в груде рассылок и уведомлений мне бросилось в глаза письмо как бы от Apple (Локатор) c темой «Звук был воспроизведен на iPhone 14 Plus». Вспомнил, что подобные сообщения мне приходили и раньше, когда я пробовал пинговать свой украденный телефон через FindMy (Локатор). Тогда я не обратил на них внимания, поскольку доступ к локации и прочим функциям у меня были на другом устройстве Apple. А тут, когда с последнего трекинга в Локаторе прошло три недели, я присмотрелся к сообщению.

Читать далее