Pull to refresh
16
0
Alexander Pushkarev @senpay

Software Craftsperson

Send message

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

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

image

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

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

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 6

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

Reading time 4 min
Views 9.4K

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

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

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

Читать далее
Total votes 14: ↑6 and ↓8 -2
Comments 50

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

Reading time 2 min
Views 134K

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

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

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

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

Читать далее
Total votes 19: ↑17 and ↓2 +15
Comments 47

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

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

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

image

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

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

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

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

I find your lack of scepticism disturbing
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 60

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

Reading time 6 min
Views 539K
Я продолжаю работу над диссертацией по проектному менеджменту. Сегодня мы кратко рассмотрим 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
Comments 71

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

Reading time 4 min
Views 302K
Добрый день!

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

Information

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