Обновить
4

Пользователь

Отправить сообщение

GlobalSign начал отзывать сертификаты безопасности российских сайтов

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

Японская GlobalSign — один из крупнейших центров сертификации в мире — утром 13 июня начала процедуру принудительного отзыва ранее выпущенных SSL-сертификатов у компаний из России. Об этом говорится в письме гендиректора российского юрлица «Джи-Эм-О Глобал Сайн Раша» Дмитрия Рыжикова в адрес партнеров компании в стране, рассказал РБК источник, знакомый с содержанием письма, и подтвердили четыре собеседника на рынке хостинг-провайдеров.

В письме Рыжикова говорится, что Международный консорциум CA/Browser Forum (глобальный регулятор, в который входят все крупнейшие центры сертификации мира и разработчики браузеров — Google, Apple, Microsoft, Mozilla — и который устанавливает единые правила выпуска и отзыва цифровых сертификатов) утвердил обновленные требования к проверке организаций. «К нашему глубокому сожалению, текущие жесткие регламенты этого консорциума напрямую подразумевают исполнение международных санкционных ограничений, — указано в письме. — В связи с этим глобальный удостоверяющий центр начал процедуру принудительного отзыва части ранее выпущенных сертификатов для компаний из России». «Джи-Эм-О Глобал Сайн Раша», как пишет Рыжиков, «не имеет правовых или технических рычагов влияния на решения данного консорциума». Отзыв будет проходить поэтапно, начиная с 13 июня в 02:10 по британскому летнему времени (04:10 мск).

В опубликованном на сайте CA/Browser Forum документе, который вступил в силу 4 мая, содержится прямой запрет для удостоверяющих центров выдавать сертификаты компаниям из санкционных списков — проверка по OFAC SDN List, BIS Denied Persons List и их европейским аналогам стала не рекомендательной, а обязательной. GlobalSign была основана в 1996 году в Бельгии, а позже продана японскому холдингу GMO Internet Group, поэтому обязана соблюдать санкционные ограничения ЕС. После вступления новых правил компания провела аудит портфеля и 13 июня начала принудительный отзыв сертификатов у российских клиентов.

Читать далее

Отказоустойчивость Kubernetes-кластера: практика тестирования

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

Про отказоустойчивость распределенных систем обычно говорят на уровне архитектурных схем: несколько реплик, несколько серверов, резервное хранилище, Kubernetes-кластер. На схеме все выглядит убедительно. Но у инженеров возникает более практичный вопрос: Что произойдет, если прямо сейчас взять и выключить часть инфраструктуры? Именно это мы и проверяем.

Читать далее

Pinterest переводит мониторинг производительности на открытый gProfiler от Intel

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

Вычислительные мощности Pinterest насчитывают сотни тысяч инстансов, обеспечивающих работу сервиса для 640 млн активных пользователей в месяц. Сервисы компании написаны на языках Java, Python, C++, Go и Node.js. Ранее инженеры применяли разрозненный набор инструментов, куда входили, например, perf, async-profiler и py-spy. Это приводило к фрагментации данных и усложняло сопоставление профилей между разными языками и машинами.

Вместо разработки закрытой внутренней системы Pinterest объединила усилия с Intel, чтобы доработать gProfiler и передать внесенные изменения обратно в open-source проект. Доработки включили динамическое профилирование, сбор телеметрии на аппаратном уровне, wall-time профилирование и построение flame-графиков на основе счетчиков производительности.

Читать далее

Пожалуйста, зашифруй мой пароль

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

Признай, разработчик, ты же любишь отправлять пароль в теле POST‑запроса из формы входа открытым текстом, ведь «там же TLS, всё зашифровано»? Судя по тому что я вижу в интернете, эту традицию соблюдают многие, ИИ — не исключение. Одни продолжают запрашивать по сети пароли, прикрытые звёздочками, другие — используют одинаковый пароль в десятке различных сервисов. Даже Госуслуги не стали исключением.
В этой статье я кратко разобрал в чём проблема, кто виноват и что делать.

Читать далее

Разработчик представил утилиту, которая наносит рисунки на CD, DVD и Blu‑ray обычным пишущим приводом

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

Разработчик под никнеймом JiaFeiMiao‑K-Cat выпустил утилиту DiscImageStudio, которая конвертирует изображение в данные для записи на оптический диск и наносит их с помощью записи. В итоге картинка становится видна на той же стороне, с которой привод считывает данные.

Читать далее

Простой service discovery в Prometheus через Consul

Время на прочтение9 мин
Охват и читатели28K
Закон Парето (принцип Парето, принцип 80/20) — «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата».
Wikipedia

Приветствую тебя, дорогой читатель!


Моя первая статья на Хабр посвящена простому и, надеюсь, полезному решению, сделавшим для меня сбор метрик в Prometheus с разнородных серверов удобным. Я затрону некоторые подробности, в которые многие могли не погружаться, эксплуатируя Prometheus, и поделюсь своим подходом по организации в нём легковесного service discovery.


Для этого понадобится: Prometheus, HashiCorp Consul, systemd, немного кода на Bash и осознание происходящего.


Если интересно узнать, как все это связано и как оно работает, добро пожаловать под кат.


Prometheus + Bash + Consul

Читать дальше →

Вспоминаем прекрасные меню на DVD

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

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

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

Читать далее

Подводные камни битовых полей в C++

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

Думаю, вы знаете, что C++ — язык, который разрешает вам вообще всё. А потом молча смотрит, как вы на этом подрываетесь. Обычно мы привыкли мыслить категориями байтов, но что делать, если стандартная сетка типов кажется слишком расточительной? Когда внутренний перфекционист требует компактности, на помощь приходят битовые поля. Зачем отдавать под скромный флаг “да/нет” целый восьмибитный контейнер, если можно ювелирно отрезать ровно один бит? Поставил двоеточие — и ты повелитель памяти. Но там, где начинается экономия, заканчивается порядок и предсказуемость. Программист остается один на один с тонкостями стандартов и поведением конкретных платформ. Предлагаю вместе заглянуть под капот C++ и подробно разобрать, как на самом деле устроены битовые поля.

Читать далее

Новинка «Высокопроизводительный Go. Руководство по оптимизации»

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

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

Сегодня мы рады представить вам нашу очередную новинку, которая украсит полку профессионального бэкенд-разработчика: «Высокопроизводительный Go. Руководство по оптимизации». Она продолжает сразу два направления нашей работы и ориентирована как на современных бэкендеров, всё активнее переходящих на Go, так и просто на ответственных разработчиков, желающих систематизировать проверенные практики повышения производительности. Книга сложилась из заметок и кода, над которыми много лет работал Александр Ставонин – выдающийся специалист по Go, C++, IoT и высокопроизводительным вычислениям. В своё время Александр давал на Хабре подробное интервью для компании Getmatch, в котором рассказывал о личном опыте обустройства в Сингапуре. Англоязычные черновики книги, которые легли в основу русского издания, выложены на сайте goperf.dev.

Читать далее

Как две строки GLSL едва не свели меня с ума

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

Недавно столкнулся с весьма неприятным багом в движке The Great Tribes.

После обновления драйвера AMD игра начала намертво зависать при перемещении камеры, особенно когда на карте открывалась большая территория. Иногда зависал графический драйвер, иногда JVM падала внутри atio6axx.dll.

Самое интересное — на старом драйвере и других видеокартах всё работало нормально!

Начались поиски. Под подозрение попало практически всё: многопоточность OpenGL, VAO, VBO, индексные буферы, тени, модели юнитов и даже glfwSwapBuffers().

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

В нём обнаружилась вот такая конструкция:

Читать далее

Черный октябрь «Яндекса»: анатомия архитектурной и управленческой катастрофы, которую списали на форс‑мажор

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

В октябре 2026 года российский ИТ‑рынок наблюдал беспрецедентный по масштабу коллапс: за четверо суток физически вышли из строя три дата‑центра «Яндекса» в Центральной России (Сасово, Калуга, Владимир). Итогом стали обрушение облачной платформы Yandex Cloud, остановка ключевых сервисов экосистемы (от Такси до Директа), потеря недельных данных у ряда внешних клиентов и 11-дневная кома финтех‑вертикали («Яндекс Пэй» и «Сплит»).

В публичном поле эту аварию удобно списывать на «непреодолимый военный форс‑мажор» — мол, ни одна архитектура не рассчитана на потерю трех ЦОДов подряд.

Как архитекторы, мы обязаны смотреть на факты без розовых очков. Если препарировать поминутную хронику событий с 8 по 22 октября, становится очевидно: физическое поражение площадок стало лишь триггером. Масштаб и длительность катастрофы — это прямое следствие фундаментальных просчетов в проектировании распределенных систем, управлении мощностями (Capacity Management) и оценке рисков на уровне C‑level.

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

Читать далее

Просто сделать игру недостаточно

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

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

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

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

Читать далее

Спроси backend-разработчиков Badoo. Часть 1. Платформа

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


Нам очень нравится формат AMA (ask me anything) на Reddit, когда кто-нибудь (в нашем случае – команда разработчиков) приходит в сабреддит AMA и говорит, что готов отвечать на заданные вопросы. Из самых запоминающихся сессий Ask Me Anything, например, команда инженеров Space X, или инженеры из Google, и даже действующий президент США Барак Обама четыре года назад отвечал на вопросы на Реддите. Недавно наша Android-команда проводила AMA и в онлайн-режиме отвечала на вопросы разработчиков.

Но в России нет своего Реддита. Зато есть свой Хабр. Поэтому мы решили прийти с форматом «задай нам вопрос» сюда. И не с пустыми руками, как велят правила AMA. Чтобы вам было проще понять тему, мы выбрали одну из наших команд – «Платформу» – и попросили ребят рассказать, чем они занимаются, на чём программируют и чего добились за время существования команды. И подвели небольшие итоги уходящего 2016 года. Поехали!

Оглавление


1. Чем занимается «Платформа»
2. Сервисы: Pinba, SoftMocks и другие
3. Системное программирование. Как мы начали использовать Go и к чему это привело
4. Фотографии
5. Скриптовое облако
6. LSD: Live Streaming Daemon
7. Cassandra Time Series: что это и как работает
8. Badoo AMA: задай вопрос разработчикам «Платформы»

Пруф, что это действительно мы.
Читать дальше →

Секреты первых 3D-игр: как работала графика в тайтлах 90-х

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

Осторожно: Эта статья во всех подробностях описывает принципы работы 3D-игр из 90-х годов максимально простым языком. Если вы любите настоящие статьи времен того самого лампового Хабра и без нейрослопа - материал обязателен к прочтению!

Задумывались ли вы когда-нибудь о том, как разработчики 3D-игр умудрялись выжимать красивую графику из слабого железа в 90-х годах? Вспомните NFS High Stakes, Quake 3, Unreal или Jurassic Park: Tresspaser — все они, несмотря на простоту технологий, выглядят сногсшибательно - в них были и зеркала, и отражения на металлических поверхностях, и продвинутый статический свет с рейтрейсингом, и даже четкие тени...

...но немногие знают, что на видеокартах уровня 3dfx Voodoo 2 это достигалось путём использования хитрых техник, хаков и особенностей видеокарт тех лет. В этой статьи мы с вами из первых уст рассмотрим такие техники на практике — ведь одним из моих хобби является написание 3D-демок и игр под ретро-железо.

Читать далее

Исключения в C++ бесплатны до первого throw

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

В C++ исключения принято считать бесплатными, пока дело не доходит до throw. Но один бросок через 128 кадров стека может обойтись в 26 микросекунд, а отсутствие noexcept — заставить std::vector копировать объекты вместо перемещения. Разбираемся на замерах и примерах кода, откуда берутся эти накладные расходы, как на них влияет многопоточность и когда исключения становятся проблемой для производительности.

Разобраться в исключениях

Космос сегодня: 526 тысяч астероидов, 35 тысяч спутников в браузере

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

С 4 по 10 октября идёт Всемирная неделя космоса: 4 октября 1957 года на орбиту вышел первый спутник, а 10 октября 1967 года вступил в силу Договор о космосе. Прошло 69 лет, и сейчас в открытом каталоге CelesTrak 35 249 объектов на орбите Земли.

Я делаю страницу, где их видно все сразу, вместе с остальной Солнечной системой, в том положении, в каком они находятся прямо сейчас: полмиллиона астероидов, 600 комет, 40 космических аппаратов, МКС с прямым эфиром. Можно встать на любую планету и посмотреть на небо, а можно надеть скафандр и подлететь к астероиду.

Посмотреть, что внутри

Решаем проблему качества в Factorio при помощи матриц

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

Я играю в Factorio как любой нормальный человек: для планирования фабрики пишу код матричных вычислений.

Но до этого мы ещё доберёмся. Если же вам не терпится, можете просмотреть мой новый онлайн-калькулятор.

Введение в Factorio и качество

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

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

Выпущенное в 2024 году расширение Space Age добавило новые игровые механики, в том числе и качество (Quality): у каждого изделия и рецепта теперь есть пять уровней качества: ⚀ обычное, ⚁ необычное, ⚂ редкое, ⚃ эпическое и ⚄ легендарное. Каждый уровень (в зависимости от конкретного изделия) повышает характеристики, например, ускоряя производственные машины или повышая производительность модулей продуктивности. Высококачественные изделия можно изготавливать непосредственно из ингредиентов того же качества, однако единственный способ повышения качества — это применение новых модулей качества.

Читать далее

HTML Sanitizer API: конец эпохи DOMPurify и XSS-страданий

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

Инженеры узнают о межсайтовом скриптинге (Cross-Site Scripting, XSS) тремя способами.

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

А есть те, кто узнает о нем через страдания, когда их сайт становится уязвимым. Когда злоумышленник внедряет скрипт, который крадет токены сессий из localStorage, перехватывает файлы cookie или перенаправляет пользователей на фишинговый сайт. Я лично присоединился к клубу «пострадавших» еще в 2005 году, когда встроенная Flash-подпись на форуме, которым я владел, превратилась в кошмар с точки зрения безопасности… но это уже другая история.

В этой статье мы рассмотрим, как браузер, наконец, снимает с нас бремя очистки данных (sanitizing) благодаря новому HTML API Sanitizer.

Читать далее

Попасть нельзя промахнуться

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

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

В сетевой игрe происходит примерно то же самое, но приходится немножечко врать уже не о положении персонажа, а о времени и если coyote time был маленькой ложью о том, где заканчивается платформа, то lag compensation, будет маленькой ложью о том, когда именно существовал игровой мир.

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

Читать далее

Мы портировали Doom на SQL

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

TL;DR: Мы портировали игровую логику и рендерер первого Doom на SQL и запустили его внутри базы данных. На моём ноутбуке игровой цикл исполняется на исходных 35 FPS, а рендерер генерирует полный буфер кадров 320x200 с частотой от 60 Гц и выше. Python только обрабатывает тайминги, считывает клавиатуру и отображает получаемую им битовую карту. Многопользовательский режим тоже работает.

Можете сыграть прямо сейчас: Deathmatch, четыре слота, обслуживание в порядке очереди.

SQLDoom на EU-серверах

SQLDoom на US-серверах

Это shareware-версия первого эпизода. Если все места заняты, вы попадаете в очередь. Если очередь заполнена, то в процессе ожидания вы всё равно можете запрашивать состояние игры через SQL.

Читать далее
1
23 ...

Информация

В рейтинге
4 339-й
Зарегистрирован
Активность