«Поделитесь своим игровым состоянием с друзьями, просто отправив им число! Если переменная $STATE env не установлена, она генерирует новое случайное начальное число. В противном случае состояние доски и все будущие созданные ячейки будут детерминированными»,‑ пояснил автор проекта.
Наша облачная платформа постоянно развивается, мы регулярно выпускаем новые и улучшаем существующие сервисы К2 Облака.
На вебинаре расскажем о последних обновлениях этого года, объясним, для чего они нужны, покажем, как работать с новыми сервисами, а также поговорим о планах их развития.
Есть такие персонажи. Ты их не звал, но они приходят. На вторую сверху позицию. С резюме на десять экранов. С лицом человека, которому всегда всё ясно.
Я пришёл из Яндекса Я строил облака Я знаю, как делать лидоген
Сюрреализм IT маркетинга
А потом ты открываешь план, который он накатал, и читаешь: Надо срочно повысить охваты и сделать event-маркетинг в партнёрстве с департаментом госсектора. Занавес. Это даже не ахинея. Это скриншот из какой-то методички 2010 года.
Кто ты, воин? Формально - новоявленный руководитель блока продаж и маркетинга. По факту - всего навсего бывший аккаунт-директор. До этого вообще специалист по ИБ в системных интеграторах.
Он искренне считает, что понимает рынок. Он не знает, кто покупает облака. Он не знает, зачем их покупают. Он путает капексы с опексами. У него в голове до сих пор есть'облако' как магическое слово, которое должно продавать себя само. А если не продаёт — значит, виноват кто? Конечно, маркетинг.
Проблема даже не в нём Люди не обязаны быть идеальными. Бывают разные. Проблема в механике: его сюда спустили. Он не вырос, не понял, не прошёл путь. Его просто назначили.
Сходу в кресло, сразу - с правом финального слова. А ты теперь объясняй, почему твой roadmap не просто слайд. Почему у тебя нет 'горизонтальных альянсов'. Почему ты не пишешь статьи от имени продована по цифровой трансформации.
Идеи от него сыпятся каждый день Давайте срочно делать холодные звонки Нам нужно охватить весь SMB. Конечно, инфраструктуру же как пирожки на базаре продают. Где у нас продажи через Telegram?'
Ты сначала смеёшься. Потом объясняешь. Потом просто перестаёшь говорить. Потому что бесполезно.
Он не слышит - он управляет. Или думает, что управляет.
Чем всё закончится? Ты либо уйдёшь. Либо адаптируешься. Либо станешь таким же.
А он? Он - останется. Потому что его назвали Начальником начальника. Потому что кто-то где-то решил, что у него 'видение'. Потому что резюме с Яндекс.Облаком, казалось бы, всё ещё производит впечатление на тех, кто никогда туда не заглядывал.
Вывод? Парашюты должны раскрываться до касания земли. Иначе потом мы просто собираем обломки и делаем вид, что это было управляемое приземление.
Сравнили реляционные СУБД с NoSQL (Not Only SQL) — альтернативными системами хранения и управления данными для лучшей обработки неструктурированной информации. Когда при работе с хаотичными данными мощности традиционных СУБД уже не хватает, такая альтернатива может быть разумной заменой.
Сопоставили отличительные черты NoSQL и SQL, и вот что получилось:
Подробный обзор NoSQL, особенности их использования, типичные сценарии и наглядные кейсы в рабочих проектах смотрите в базе знаний Облака Рег.ру.
Подарить свое сердце? А может, лучше подарить свой сервер? 💙
Очень приятная фича, которая даст возможность перенести сервер вместе с бэкапами, IP и сетевыми дисками с одного аккаунта на другой без лишних заморочек.
Как перенести сервер:
1️⃣Заходим в Панель управления, выбираем конкретный сервер и нажимаем «Доступ»
2️⃣Кликаем кнопку «Передать»
3️⃣Указываем логин аккаунта, на который переносится сервер, и вводим код подтверждения (он придет на почту)
4️⃣У получателя сервер появится в списке. Его можно принять или вообще отказаться от переноса
Важно: во время передачи облачный сервер будет заблокирован и помечен в панели как ожидающий переноса (но на его работе это не отразится).
Подключайтесь к трансляции митапа для инженеров и сисадминов
Сегодня на SelectOS OpenFix Day обсуждаем лучшие практики работы с Open Source, вспоминаем свои инженерные факапы и разбираемся с нестандартными инфраструктурными задачами. Начало трансляции в 18:30 (мск).
Программа
Rust в ядре — прогресс или костыль в бронзе? Живая дискуссия про разный опыт работы с этим языком программирования.
Как справиться с инфраструктурным хаосом: вредные советы.
Честные истории о том, как падал и поднимался прод.
Ждем всех, кто не просто использует Linux, а вникает в код, фиксирует баги и патчит уязвимости.
Ловите возможность узнать лучшие практики по подготовке и получению сертификации по TOGAF Enterprise Architecture Foundation в 2025 году.
Вебинар предназначен для всех, кто хочет познакомиться с актуальной версией самого популярного фреймворка по управлению корпоративной архитектурой TOGAF.
Ведущий вебинара, бизнес-тренер Олег Бурко, сдал экзамен на сертификат TOGAF Enterprise Architecture Foundation в 2025 году и поделится лучшими практиками как по подготовке к сертификации, так и по изучению TOGAF 10.
📅 Дата: 24.06.2025
⏰ Время: 16:00-17:00 (Мск)
На вебинаре:
✔️ Фреймворк по управлению корпоративной архитектурой TOGAF
✔️ Что нового в TOGAF 10
✔️ Какую сертификацию по TOGAF выбрать
✔️ Как подготовиться и успешно получить сертификат TOGAF Enterprise Architecture Foundation
Батл мнений: «Ванильный» K8s VS коммерческие решения: когда стоит платить?
Коммерческие платформы, предлагающие расширенную функциональность «из коробки», активно конкурируют с «ванильным» Kubernetes, который поставляется на базе открытого кода и «обогащается» внутренними командами самостоятельно. Но когда же выгоднее собрать продукт внутри, а когда — использовать чужое? И какой путь чаще выбирает крупный бизнес?
В прямом эфире вместе с AM Live собрали представителей топовых компаний: «Авито», Почта Банк, beeline cloud, АЛРОСА ИТ, RWB Media.
Они рассказали, какой подход используют внутри и почему именно его, с какими сложностями сталкиваются и какая команда эксплуатирует и поддерживает контейнерную платформу.
Смотрите запись эфира на удобной для вас платформе:
О возвращеніи къ истокамъ: почему дореволюціонная орѳографія можетъ стать новымъ трендомъ въ IT
Или какъ перестать писать "плиз" и начать писать "извольте"
Привѣтствую, уважаемые обитатели Хабра!
Сидѣлъ я намедни за терминаломъ, читалъ коммиты, и вдругъ осѣнило меня: отчего это мы всѣ пишемъ "фиксы", "фичи" да "релизы", когда у насъ есть прекрасный русскій языкъ съ богатѣйшей исторіей? И рѣшилъ я возродить старую добрую традицію — писать по-русски, да не просто по-русски, а какъ писали наши прадѣды до революціи 1917 года.
Что же это за звѣрь такой — дореволюціонная орѳографія?
Для начала развѣю главный миѳъ: это не "языкъ Пушкина" и не "древнерусскій". Это вполнѣ себѣ обычный русскій языкъ, только съ болѣе сложными правилами правописанія, которыя отмѣнили большевики въ 1918 году "для упрощенія".
Основныя правила, которыя должен знать каждый уважающій себя разработчикъ:
Исправилъ досадный багъ въ обработкѣ данныхъ
- Передѣлалъ функцію парсинга
- Добавилъ провѣрку на нулевыя значенія
- Обновилъ тесты подъ новую логику
Или документацію:
## О методѣ getUserById()
Сей методъ служитъ для полученія пользователя по его идентификатору.
Возвращаетъ объектъ типа User или null, если пользователь не найденъ.
Какъ начать писать въ старомъ стилѣ?
Установите правильныя шрифты — нужны шрифты съ поддержкой ѣ, і, ѳ, ѵ
Настройте раскладку — есть готовыя рѣшенія для всѣхъ ОС
Изучите основныя правила — начните съ ъ и постепенно добавляйте остальное
Дисциплина ума — сложныя правила тренируютъ вниманіе къ деталямъ
Эстетика — старыя тексты выглядятъ солиднѣе
Заключеніе
Дореволюціонная орѳографія — это не просто "модный трендъ", это возможность вернуть красоту и глубину русскому языку въ IT. Вмѣсто безликихъ "окей" и "сабмитовъ" мы можемъ писать "извольте" и "представляю на разсмотрѣніе".
Начните съ малаго — поставьте ъ въ концѣ своего ника. Напишите одинъ коммитъ въ старомъ стилѣ. Создайте README съ ятями. И увидите — за вами потянутся другіе.
Ибо, какъ говорили наши предки: "Безъ корней дерево не стоитъ".
P.S. Если статья понравилась, могу написать туторіалъ по настройкѣ vim для работы съ дореволюціонной орѳографіей.
Целевая аудиторія: Системные администраторы (бородатые хранители серверовъ и блюстители традицій)
Хабы:
Системное администрированіе (ибо кто какъ не админы цѣнятъ традиціи)
IT-стандарты (старая орѳографія — тоже стандартъ, только забытый)
Ненормальное программированіе (писать съ ятями — это вамъ не Hello World)
История IT (а что, развѣ языкъ — не часть исторіи?)
Читальный залъ (для любителей изящной словесности)
Собрали подробный гайд для новичков о процессорах CPU и GPU: что под капотом, чем отличаются и для каких задач подходят. Каждый эффективен при выполнении предназначенных для них задач, однако специфика существенно отличается.
CPU (Central Processing Unit) — это центральный процессор, отвечающий за все функциональные задачи: управление операционной системой, операции с данными, регулирование доступами к ресурсам, общие вычисления и многие другие. CPU выполняет действия по строгому алгоритму и состоит из трех последовательных действий: получение команды от оперативной памяти (ОЗУ), перевод команды в машинный код, выполнение команды.
GPU (Graphics Processing Unit) — это графический процессор, который предназначен для выполнения ресурсоемких операций и задач без задействования центрального процессора. Существует два основных типа: интегрированный и дискретный. Обычно когда для текущих задач мощности обычного процессора не хватает, в дело вступает GPU, инструмент отлично справляется с обработкой Big Data, рендерингом и обучением AI-моделей.
Подробнее об архитектуре процессов и для чего CPU и GPU используются на практике читайте в базе знаний Облака Рег.ру.
Апгрейднули тарифы и добавили пояснение к каждому. Давайте знакомиться:
👉Тариф Dev. Подходит для тестирования функционала нашего Managed Kubernetes — 200 ₽/мес
Пример использования: небольшие пет-проекты
👉Тариф Base. Для кластеров со средней нагрузкой, где отказоустойчивость не критична — 2000 ₽/мес
Пример использования: корпоративные веб-сервисы или ML inference-сервисы
👉Тариф Custom. Для гибкой настройки — от 2520 ₽/мес
Пример использования: highload-платформы и BigData/ML пайплайны
Пара слов о тарифе Custom. В нем можно выбрать количество ядер, объем оперативы и диска, а также установку с одной мастер-нодой или с тремя для настройки отказоустойчивости.
SpaceWeb подключил Kubernetes к партнерской программе
Добавили Kubernetes к партнерской программе SpaceWeb для веб-мастеров. Теперь участникам будет начисляться 20% вознаграждения за каждого привлеченного пользователя, подключившего облачную услугу.
Сегодня партнерская программа SpaceWeb предлагает партнерам до 48% вознаграждения от стоимости хостинга за каждого вовлеченного клиента. Сейчас же программа расширена и для облачных услуг: Kubernetes, DBaaS, облачные бэкапы и балансировщик.
Всем участникам «партнерки» доступен моментальный вывод средств и заключение партнерства без бумажных носителей, а партнерский статус может получить любой желающий. Напомним, что партнерская программа SpaceWeb существует уже более 10 лет. Запартнериться можно здесь.
Уязвимость в протоколе REALITY XTLS/Xray-core: быстрый фикс уязвимости Aparecium
На прошлой неделе была обнаружена уязвимость в известном ПО для создания прокси соединений XTLS/Xray-core, а именно в протоколе REALITY, позволяющая выявлять работу этого протокола.
Для тех, кто не в курсе: REALITY — это уникальный протокол прокси, который позволяет маскировать прокси-трафик под легитимное посещение реальных сайтов (например, google.com или любого другого), при этом не требуя покупки домена и настройки TLS-сертификата на своем сервере.
Обнаружение уязвимости
В начале июня 2025 года исследователь под ником ban6cat6 опубликовал утилиту под названием Aparecium. Ее цель — находить серверы, использующие протоколы вроде REALITY.
В чем была суть уязвимости? Утилита обнаружила, что серверы на базе OpenSSL после завершения основного TLS-рукопожатия (handshake) обычно отправляют клиенту один или два служебных сообщения NewSessionTicket. Это стандартное поведение, позволяющее возобновлять сессии. Протокол REALITY в своей реализации это поведение не имитировал.
Это тонкое различие позволяло Aparecium с высокой точностью отличать настоящий веб-сервер от сервера с REALITY, просто проанализировав последовательность TLS-сообщений.
Быстрый фикс
Информация об уязвимости была опубликована в виде issue #4778 в репозитории Xray-core. Разработчики, в частности RPRX, отреагировали практически молниеносно.
Вместо того чтобы добавить отправку фейковых NewSessionTicket, они пошли по более правильному пути. Уже через несколько дней в версии Xray-core v25.6.8 появилось «предварительное» решение:
Теперь при первом запуске сервер REALITY, используя отпечаток клиента Chrome, сам подключается к целевому сайту (dest), «подсматривает», какие именно post-handshake сообщения и какой длины тот отправляет, кэширует эту информацию и в дальнейшем идеально имитирует именно это поведение.
На это «зондирование» уходит около 30 секунд при первом старте сервера, но оно по большей части решает основную проблему. Вместе с этим был исправлен и неприятный баг с производительностью из-за неработающего аппаратного ускорения AES-NI.
Глубокий анализ
Казалось бы, проблема решена, однако разработчики начали копать глубже, и вот что выяснилось:
Загадка «лишнего пакета» от bilibili.com Один из разработчиков заметил, что при подключении к некоторым сайтам (например, bilibili.com) с отпечатком Chrome, сервер возвращает не только NewSessionTicket, но и еще один небольшой пакет. После анализа выяснилось, что это не TLS-сообщение, а кадр настроек HTTP/2 (settings frame). Это значит, что для идеальной маскировки нужно имитировать не только TLS-уровень, но и поведение прикладного протокола (HTTP/2), который был согласован в ходе рукопожатия.
Проблема разных отпечатков (fingerprints) Выяснилось, что один и тот же сайт может по-разному отвечать на ClientHello от разных клиентов. Например, на запрос с отпечатком Chrome он может отправить два NewSessionTicket и settings фрейм, а на запрос от Go-клиента — только один NewSessionTicket. Похоже, что статического зондирования недостаточно.
Идея «живого обучения» В ходе мозгового штурма родилась идея для долгосрочного решения, которое было оформлено в issue #4788. Суть в том, чтобы сервер REALITY, получив ClientHello от нового клиента, не просто использовал стандартный отпечаток для зондирования, а копировал отпечаток реального клиента и именно с ним обращался к целевому сайту. Это позволит динамически адаптироваться под любого клиента и достичь практически идеальной мимикрии.
Разработчики рекомендуют всем обновить сервера и клиенты, использующие Xray-core, до версии 25.6.8.
Вышла нейросеть для расшифровки скриншотов — Snippai. Работает Gemini или GPT-4. Умеет перегонять формулы со скринов в LaTeX-формат, решать задачи и примеры, генерировать код по скринам или тексту, преобразовывать таблицы в Markdown, извлекать, переводить и пояснять текст. Доступна на macOS, Windows и Linux.
Как уведомить Роскомнадзор об обработке персональных данных?
На Хабр вышла наша статья, прочтение которой поможет корректно подать уведомление в Роскомнадзор о намерении обрабатывать персональные данные. Особенно она будет полезна для ИТ-компаний и стартапов.
Выбрать облачный сервис с помощью ИИ не отходя от кассы
Когда заходите на наш сайт, можете увидеть симпатичный розовый шарик, который предлагает помочь в создании готовой инфры.
Через него можно ввести запрос и получить от нейронки варианты сборки, которые мы можем предложить для бизнеса и личного пользования (кстати, такая фича есть только у нашего облака 😏).
Пример: Подобрать отказоустойчивую облачную инфраструктуру для SaaS-платформы с 50 000 активных пользователей в сутки.
ИИ-помощник сразу даст варианты сборки и ее конечную стоимость. Нужен кастом? Тогда можете написать сюда.
Лайфхак: Советуем проверить актуальные решения, даже если вы уже юзаете наши сервисы в облаке — вдруг появилось что-то покруче?
BSONError: Invalid UTF-8 string in BSON document
BSONError: bad embedded document length in bson
Документы в базе нормальные. Ошибки появлялись только при включённом Xray с WARP (через встроенный WireGuard). Когда VPN отключён — всё читается корректно.
Поначалу думал, что что-то с кодировкой или драйвером, но оказалось, что проблема в том, что Mongo работала через Cloudflare WARP.
Когда запросов было мало — срабатывало нормально.
Когда запускался алгоритм и начинались частые обращения к базе — Mongo валился с ошибками BSON.
Причина — искажение бинарного трафика при передаче через WARP.
Mongo использует бинарный протокол BSON, и даже один сбитый байт ломает парсинг.
Пофиксил так:
добавил в routing.rules Xray правило, чтобы трафик к Mongo шёл мимо WARP: