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

QA Engineer

Send message

Asana CEO: То, как мы работаем сейчас, скоро будет выглядеть пережитком прошлого

Reading time4 min
Views7.7K

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

Самый яркий пример - автор научной фантастики Тед Чианг, который недавно задался вопросом, есть ли "способ для И.И. сделать что-то еще, кроме как точить лезвие ножа капитализма?". По данным Insider, сотрудники JPMorgan, возможно, уже страдают от такой динамики благодаря мощным инструментам мониторинга сотрудников компании.

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

Читать далее

Айтишники против шифровальщиков: как победить злосчастный вирус

Level of difficultyEasy
Reading time5 min
Views11K

Всем привет. На связи снова Александр Грачев. Как и обещал, возвращаюсь с новыми рассказами о внутренней кухне технической поддержке песочницы PT Sandbox и том, как мы делаем мир безопаснее и лучше благодаря нашему продукту.

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

Предположу, что от слова «шифровальщик» у любого IT-специалиста начинает дергаться глаз. И я понимаю эти эмоции. В мир ИБ я, как многие в этой сфере, попал из ИТ (и это несмотря на то, что многие айтишники не любят безопасников и наоборот).

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

Дальше

Сколько ядер CPU можно использовать параллельно в Python?

Level of difficultyMedium
Reading time6 min
Views23K

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

Как же проверить, сколько ядер есть у компьютера? И действительно ли это хороший совет?

Оказывается, на удивление сложно определить, сколько потоков выполнять:

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

- Хуже того, из-за таких функций CPU, как параллельность на уровне команд и одновременной многопоточности (Hyper-threading в CPU Intel), количество ядер, которое можно эффективно использовать, зависит от того кода, который напишете вы!

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

Читать далее

Python. Тестирование API. Структура тестов

Level of difficultyEasy
Reading time5 min
Views6.6K

Всем привет, меня зовут Александр, в последние 2 года занимаюсь автоматизированным тестирование. Хочу поделиться своим наработанным опытом по созданию API тестов. Для написания автотестов в компании используем selenium webdriver, behave.

Behave — это фрейморк для программирования через поведение системы в python-стиле. Behave использует тесты, написанные на “естественном”, то есть, английском языке.

Selenium webdriver широко используется и думаю в представлении не нуждается, но всегда можно загуглить.

Структура тестов behave очень проста, если feature файлы в которых описываются сценарии и папка steps в которой находятся шаги для выполнения этих сценариев.

Первое на что можно обратить внимание это на структуру feature файлов (в этих файлах находятся сами тесты, которые состоят из различных шагов):

Читать далее

Пирамида автоматизации тестирования

Level of difficultyMedium
Reading time4 min
Views8K

Пирамида автоматизации тестирования Майка Кона помогла многим командам с начала 2000-х годов.С тех пор мы немного подкорректировали её, чтобы уточнить наши цели, добавили облако сверху, чтобы показать, что не все регрессионные тесты можно автоматизировать. Иногда нам нужны тесты, ориентированные на человека, которые включают в себя исследовательские тесты (ИТ - exploratory tests).

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

Читать далее

Паттерны автоматизации и архитектура автотестов

Level of difficultyEasy
Reading time7 min
Views19K

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

Читать далее

Никогда не забывай об этом, когда делаешь open-source проект

Level of difficultyEasy
Reading time8 min
Views29K

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

Читать далее

Помощник для QA Engineer – ChatGPT

Reading time4 min
Views7.7K

Искусственный интеллект является универсальным инструментом, который может помочь более эффективно решать задачи, при этом затрачивая меньшее количество времени.

Варианты использования ChatGPT в работе:

1.    Генерация артефактов тестирования.
2.    Создание автоматизированных тестов.
3.    Быстрый поиск информации для выяснения возможной причины бага.
4.    Проверка технического задания.
5.    Помощь в обучении.

Минусы использования ChatGPT:

1.    Дополнительные проверки.
2.    Сложность создания корректных запросов.
3.    Отсутствие доступа к тестируемому приложению.
4.    Невозможность работы с интерфейсами.

Регистрация в ChatGPT

Потребуется использование VPN.

Необходимо перейти на официальный сайт по ссылке. Нас встречает страница с двумя кнопками.

Читать далее

Автоматизация развертывания инфраструктуры (IaC)

Level of difficultyMedium
Reading time4 min
Views5K

Terraform - это инструмент с открытым исходным кодом, реализующий концепцию "Инфраструктура как код" и разработанный компанией HashiCorp. 

В своем декларативном характере Terraform позволяет разработчикам использовать высокоуровневый язык конфигурации HCL (HashiCorp Configuration Language) для описания желаемого состояния облачной или локальной инфраструктуры, предназначенной для запуска приложений. Следующим шагом является формирование плана достижения данного состояния и выполнение этапа подготовки инфраструктуры.

Читать далее

Автоматизация тестирования с Cucumber, Selenium и Java

Level of difficultyEasy
Reading time17 min
Views12K

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

Читать далее

Технологии прошлого и настоящего: как я сделал Nixie Clock с самодельным драйвером на ESP8266

Level of difficultyEasy
Reading time23 min
Views13K

Радиолампы, словно артефакты из прошлого, олицетворяют нечто большее, чем просто технологию. Они несут в себе определенную магию, отражающую уникальное сочетание технического мастерства и эстетики. Не удивительно, что часы на неоновых индикаторах занимают довольно уникальную нишу в мире дизайна и интерьера. Они представляют собой не просто инструмент для отображения времени, но и элемент декора, который может значительно изменить атмосферу помещения. Этой статье я расскажу о своем опыте создания Nixie Clock на базе драйвера собственной разработки.
Читать дальше →

Вдыхайте DIY: Создаем собственную умную вентиляцию для дома

Level of difficultyEasy
Reading time6 min
Views48K


Зачем всё это?


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

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

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

Сколько строк на C нужно, чтобы выполнить a + b в Python?

Level of difficultyMedium
Reading time10 min
Views64K

В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсберга.

В этой статье мы опустимся на один уровень ниже и посмотрим, что же происходит внутри среды исполнения Python для выполнения простого действия a + b. Иными словами, мы узнаем о подробностях реализации типов, операторов и динамической диспетчеризации в CPython.

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

Читать далее

От частного к общему: разбираемся в принципах работы Network Address Translation (NAT)

Reading time8 min
Views24K

Для того чтобы наши устройства из частной сети могли выходить в Интернет, им нужен общедоступный IP-адрес. При этом внутри нашей собственной локальной сети мы можем спокойно использовать частные IP-адреса. В этой ситуации на помощь приходит Network Address Translation (NAT) — технология, которая позволяет множеству устройств в локальной сети получать доступ к Интернету через один общий публичный IP-адрес.

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

Читать далее

Скачать коллекции запросов по API в Postman и Insomnia на основе написанных тест-кейсов API

Level of difficultyEasy
Reading time2 min
Views9.4K

Коллеги, все желаю хорошего дня.

Хочу предоставить коллекции в Postman и Insomnia, построенные на основе написанных тест-кейсов по API.

Читать далее

LAN-party для пентестеров: прорываемся к домен контроллеру через розетку

Level of difficultyMedium
Reading time7 min
Views22K


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


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

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

Пишем приложение на Python для подготовки к собеседованиям по Python

Reading time6 min
Views37K

На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возникает потребность подготовки к собеседованиям.

В этой статье я расскажу о том, как используя Python, можно написать desktop-приложение для ОС Windows, которое поможет быстро, эффективно и абсолютно бесплатно подготовиться к собеседованиям по Python.

Читать далее

Работа с кластером Proxmox: установка, настройка сети, ZFS, решение распространенных проблем

Reading time13 min
Views152K
За последние несколько лет я очень тесно работаю с кластерами Proxmox: многим клиентам требуется своя собственная инфраструктура, где они могут развивать свой проект. Именно поэтому я могу рассказать про самые распространенные ошибки и проблемы, с которыми также можете столкнуться и вы. Помимо этого мы конечно же настроим кластер из трех нод с нуля.

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

Python лёгкий. Go простой. Простой != лёгкий

Reading time6 min
Views34K

Python и Go отличаются по свойствам, и поэтому могут дополнять друг друга.

Существует распространённое заблуждение, будто простой и лёгкий — это одно и то же. В конце концов, если некий инструмент легко использовать, то и его внутреннее устройство должно быть просто понять, разве не так? И обратное тоже верно, да? На самом деле, всё как раз наоборот. В то время, как по духу оба понятия указывают на одно и то же (итог со стороны кажется лёгким), на практике такая поверхностная лёгкость достигается огромной подкапотной сложностью.

Читать далее

Руководство по запуску автоматизации с Appium и Pytest

Level of difficultyEasy
Reading time9 min
Views11K

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

Читать далее

Information

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