Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 30 min ago

Импортозамещение системы передачи отчетности Дельта

Tue, 07/01/2025 - 17:04

Привет! Мы – команда сопровождения банковских телекоммуникаций Национального Расчетного Депозитария (Группа «Московская биржа»). В НРД мы отвечаем за сопровождение критичных информационных сервисов, которые используются на ежедневной основе при отправке платежей/финансовых сообщений через каналы платежной системы Банка России (ПС БР), SWIFT, системы передачи финансовой сообщений (СПФС), сдачи отчетности, взаимодействии с Федеральными органами исполнительной власти.

В этой статье расскажем об успешном кейсе по импортозамещению такого значимого программного продукта, как Дельта (ПП Дельта).

Читать далее

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

Tue, 07/01/2025 - 16:54

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

Читать далее

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

Tue, 07/01/2025 - 16:33

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

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

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

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

Читать далее

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

Tue, 07/01/2025 - 16:31

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

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

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

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

Tue, 07/01/2025 - 16:15

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

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

Читать далее

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

Tue, 07/01/2025 - 16:09

Пользователь 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 был написан новичком в этом языке.

Читать далее

TURN/STUN — платить или крутить свой?

Tue, 07/01/2025 - 16:06

Как выбрать между своим TURN-сервером, бесплатными решениями и платными сервисами: живой разбор без маркетинга.

Читать далее

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

Tue, 07/01/2025 - 15:53

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

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

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

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

Читать далее

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

Tue, 07/01/2025 - 15:50

Привет, Хабр! Мы продолжаем цикл статей о нововведениях СУБД 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.

Читать далее

Океан в качестве аккумулятора: как гигантские подводные шары могут помочь с сохранением энергии

Tue, 07/01/2025 - 15:44

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

Целый ряд таких сфер — часть амбициозного проекта StEnSea (Stored Energy in the Sea) по балансированию энергетической системы целых государств. Здесь ученые решают главную проблему чистой энергии: как её хранить и распределять в те часы и дни, когда ветер перестаёт дуть, а Солнце закрыли тучи?

Читать далее

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

Tue, 07/01/2025 - 15:43

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

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

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

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

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

Читать далее

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

Tue, 07/01/2025 - 15:43

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

Читать далее

Повстанцы бессмертия: Как банда безумцев превратила смерть из судьбы в выбор

Tue, 07/01/2025 - 15:42

Они называли их безумцами. Сегодня — у них бюджеты в миллиарды. Генная терапия, химическое перепрограммирование, эпигенетика — это уже не фантастика, а клиника. В 2025 году человечество в упор смотрит на смерть... и начинает дёргать её за бороду.

Это манифест повстанцев бессмертия. История тех, кто отказался стареть.

Читать далее

Наследство превращает бизнес в поле боя: как избежать корпоративной войны в IT-компании

Tue, 07/01/2025 - 15:38

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

Читать далее

Не одушевляйте неодушевлённое

Tue, 07/01/2025 - 15:37

Всем привет, меня зовут Алекс Гусев. Поводом для этой публикации стали интересные и вдумчивые посты коллег @Siberianice, @SergioPrieto и @Kamil_GR — спасибо им за пищу для размышлений. Я задался вопросом: есть ли у нас вообще основания наделять современные большие языковые модели (LLM) субъектностью? Где проходит грань между инструментом и носителем воли? Это не просто изложение моей позиции, а попытка повлиять на восприятие темы.

Да, это агитация :)

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

Tue, 07/01/2025 - 15:30

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

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

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

Читать далее

Разработка документации для облачных сервисов, или как приручить дракона

Tue, 07/01/2025 - 15:19

Привет, я — Таня Кириллова, технический писатель команды развития безопасности контейнеров в Cloud.ru.

На конференции Techwriters Days 2 Семён Факторович, основатель и руководитель компании documentat.io, в своем докладе Техписатель-2025 предложил ввести специализации для профессии «Технический писатель». В качестве одной из таких он выделил направление Cloud-техписатель. 

Чем Cloud-техписатель отличается от обычного технического писателя? Тем, что извлекает информацию из голов разработчиков и самих сервисов, адаптирует собранную информацию для пользователей, разрабатывает практические сценарии совместно с девопсами, работает с документацией, как с кодом, документирует API, пишет Release Notes… и все это для облачных сервисов.

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

Узнать больше

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

Tue, 07/01/2025 - 15:16

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

Читать далее

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

Tue, 07/01/2025 - 15:14

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

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

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

Читать далее

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

Tue, 07/01/2025 - 15:13

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

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

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

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

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

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

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

Читать далее

Who's online

There are currently 1 user and 5 guests online.