Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

VPN с Mobile IP на Raspberry Pi. WG туннель

Level of difficultyEasy
Reading time13 min
Views6.5K

Для умных дядь в статье ничего интересного, это статья про обычный туннель. Оно для самых маленьких, но отчаянно нуждающихся. Никаких wg-quick'ов тут, впрочем, не будет. :)

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

Читать далее

FlexiPrompt: Удобное создание динамических промптов в Python

Level of difficultyEasy
Reading time4 min
Views2.6K

Эта статья будет полезна Python-разработчикам, работающим с языковыми моделями (LLM).

Недавно у меня возникла потребность в формировании промптов внутри python кода. Не хотелось брать тяжеловесные решения. Результатом работы стала небольшая библиотека.

Читать далее

BananaNAS — портативный NAS из одноплатника

Level of difficultyEasy
Reading time7 min
Views17K

В статье рассказывается о разработке портативного NAS с двумя дисками NVME на основе одноплатного компьютера. Даётся небольшая теория работы контроллера PCIe, рассказывается о проблемах интеграции своего модуля дисков, а также приводятся детали дизайна и результаты тестирования.

Детали разработки

Подходы к сокращению регрессионного тестирования

Reading time6 min
Views9.4K

Привет, Хабр! Меня зовут Ксения Сергеева, я QA-инженер в компании SM Lab, IT-подразделении Спортмастера. Сейчас работаю с мобильным приложением для продавцов, а за последние несколько лет успела потрудиться на благо финтеха и сервисов топливной компании. И, конечно, на каждом из проектов я сталкивалась с проведением регрессионного тестирования.

Что самое креативное в работе QA-инженера? Тестировать новую функциональность. Что самое скучное в работе QA-инженера? Гонять регресс. Здесь со мной могут не согласиться нелюбители писать документацию, но и в таком случае прохождение регресса занимает почетное второе место в списке самых занудных активностей QA.

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

А еще регрессу как правило сопутствует куча ограничений. Сдвинулись сроки передачи фичи в тест? Время на регресс уменьшилось. Близится конец периода, а мы не все успеваем? Режем регресс. Коллега ушел на больничный и рук не хватает? Ну, вы понимаете.

Плюс, регресс — штука дорогая, ведь в это время команда (особенно QA) не занимается созданием новой ценности для заказчика и пользователя, а перелопачивает старую.

Читать далее

Типичные ошибки при создании Frontend приложений

Level of difficultyEasy
Reading time4 min
Views2.4K

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

Мы — команда платформы интеллектуального управления контентом и цифровизации бизнес-процессов СИМФОНИЯ (ЕСМ/CSP/BPM) от ITFB Group. Сегодня решили поговорить об общих принципах, процессах и подходах, которых мы придерживались при создании нашей собственной платформы. Никакого кода, но и водой топить не будем! Поэтому, предлагаем сразу начать.

Читать далее

Последовательное A/B-тестирование в Netflix. Часть 2: процессы подсчёта

Level of difficultyMedium
Reading time9 min
Views1.9K

Сталкивались вы когда-нибудь с ошибкой при просмотре потокового видео на Netflix? Может — неожиданно останавливался или вовсе не запускался фильм, который вас заинтересовал? В первой части этой серии статей мы рассказали о методологии тестирования канареечных релизов, применяемой к показателям, которые представлены непрерывными потоками данных. Среди таких показателей — «задержка воспроизведения» (play‑delay). Вот комментарий одного из читателей:

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

Читать далее

Полное руководство по обработке ошибок в Python

Reading time15 min
Views19K

Я часто сталкиваюсь с разработчиками, очень хорошо знающими механику обработки ошибок в Python, однако когда я начинаю выполнять ревью их кода, он оказывается далеко неидеальным. Исключения в Python — это одна из тех областей, поверхностный уровень которого знает большинство, но многие разработчики даже не догадываются о существовании более глубокого, почти тайного уровня. Если вы хотите протестировать себя по этой теме, то проверьте, сможете ли вы ответить на следующие вопросы:

  • Когда следует перехватывать исключения, генерируемые вызываемыми вами функциями, а когда этого делать не нужно?
  • Как узнать, какие классы исключений нужно перехватывать?
  • Что нужно делать при перехвате исключений для их «обработки»?
  • Почему перехватывание всех исключений считается порочной практикой, и когда делать это приемлемо?

Вы готовы узнать секреты обработки ошибок в Python? Тогда поехали!
Читать дальше →

SQLAlchemy 2.0 + Python Generic, или как создать универсальный репозиторий для работы с БД

Level of difficultyEasy
Reading time5 min
Views6.1K

Доброго времени суток, товарищи, эта статья, так скажем, продолжение предыдущей статьи об SQLAlchemy 2.0 для новичков, в этой статье мы узнаем что такое Python Generic и как его можно использовать в наших целях при взаимодействии с БД.

Читать далее

Подборка механических клавиатур: 5 беспроводных моделей для работы и творчества

Level of difficultyEasy
Reading time14 min
Views19K

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

Узнать подробнее

Герои меча и магии: как создавалась культовая серия видеоигр

Level of difficultyEasy
Reading time2 min
Views5.7K

Фэнтезийная и научно-фантастическая серия компьютерных игр «Герои меча и магии» включает в себя семь основных частей. Легендарная серия быстро завоевала сердца геймеров, но потом столкнулась с большими проблемами. Рассказываем в нашей статье историю Heroes of Might and Magic.

Читать далее

Самые весёлые TODO из Android-фреймворка

Level of difficultyEasy
Reading time5 min
Views7.7K

Привет, меня зовут Абакар и я работаю главным техлидом Android в Альфа-Банке. Сегодня я расскажу про самые забавные тудухи из AOSP на которые мне приходилось натыкаться во время изучения исходников.

Читать далее

Введение в REST API — RESTful веб-сервисы

Reading time4 min
Views1.1M
Эта статья начинает серию постов о разработке REST API:


Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.


Intro to RESTful Web Services
Читать дальше →

Как сделать простые метрики для оценки полосы пропускания сети?

Level of difficultyMedium
Reading time3 min
Views4.6K

Если вам важна высокая стабильность и скорость сети на ваших серверах, тогда вам надо отвественнее подойти к выбору провайдера. В данной статье я показываю, как добавить метрики и дешборды в Grafana для оценки скорости сети с помощью speedtest-exporter.

Читать далее

Автоматизация приемочного тестирования Android приложений с помощью Calabash

Reading time7 min
Views36K

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

Detox и Appium: автоматизированный тест интерфейса в React Native

Reading time6 min
Views16K


Незнакомая мобильная среда


Я, возможно, также как и вы, пришел к React Native как разработчик JavaScript нежели как разработчик нативных мобильных приложений. Абсолютно новый мир со своими нюансами и хитростями.

Одной из самых важных тем для изучения станет тестирование. Когда все более или менее понятно с модульными тестами (unit), что делать с тестами интерфейса и сквозными тестами (end-to-end)? iOS. Android. На рынке смесь разных типов устройств.

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

Я вкратце рассмотрю два фрэймворка, на которые стоит обратить внимания, чтобы облегчить себе жизнь как разработчику.
Читать дальше →

Модульное тестирование в iOS: всё, что надо знать. Часть 1

Reading time9 min
Views7.1K

Модульное тестирование в iOS: все, что надо знать. Часть 1

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

Меня зовут Евгений Плёнкин. Я iOS разработчик компании СберЗдоровье. В этом материале я расскажу, что такое автоматизированное тестирование, в чём его польза в iOS-разработке и не только, сколько и каких тестов должно быть, а также какой инструмент для автотестов в iOS есть.

Статья написана в рамках серии «Модульное тестирование в iOS: все, что надо знать».

Читать далее

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

Level of difficultyMedium
Reading time30 min
Views9.4K

Привет, Хабр! Стоит ли говорить, что Python ОЧЕНЬ и ОЧЕНЬ популярный язык программирования, местами даже догоняя JavaScript. Python в мире программирования — это эсперанто, легкий язык созданный для всех, но его владельцам не мешало бы помыться.

В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом.

Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку?», то я рекомендую прочитать вам мою статью.

Эту статью вы можете использовать как шпаргалку для создания своих python-библиотек. Я полностью расскажу все этапы создания библиотеки: документация, тестирование, архитектура, публикация и управление зависимостями

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

Читать далее

Удаленная переустановка Linux по ssh без доступа к консоли

Reading time8 min
Views64K
Понадобилось мне переустановить сервер, который как бы хостился у знакомых знакомых. Там был сильно устаревший Debian, а, самое главное, система стояла на обычных разделах без lvm и пространство было распределено очень не оптимально. Физический доступ получить к нему было практически нереально, местного админа попросить что-то сделать было можно, но занять это могло неделю. Виртуальный KVM у сервера был, но извне на него попасть было нельзя; у как бы хостера не было лишних IP-адресов, а внутрь его сети попасть было невозможно. Надо было переустановить сервер из-под работающей системы по ssh. Ага, давайте поменяем ротор у турбины не выключая, потом её перезапустим и будет она с новым ротором работать!
Читать дальше →

10 логических задач, которые помогут вам пройти собеседование на инженера по тестированию

Reading time8 min
Views57K

Логические задачи помогают понять работодателю образ мыслей и алгоритмы решения проблем начинающего специалиста. Они редко встречаются на собеседованиях для специалистов высокого уровня — синьоров и тимлидов.

Привет, Хабр! Меня зовут Кристина. Я ревьюер на курсе «Инженер по тестированию» в Яндекс Практикуме. Делюсь подборкой логических задач, с которыми я встречалась на собеседованиях на должность инженера по тестированию. Попробуйте решить их самостоятельно, прежде чем читать решение.

Читать далее

Пацанский английский. Ленивый способ наконец выучить английский язык: без курсов, без зубрежки, бесплатно

Level of difficultyEasy
Reading time9 min
Views202K

Привет, Хабр! Я не являюсь преподавателем английского языка, но, как и многие присутствующие, долгие годы хотел постигнуть его дебри. В школе я от всего сердца завидовал ребятам, которым он даётся налегке, без видимых трудностей. Я же зубрил, пытался понять, получал двойки… и люто ненавидел английский язык как школьный предмет. Мечтал владеть, но совсем не хотел учить. После школы и университета приступал к его изучению несколько раз, однако каждый мой всплеск быстро угасал.

Наконец случилось чудо. В одну из очередных попыток я нащупал способ, который позволил продолжать развиваться, делать успехи, осознавать их и разжигать мой огонь всё сильнее и сильнее. Сегодня мне сложно представить день, проведенный без английского языка. И мне не хочется говорить без “изучения”, поскольку не сказал бы, что я именно учу. Скорее — постепенно “прошиваюсь” английским, как это обычно происходит с новорожденным детьми, которые постепенно начинают говорить, слушая и наблюдая за своими родителями. В настоящее время мой словарный запас не такой большой: 9 — 12 тысяч слов (зависит от теста). Я свободно смотрю видео на Ютубе разнообразной тематики (видеоуроки, спорт, фитнес, музыка, путешествия, кулинария, обзоры и т.д.), читаю документацию, компьютерную и популярную литературу, публицистику.

Читать далее

Information

Rating
7,994-th
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity