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

В поле и офисе: послушаем доклады и увидим своими глазами, где тестируют продукты YADRO

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

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

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

Читать далее

Новости

Охота за районами: как устроены мобильные активации радиолюбителей

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

Современное радиолюбительство — это огромная техническая среда со своими соревнованиями, рейтингами, цифровыми сервисами и даже картографическими системами. И мобильные активации — только одна из ее частей.

Привет, Хабр! Меня зовут Андрей Зубарев, я старший системный аналитик GSM-решений в YADRO. В статье расскажу, как устроено современное радиолюбительство, как радиолюбители работают в эфире на коротких волнах и почему связь на тысячи километров возможна без привычной мобильной инфраструктуры.

Читать далее

Как я переехал с Altium Designer на KiCAD

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

Я расскажу о своем переходе с мощного и широко распространенного Altium Designer на open source-инструмент KiCad. Причин перехода с Altium Designer три. Во-первых, хочется использовать официальное ПО, проекты из которого я смогу спокойно выкладывать в открытый доступ. Во-вторых, я теперь не изготавливаю печатные платы и могу пользоваться любой интересной мне программой. Наконец, я просто хотел попробовать что-то новое, открытое и независимое.

Читать далее

Создаем потокобезопасную очередь с условными переменными: «академический» пример против реальности

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

Представьте, что вы едете в ночном поезде. Чтобы гарантированно выйти на нужной станции, придется не спать всю ночь и внимательно отслеживать остановки. Свою станцию вы не пропустите, но сойдете с поезда уставшим. Другой способ: узнать из расписания предполагаемое время прибытия поезда, поставить будильник на нужное время с небольшим запасом и лечь спать. Этого вполне достаточно, чтобы не пропустить свою станцию, но, если поезд задержится, пробуждение окажется слишком ранним. Идеальным решением было бы лечь спать, положившись на то, что кто-нибудь или что-нибудь разбудит вас незадолго до реального прибытия поезда на нужную станцию...

Какое отношение этот пример имеет к работе с потоками в программировании? Дело в том, что решить задачу синхронизации конкурентных операций можно также несколькими способами, близкими к ситуации выше. Меня зовут Александр, я разработчик на С++ в YADRO, и в этой статье я разберу несколько вариантов эффективной организации ожидания потоков. 

Читать далее

Как мы валидировали сервер YADRO для NVIDIA H100 Special

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

Недавно на рынке появились карты NVIDIA H100 в форм-факторе PCIe, построенные на основе извлеченных из HGX-модулей SXM-чипов. Но точно ли их производительность не уступает производительности оригинальных NVIDIA H100 NVL? 

Меня зовут Артём Маклаев, вместе с командой я занимаюсь оценкой производительности серверных платформ для задач искусственного интеллекта в YADRO. В целях эксперимента мы решили сравнить показатели PCIe-карты NVIDIA H100 (дальше по тексту буду называть их NVIDIA H100 Special) и NVIDIA H100 NVL. Для этого провели испытания с использованием сервера YADRO G4208P G3. Методику построили так, чтобы результат можно было проверить и воспроизвести: для сравнения использовали одинаковую серверную платформу, одинаковые версии драйвера, CUDA и ОС, а также два уровня тестов — прикладной vLLM benchmark и NCCL all_reduce_perf для проверки GPU-интерконнекта. 

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

Читать далее

Как мы тестируем планшеты KVADRA_T на производстве: архитектура DeviceTestPro

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

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

Привет, Хабр! Меня зовут Сергей, я ведущий инженер программист в отделе разработки приложений в YADRO. В статье расскажу, как мы создавали систему производственного тестирования Android-планшетов, которая используется на этапах сборки и в отделе технического контроля.

Читать далее

С/С++ в современном машинном обучении: традиционные роли и возможности нового стандарта

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

Привет, Хабр! Меня зовут Кирилл, я разработчик СХД в YADRO и ML-энтузиаст, автор книги "Hands-on Machine Learning with C++". Я заметил, что роль С/С++ в экосистеме машинного обучения трансформируется прямо сейчас. Чтобы понять, какое значение язык играет в развитии ML, мы поговорим о классическом применении C++ для ручной оптимизации вычислительных ядер. Затем разберемся, почему новый стандарт не закрепляет реализаций линейной алгебры, а отдает это на откуп поставщикам стандартной библиотеки и вендорам оборудования. И в завершение подумаем, как работать с «зоопарком реализаций», который из-за этого остается. 

Читать далее

SI/PI в разработке электронных устройств: анализ, который сэкономит вам время, деньги и нервы

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

Привет, Хабр! Меня зовут Алексей, я старший инженер в отделе моделирования физических процессов в YADRO. Вот уже четвертый год я помогаю печатным узлам стать лучше, технологичнее и стабильнее — об этом расскажу дальше. Но основной темой статьи будет анализ целостности сигналов (Signal Integrity, SI) и питания (Power Integrity, PI) в разработке современных электронных устройств. Этот этап часто недооценивают на практике, а в результате компания может столкнуться с лишними финансовыми затратами на доработку КД и повторное производство доработанных модулей и с переносом срока выпуска итогового продукта. 

Давайте разбираться, как работает анализ, зачем нужны SI/PI-инженеры и какую роль они играют в процессе разработки. Статья будет интересна инженерам-схемотехникам, топологам и руководителям проектов по разработке печатных плат: сможете оценить, насколько моделирование важно для вашего проекта.

Читать далее

Как работает передача данных в радиоэфире: прогоняем картинки с котиками через ресурсную сетку

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

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

Спецификации LTE и 5G обычно написаны «для своих». Чтобы разобраться в них, приходится глубоко погружаться в физику, математику и обработку сигналов. Но мир телекома слишком красив, чтобы прятать его за этой сложностью. В этой статье попробуем шаг за шагом разобраться, как современные сети превращают данные в радиосигнал и передают их через пространство и время.

Исследуем вместе

Минус 500 MB: оптимизируем Docker-образ Django-приложения

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

Когда Docker-образ backend-приложения начинает весить 1,5 GB, это уже хороший повод хотя бы посмотреть, что вообще лежит внутри. Пока все работает, мало кто задумывается, сколько мусора, dev-зависимостей и ненужных файлов уезжает в production вместе с приложением. Но на самом деле от «лишнего веса» нужно избавляться, потому что каждый лишний мегабайт — это более долгие сборки и дополнительные сложности.  

Читать далее

Алиасинг памяти в C++: прошлое, настоящее, будущее

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

Привет, Хабр! Меня зовут Владислав, я разрабатываю компиляторы в YADRO. В этой статье я расскажу вам про алиасинг памяти в C++: как он развивался, к чему пришел сейчас и что комитет по стандартизации языка думает делать с алиасингом в будущем. По пути я немного затрону алиасинг в других языках, рассмотрю связанные случаи undefined behavior, а также пропозалы C++, которые, как ожидалось, проблемы с алиасингом решат.

Читать далее

Больше, чем поддержка: как сервис-менеджер меняет продукт и отношения с клиентом

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

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

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

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

В конце статьи расскажу, кого мы ищем в команду и какие вопросы задаем кандидатам на позицию сервис-менеджера.

Как стать сервис-менеджером?

Webhook в TestY заставил переписать приложение с нуля: от Flask-костылей к FastAPI

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

Привет, Хабр! Меня зовут Станислав Кулагин, я ведущий инженер отдела сертификационного тестирования компании YADRO. Я разработал ATS Studio — Flask-приложение, которое позволяло запускать автотесты в TestY TMS из браузера, не проставляя статусы руками. За полгода приложение стало популярным в нашей компании теперь экономит по 40 часов в месяц коллегам из KVADRA. 

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

Читать далее

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

Как процессоры обмениваются данными в многопроцессорных системах

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

Привет, Хабр! Меня зовут Максим, в YADRO я разрабатываю методики тестирования аппаратных средств. В этой статье я подробно опишу, как процессоры обмениваются данными в многопроцессорных системах Intel. Расскажу, как здесь выбирать процессор с учетом количества линков UPI (Ultra Path Interconnect) и почему иногда даже мощные серверные процессоры не спасают от тормозов запущенного на них софта.

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

Читать далее

64 прямоугольника хватит всем

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

«Студент-программист реализовал на FPGA полноценную игровую приставку с нуля за полтора месяца, не имея опыта цифрового проектирования». Для меня самого это звучит как фантастика или реклама очередных онлайн-курсов, но я расскажу эту историю. Реальную историю моего пути — студента четвертого курса направления «Программная инженерия». Приставка «Брус-16», о которой недавно писали в блоге YADRO, работает на FPGA-платах уровня Tang Nano 9K, поддерживает ввод с джойстиков DualShock 2 и выводит изображение на обычный HDMI-монитор. Статья будет интересна студентам, новичкам в области аппаратного проектирования и всем тем, кто хочет увидеть, как работают игры для «Брус-16» в «железе».

Читать далее

Как мы контролируем сборку печатных плат: опыт внедрения ML-модели на производстве

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

Привет, Хабр! Это команда SmartFab YADRO. Мы решаем задачи на собственном производстве полного цикла Фаб Дубна, включающем цеха по производству многослойных печатных плат и автоматизированные конвейерные линии сборки и тестирования продуктов компании.

Один из ключевых процессов в создании печатных плат — правильная сборка экземпляра: не перепутать слои, верно сопоставить элементы. Чтобы помочь сборщикам, мы разработали систему контроля. В ее основе — ML-модель с функцией компьютерного зрения, которая помогла добиться нулевого процента брака на этапе сборки. Из статьи вы узнаете, как разрабатывали «ассистента» для коллег с производства и какие функциональные и механические особенности есть у нашего решения.

Читать далее

Как мы научили СХД TATLIN.OBJECT мигрировать данные из S3-хранилища MinIO

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

Привет, Хабр. Меня зовут Ори Брук, я ведущий инженер в департаменте разработки объектных хранилищ YADRO. Раньше мы не писали о TATLIN.OBJECT, нашей децентрализованной системе хранения данных (СХД). Исправляемся, ведь у нас есть повод — релиз новой функциональности S3-зеркалирования. Она позволяет бесшовно переносить данные из S3-совместимого хранилища MinIO в нашу СХД. Впрочем, функция может работать с любым S3-совместимым хранилищем в качестве источника данных в рамках поддерживаемых вызовов.

Разберемся, как устроено децентрализованное хранилище, как работает S3 прокси-мигратор, и посмотрим на результаты замеров его производительности на примере MinIO.

Читать далее

«Насколько вы контролируете то, из чего состоит ваш продукт?». Как и зачем проводить Open Source Analysis

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

Привет! Меня зовут Руслан, я инженер в отделе развития процессов безопасности в YADRO. Сегодня поговорим об открытом исходном коде (open source). В мире современной разработки он используется практически в каждом приложении: open source-библиотеки, фреймворки и компоненты помогают ускорить разработку и сделать ее гораздо более удобной. 

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

Таких рисков как раз и помогает избежать анализ открытого исходного кода (Open Source Analysis, OSA). Давайте разбираться, что это такое и как его выполнять.

Читать далее

Inspector v3: как я сделал свой центр управления Kubernetes на старом ноутбуке

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

Привет, Хабр! Меня зовут Артём, в YADRO я работаю инженером инфраструктуры: виртуализация, мониторинг, контейнеризация — это мое ежедневное. Также занимаюсь инфраструктурной автоматизацией. В декабре ко мне пришли коллеги с запросом инфраструктуры под инференс. Но Kubernetes на старте этой истории был для меня темным лесом: уровень «развернуть и передать», не более. Чтобы закрыть пробел в квалификации, решил взяться за проект. Вся история и итоги — далее в посте.

Читать далее

Рабочее место не-вайбкодера: настраиваем harness

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

Привет, Хабр! Меня зовут Даниил, я программист и архитектор, разрабатываю программное обеспечение и спецификации для создания ПО в YADRO. Продолжаю цикл статей об организации рабочего места по методу Spec-Driven Development. В первой части мы настроили агента Claude Code. Во второй расскажу, как настроить harness — программную инфраструктуру, выступающую оберткой для LLM, и наконец поделюсь решением задач по методу SDD.

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