Pull to refresh

Technotext

Load as a Service: нагрузочное тестирование в inDriver

Reading time5 min
Views3.2K

Всем привет, я Никита Мунтян, QA Load Engineer в inDriver. Пришел в компанию в 2020 году развивать направление нагрузочного тестирования. В первую очередь познакомился с коллегами, выстроил план работы и начал планомерно выстраивать процессы и технические решения.

Тогда передо мной было пустое поле — делай как хочешь и как видишь, возможностей для творческой реализации много. Оставалось понять, что хотят увидеть от нагрузки, и какой подход использовать. Мы решили делать Load as a Service, об этом и расскажу под катом.

Читать далее

Встречи формата 1-on-1: не противостояние, а слаженное взаимодействие

Reading time9 min
Views10K

Хабр, привет. Я Леся, Senior QA Manual в команде Release Management. В статье поделюсь опытом проведения встреч формата 1-on-1 и правилами, которые я регулярно применяю. Расскажу, для чего нужна эта встреча, как вести себя на ней руководителю и сотруднику, а также какие ошибки могут допустить обе стороны. Поехали! 

Читать далее

Почему Li-ion дешевле «свинца»

Reading time9 min
Views11K

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

Читать далее

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

Reading time6 min
Views7.3K

Привет! Меня зовут Андрей, я продакт-менеджер команды Passenger в inDriver. В этой статье расскажу, как из маленькой якутской команды мы превратились в большой департамент, который работает из разных точек мира. И не просто превратились, а еще и научились эффективно работать и взаимодействовать друг с другом (по крайней мере, нам так кажется). Погнали!

Важное уточнение: все города я буду указывать с часовым поясом в скобках, чтобы вы понимали нашу распределенность :)

Читать далее

Чему не учат разработчиков: советы для начинающих

Reading time22 min
Views33K

Иногда меня спрашивают, как стать разработчиком? Сложно ли это, что для этого нужно, какой язык выбрать? Спрашивают друзья, родственники, знакомые. Далёкие от сферы информационных технологий или забросившие когда-то программирование и подумывающие о возвращении (читай дауншифтеры). Я не нашёл статьи, которую мог бы скидывать в таких случаях, и решил её написать. Здесь должна быть шутка про 14 конкурирующих стандартов, но как солдат не смеётся в цирке, так и программист не улыбается, говоря о конкурирующих стандартах.

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

Читать далее

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Reading time32 min
Views47K

Интро: почему я написал эту статью


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



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


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


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

Обзор российской системы управления тестированием Test IT

Reading time9 min
Views21K

Всем привет! На связи Макеева Анастасия. Я лидирую автоматизацию тестирования проекта витрин в Утконос Онлайн. 
Ввиду сложившейся ситуации система управления тестированием, которую мы используем, вот-вот с нами попрощается: действие лицензии скоро закончится.
Недавно нашей команде выпала возможность попробовать систему управления тестированием Test IT.

Читать далее

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 1

Reading time15 min
Views114K

Расширения браузера это web-приложения, которые устанавливаются в web-браузер чтобы расширить его возможности. Обычно для того чтобы воспользоваться расширением, пользователю нужно найти его в Chrome Web Store и установить.

В этой статье я покажу как создать расширение для браузера Google Chrome с нуля. Это расширение будет использовать API браузера для того чтобы получить доступ к содержимому web-страницы любой открытой вкладки. С помощью этих API можно не только читать информацию с открытых web-сайтов, но и взаимодействовать с этими страницами, например, переходить по ссылкам или нажимать на кнопки. Таким образом расширения браузера могут использоваться для широкого круга задач автоматизации на стороне клиента, таких как web-scrape или даже автоматизированное тестирование фронтенда.

Мы создадим расширение, которое называется Image Grabber, которое будет содержать интерфейс для подключения к web-странице и для извлечения из нее информации о всех изображениях. Далее, при нажатии на кнопку "GRAB NOW" список абсолютных URL этих изображений будет скопирован в буфер обмена. В этом процессе вы познакомитесь с фундаментальными строительными блоками, которые в дальнейшем можно будет использовать для создания других расширений.

Расширения, создаваемые таким образом для браузера Chrome совместимы с другими браузерами, основанными на движке Chromium и могут быть установлены, например, в Yandex-браузер или Opera.

В результате, при правильном выполнении всех шагов, вы получите расширение, которое будет выглядеть и работать так, как показано на следующем видео:

Читать далее

Как мы автоматизировали тестирование производительности для Warface

Reading time7 min
Views3K

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

Читать далее

Вычислительная социальная наука, что это и почему это важно

Reading time6 min
Views3.7K

Цифровизация гуманитарных наук затрагивает всё большие области познания, в том числе и социологические науки, в связи с этим, появляются и развиваются новые направления исследований, получившие название вычислительные социальные науки (computational social science).

Читать далее

Как программисты дурят бизнес?

Reading time15 min
Views52K

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

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

Предполагаемая аудитория: Бесстыжие программисты и наивные руководители. Одних пристыдим, другим раскроем глаза. И наоборот.

Ну, задай огонька!

Миллион записей для змеи

Reading time14 min
Views8K

Загрузить миллион записей в питон за секунду?
Нет. Получилось еще быстрее!

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

Читать далее

Колхоз. Большая история фермы устройств Яндекса

Reading time20 min
Views40K
Все новые сервисы Яндекса, а также апдейты к существующим приложениям и сайтам нужно тестировать: на айфонах, андроидах, десктопах, умных колонках, телевизорах. Раньше часть тестировщиков работали на личных телефонах и компьютерах, а часть — использовали для тестов корпоративные девайсы. Процесс не был гибким и с трудом масштабировался. Поэтому мы сделали свою клауд-ферму устройств. Сначала ей пользовались только отдельные команды тестирования, но со временем ферма стала особенно популярна и среди разработчиков. В итоге мы собрали почти 800 разных девайсов, которые теперь доступны 24/7.



Меня зовут Кирилл Коргов, я отвечаю за то, чтобы ферма устройств работала и развивалась. Кстати, называть её просто фермой было бы скучно, поэтому где-то на заре проекта мы по-доброму назвали её близким по смыслу словом «Колхоз». Если интересно, с чего Колхоз начинался, как пандемия привела к неожиданному росту его популярности и что общего у макбуков с лотками для офисной бумаги, прошу под кат.
Читать дальше →

Аналитика рынка профессии в три клика

Reading time8 min
Views7.8K

Привет, сообщество!

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

В то же время, как хобби, я юзал аналитический инструмент Power BI - красивые графики, диаграммы и тд. А главный сервис с вакансиями в РФ, ну вы знаете. Поразмыслив, я почувствовал, что добавив одно к другому может получится интересная история.

Итак, мне нужны данные по рынку. Если воспользоваться поиском на сайте HHru, в выдаче можно увидеть кучу вакансий, но когда их сотни, для человека анализ не представляется возможным. Нахожу в документации по API HHru, что данные по вакансиям бесплатны и открыты. То есть можно получить те же результаты, что и поиском, только в формате json, что в конечном счете съедобно для Power BI. Поехали.

Читать далее

Расстояние Левенштейна для чайников

Reading time4 min
Views107K

Когда я взялась решать задачку по динамическому программированию — реализовать алгоритм, который рассчитывает расстояние Левенштейна — мне пришлось послушать пару небольших лекций и прочесть несколько статей (приведу их в конце), чтобы разобраться. Я решила попытаться пересказать алгоритм настолько просто, чтобы по этому объяснению можно было снять ролик для тиктока (когда он снова возобновит свою деятельность в РФ). Дальше — мало формул и много картинок.

Читать далее

PProto: бинарный rpc-протокол для Qt framework (часть 1)

Reading time20 min
Views3.3K

Думаю, не сильно ошибусь, если скажу, что каждый разработчик программного обеспечения рано или поздно сталкивается с задачей взаимодействия приложений расположенных на удаленных узлах локальной или глобальной сети. В разных проектах мне довелось поработать с DCOM, SOAP, самописным (не моим) rpc-протоколом, использующим связку json+boost.asio. Проблематика коммуникации приложений и процессов мне всегда была интересна. Пытаясь разобраться, как устроены различные механизмы взаимодействия, ставя эксперименты по сериализации данных, со временем, я пришел к решению, о котором хочу рассказать.

Читать далее

Как составить объявление о найме сотрудника в Телеграме

Reading time11 min
Views13K

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

В каком случае зайдёт статья:

• Вы не очень шарите в сфере HR и хотите это исправить.
• Не понимаете, как пользоваться Телеграмом, а надо.
• Не знаете, как составить текст вакансии и что в нём должно быть.

Читать далее

Люди и интерфейсы. Рассказ незрячего тестировщика о том, как сервисы Яндекса становятся доступнее

Reading time17 min
Views7.6K


Привет, меня зовут Анатолий Попко. Последние 15 лет (или около того) я работаю над тем, чтобы технологии становились доступнее для пользователей с различными ограничениями. Участвовал и продолжаю участвовать в работе разных групп и организаций, которые объясняют разработчикам технологий реальные потребности людей, пишут гайды, стандарты и так далее.


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

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

Самая большая BERT-подобная модель на русском, которая поместится на ваш компьютер

Reading time7 min
Views22K
Привет, это снова Максим Рябинин, исследователь в Yandex Research. В прошлом году я рассказывал на Хабре о том, как вместе с Hugging Face, Университетом Торонто и волонтёрами мы обучили state-of-the-art модель для бенгальского языка и написали об этом статью на конференцию NeurIPS. Теперь хотим поделиться новым результатом: оказывается, технологии для обучения на нестабильном железе находят приложение и внутри привычных всем кластеров.

Используя вычислительную платформу Яндекса, мы обучили RuLeanALBERT — нейросеть, показывающую сравнимые с другими открытыми моделями и где-то даже близкие к state-of-the-art результаты на бенчмарках по пониманию русского языка — Russian SuperGLUE и RuCoLA. Наша модель хотя и имеет миллиарды параметров, но вполне способна вместиться в одну домашнюю GPU: вы можете использовать её в своих проектах для классификации предложений, представления текстов и других языковых задач, не требующих генерации. В статье можно прочитать о подробностях обучения, которые мы реализовали в открытом коде, а чекпоинт теперь тоже доступен всем желающим.


Примерно так выглядит процесс обучения на множестве независимых серверов
Читать дальше →

Почему GPU обманывают о своей нагрузке и как с этим бороться

Reading time10 min
Views21K
В предыдущем посте я рассказывал о том, как мы строили свои суперкомпьютеры. В этом — поделюсь опытом, который мы накопили, эксплуатируя наши кластеры. Этот опыт будет полезен не только тем, кто обучает огромные ML-модели. На грабли, о которых пойдёт речь, легко наступить, даже если вы специалист с парой GPU.



Почему в распределённом обучении нельзя доверять утилизации GPU? Почему переход в эру распределённого обучения — фундаментальный сдвиг парадигмы мышления, к которому должен быть готов каждый ML-разработчик? Ещё больше «Почему» и ответов на них — под катом.
Читать дальше →