Search
Write a publication
Pull to refresh
4
0
Владислав Еремеев @pure_intelligence

QA Engineer

Send message

Ты добавил всего две строчки. Почему на это ушло два дня?

Reading time3 min
Views64K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

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

Учимся читать научные статьи у Эндрю Ына из Стэнфорда

Reading time6 min
Views18K

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

Альберт Эйнштейн

Каждому, кто серьёзно занимается машинным обучением, необходимо научиться понимать то, что публикуется в научных статьях. Подобные публикации делают учёные, находящиеся на переднем крае исследований в соответствующих областях. Это — искусственный интеллект (AI, Artificial Intelligence), машинное обучение (ML, Machine Learning), глубокое обучение (DL, Deep Learning) и многие другие сферы.



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

Здесь вы найдёте руководство по эффективной работе с научными статьями. В частности, мы остановимся на следующих темах:

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

Нейробиология зависимости

Reading time10 min
Views26K
В посте об уязвимости к зависимостям я обещал написать о нейробиологической природе аддикций – то есть о том, что именно сейчас у нейроученых считается субстратом химической зависимости, будь то алкогольная, никотиновая, героиновая или какая-то другая зависома. Это одиннадцатая глава книги о зависимых гримасах бытия, пишу я ее уже третий год и однажды, надеюсь, допишу. Будут вопросы – отвечу.

Всем здоровья и свободы разной: внешней и внутренней.

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

Автоматизация тестирования в микросервисной архитектуре

Reading time8 min
Views13K

Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру.


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

Обнаружение. Диагностика. Принятие решений

Reading time19 min
Views2.9K
image
Продолжаю тему про ошибки персонала с точки зрения тренажеров (имитаторов) для обучения специалистов. Поскольку до сих пор многие специалисты в области обучения не видят существенной разницы между тестами и тренажерами, я постараюсь показать, так сказать «глубины глубин» этой проблемы.
Начнем, классификация ошибки в зависимости от ее «положения» в процессе деятельности персонала также широко представлена в множестве моделей «процесса деятельности персонала». Как правило такие модели также сильно зависят от сферы применения, т.е. отрасли.
image
Человек оператор в системе с обратной связью
Далее будет рассматриваться одна из наиболее современных универсальных моделей, основанная на и показанная на рисунке. Выбор этой модели обусловлен наиболее «мелким» делением когнитивных и физических действий. Данная модель не противоречит другим моделям, и является как бы их обобщением.
image
Пример процесса деятельности персонала (модель поведения)
Читать дальше →

Руководство для начинающих: создаем DevOps-пайплайн

Reading time9 min
Views28K
Если вы новичок в DevOps, взгляните на эту инструкцию по созданию вашего первого конвейера из пяти этапов.

image


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

Мое путешествие по DevOps


Раньше я работал в облачной команде Citi Group, разрабатывая веб-приложение Infrastructure-as-a-Service (IaaS) для управления облачной инфраструктурой Citi, но меня всегда интересовало, как сделать процесс развития более эффективным и привнести позитивные культурные изменения в команду разработчиков. Ответ я нашел в книге, рекомендованной Грегом Лавендером (Greg Lavender), техническим директором Citi по облачной архитектуре и инфраструктуре. Книга называлась «Проект Феникс» (The Phoenix Project), и в ней объясняются принципы DevOps, при этом она читается как роман.

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

Amazon: 23 000 в день
Google: 5 500 в день
Netflix: 500 в день
Facebook: Раз в день
Twitter: 3 раза в неделю
Типичная компания: Раз в 9 месяцев

Как вообще возможны частоты Amazon, Google и Netflix? Все потому, что эти компании придумали, как сделать почти идеальный DevOps-конвейер.
Читать дальше →

Учебный проект на Python: алгоритм Дейкстры, OpenCV и UI ( часть 1)

Reading time4 min
Views24K
Лабиринты — это распространенная головоломка для людей, но они представляют из себя интересную задачу для программирования, которую мы можем решить, используя методы кратчайшего пути, такие как алгоритм Дейкстры.

Вспоминаем алгоритм Дейкстры


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

Сначала мы присваиваем значение расстояния от источника всем узлам. Узел s получает значение 0, потому что это источник; остальные получают значения ∞ для начала.

image

Наш интересующий узел — это необработанный узел с наименьшим значением (показан серым), то есть s. Сначала мы «ослабляем» каждую смежную вершину до нашего интересующего узла, обновляя их значения до минимума их текущего значения или значения узла интереса плюс длину соединительного ребра…
Читать дальше →

20 платформ для заработка на тестировании

Reading time7 min
Views297K
Чтобы протестировать веб-сайты из дома, вы должны быть знакомы с интернетом и хорошо говорить по-английски. Вам также понадобится базовое оборудование, такое как компьютер с микрофоном и камерой и стабильное подключение к Интернету. Большинство тестов занимает от 5 до 25 минут, и в среднем компании платят 10 долларов за тест.


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

Как оценить ёмкость сервиса и не упасть под нагрузкой

Reading time7 min
Views37K


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

Ответы можно получить аналитическим путём, адресовав вопросы опытному разработчику/DevOps/SRE/админу. Достоверность оценки зависит от огромного числа факторов: начиная с темпов наполнения системы функциональностью и графа взаимосвязей между компонентами и заканчивая временем, которое эксперт с утра провёл в пробке. Чем сложнее система — тем больше сомнений в адекватности аналитической оценки.

Меня зовут Максим Куприянов, вот уже пять лет я работаю в Яндекс.Маркете. Сегодня я расскажу читателям Хабра, как мы учились оценивать ёмкость наших сервисов и что из этого вышло.
Читать дальше →

Как постичь машинное обучение, если ты не великий математик

Reading time4 min
Views38K
Предлагаем почитать перевод статьи Diego Isco с ресурса dev.to. Она будет полезна начинающим специалистам в области ML.

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

Заметки knowledge manager'a. Как работает управление знаниями в Exness

Reading time12 min
Views7.7K
Всем привет!

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


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

Автоматическое тестирование микросервисов в Docker для непрерывной интеграции

Reading time11 min
Views12K

В проектах, связанных с разработкой микросервисной архитектуры, CI/CD переходит из разряда приятной возможности в категорию острой необходимости. Автоматическое тестирование является неотъемлемой частью непрерывной интеграции, грамотный подход к которой способен подарить команде множество приятных вечеров с семьёй и друзьями. В противном же случае, проект рискует быть никогда не завершенным.


Можно покрыть весь код микросервиса юнит-тестами с мок-объектами, но это лишь частично решает задачу и оставляет множество вопросов и сложностей, особенно при тестировании работы с данными. Как всегда, наиболее острые – тестирование консистентности данных в реляционной БД, тестирование работы с облачными сервисами и неверные предположения при написании мок-объектов.


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


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


  • конфликты параллельных задач в одном докер-хосте;
  • конфликты идентификаторов в БД при итерациях теста;
  • ожидание готовности микросервисов;
  • объединение и вывод логов во внешние системы;
  • тестирование исходящих HTTP-запросов;
  • тестирование веб-сокетов (с помощью SignalR);
  • тестирование аутентификации и авторизации OAuth.

Это статья по мотивам моего выступления на SECR 2019. Так что для тех, кому лень читать, вот запись выступления.


КДПВ

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

Самомотивация технаря: уравнение прокрастинации, эффект шредера и трюки с едой

Reading time14 min
Views32K
Привет! Меня зовут Игорь, я занимаюсь машинным обучением в Lamoda. До этого я несколько лет работал в науке, что сильно сформировало мое мышление в технарскую сторону.

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

Этими находками я решил поделиться в этой статье.

  • Поговорим про мотивацию самого себя, а не кого-то другого;
  • Узнаем, что такое мотивационное уравнение и как его использовать;
  • Разберём, как влиять на факторы мотивации;
  • И какие есть сервисы и инструменты для этого.

Это статья не про мотивацию сотрудников Lamoda, а про мотивацию, которую я нашел для себя.

image

60+ игр для гиков

Reading time35 min
Views54K
Приветствую всех брутальных Хабрачан и чувственных Хабрачаночек!

Благодаря вашей поддержке я смог написать статьи про сериалы в мире IT. Вместе мы прошли через многое. В последней статье я попросил вас рассказать своё мнение о том, стоит ли мне писать статью про гиковские игры и вы снова поддержали меня. Спасибо за это!

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

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

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

Что же. Давайте не будем тянуть время и поговорим о подобранных мною для вас играх!


Простой и удобный шаблон тестового фреймворка на selenide для UI автотестов

Reading time5 min
Views23K
Здравствуйте.

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

Что будем использовать: Java, Selenide, Alure, TestNG, Maven.


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

Нагрузочное тестирование как CI-сервис для разработчиков

Reading time11 min
Views13K


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

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

Решения некоторых организационных проблем в тестировании, которые мы применяем в Positive Technologies, вы можете найти в другой статье. А в этой я расскажу про возможность интеграции нагрузочных тестов в общий CI-конвейер с помощью концепции «нагрузочное тестирование как сервис» (load testing as a service). Вы узнаете, как и какие докер-образы источников нагрузки можно использовать в CI-конвейере; как подключить источники нагрузки в свой CI-проект при помощи сборочного шаблона; как выглядит демопайплайн для запуска нагрузочных тестов и публикации результатов. Статья может быть полезной инженерам по тестированию ПО и инженерам-автоматизаторам в CI, кто задумался об архитектуре своей нагрузочной системы.
Читать дальше →

Топ-10 книг для разработчика

Reading time6 min
Views140K

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




Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков. Кому интересно — добро пожаловать под кат.
Читать дальше →

Python.org рекомендует: Программирование для НЕпрограммистов

Reading time5 min
Views44K
Предлагаем вашему вниманию подборку материалов от python.org о том, с чего начать первые шаги в программировании.




Если Вы никогда не занимались программированием раньше, эти материалы для вас. Данные туториалы не предполагают, что у вас есть какой-то опыт. (Если у вас уже есть опыт программирования, посетите Beginners Guide).
Читать дальше →

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни

Reading time11 min
Views14K
Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots.

Для начала разберемся, что же все-таки мы автоматизируем этой системой.

В первую очередь, это регрессионные UI-тестирования, тестирование core-геймплея и автоматизация бенчмарков. Все три системы в целом дают возможность снизить нагрузку на QA-отдел перед релизами, быть более уверенными в масштабных и глубоких рефакторингах и постоянно поддерживать общую оценку производительности приложения, а также отдельных его частей. Еще одним пунктом хочется отметить автоматизацию рутины, например ― проверку каких-либо гипотез.

image

Приведу немного цифр. Сейчас для War Robots написано более 600 UI-тестов и порядка 100 core-тестов. Только на этом проекте мы произвели около миллиона запусков наших тестовых сценариев, каждый из которых занимал порядка 80 секунд. Если бы эти сценарии мы проверяли вручную, то потратили бы минимум по пять минут на каждый. Кроме того, мы запустили более 700 тысяч бенчмарков.

Из платформ мы используем Android и iOS ― всего 12 устройств в парке. Разработкой системы и ее поддержкой занимаются два программиста, а написанием и анализом тестов ― один QA-инженер.

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

Ликбез про VPS: как настроить удалённый рабочий стол, если вы Win-пользователь

Reading time10 min
Views56K

Привет! Это ликбез про то, как, имея обычные навыки Win-пользователя, создать удалённый рабочий стол на Windows. Сразу скажу, что большей части аудитории Хабра это покажется детским садом, но, как мы знаем по первой линии нашей поддержки, этот навык очень востребован. Ну и теперь будет ссылка, которую можно отправить вместо объяснений.

Мы часто сталкиваемся с мифом, что для поднятия собственного виртуального сервера нужно быть гуру технологий и знать тайны Linux. Сегодня всё уже давно не так и можно создать виртуальную машину на Windows за 15 минут, четыре-семь из которых вы будете ждать, пока она, собственно, создастся. Это просто, быстро, дёшево и не требует решительно никаких специальных навыков. Поэтому ликбез.

— Зачем это нужно?

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

Ещё это пригодится для создания игровых серверов, торговли на бирже, торрентов, разных повторяющихся процессов, программ для автоматизации соцсетей (и накрутчиков лайков, чего уж там), SEO-утилит, подготовки к сдаче белой бухгалтерии, путешествий (особенно, когда вы не хотите возить свой домашний компьютер куда-то в соседний город на месяц) и так далее. Ещё часто VPS используется для безопасности банк-клиента компании.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity