Как стать автором
Обновить
200.79
Сначала показывать

В закладки тестировщика-автоматизатора: от базовых правил для написания быстрых автотестов до полезных плагинов Pytest

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

Привет, Хабр! Принесли полезный контент для всех, кто пишет автотесты на Python. В подборке — видео докладов с последнего AQA-митапа: о плагинах Pytest, архитектуре автотестов для продукта на open source-движке, а также о критериях понятных тестов (и как их соблюдать на практике). Материалы будут полезны как начинающим, так и опытным AQA-инженерам. Под катом — все видео и ответ на вопрос, зачем это смотреть, от гостей митапа.

Смотреть доклады →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Решаем задачу асинхронного ввода-вывода с библиотекой Asio

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

Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. 

На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio.

Узнать больше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 22

«Есть вопросы, на которые не ответит даже наниматель»: три истории о собеседованиях разработчиков на С++

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

21 ноября в рамках митапа по С++ Константин Владимиров, Илья Шишков (@ishfb) и Елена Степанова — эксперты с многолетним «стажем» в собеседованиях — обсудят, как проводить технические интервью, говорить про алгоритмы без синтетических задач и оценить знания кандидата. Регистрируйтесь и присоединяйтесь к дискуссии в Москве или онлайн. 

А сейчас знакомим вас с модераторами и задаем им три каверзных вопроса про собеседования. На чем проваливаются кандидаты и нужно ли проходить собеседования, чтобы лучше их проводить? Ответы под катом. 

Узнать ответы →
Всего голосов 27: ↑19 и ↓8 +11
Комментарии 28

Митап по С++ в Москве и онлайн: боли нового стандарта, висячие ссылки и дискуссия о собеседованиях

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

Привет, Хабр! 21 ноября собираемся на митапе по C++. Обсудим новый стандарт С++ 23 с точки зрения практикующего программиста, узнаем, как избежать dangling reference, и подискутируем, как собеседовать комфортно для всех.

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

Изучить программу →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Обзор книги «С++ 20 в деталях»: доступно, но не для джунов

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

Привет, Хабр! Меня зовут Дмитрий Луцив, я работаю в СПбГУ на кафедре системного программирования, веду ряд IT-дисциплин на математико-механическом факультете в лабаратории компании YADRO и помогаю вузам актуализировать образовательные программы под задачи индустрии.

Я давно не программировал на С++, но стараюсь не отставать от изменений, происходящих в языке. Книга «C++ 20 в деталях» заинтересовала меня личностью автора (на секунду, это Райнер Гримм) и возможностью познакомиться с новым источником знаний о «плюсах». Решил ее прочитать, чтобы понять, кому материал будет полезен и могу ли я его рекомендовать. Под катом расскажу, что в книге хорошего, а что можно было бы сделать лучше, а также дам список дополнительных источников для специалистов разного уровня.

Читать далее
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 14

Один на 150 миллионов операций. Расследуем причины выброса времени отклика в операциях ввода-вывода

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

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

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

Узнать решение →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 10

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

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

Любое программное обеспечение необходимо обновлять — ПО для систем хранения данных (СХД) не исключение. Логика апгрейда в СХД не тривиальна. В системе есть несколько контроллеров хранения, обновлять которые нужно последовательно, учитывая все возможные риски — потерю отказоустойчивости, конфликт версий и другие. При этом даунтайм сервиса или миграция данных на другую систему — варианты, которые не устроят ни одну компанию.

Я Владимир Приходько, руководитель отдела разработки подсистем управления в компании YADRO. Вместе с командой мы развиваем пользовательский функционал СХД. В тексте расскажу о специфике бесшовного обновления ПО в системах хранения данных и дам рекомендации, как выстроить этот процесс с учетом лучших практик. Все описанные подходы мы с командой успешно используем в обновлении СХД TATLIN.UNIFIED

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 2

Пишем свой драйвер Molecule без костылей и боли

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

Привет, Хабр! Меня зовут Павел, я инженер по разработке инфраструктуры в компании YADRO. В апреле 2023 года разработчики Molecule представили мажорный релиз инструмента в версии 5.0.0. Помимо множества багфиксов и улучшений, пользователи получили возможность написать свой собственный драйвер, подключить его в уже существующие сценарии тестирования ролей и использовать как molecule.docker или molecule.openstack. Я не нашел или плохо искал статей об этом и решил написать поэтапное руководство по разработке собственного драйвера — от примитивного Hello world до работающего прототипа.

В статье вы найдете пример custom_docker доработки оригинального драйвера molecule.docker, описание базовых классов и методов из API Molecule, а также рассказ о нюансах разработки и эксплуатации.

Перейти к инструкции
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Проектируем узлы печатной платы с учетом особенностей монтажа при массовом производстве. Подход DFA

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

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

Подход, на который мы будем опираться, называется DFA — Design for Assembly (проектирование для сборки). Набор методов DFA гарантирует возможность сборки компонентов на плате, когда она поступит на монтажный участок, и позволяет отправлять плату в тираж без страха потерять деньги и время.

Читать далее
Всего голосов 55: ↑55 и ↓0 +55
Комментарии 30

Митап по автоматизации тестирования на Python в Нижнем Новгороде и онлайн 26 сентября

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

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

Вместе с нижегородским сообществом PythoNN и инженерами компании-разработчика вычислительной техники YADRO мы обсудим правила, которые помогут сделать тесты понятнее, поговорим, как поддерживать одновременно автотесты в коммерческой и опенсорсной версиях ПО, и как использовать pytest plugins. 

На митапе вас ждет общение с опытными спикерами из разных городов и возможность встретиться с коллегами в центре Нижнего Новгорода, в КУПНО на Почаинской. 

Как всегда, для для онлайн-зрителей мы проведем трансляцию, где вы сможете задать вопросы спикерам!

Внутри поста — подробные описания докладов, ссылки на регистрацию и трансляцию.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 1

Как ограничить количество выполняющихся задач в Jenkins при вызове parallel: сравниваем решения

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

Недавно передо мной встала задача — есть 250 тестов, каждый из которых занимает от 5 до 30 минут, а иногда и часы. Надо запустить их в параллель на одной машине, но не больше 16 одновременно. Ограничение связано с некоторым лимитированным ресурсом, а также количеством ядер CPU. Реальное число одновременно запущенных задач нужно вычислять динамически, то есть пойти простым путем и зарегистрировать имя или лэйбл ресурса заранее с помощью плагина Lockable Resource не получится.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 4

История печатных плат: от Эйслера до наших дней

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

Чтобы сегодня найти работающее от электричества устройство без печатной платы внутри, придется постараться. Они стали основой буквально всего, что сложнее выключателей. Да и в них уже печатные платы не редкость. Трудно представить, что начало такому разнообразию технологий положил талантливый инженер, бежавший от режима и поначалу стремившийся оптимизировать сборку радиоприемников в своей кустарной мастерской.

Читать далее
Всего голосов 44: ↑42 и ↓2 +40
Комментарии 33

Seastar как платформа для опорной сети 5G и краткое сравнение с Boost.Asio, userver и другими

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

Я исследовал некоторые open-source фреймворки — кандидаты на платформу для опорной сети пятого поколения операторского уровня, и хочу поделиться своими выводами. Под катом я сравню Seastar, mTCP, Boost.Asio, userver и ACE, расскажу, почему примитивы синхронизации — это плохо, а затем погружу вас в глубины Seastar.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 10

Простые правила, которые помогают мне писать на Go без побочных эффектов

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

Роб Пайк сказал, что простое лучше, чем сложное. Я бы добавил: простое лучше, чем прикольное. Ведь Go спроектирован, чтобы писать программы в простом стиле. 

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

Читать далее
Всего голосов 28: ↑26 и ↓2 +24
Комментарии 11

3 доклада для тех, кто недавно с Go: материалы митапа в Петербурге

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

«Что самое крутое вы сделали за год, что пишете на Go», вопрос из зала после первого доклада.

«Записал новую машину на жену», остроумный комментарий к этому моменту в трансляции.

В конце мая в очень дружелюбной атмосфере состоялся YADRO Go To митап — в этот раз для тех, кто только думает или недавно начал писать на Go в коммерческих проектах. В этом посте мы собрали ссылки на записи, презентации и добавили пару слов о каждом выступлении, чтобы было проще выбрать, что посмотреть детальнее, а что — на быстрой перемотке.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 0

Что важно понимать студенту 2-3 курса технического вуза, который собирается искать работу

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

Мы в YADRO активно работаем со студентами и видим, что многих из них волнуют вопросы:

— какие навыки прокачивать ещё в университете,

— где взять опыт для первой версии резюме,

— как проходить первые собеседования,

— и как в целом задать своей карьере правильный вектор на самом старте.

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 2

Говорим про системное программирование и дизайн микропроцессоров простым языком

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

Системное программирование и разработка процессоров — область достаточно узкая, из-за чего её часто воспринимают как что-то непонятное и недоступное. Хотим поделиться новым подкастом «Битовые маски», который планирует исправить это впечатление. В каждом выпуске будем общаться с инженерами, причастными к созданию продуктов, которыми многие программисты пользуются ежедневно, и разбирать с ними интересные нюансы, мифы и задачи отрасли.

Гостем первого эпизода стал Дмитрий Петров, писавший компилятор для Kotlin. Под катом вы найдете запись, а для тех, кто не любит слушать — мы подготовили расшифровку ряда интересных фрагментов. Мы очень хотим фидбека: не стесняйтесь писать в комментарии или личные сообщения. 

Читать далее
Всего голосов 23: ↑17 и ↓6 +11
Комментарии 8

Системному администратору и нагрузочному тестировщику:  статистика ввода-вывода в ядре Linux под капотом

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

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

Нам, как конечным пользователям, будет полезно понимать, как устроен механизм сбора и накопления статистики внутри ядра и как читает и интерпретирует данные популярная утилита iostat. Что именно значат aqu-sz, util и другие данные из режима расширенной статистики? Почему многие значения усреднены? Чтобы ответить на эти и другие вопросы, мы пройдем путь от системного вызова до момента, когда запрос ушел в диск и вернулся, — а счетчики обновились. Поехали!

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 0

Программирование паяльником, пыльное железо и тонны легаси? Как на самом деле устроена разработка ПО в телекоме

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

Хабр, привет! Недавно я спросил нескольких коллег — вчерашних студентов, как они представляли себе разработку в телекоме до того как пришли в эту сферу. Их ответы были очень далеки от реальности. Многие считали, что разработка в телекоме — это возня со старым пыльным железом на чердаках и в подвалах. Внедрять новые и современные решения невозможно из-за тонн легаси, в сторону которого все боятся даже дышать. А большинство коллег — бородатые деды, которые программируют паяльником и строго следуют парадигме каскадной разработки. Да и задачки в целом довольно скучные: перекладываешь байты — и, в общем-то, больше ничего не происходит. Нечего будет рассказать внукам, когда сам станешь бородатым дедом.

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

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 10

Go-митап для тех, кто переходит или недавно перешел на Go

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

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 0

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия