Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 10 min 34 sec ago

Как вайбкодить без боли? 11 выводов, к которым я пришёл

1 hour 33 min ago

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

Читать далее

«Фамипия». Венгерские домофоны в подъездах Питера

1 hour 35 min ago

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

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

Во время разговора кнопку держать нажатой

Marathon OS: экспериментальная мобильная ОС на Qt6 и Wayland с фокусом на производительность

1 hour 40 min ago

Разработчик Патрик Куинн недавно запустил проект Marathon OS. Это мобильная ОС на базе postmarketOS с полностью переработанным интерфейсом под Qt6, QML и собственным Wayland-композитором. Основная идея заключается в полном отказе от виртуальных кнопок в пользу жестового управления, вдохновленного BlackBerry 10, где все действия выполняются свайпами от краев экрана.

Сейчас система тестируется на базе OnePlus 6 и 6T, показывая стабильные 60 кадров в секунду, загрузку за 20–25 секунд и задержку ввода в пределах 10–15 миллисекунд. На устройствах со Snapdragon 845 приложения запускаются за 200–250 миллисекунд, что для чистого Linux выглядит весьма убедительно без каких-либо Android-подложек.

Читать далее

Осваиваем ML WAF: от текстовых правил к машинному обучению

1 hour 49 min ago

Всем привет, меня зовут Семён. Я пишу на С++ и работаю в группе Антиробота. Антиробот — это сервис, который на уровне L7 защищает нас от парсеров и DDoS-атак. Разрабатывать его начали более 10 лет назад — сначала он предназначался только для защиты Поиска, затем был внутренним инструментом, который в онлайн‑режиме анализирует запросы к сервисам Яндекса. Постепенно Антиробот вырос в настоящий highload. Сейчас это часть облачного сервиса Smart Web Security (SWS).

В этой статье я расскажу, как с нашим сервисом мы прошли путь от текстовых правил до машинного обучения. Вы узнаете, зачем вообще нужен Web Application Firewall (WAF) — межсетевой экран для веб-приложений — и разберётесь, как он устроен. А ещё — как работают рулсеты, почему у нас их целых три и какие существуют метрики для оценки качества и быстродействия сервиса.

Читать далее

Сколько воды в бочке?

1 hour 55 min ago

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

Читать далее

Cloud Native LVM: как автоматизировать поиск и разметку локальных дисков в Kubernetes

1 hour 58 min ago

Всем привет, меня зовут Александр Зимин, я руковожу разработкой подсистемы хранения данных в Deckhouse. Сегодня хочу поговорить о хранении данных на локальных дисках в Kubernetes и поделиться тем, как мы автоматизируем их поиск и разметку для администраторов и пользователей.

Читать далее

Переезд с Nuxt 2 на Nuxt 3: почему для крупного интернет-магазина мы выбрали рерайт, а не миграцию

2 hours 3 min ago

Пять лет назад мы запустили интернет-магазин на Nuxt 2. За это время он превратился в классический монолит: вносить правки стало дорого, а сайт начал «задыхаться» под нагрузкой. Когда вышел Nuxt 3, перед нами встал выбор: пытаться оживить проект через Nuxt Bridge или переписать всё с нуля.

Мы проанализировали код и поняли: плавная миграция для нас — это путь к созданию «зомби-проекта». Слишком много фундаментальных отличий: Options API против Composition API, Vuex против Pinia, смена логики роутинга и несовместимость ключевых библиотек.

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

Внутри кейса:
4 технических «фаталити», которые делают миграцию легаси-монолита невозможной.
Архитектура FSD + Nuxt 3: как мы подружили фронтенд с бэкендом на Symfony и навели порядок в зависимостях.
Паттерн «Фабрика»: как упростить сложную логику доставки в Composition API.
Бонус: почему благодаря правильному старту недавнее обновление с Nuxt 3 до Nuxt 4 заняло у нас минимум времени, в отличие от мучений с Nuxt 2.

Если вы всё еще поддерживаете проекты на второй версии и боитесь подступиться к обновлению — этот опыт для вас.

Читать далее

Как мы сократили время планирования спринтов с помощью AI

2 hours 14 min ago

Привет! Меня зовут Саша, я Product Manager в Cloud.ru. Расскажу, как наша команда немного трансформировала, ускорила и упростила процесс оценки задач в рамках методологии Scrum. Из задачи сэкономить несколько часов для команды получилось построить целостный процесс, который удалось внедрить в несколько продуктов. 

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

Что же мы сделали?

CI/CD и непрерывное тестирование (управление рисками в условиях постоянных изменений)

2 hours 21 min ago

Я уже писал, что всестороннее тестирование является критической необходимостью для обеспечения киберустойчивости. Сейчас хотел бы показать, как этот принцип применяется в условиях, когда ИТ-системы развиваются с беспрецедентной скоростью, а изменения вносятся постоянно. Возникает парадокс: чем быстрее мы внедряем новое, тем выше риск сбоев. Аналитики отмечают, что общее количество инцидентов в критически важных сервисах неуклонно растет. Как же управлять этим "хаосом изменений" и обеспечить стабильность 24/7?

Читать далее

Как не проспать дейли: Реализуем планировщик задач внутри Python-процесса

2 hours 27 min ago

В потоке кода легко пропустить дейли, забыть проверить бэкапы или закоммитить задачи перед уходом. Сторонние планировщики часто избыточны и потребляют лишние ресурсы, а самописные скрипты на while True: time.sleep() — это архитектурный тупик, блокирующий потоки и создающий временной дрейф.

В этом туториале напишем свой легковесный фоновый сервис на Python. Разберем, как отправлять нативные системные уведомления (Windows/Linux/macOS) через библиотеку Plyer, настроим гибкое расписание с помощью Schedule и научимся запускать скрипт в режиме демона без висящего окна терминала.

Читать далее

Как Python помог «разобрать» 10 000 сообщений из Telegram для суда: практическое руководство для юристов

2 hours 31 min ago

Представьте: в вашем деле — 10 000 сообщений в Telegram, и суд просит показать, кто, когда и что именно писал за конкретный период. Вручную это неделя рутинной работы, море скриншотов и высокий риск пропустить важное сообщение или перепутать даты. С помощью Python и библиотеки Telethon ту же задачу можно решить за несколько минут, при этом сразу заложив фундамент для доказательства целостности данных в суде.

В этой статье разберём:

почему суды принимают переписку из мессенджеров как доказательство;

как технически выгрузить чат из Telegram с помощью Telethon;

как отфильтровать данные, рассчитать хеш-суммы и оформить результат для дела;

какие юридические риски нужно учесть и как их минимизировать.

Читать далее

Почему ChatGPT не знает ваших внутренних данных и как это исправить: простое объяснение RAG

2 hours 33 min ago

Вы думаете, ChatGPT стал идеальным? Может «загуглить» любой факт, анализировать документы, даже писать код? Попробуйте спросить его про внутренние API вашей компании, корпоративные гайдлайны или правила код-ревью. Он молчит — и не зря. Ведь около 80 % рабочего времени программист тратит на поиск информации во внутренних системах.

Сегодня расскажу о технологии, которая решает эту проблему — Retrieval Augmented Generation (RAG).

Читать далее

Прямое измерение атомного тепла опровергает старую догму о перегреве

2 hours 34 min ago

Как золото пережило четырнадцать температур плавления, почему старая модель оказалась неполной и что это значит для будущего?

Читать далее

Рецензия на книгу «Инжиниринг платформ: техническое и управленческое руководство»

2 hours 35 min ago

На календаре 2025 год, и термин platform engineering прочно вошел в лексикон всех инженеров и менеджеров, занимающихся вопросами ИТ-инфраструктуры предприятий — примерно так же, как когда-то «DevOps», а еще раньше «Agile». К слову, предыдущие тренды порой превращались в модный хайп, под которым каждая компания понимала свое видение процессов разработки и развертывания. Но платформенная инженерия сегодня — это не просто набор практик, а системный ответ на тот уровень сложности, к которому индустрию привели облака, микросервисы, CI/CD, SRE и бесконечный поток обновлений в экосистемах OSS (Open Source Software, мир open-source инструментов).

Читать далее

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

2 hours 39 min ago

Привет, Хабр! Это Женя Руденко, Agile Cluster Lead в МТС Web Services. Когда в компании запускают Agile-трансформацию, чаще всего сталкиваются не с нехваткой инструментов или методик, а с сопротивлением людей — от тимлидов до C-level. Именно это и стало для меня первым вызовом при работе с командой KION: вместо работы «по учебнику» пришлось искать свой путь, балансируя между стратегией и ежедневными задачами, между конфликтами и доверием. 

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

Читать далее

Продуктовые метрики для аналитика данных: памятка для собеседований

2 hours 39 min ago

Бывало ли, что для решения бизнес-кейса на собеседовании вам не хватило знания какой-нибудь метрики из предметной области? Это частая ситуация — например, в маркетплейсах всюду говорят про GMV, а в маркетинговой аналитике не обойтись без LTV.

Привет, Хабр! Меня зовут Рафаэль Сайфутдинов, но обычно меня зовут просто Раф. Я работаю аналитиком ценообразования в Авито (а раньше — в Яндекс Лавке), преподаю машинное обучение в Центральном университете, окончил факультет компьютерных наук в НИУ ВШЭ и прошёл курс «Специалист по Data Science» в Яндекс Практикуме. Делюсь памяткой для аналитиков — сохраните, чтобы не провалить собеседование из-за незнания продуктовых метрик.

Читать далее

StructPadding

2 hours 41 min ago

Представляю свою библиотеку для обнуления байт выравнивания (padding) в unmanaged структурах.

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

Читать далее

Превратили PVS-Studio в город

2 hours 46 min ago

Вы когда-нибудь хотели взглянуть на свой код под новым углом? Например, увидеть, как бы выглядела ваша кодовая база, будь она городом? Звучит как что-то невероятное. Давайте вместе заглянем в город PVS-Studio и просмотрим, какие тайны он в себе хранит :).

Читать далее

[Перевод] ДНК-спираль изменила наше представление о себе

3 hours 6 min ago

Открытие структуры ДНК в начале 1950-х годов — одно из самых захватывающих событий в истории науки, наполненное блестящими исследованиями, откровенными амбициями, ожесточённой конкуренцией и откровенным обманом.

В нём участвовало много людей, в том числе Розалинд Франклин, мастер рентгеновской кристаллографии, и Фрэнсис Крик, физик, искавший секрет жизни. Теперь, с кончиной американского генетика Джеймса Уотсона в возрасте 97 лет, последний из этой группы учёных ушёл из жизни.

Эта эмоциональная драма в конечном итоге изменила наше представление о жизни и о нас самих. По мере того как открытие ДНК уходит в историю, становится трудно даже представить, как люди думали о жизни до этого прорыва.

Читать далее

Go profiling lifecycle: от разработки до прода. Инструменты и практики

3 hours 19 min ago

Ваш Go-сервис жрёт память в проде, а на тестовом стенде всё идеально?

Разбираем пошагово: как находить и диагностировать утечки ресурсов в Go-приложениях.

Что внутри:

Теория: GC, планировщик, модель памяти - минимум для понимания проблемы

Практика: pprof профили всех типов (heap, goroutine, allocs, block)

Инструментарий: как читать дампы горутин и системную диагностику

Готовые скрипты для воспроизведения и анализа утечек

Runtime tracing для сложных случаев

Реальный пример из статьи:
Зависшие горутины в одном месте -> stw паузы выросли с 1ms до 50ms -> api деградировал.

Статья построена как практическое руководство с минимумом теории и максимумом применимых техник. Во второй части - конкретные примеры утечек с кодом, production-кейс и настройка мониторинга.

Для тех, кто хочет научиться находить утечки ДО того, как они попадут в prod.

Читать далее

Who's online

There are currently 0 users and 1 guest online.