Обновить

Все потоки

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

Москву сжали до 93 МБ. Новый формат данных OpenStreetMap

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

Карты OpenStreetMap ежедневно загружаются на сотни миллионов устройств. На таких объёмах даже маленькая оптимизация на пару процентов даёт существенную экономию трафика, диска, вычислительных ресурсов. А если улучшение в десятки процентов, то это грандиозное достижение.

В октябре 2025 года разработчики представили новый формат хранения данных GOB («Geo-Object Bundle», пакет геообъектов). Это вспомогательный формат для библиотеки GOL (Geo-Object Library), которая была раньше. В новом формате реализовано сжатие zlib и другие оптимизации, что позволило существенно уменьшить размер файлов, скорость загрузки и обработки карт. Работа с нашей Землёй стала гораздо быстрее, если можно так сказать.

Посмотрим, что представляют собой форматы GOL и GOB, как удалось добиться такой оптимизации и как это выглядит в реальных условиях.

Читать далее

CSS Grid Lanes: будущее masonry-раскладок в вебе

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

Команда JavaScript for Devs подготовила перевод статьи о CSS Grid Lanes — новом подходе к masonry-раскладкам, который наконец-то становится нативной частью CSS. Grid Lanes используют всю мощь CSS Grid, работают без JavaScript, учитывают доступность и дают дизайнерам и разработчикам гибкость, о которой раньше можно было только мечтать. Разбираемся, как это работает и почему это важный шаг вперёд для веба.

Читать далее

Охота за недостающим типом данных: история о графах

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

(Ориентированный) граф — это набор узлов, соединённых стрелками (рёбрами). В узлах и рёбрах могут содержаться данные. Вот примеры графов:

Читать далее

Как защитить веб-серверы от уязвимости CVE-2025-55182

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

29 ноября появилась первая информация о новой критической уязвимости (CVE-2025-55182) в серверном компоненте открытой библиотеки React — React server components (RSC). А также во множестве производных проектов и фреймворков: Next.js, React Router RSC preview, Redwood SDK, Waku, RSC-плагинах Vite и Parcel.

Уязвимость получила максимальную оценку опасности: CVSS 10.0.

В статье разбираем механизм эксплуатации CVE-2025-55182, выявляем затронутые пакеты и версии, анализируем степень угрозы и даем практические рекомендации по защите.

Читать далее

Разбирая бэклог. Часть X. Потерянный сегмент или BTAS, Double Dragon, Battletoads. 3 серии, 14 проектов, 1989-2002

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

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

Сегодня вашему вниманию предлагается краткий экскурс сразу по трём сериям, не требующим особого представления - играм по мотивам Batman: The Animated Series (1994-2002), классическим частям Double Dragon (1989-1993) и Battletoads (1993-1994) в их 16 и, частично, 8 и 32-х битном представлении.

Читать далее

Как и зачем мы разработали систему анализа аномальных логов. Кейс MWS

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

Привет, Хабр! Меня зовут Андрей Басов, я руководитель команды технической поддержки стрима корпоративных продуктов и сервисов в MWS. Вместе со своими коллегами — Тимуром Хабибулиным (data scientist) и Рафисом Ганеевым (senior devops engineer) — занимаюсь технической поддержкой и сопровождением продуктов линейки Partner Experience Platform.

Чтобы улучшить качество наших сервисов, через которые МТС взаимодействует с партнерами, мы вынуждены постоянно внедрять новые решения, растить продукты и развивать их архитектуру, при этом нам важно обеспечивать надежность и стабильность работы ИТ-систем. Это не всегда дается легко, ведь объемы данных растут, и их нужно эффективно обрабатывать. Одной из основных проблем становится анализ логов — текстовых записей. В нашем случае они фиксируют события в работе систем, которые созданы за 25+ лет работы компании, а еще у них различные стеки и архитектурные подходы. 

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

Читать далее

Как английский поднял мой доход на 50%. Пошаговый путь айтишника

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

Год назад я устроился на удаленную работу, где все общение идет на английском. Мой доход стал в полтора раза выше, чем когда я был Senior-разработчиком в СНГ-бигтехе.

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

Мне это удалось. Хочу поделиться опытом, который сэкономит тебе время и поможет прийти к навыку комфортного общения на английском. Это путь экспериментов: какие-то методы не подойдут, какие-то останутся с тобой навсегда.

Читать далее

Неэффективная эффективность

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

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

Итак, представляю на ваш суд пьесу "Неэффективная эффективность" в 13 частях от продуктового лидера с 20-летним опытом, который так и не смог решить маленькую проблемку.

Читать далее

Более глубокий взгляд на старый UUIDv4 и новый UUIDv7 в PostgreSQL 18

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

UUIDv4 как первичный ключ в PostgreSQL обычно ругают за «случайность» — но за этим словом прячется конкретная физика: сплиты страниц B-дерева, рыхлый листовой уровень, фрагментация и лишний случайный I/O при чтении. В PostgreSQL 18 появился UUIDv7 — и это хороший повод посмотреть на проблему не на уровне вкусов, а на уровне того, как реально устроены индекс и heap: от корреляции и ctid до статистики страниц и плотности листьев.

Читать далее

Китай украл и развернул технологию литографа, способного производить 2-нм чипы

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

Но пока потенциально: разбираем журналистское расследование от Reuters о секретном проекте КНР. Второй материал из цикла торговой войны между США и Китаем.

Читать далее

Игрушка на елку к Новому году

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

Приветствую, Хабр!

Перед Новым годом для поднятия настроения до праздничного, захотелось сделать что-то необычное и новое. Все мы украшаем елку, ставим на вершину звезду, вешаем на ветки игрушки и ждем Деда Мороза. Женя, 41 годик.

Читать далее

Разбираемся с новой мощной платой Orange Pi 6 Plus на базе Armv9 Cix P1 CD8160

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

Компания Shenzhen Xunlong Software выпустила новую open-source плату на базе 12-ядерного высокопроизводительного процессора Armv9 Cix P1 CD8160. Плата предыдущего поколения Orange PI 5 построена на Rockchip RK3588. Новый процессор Cix P1 состоит из 8 ядер Cortex‑A720 и 4-х Cortex‑A520, и обещает прирост производительности на 300% по сравнению с последним Rockchip RK3588. Ядро Cortex‑A720 было впервые представлено публике в 2023 году и через два года уже готова плата на новых процессорных ядрах. Из коробки работает UEFI/TianoCore EDK II (ED2) с запуском Debian, Android, Windows 11. Под катом разберемся с новой архитектурой Armv9, рассмотрим процессор Cix P1, оценим производительность новой платы и сравним с предыдущим поколением, платой Orange PI 5 Plus.

Читать далее

Конец кремниевой эры: почему квантовые компьютеры — наша последняя надежда

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

Я до сих пор помню тот день, почти два десятилетия назад, когда впервые вскрыла свой системный блок — он начал издавать какой‑то странный шум. Той ночью я сидела, скрестив ноги, на полу своей спальни перед открытым корпусом компьютера и смотрела на крошечные небоскребы, на это подобие города, красиво выстроенное на зеленой плате... Казалось, я наблюдаю за миром, у которого есть свое собственное существование.

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

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

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

Читать далее

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

Manim: как создавать математические анимации в стиле 3Blue1Brown с помощью Python

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

Команда Python for Devs подготовила перевод статьи о Manim — Python-инструменте для создания наглядных математических анимаций в стиле 3Blue1Brown. Разбираемся, как с помощью кода визуализировать уравнения, графики и абстрактные идеи так, чтобы они были понятны коллегам, менеджерам и студентам.

Читать далее

Архитектурный квиз: костыль или элегантное решение?

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

Отказоустойчивый и масштабируемый энтерпрайз невозможно спроектировать по книжкам. Одно и то же решение может фигурировать и в best, и в bad practice — и, что забавно, иногда переходит из одного списка в другой. Ещё недавно монолиты считались злом, а теперь снова в моде.

Хотите посмотреть, как знакомые паттерны ведут себя в реальном контексте?

Чтобы показать это на практике, я собрала три инженерных кейса. Каждый оформлен в формате детективного квиза: роль, фабула, вопросы на размышление, разбор и выводы. Попробуйте разобраться в проблеме, пройти тест и определить: где костыль, где инженерный компромисс, а где — настоящая best practice.

Читать далее

Под капотом платежей: чем отличаются ПС «Мир» и СБП

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

В этой статье расскажем, чем отличаются ПС «Мир» и СБП и почему именно вместе эти системы делают безналичные расчёты удобными, надёжными и доступными каждому.

Читать далее

Как «ИИ» (не)помогает мне разрабатывать игру Creepy Support

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

Уже год я неторопливо разрабатывают свою небольшую инди-игру Creepy Support, о технической части которой я уже рассказывал на Хабре. И недавно меня в очередной раз спросили, «а ты не пробовал использовать «ИИ» для ускорения разработки»? Я начал писать человеку развёрнутый ответ, и в процессе понял, что текст разрастается до небольшого поста...

Читать далее

Всё, что нужно знать про аллокаторы в Rust (и как написать свой)

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

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

Но. Как только начинаешь копать чуть глубже, выясняется, что у Rust есть вполне конкретная рука, которая раздаёт память под все эти Box::new(42), Vec::push и растущие String. Имя этой руке простое: аллокатор. Он отвечает за то, что происходит в куче, и именно через него проходят почти все интересные истории про производительность и поведение памяти.

Читать далее

Изготовление дампера картриджей NES/Famicom

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

В статье расскажу об опыте изготовления и использования дампера NES/Famicom картриджей. Проблемы выбора проекта для реализации, цели и задачи, примеры использования.

Читать далее

Куда может завести гель для УЗИ, если вы варите его 30 лет

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

Если вы хоть раз делали УЗИ в СНГ, то, скорее всего, вас обмазывали нашей продукцией. С 1994 года мы производим медицинские гели. Началось с лаборатории НИИ медицинских полимеров. После развала Союза удалось спасти часть наработок, сколотить команду и попытаться сделать хоть что-то.

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

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

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

В 90-е, когда денег у больниц не было, а импортный гель (типа американского Parker) стоил дико дорого, врачи часто варили крахмал. Диагностика на таком геле была соответствующая — мутная, с помехами, но хоть что-то видно.

Импеданс, агрессивность среды для датчика — таких слов врачи просто не знали. Им надо было хоть что-то, чтобы диагностировать.

Читать далее