Как стать автором
Обновить
16
0
Alexander Pushkarev @senpay

Software Craftsperson

Отправить сообщение

Реализация алгоритма Минимакс на примере игры «Крестики-Нолики»

Время на прочтение7 мин
Количество просмотров32K
Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь.

image

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

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

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

Может ли автоматизированное тестирование заменить ручное?

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

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

Disclaimer: данная статья написана с учетом опыта разработки в определенной (хоть и самой массовой) сфере ПО, а именно e-commerce. В других сферах правила игры могут разительно отличаться.

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

Читать далее
Всего голосов 12: ↑4 и ↓8-2
Комментарии50

Что делать, если у вас почта в домене tut.by?

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

18 мая 2021 года был заблокирован почтовый сервис mail.tut.by. Я предлагаю оставить политические/правовые и этические нюансы данного события и поговорить о практических.

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

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2+15
Комментарии47

Пишем автотесты эффективно — Subcutaneous tests

Время на прочтение6 мин
Количество просмотров20K
Давайте представим себе гипотетическую ситауацию (в которой мы регулярно оказываемся). Вас назначили на проект «запилить» автоматизацию. Вам дают огромный тест план с большим количеством (тысячи их!) «ручных» тестов, и говорят что надо что-то сделать, и вотпрямщас. А еще, чтоб быстро и стабильно.

Писать Unit тесты, или даже думать о TDD — уже поздно, код продукта давным-давно написан. Ваше слово, товарищ автотестер!

image

К счастью, есть небольшой трюк, который позволит и coverage повысить, и сделать тесты стабильными и быстрыми — Subcutaneous tests («подкожные тесты»), но обо всем по порядку.
Читать дальше →
Всего голосов 4: ↑2 и ↓2+2
Комментарии3

Эффективен ли TDD?

Время на прочтение4 мин
Количество просмотров7K
Во время интересной дискуссии, один очень уважаемый человек «козырнул» «неубиваемым» аргументом:
Есть полно исследований, демонстрирующих эффективность TDD

Действительно. Если зайти на Google Scholar, забить ключевые слова «TDD» и «Эффективность» — будет много научных статей, но так ли все просто? Хоть я сам и являюсь большим фанатом TDD, но я так же считаю себя скептиком, и решил проверить, доказано ли научно, что TDD так крут.

I find your lack of scepticism disturbing
Читать дальше →
Всего голосов 12: ↑10 и ↓2+14
Комментарии60

Гибкая методология разработки “Scrum”

Время на прочтение6 мин
Количество просмотров541K
Я продолжаю работу над диссертацией по проектному менеджменту. Сегодня мы кратко рассмотрим Scrum, рассмотрим типичные ошибки, приводящие к проблемам. Данный пост не претендует на полноту, он является обзорным и адресуется тем, кто еще не знаком со Scrum, или знаком лишь частично (к примеру, работает в модифицированном Scrum).

В настоящее время, Scrum является одной из наиболее популярных «методологий» разработки ПО. Согласно определению, Scrum — это каркас разработки, с использованием которого люди могут решать появляющиеся проблемы, при этом продуктивно и производя продукты высочайшей значимости (с точки зрения клиента — прим. Автора) [1].

Это говорит о том, что в Scrum невозможно найти ответы на все вопросы и указания к действию во всех ситуациях (к примеру, в официальном описании Scrum лишь указана необходимость оценки времени, необходимой на выполнение работы, но не уточняется вид оценки. Т.е. это может быть и planning poker и другой способ оценки). Таким образом, само наименование топика не верно :)

Когда говорят о методологии Scrum, чаще всего имеют ввиду гибкую методологию разработки ПО, построенную на основе правил и практик Scrum, так что вполне может оказаться что ваш Scrum круче моего Scrum, а также быть от него так же далеким, как ВАЗ 7-ка от BMW 7-й серии :)

Авторами Scrum заявлены следующие особенности:
-Легкий (англ. Lightweight)
-Понятный, доступный
-Сложный в освоении
(практически взаимоисключающие параграфы)

image
Всего голосов 21: ↑11 и ↓10+1
Комментарии71

Методология Kanban: введение

Время на прочтение4 мин
Количество просмотров304K
Добрый день!

Одним из моих профессиональных интересов, как координатора команды тестировщиков, являются методологии разработки программного обеспечения. В настоящее время все большую популярность приобретают так называемые Agile-методологии, в особенности Scrum и Kanban. На «раcпиаренных» терминах играют недобросовестные «тренеры», семинары и сертификации («сертифицированный Scrum-мастер», «сертифицированный Product owner» и т.д.) растут как на дрожжах.
Всего голосов 40: ↑28 и ↓12+16
Комментарии49

Информация

В рейтинге
Не участвует
Откуда
Cambridge, England - East, Великобритания
Дата рождения
Зарегистрирован
Активность