Дверь кабинета распахнулась в три часа ночи. Бледный технический директор, голос дрожит: «Всё. Системы мертвы. Они требуют два миллиона в биткоинах». В голове мелькнула мысль: «Это же фильм какой-то...» Но на мониторах уже мигали красные надписи, а в телефоне зашкаливало количество звонков от клиентов, партнёров, регуляторов.
А когда расследование показало, что хакеры вошли через устаревшую версию WordPress и учётную запись менеджера с правами администратора, он схватился за голову. Не суперхакеры взломали миллиардный бизнес. Его развалили банальные человеческие ошибки и пренебрежение рутиной. Те самые «мелочи», ради которых ИТ-специалисты годами просили внимания.
Читать далееНеудачники, эволюционировавшие и перспективные языки программирования в разрезе надежности и безопасности.
Читать далееМеня зовут Алекс Гусев. В этой публикации я очень кратко раскрываю, почему переход с IntelliJ IDEA (PhpStorm) на VSCode ломает привычную работу с JSDoc в JavaScript-проектах.
Читать далееЗа две недели я собрал бесплатный веб-сервис, который генерирует диаграммы по текстовому описанию — без ручного рисования и без мучений с кривыми картинками от ИИ. Ключевая идея: вместо генерации изображений — генерация PlantUML-кода, затем серверный рендеринг в PNG и выдача пользователю. В статье рассказываю, как я проектировал сущности и сервисы, строил микросервисную архитектуру с очередями, поднимал PlantUML-server и MinIO, настраивал мониторинг и деплой, а также танцы с бубнами вокруг локальной LLM — и как меня спас старый ноутбук с GPU. Отдельно — про боль вайбкодинга: где ИИ-агенты помогают, а где требуют жёсткого микроменеджмента и шаблонов промптов.
Читать далееИстория ReactOS охватывает более длительный период, чем жизнь многих нынешних участников проекта. В нём участвовали выдающиеся люди с самыми разными целями. В последние годы одной из ключевых задач стало улучшение поддержки оборудования.
По мере того как ReactOS стремится освоить мир Windows Vista и более новых версий, возникает ряд вопросов о работе оборудования. Vista внесла масштабные изменения в написание и поддержку драйверов устройств. Постепенно мы успешно осваиваем эти нововведения. Сегодня речь пойдёт о WDDM (Windows Display Driver Model — модели драйверов дисплея Windows).
Читать далееНа протяжении многих лет тестовые наборы ReactOS оставались без должного внимания. Они представляли собой случайный набор:
- собственных тестов проекта;
- старых тестов Wine, которые проверялись только на Windows Server 2003 иногда — на случайных более новых версиях Windows (на усмотрение участника).
Импортированные тесты Wine были сильно модифицированы, а внесённые изменения не всегда хорошо документировались.
Я взялся навести порядок в этом хаосе.
Читать далееВ 1998 году NASA потеряла свой космический аппарат Mars Climate Orbiter, стоимостью 328 млн долларов из-за несогласованности команд, работавших над его созданием. Летательный аппарат прошел над поверхностью Марса на высоте всего 57 км вместо расчетных 110 км и был уничтожен атмосферой планеты. Почти двукратное отклонение было обусловлено ошибкой в программном обеспечении: команды по тяге двигателя в программном обеспечении аппарата использовали единицу измерения силы ньютон, в то время как программное обеспечение на Земле, которое создавало эти команды, использовало британскую единицу измерения (фунт-сила).
Читать далееЖил-был кот. Не простой, а заводской. Звали его кот Семёныч, имени и фамилии у него не было, а разве у заводчан они вообще бывают? И спал он не на печке, а на синей старенькой спецовке, под щитом с надписью «Не влезай - убьёт».
Когда-то давно завод был новым, краска на трубах блестела, а сирена звучала бодро и уверенно. В те времена Семёныч был обычным котёнком и пришёл сюда случайно. Была ночь, осень, дождь хлестал, превращая землю в разводы жидкой грязи. Утренняя найденная на помойке сосиска уже давно переварилась и котёнку хотелось есть так, словно в животе была чёрная дыра. Это была первая сосиска за три дня и он не знал доживёт ли до утра. В темноте брёл по улице и носик почувствовал тепло и побежал в его направлении. Добрёл до цеха и улёгся на трубы. Проснётся ли завтра?
Разбудил его Михалыч. Отмыл с мылом в раковине заводского туалета, накормил курицей из своего тормозка, назвал Семёнычем.
- Оставайся. Будешь за порядком следить.
И Семёныч остался. Но завод оказался местом хитрым: кто однажды зашёл, тот уже навсегда немного стал его частью. Деньки потянулись славные. Тёплые трубы, ласковые руки МарьИванны из бухгалтерии. Добрые работники на обеде в столовой подкармливали, кто кусочек колбасы даст, кто картошечку под стол уронит. Сначала Семёныч просто спал на старой синей спецовке в углу и ел, рос, набирался сил и опыта, наблюдал. Потом стал потихоньку следить, чтобы упавшие гайки не закатывались под стеллажи и не терялись. Потом сидел на конвейере и лапкой скидывал на пол брак. А потом начал присутствовать на планёрках, надо же как-то хлеб и кров отрабатывать. А потом ему выдали каску. Не потому что надо, а потому что «так спокойнее».
Читать далееСалют, Хабр!
Вчера Алексей @Boomburum традиционно подвел итоги уходящего 2025 года на Хабре. Отчёт, как всегда, исчерпывающий и интересный (за что ему отдельный респект!), но лично мне, как человеку-визуалу не хватило наглядности - что называется "многа букав и цифирь". И мне захотелось представить все эти таблички и циферки в наглядной графике. Хоть я и не профи в этом деле, но кое-что у меня получилось, чем и спешу с вами поделиться!
Читать далееПривет, Хабр!
Сегодня я расскажу вам про мой путь от 0 до 500+ задач на Leetcode. Сначала, пару слов о себе: достаточно слабое образование, завалил кучу собеседований на алгоритмы (например, в Авито где-то в 2020 году), никогда не умел решать задачи, и не любил. Долгое время узнав о секции алгоритмов просто отказывался от собеседований. Сейчас не боюсь и могу. Даже в Бигтех эту секцию проходил несколько раз.
Я делал всякий фронтенд, потом стал делать бекенд (на NodeJS), но алгоритмы никогда не получались.
И вот, засучив рукава, я решил разделаться с этим безобразием раз и навсегда. Мой профиль на LeetCode на сегодняшний день выглядит так:
Решать задачи кручеПланировщик Linux долгое время оставался зоной, куда можно было заглянуть, но почти невозможно вмешаться без пересборки ядра. С появлением sched_ext эта граница сдвинулась: теперь логику планирования можно описывать кодом на C и загружать в ядро через eBPF. В статье разберём минимальный рабочий планировщик, посмотрим, как он взаимодействует с ядром, и обсудим, какие новые возможности это открывает для экспериментов и диагностики поведения системы под нагрузкой.
Вникнуть в ядроDisclaimer: Всё изложенное ниже - мой личный опыт и мнение, а не медицинские рекомендации. Прежде чем принимать решения о здоровье глаз, обязательно проконсультируйтесь с офтальмологом. Я просто делюсь тем, что работает у меня, а вам решать, подходит ли это вам.
Что общего у программистов и кроликов? Красные глаза. Только кроликам это идет, а нам — не очень.
Я программист, который проводит за экраном от 6 до 12 часов каждый день, а в особо "удачные" моменты - все 18. За годы такой жизни я пришёл к выводу: либо учишься защищать глаза, либо становишься похожим на героя фильма ужасов к 30 годам.
Эта статья будет полезна не только IT-специалистам, но и всем, кто работает за компьютером.
Читать далееВ кибербезопасности многие уже используют ИИ для поиска известных уязвимостей в средах, где все понятно и предсказуемо. Но в большой промышленной среде все работает совсем не так.
Вот тут и пригодится ИИ, который способен cоставить настоящий план атаки и найти уязвимости. Но встает вопрос: если такому агенту дать реальную боевую среду, способен ли он найти в ней уязвимости? Исследователи из Оксфорда построили инфраструктуру из 8000 машин, посадили десять живых пентестеров, ИИ-агента и стали сравнивать…
В обзоре разберем, как именно ученые устроили безопасный эксперимент и пора ли специалистам по безопасности искать новую работу?
Читать далееДоступен минорный релиз операционной системы «Альт Рабочая станция К» 11.2. Сборка подготовлена на x86_64 Одиннадцатой платформы (ветка p11 Salvia), на базе ядра 6.12 (LTS).
Скачать образ
В новом образеПодробнее читайте на ресурсах сообщества: altlinux-announce-ru@, community@.
Вопрос: что же такого прорывного добавили в архитектуру, чтобы она стала считаться чем-то новым с точки зрения инженеров, а не маркетологов?
Ответ: фундаментально изменилась парадигма хранения и обработки данных.
В отличие от традиционных подходов, где Data Warehouse оперировал исключительно структурированными данными в табличной форме, а Data Lake работал с файлами в их исходном виде, разработчики Lakehouse сумели соединить лучшие качества обеих архитектур.
Ключевым отличием стал формат OTF — Open Table Format, через который удалось реализовать единый стандарт доступа к данным и 4 технологически-культурных сдвига. Перечислю их: ...
Читать далееПривет! Я Максим Катрушенко, главный специалист по анализу данных и машинному обучению в ПГК Диджитал. В свое предыдущей статье я разбирал ошибки в резюме джунов (и не только), которые снижают шансы попасть в ML. Сегодня расскажу, как упорядочить инструменты data scientist'а, чтобы легко адаптироваться в специальности.
Введение
Недавно мне показали проект по прогнозированию ремонта вагонов. Несколько десятков параметров, миллионы записей. Всё решение — один файл Jupyter Notebook и пара скриптов.
Я открыл этот файл. Две тысячи строк кода. Названия переменных вроде df_tmp_final_v3. Комментарии на смеси русского и английского. Сохранённые модели назывались model_good.pkl и model_production_maybe.pkl. Некоторые ячейки кода было страшно запускать. Ни документации, ни записи о проведённых тестах.
Узнаёте? Это частая реальность в области данных.
Вы не одиноки
Многие начинающие специалисты задают похожие вопросы:
Как работать, когда тестов уже несколько десятков? Вы перебираете настройки и алгоритмы, но через неделю не можете вспомнить, что дало лучший результат.
Как внедрить модель? В Notebook всё работает, но как превратить её в сервис, который сможет использовать ваше приложение?
Хорошая новость: для этих проблем уже есть решения.
На курсах об этом часто не говорят...Добрый тёплый вечер, Хабр! Как быстро летит время. На календаре уже двадцатые числа декабря 2025 года, и совсем скоро Новый год. За последние 12 месяцев в мире нашлось большое количество технических инфоповодов и IT-событий, обновлений ПО, случалось появление новых технологий, произошло развитие электроники и масштабный приход ИИ-сервисов в нашу жизнь, включая различные вариации чат-ботов, бум нейросетей и ИИ-агентов. Большую часть этих событий постаралась запечатлеть команда информационной службы Хабра. А вы, как пользователи этого технического ресурса, оценивали и комментировали новости, переводы и лонгриды, а также помогали нам развиваться в этом году, комментируя, критикуя, оценивая публикации и присылая в ЛС сообщения об ошибках или неточностях в материале.
Читать далееПривет, Хабр!
Команда CTSG запустила новый сезон подкаста Crosscheck. В одном из первых выпусков эксперты обсуждают актуальную, «горящую» на сегодняшний день, тему обезличивания баз данных: изменения в законодательстве, методы обезличивания, маскирование и многое другое.
Команда Spring АйО подготовила перевод статьи в которой автор разбирает, где параллельные стримы действительно масштабируются, а где создают накладные расходы, конкуренцию за ресурсы и иллюзию производительности. Коротко: сначала аналитика и измерения, потом — параллелизм.
Читать далееПривет, Хабр! Cегодня рассмотрим, как ускорить интеграционные тесты в Spring Boot с помощью специальных slice аннотаций.
Начнём с того, почему вообще тесты могут быть медленными. Используя @SpringBootTest, мы просим Spring Boot поднять весь контекст приложения для каждого тестового класса. У нас доступны все бины, но часто все это избыточно. Например, хочется протестировать контроллер, а Spring загружает ещё и базу данных, и сервисы, и шлёт запросы к Kafka. В результате простой тест метода контроллера может запускаться несколько секунд, пока поднимется веб‑сервер, инициализируется база, подтянутся все классы.
Эту проблему осознали и добавили так называемые test slice‑аннотации. Все простоб грузим не весь контекст, а только срез приложения, например, только веб‑слой или только слой доступа к данным. Spring Boot содержит готовые slice‑аннотации для основных слоёв: @WebMvcTest для веб, @DataJpaTest для JPA‑репозиториев, и ещё пачку для других случаев.
Рассмотрим на примерах двух интересных слайса: @DataJpaTest и @WebMvcTest.
Читать далее