Обновить

Разработка

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

Как мы искали «Луну-9»

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

Ровно 60 лет назад, 3 февраля 1966 года советский космический аппарат «Луна-9» совершил первую в истории человечества мягкую посадку на Луну. И только сейчас мы можем точно узнать, где именно он находится на Луне.

18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ЕГОРОВЫМ ВИТАЛИЕМ ЮРЬЕВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ЕГОРОВА ВИТАЛИЯ ЮРЬЕВИЧА

Сразу после посадки «Луны-9» в советской прессе были опубликованы координаты места высадки, и сейчас их можно найти в Википедии и других источниках. Но тогда в прессе не уточняли, что это лишь центр области, в которой действительно произошла посадка, а точное местоположение аппарата тогда было невозможно установить, так же, как и рассмотреть его в телескопы с Земли или со спутников.

Зачем вообще искать «Луну-9», которая уже 60 лет не подает признаков жизни?

Для планетологии это может быть полезно как средство сравнения снимков поверхности Луны из космоса и на месте. Можно оценить, насколько верны были исследования 60-70-х на основе данных с «Луны-9». Для истории — это археологический памятник, свидетель зари космонавтики. Для меня, как энтузиаста космонавтики, это возможность прикоснуться к истории, о которой я читал ещё в детстве. С точки зрения популяризации космонавтики, это способ показать современные достижения науки и техники, которые позволяют простому пользователю интернета, не выходя из дома, провести своё собственное исследование в космосе.

Прямой поиск на Луне космических аппаратов разных стран стал возможен только после запуска американского лунного спутника NASA LRO в 2009 году. Его камера высокого разрешения NAC LROC отсняла почти всю поверхность Луны с разрешением 0,5-1 м на пиксель, а местами и до 0,35 м на пиксель. С её помощью были осмотрены следы американских астронавтов и найдены советские «Луноходы», обнаружены американские зонды Surveyor и советские станции серии «Луна», начиная с «Луны-16». 

Читать далее

Я год доверял ChatGPT в строительстве, а потом он придумал ГОСТы

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

Эту историю для моего блога рассказал Алексей Кривоносов

Год назад я начал использовать ChatGPT для работы. Занимаюсь загородным строительством — это основной бизнес. Также веду YouTube-канал компании. Нейросеть помогала генерировать сценарии, составлять контент-планы, оформлять технические отчёты.

Но когда попробовал использовать ChatGPT для работы со строительными нормами — СП, ГОСТами, нормативной документацией — столкнулся с проблемой. Нейросеть придумывала несуществующие пункты нормативов, выдавала цифры, которых не было в документах.

За полгода я с небольшой командой создал свой AI-инструмент — «Цифровой стандарт». Мы вручную обработали строительную нормативную базу, перевели её в векторный формат и настроили алгоритм, который даёт точные ответы без галлюцинаций.

Читать далее

Катастрофоустойчивый Kubernetes: как использовать балансировщик MetalLB с BGP-anycast

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

Клиенты часто спрашивают, как построить геораспределенный и катастрофоустойчивый Kubernetes. Так, чтобы при отказе целого дата-центра нагрузка переключалась на резервную площадку без смены IP-адресов сервисов.

Можно возразить, что проще изменить DNS-запись и направить трафик на инстанс в другом дата-центр. Но есть риск: кэширование на рекурсорах некоторых провайдеров может негативно повлиять на доступность. Они иногда игнорируют TTL и хранят старые данные неопределенный срок. Поэтому в таких сценариях крайне желательно сохранить IP-адрес.

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

Читать далее

Интересные HTML и CSS фичи, которые почему-то обходят стороной

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

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

Во фронтенде изменения происходят постоянно. Только разобрался с одним инструментом, он уже считается устаревшим. Плюс на смену ему появляются новые. В JavaScript регулярно добавляются новые методы и API, а HTML и CSS, разумеется, не отстают.

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

Давайте посмотрим, что я вам подготовил.

Читать далее

Как работают ТСПУ и DPI: разбор механизмов фильтрации и блокировок трафика

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

В последние годы в России активно развивается и применяется инфраструктура фильтрации трафика на уровне провайдеров. Основные технологии, которые используются для этого — ТСПУ (технические средства противодействия угрозам) и DPI (Deep Packet Inspection).

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

Читать далее

Взлом андроида Unitree G1. От радиоперехвата до джейлбрейка прошивки

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

Стоило Илону Маску пообещать нам создание умных помощников вроде C-3PO, как исследователи безопасности тут же решили проверить, не получится ли вместо этого настоящий Терминатор. Мы разобрали нашумевшее исследование команды Dark Navy и рассказываем, как популярного робота-гуманоида Unitree G1 за $16 000 превратили в хакерскую марионетку. 

В статье мы детально разберем цепочку уязвимостей: от перехвата нестандартного радиопротокола через SDR до инъекций кода в LLM-мозги робота и получения root-доступа. Вы узнаете, как исследователям удалось обойти защиту обфусцированного кода, выполнить полноценный джейлбрейк бюджетной версии робота и почему функция eval() в коде андроида страшнее любого восстания машин.

Читать далее

MLOps — дитя DevOps и ML

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

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

Читать далее

Обзор Open Source моделей для задачи TTS

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

Задача Text‑to‑Speech (TTS) она же задача синтеза речи — заключается в том, чтобы озвучить заранее подготовленный текст голосом спикера. Данная задача является одной из важных в системах взаимодействия человека и компьютера. Конечно, такая задача генерации речи встречается гораздо реже, чем, например, задача генерации или обработки текста, тем не менее, сферы ее применения со временем только увеличиваются в своих масштабах и становится все более востребованной.

Привет, Хабр, меня зовут Музафаров Данил, я работаю DS инженером в компании Raft и сегодня мы рассмотрим существующие Open Source модели и репозитории, которые решают задачи TTS для русского языка.

Читать далее

Уменьшаем зависания и оптимизируем потребление трафика: как команда VK Видео работает с viewport на Android

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

VK Видео — один из крупнейших видеосервисов в России. В декабре 2025 года его ежемесячная аудитория достигла 81,5 млн пользователей. А в первую неделю января 2026 года среднесуточная аудитория VK Видео превысила 42 млн человек (без учёта просмотров на Smart TV и встраиваемых плееров, по данным Mediascope). 

Часть аудитории пользуется сервисом на устройствах Android. Для работы с видео на Android у VK есть единое решение — SDK OneVideo Player. Оно основано на библиотеке Media3 и содержит много улучшений и доработок в части проигрывания видео. Одна из таких оптимизаций — адаптация видео под viewport.

Меня зовут Егор Баженов. Я Android-разработчик в команде видеоплатформы VK. В этой статье я расскажу, как мы внедрили адаптацию под viewport в нашу библиотекуи каких результатов это позволило достичь.

Читать далее

«Мой первый Король и Шут» — (не)детская звуковая книжка

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

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

Вдохновение пришло случайно. Наши друзья подарили Алисе книжку с аудио — «Мой первый Вивальди». «Ах, как это мило», — сказал мой внутренний голос интонацией Эрика Картмана. А почему бы мне не сделать свою книжку с преферансом и куртизанками? Например, «Мой первый Король и Шут». Получилось не совсем для детей, но я надеюсь, что придёт день и дочь её оценит.

Будь как дома, путник...

Как не сломать Android-приложение при защите от реверса

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

Привет, Хабр! На связи Александр Ананикян, аналитик сервиса по защите мобильных приложений от реверс‑инжиниринга. Мы в команде PT MAZE делаем «кнопку», которая превращает мобильные приложения в самый запутанный лабиринт для хакера.

Защита мобильного приложения от реверс‑инжиниринга и взлома — обязательный этап, который стоит учитывать при разработке релизной сборки. Протекторы используют обфускацию (запутывание), шифрование и другие техники, чтобы затруднить статический анализ и защитить код от модификаций злоумышленниками. Но у многих разработчиков присутствует страх сломать приложение применением таких техник.

Читать далее

Как мы создавали продукт для охраны труда на производстве

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

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

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

Сегодняшняя статья в блоге ЛАНИТ — попытка рассказать, как из бытовой задачи родился продукт с социальной значимостью. Как техника безопасности, которую обычно игнорируют, стала фокусом технологий. Как из набора гипотез, провалов, кривых MVP и диалогов с заводами родился работающий инструмент.

Читать далее

CPython — Сборка мусора изнутри, ч.4

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

Пришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях (1, 2, 3) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.

В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython. И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка.

Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.

Читать далее

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

Питер Штайнбергер. Как работает автор OpenClaw [Clawdbot/Moltbot]

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

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

В реальности все по-своему заблуждаются. Питер Штайнбергер, программист-ветеран с большим стажем, действительно не читает, что улетает в проект, а OpenClaw — не третье, а пятое название ИИ-агента.

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

Читать далее

Я отреверсил процессор, чтобы улучшить детскую фотокамеру

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

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

Очевидно, дети в таком возрасте не могут пользоваться всеми функциями зеркальных или даже компактных камер. К счастью, в мире много детей с интересом к фотографии, поэтому есть и рынок для дешёвых (в буквальном смысле) камер: в них не так много функций и наворотов, крепкий пластмассовый корпус, а низкая цена не позволяет расстроиться из-за поломки. Я поискал такую камеру на Taobao и остановился на той, которая показалась мне достаточно простой. Я не надеялся, что фотографии будут качественными, но хотя бы разрешение должно оказаться приемлемым.

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

Поэтому я задумался: наверняка ведь есть способ пропустить меню и сразу перейти в режим камеры? Должно быть, внутри камеры находится какой-нибудь процессор ARM, и я не думаю, что разработчики заморочились с защитой кода. Достаточно считать его через JTAG, загрузить в Ghidra, найти нужный бит, изменить его, снова записать код во флэш-память, и всё.

Читать далее

Все получилось! Debian Linux на Nintendo Wii

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

После написания первого материала я получил достаточно много комментариев и отзывов. Это было очень приятно, спасибо! Обязательно попробую запустить там иксы и прогнать предложенными тестами. Вместе с этим в голове крутилась простая до безобразия мысль: а можно ли поставить туда Linux?

Как только начал изучать этот вопрос, показалось, что установить его будет очень просто. Но реальность преподнесла сюрпризы. Сегодня покажу, как получить работающий Linux на этой игровой консоли с PowerPC-процессором IBM Broadway.

Читать далее

Замыкание в JavaScript — зачем функциям личное пространство

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

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

Чтобы не городить глобальные переменные и не писать громоздкие конструкции (что почти всегда ведет к багам), мы посмотрим на еще одну фишку JS.

В предыдущих статьях мы разобрали: функции, их стрелочные записи, методы объектов и даже покорили this. Теперь пора переходить к теме, которая часто пугает на собеседованиях, но на деле оказывается невероятно элегантной — замыканиям.

Читать далее

Взламываем 40-летний донгл защиты от копирования

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

Всё верно — это маленькое устройство стояло между мной и возможностью запускать ещё более старое ПО, которое я раскопал в процессе программной археологии.

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

Это ПО было написано на языке программирования RPG (Report Program Generator), который старше Кобола (!); он использовался в компьютерах IBM среднего ценового диапазона наподобие System/3, System/32 и вплоть до AS/400. Похоже, позже RPG портировали в MS-DOS, поэтому те же программные инструменты, написанные на RPG, могут работать на персональных компьютерах. Так фирма и оказалась в этой ситуации.

Эта бухгалтерская фирма работала на компьютере с Windows 98 (да, в 2026 году) и запускала написанное на RPG ПО в консольном окне DOS. Оказалось, что для работы ПО требовалось подключить к параллельному порту компьютера специальный аппаратный донгл защиты от копирования! В те времена это было достаточно распространённой практикой, особенно у поставщиков «корпоративного» ПО, защищавшего свои очень важные™ программы от неавторизованного применения.

Читать далее

Три кита масштабируемого IT-продукта: закон больших чисел, теория вероятностей и статистика

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

Привет Хабр! В каждой компании есть люди, которые не пишут код каждый день, но почти каждый день принимают решения, от которых этот код либо спокойно живёт под нагрузкой, либо превращается в источник инцидентов и срочных созвонов. Думаю они согласятся, что масштабируемые IT-продукты строятся не только на технологиях, а ещё и на умении мыслить вероятностно.

Когда в команде спорят о фичах, производительности или надёжности, я редко слышу принципиально разные аргументы. Чаще это разные формы одного и того же:

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

Проблема в том, что «кажется» и «уверен» плохо масштабируются. А числа — масштабируются отлично.

Читать далее

Как мы создали open-source кодового агента, работающего с любыми локальными моделями

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

Можно ли сделать кодового агента уровня Claude Code, но бесплатного и для локальных моделей? Мы разобрали архитектуру конкурентов, нашли слабые места и написали PocketCoder — CLI-ассистент с Agent Loop, XML-контекстом и памятью. Работает даже с qwen-7b, хотя и с приколами.

Читать далее