Pull to refresh
16
0
Alexander Pushkarev @senpay

Software Craftsperson

Send message

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

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

image

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

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

Читать дальше →
Total votes 5: ↑4 and ↓1+7
Comments6

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

Reading time4 min
Views9.5K

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

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

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

Читать далее
Total votes 12: ↑4 and ↓8-2
Comments50

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

Reading time2 min
Views144K

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

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

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

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

Читать далее
Total votes 12: ↑10 and ↓2+15
Comments47

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

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

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

image

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

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

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

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

I find your lack of scepticism disturbing
Читать дальше →
Total votes 12: ↑10 and ↓2+14
Comments60

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

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

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

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

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

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

image
Total votes 21: ↑11 and ↓10+1
Comments71

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

Reading time4 min
Views305K
Добрый день!

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

Information

Rating
Does not participate
Location
Cambridge, England - East, Великобритания
Date of birth
Registered
Activity