Как стать автором
Обновить

Разработка

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

Эволюция платформы Russ Online: от монолитов к микросервисам и Kubernetes

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров857

Привет, Хабр! С вами команда разработки платформы Russ Online Группы компаний Russ (входит в объединенную компанию Wildberries & Russ). Мы хотим поделиться историей о том, как от монолитной системы мы перешли к микросервисной архитектуре и облачным решениям на базе Kubernetes и S3. Эта трансформация создала фундамент для дальнейшего развития платформы и внедрения новых сервисов.

Читать далее

Обзор патентов Tesla Motors, Inc. Часть 2

Время на прочтение15 мин
Количество просмотров607

В данной статье мы рассмотрим три наиболее интересных, на наш взгляд, патента компании Tesla Motors:

1. Система управления двухмоторным электроприводом электромобиля (20130241445);

2. Оптимизированный режим работы АКБ электротранспортного средства, позволяющий продлить жизненный цикл ячеек (20130221916);

3. Обнаружение токовой перегрузки в группе АКБ (20130179012).

Читать далее

«Срочно требуется твоя помощь: войди в мой iCloud»

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

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

Подобные схемы использовались мошенниками еще в 2014 году, и они по-прежнему продолжают быть актуальными.

Как же это всё произошло

Зоопарк версий питона в ИИ, какую версию лучше выбрать в 2025 для большинства задач?

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

Разработка в области искусственного интеллекта развивается стремительно. Каждый месяц появляются новые модели и фреймворки, и часто возникает вопрос: какую версию Python использовать для локальной разработки и экспериментов, чтобы обеспечить максимальную совместимость и избежать «ада зависимостей»? Но, можете не тратить время на чтение. СРАЗУ ВЫВОД: Рекомендуемая версия: Python 3.10.x.

Неправильный выбор версии Python может привести к часам отладки, проблемам с компиляцией пакетов и несовместимости с ключевыми библиотеками, такими как PyTorch или TensorFlow. В этой статье мы проведем глубокий анализ совместимости более 30 популярных AI-моделей и 30+ библиотек, чтобы дать однозначный и обоснованный ответ.

Читать далее

История успеха, из-за которой компания перестала работать с Rust

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

Пользователь Reddit опубликовал в r/rustjerk сгенерированный ИИ пост под названием «Почему наш CTO запретил использовать Rust после одного переписывания кода». Очевидно, что этот рассказ выдуман, но у меня есть история похожая на него в том смысле, что успех проекта на Rust привёл к прекращению использования этого языка в компании.

Несколько лет назад я работал в стартапе-«единороге», во время пандемии развивавшемся невероятно быстро. Его основное приложение было написано на Ruby on Rails, а часть инструментария для работы с видео — на Node.js, но мы никак не применяли быстрые компилируемые языки наподобие Rust и Go. Через пару месяцев после моего прихода в компанию нам нужно было реализовать работающий в реальном времени сервис, который бы позволял нам получать информацию о том, кто из пользователей находится онлайн (то есть в профиле есть зелёная точка) и чем они занимаются (например: N пользователей смотрят презентацию X, M пользователей находятся в разделе маркетинга и так далее). Ничего особо сложного, но мы рассчитывали на изначальный рост до ста тысяч пользователей. Эта цель тоже не особо сложна, но большинство разработчиков согласилось, что Ruby — не лучший выбор для этого.

Начались дискуссии о выборе языка. Команда, которая должна была писать сервис, выбрала Rust, но руководство пока не было уверено, поэтому предложило написать в качестве proof of concept несколько сервисов, по одному на каждом из языков: Elixir, Rust, Ruby и Node.js. Тогда я был в отпуске, поэтому, честно говоря, не знаю, почему в этот список не вошёл Go, который мог бы стать вполне подходящим кандидатом. Спустя примерно неделю proof of concept были завершены, и мы провели их бенчмаркинг. Я не был в команде, проводившей их, но выполнял множество задач, связанных с производительностью и наблюдаемостью, поэтому помогал в бенчмаркинге. Результаты меня не удивили: Rust оказался самым быстрым и потреблял меньше всего памяти, затем шли Elixir, Node.js и Ruby. Впрочем, тонкость в том, что версию на Node.js в конечном итоге пришлось бы сделать распределённой из-за однопоточной среды выполнения. Ещё один интересный аспект заключался в том, что версия на Rust содержала проблему, вызванную тем, что разработчик при отправке сообщений клиентам использовал async future — они обходили всех клиентов, чтобы получить список каналов, в которые нужно выполнять передачу, что при высоких нагрузках блокировало среду выполнения на несколько секунд. Если знаешь, что делать, эту проблему легко решить, но новичок, скорее всего, сделал бы всё правильнее на Go или Elixir, чем на Rust. Впрочем, возможно, я и не прав, ведь другие proof of concept (PoC) были написаны людьми, имевшими опыт работы с соответствующими языками, и только PoC на Rust был написан новичком в этом языке.

Читать далее

От работяги до айтишника

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.6K

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

А суть вся в том, что решил я сменить профессию на ту, где зарплата летом не номинальная. Наткнулся на журнал «Мир Робототехники» и загорелся узнать подробнее за какие навыки и знания платят в айти. Знакомый посоветовал обучаться на базе конструктора с микроконтроллерами, чтобы тот был полигоном для творчества. Так что спустя несколько месяцев проб и ошибок решил поделиться своим опытом со всеми соискателями.

Выбрал себе конструктор от «Грань Новые Технологии», так что из электроники в моём распоряжении оказались: orangePi 5+, STM32 и Mega2560. Как я узнал в дальнейшем, orangePi это аналог небезызвестной RaspberryPi, а mega – аналог Arduino. До более углублённого изучения STM32 я до сих пор не дошёл, так что может быть во второй части статьи будет и о STM32, если саму статью буду продолжать.

Приехала ко мне коробка в пол кубометра, после распаковки начинки я понял, что работы непочатый край. Так что решил как нетипичный пользователь начать с инструкции.

Читать далее

Авторизация OAuth 2.0 в PostgreSQL на примере Keycloak

Уровень сложностиПростой
Время на прочтение27 мин
Количество просмотров3.2K

Привет, Хабр! Мы продолжаем цикл статей о нововведениях СУБД Tantor Postgres 17.5.0, и сегодня поговорим о поддержке авторизации через OAuth 2.0 Device Authorization Flow — это современный и безопасный способ предоставления доступа, который позволяет приложениям запрашивать доступ к PostgreSQL от имени пользователя через внешнего провайдера идентификации и управления доступом, например Keycloak, что особенно удобно для облачных сред и микросервисных архитектур (функция будет также доступна в PostgreSQL 18). В статье пошагово разберём настройку OAuth-авторизации в PostgreSQL с использованием Keycloak: настроим Keycloak, подготовим PostgreSQL, напишем валидатор токенов OAuth в PostgreSQL и проверим успешную авторизацию через psql с использованием Device Flow.

Читать далее

Один день с архитектором РСХБ-Интех: взгляд изнутри

Время на прочтение5 мин
Количество просмотров750

Привет, Хабр! Сегодня у нас откровенный разговор с Денисом Глуховым — руководителем ЦК архитектуры блока цифровой трансформации РСХБ-Интех. Узнаем, как выглядит рабочий день специалиста, который хорошо знаком с кухней цифровой трансформации в крупном банке и превращает сложные бизнес-требования в эффективные технологические решения.

Денис, как начинается твой рабочий день? Есть ли у тебя утренние ритуалы или привычки?

Мой рабочий день начинается c момента,  когда я оставляю авто на перехватывающей парковке и сажусь в МЦД. Я открываю ноутбук и по пути на работу просматриваю накопившуюся почту, отвечаю на сообщения, просматриваю календарь и распределяю задачи, ранжируя их по приоритетам. Территориально с командой находимся на Теплом Стане, но фактически работаю на два офиса, так как большое количество очных встреч проходит с руководством в офисе в Москва-Сити. Люблю офис на Теплом Стане: там лучше думается. Мой обязательный утренний ритуал — самый большой завтрак в корпоративном кафе.

Какие основные задачи и проекты ты планируешь к выполнению сейчас? Как ты определяешь приоритеты?

Основной проект, который сейчас в активной фазе, — это Свои Финансы, цифровой канал обслуживания физических лиц, построенный на микросервисной архитектуре. В рамках данной активности мы уходим от монолитного решения подрядчика в сторону собственной разработки на импортозамещенном стеке и размещаем наши решения на интеграционной платформе App.Farm. А что касается приоритета для архитектора главное — это обеспечение потребностей бизнеса и продуктовых команд, помощь в проектировании и консультации. Это наша основная операционная активность .

Читать далее

Repka-Pi 3: DMR хотспот

Время на прочтение6 мин
Количество просмотров1.4K

Привет, Хабр! Меня зовут Иван Куликов, я руководитель направления backend разработки в VK Tech, и хочу поделиться своим путем боли и преодолений по запуску DMR Хотспота на базе MMDVMHost и DMRGateway на российском аналоге RaspberryPi — RepkaPi

Читать далее

Что нового в Apache Spark 4.0

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

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

И вот 23 мая 2025 года компания Apache выпустила новую версию Spark 4.

Стоит отметить, что Apache Spark — масштабный фреймворк с широким функционалом. В данной статье я сосредоточусь на нововведениях, которые в первую очередь затронут пользователей Spark SQL и PySpark.

Читать далее

Классификация документов: гайд для обхода граблей

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров994

У всех на слуху библейское изречение «отделять зерна от плевел» и его грубый аналог «отделять мух от котлет». В обычной жизни мы также сталкиваемся с необходимостью разделять схожие предметы. В машинном обучении задача разделить объекты по определенным классам, например, «зерна» и «плевелы», называется классификация. Классификация лежит в основе современных технологий искусственного интеллекта и играет ключевую роль в машинном обучении.

Читать далее

Автоматизация инвентаризации парка ПК: PowerShell-скрипт для сбора системной информации

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

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

В статье я поделюсь PowerShell-скриптом, который:

Сам обойдет все машины в сети
Соберёт подробную информацию о конфигурации
Сгенерирует удобные для восприятия HTML-отчёты
Складирует всё в вашу сетевую папку для удобства

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

Читать далее

LNK- и BAT-файлы: фишинговая рассылка

Время на прочтение10 мин
Количество просмотров978

Автор - Степан Панфилов, команда UserGate uFactor

Привет, Хабр! На связи команда UserGate. Мы запускаем новую серию материалов, посвященных исследованию кибератак. Да, мы не только разрабатываем NGFW, но и, как положено серьезной ИБ-компании, анализируем актуальные угрозы. Сегодня мы рассмотрим два сценария загрузки основных вредоносных модулей на компьютерную систему атакуемого. Первый сценарий — атака при помощи LNK-файлов, в которых применяются криптографические методы, второй — атака через BAT-файлы.

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

Сценарий 1: криптография в LNK-файле

В качестве промежуточного звена для загрузки основного вредоносного модуля могут быть применены файлы MS-SHLLINK. Для выполнения сценария в LNK-файлах используются командные интерпретаторы CMD или PowerShell, но также есть и другие методы. К сценарию зачастую применяются методы сокрытия вредоносных команд, такие как кодирование, обфускация или шифрование, что затрудняет детектирование угрозы средствами защиты информации.

Рассмотрим на примере вредоносного LNK-файла один из способов сокрытия ключевой информации с помощью шифрования.

Для просмотра содержимого LNK-файлов можно воспользоваться hex-редактором, утилитами xxd или cat в UNIX-подобных системах. Стоит обратить внимание, что некоторые hex-редакторы могут отображать не сам LNK-файл, а содержимое файла, на который ссылается ярлык, — будьте внимательны.

Читать далее

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

Цукерберг переманивает сотрудников OpenAI, модели учатся шантажу: главные события июня в ИИ

Время на прочтение22 мин
Количество просмотров1.7K

Когда Claude Opus пишет научную статью в ответ на работу Apple, а Gemini 2.5 Pro выпускает третью часть этой дискуссии — становится понятно, что мы живем в интересные времена. LLM не только обсуждают друг друга в академических журналах, но и, как уже не в первый раз подтвердилось, отлично распознают, когда их тестируют на безопасность.

Параллельно с этой интеллектуальной дуэлью OpenAI удешевили o3 на 80%, Meta заключила ядерный контракт до 2047 года, а Anthropic вновь протестировали модели на склонность к шантажу. По меркам индустрии — месяц почти рутинный. По меркам всего остального — вполне себе блокбастер.

Традиционно разбираем главные события месяца, новые инструменты и исследования!

Читать далее

Как мы построили систему автотестов с 5 000+ проверками в Timeweb Cloud

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

Сегодня в нашем CI ежедневно запускается более 5 000 автотестов, которые проверяют всё: от корректности скриншотов панели до скорости отклика API. Это не просто тулза в пайплайне, а часть инженерной культуры команды, которая помогает нам выпускать изменения быстро и с уверенностью.

Привет! Меня зовут Михаил Шпаков, я руковожу разработкой Timeweb Cloud.

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

Чтобы не выбирать между скоростью и стабильностью, мы сразу сделали ставку на автоматизацию и автотесты. Это позволило команде быстро выпускать новые фичи, не боясь сломать что-то важное, и при этом держать контроль над качеством на каждом уровне.

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

Читать далее

Мой опыт проектирования архитектуры

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

Привет! Меня зовут Азамат, я backend-разработчик в Циане. В работе мне часто приходится пересматривать архитектуру компонентов или проектировать её с нуля. Со временем у меня накопились подходы и наблюдения, которыми хочу поделиться.

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

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

Читать далее

Стандартизация безопасной разработки: теория и практика

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров766

 Всем привет! У нас новый автор - Виктор Дрынов, руководитель отдела безопасной разработки Angara Security. Сегодня он расскажет, как стандарты могут помочь минимизировать риски и повысить качество разработки

Немного о требованиях регуляторов

С чего стоит начать подход к безопасной разработке? С изучения требований национальных стандартов и иных нормативно-правовых документов (НПА), разработанных регуляторами.

В России разработаны и приняты национальные стандарты по разработке безопасного программного обеспечения (РБПО), а именно:

Читать далее

Строим безопасность, которая работает на бизнес: опыт Dodo Pizza

Время на прочтение10 мин
Количество просмотров3.1K

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

Матвей Григорьев, руководитель направления ИБ в Dodo Engineering, заглянул к нам в подкаст «Все по ИБ» и поделился опытом построения ИБ-службы с нуля в компании, которая растет как на дрожжах. Он объяснил, как превратить безопасность из назойливого «контроллера с линейкой» в настоящего партнера бизнеса — и рассказал, как в Dodo внедряли подход Zero Trust. Мы собрали главные тезисы в этом конспекте — дальше слово Матвею.

Читать далее

KEKS кодек и криптографические сообщения

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров531
Данная статья напоминает о проблемах X.509 PKI и реализаций ASN.1. Предлагает компактный, быстрый, детерминированный, потоковый и простой формат кодирования данных KEKS, а также криптографические сообщения для подписи и шифрования данных с поддержкой пост-квантовых алгоритмов.

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

Тест-кейсы на автопилоте: как Spring AI и Atlassian MCP упрощают жизнь тестировщика

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров848

Тест-кейсы перестанут быть твоей головной болью и болью твоей команды. Нужно просто перестать их писать. Путь от спецификации до коллекции в тест-менеджере может быть пройден за минуту. Достаточно принимать по одной чайной ложке...

Или попытаться воспроизвести цепочку задач с помощью AI: модель легким движением промпта превращается в QA, нарезает спеку на чанки, отдавая тебе список из структурированных данных, которые ты шлешь далее в свой тест-менеджер.

Пишу о своих изысканиях в области автоматизации рутинных процессов с помощью Spring AI, Atlassian MCP, Qdrant, OpenAI, Allure TestOps.

Читать далее