Skip to content
View KostinP's full-sized avatar
:shipit:
ship it
:shipit:
ship it
  • Russia, St. Petersburg

Organizations

@herzen-vis-lab

Block or report KostinP

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
KostinP/README.md

Hi 👋, I'm Pavel Kostin

Typing SVG

Portfolio Email Telegram LinkedIn Profile views

  • Сейчас работаю Fullstack Software Developer
  • А ещё — ассистент кафедры информационных систем
  • Сейчас изучаю DevOps
  • Сейчас разрабатываю образовательную платформу
  • Бакалавриат — 09.03.02 «Информационные технологии в дизайне» (завершён)
  • Учусь в магистратуре — 44.04.01 «Цифровая образовательная среда и цифровые технологии»
  • Санкт-Петербург, Россия
  • Русский — родной, English — B1
  • За 5+ лет обучил программированию 200+ детей и 100+ студентов
  • Помимо кода — дизайн: Figma, Photoshop, 3D в Blender
  • Хобби: гитара, пение, выращивание цветов
  • Со мной можно обсудить инвестиции
  • Открыт к интересным проектам и фрилансу
  • Пишите в Telegram или на почту — отвечаю быстро
  • Резюме и портфолио: kostinp.github.io

🧰 Топ-технологии

React
React
Next.js
Next.js
TypeScript
TypeScript
JavaScript
JavaScript
C#
C#
.NET
.NET
Go
Go
Docker
Docker
Kubernetes
Kubernetes
PostgreSQL
PostgreSQL
Unity
Unity
Figma
Figma
Git
Git

🛠️ Мои любимые инструменты

👨‍💻 Языки и фреймворки

HTML5 CSS3 JavaScript TypeScript React Next.js Tailwind CSS C# .NET Go

🗄️ Базы данных, инфраструктура и DevOps

PostgreSQL Docker Kubernetes nginx RabbitMQ Linux Git GitHub Actions GitLab

🎨 Дизайн

Figma Photoshop Illustrator InDesign Blender After Effects

🧪 Инструменты и преподавание

Postman Swagger Unity Unreal Engine Scratch Moodle


GitHub streak

🎮 Реверси вживую — сыграйте ход

Ходят ⚫ чёрные. Счёт: ⚫ 4 : 4 ⚪. Нажмите на зелёную клетку, чтобы сходить.

A B C D E F G H
1 ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️
2 ▫️ ▫️ ▫️ 🟩 ▫️ ▫️
3 ▫️ ▫️ ▫️ ▫️ 🟩 ▫️ ▫️
4 ▫️ ▫️ 🟩 ▫️ ▫️
5 ▫️ ▫️ ▫️ 🟩 ▫️ ▫️
6 ▫️ ▫️ ▫️ ▫️ ▫️ 🟩 ▫️ ▫️
7 ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️
8 ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️ ▫️
📜 Правила игры

Классический реверси (отелло) 8×8, играют два цвета — ⚫ чёрные и ⚪ белые. Первыми всегда ходят чёрные.

  1. Начальная расстановка. В центре доски стоят 4 фишки крест-накрест: D4/E5 — один цвет, D5/E4 — другой.
  2. Ход. Фишку можно поставить только на пустую клетку, и только если она «зажимает» одну или несколько фишек соперника по прямой линии (по горизонтали, вертикали или диагонали) между новой фишкой и уже стоящей своей фишкой на этой линии, без разрывов.
  3. Переворот. Все зажатые таким образом фишки соперника переворачиваются и становятся цветом того, кто сходил.
  4. Если хода нет. Если у игрока нет ни одного допустимого хода, ход автоматически переходит к сопернику.
  5. Конец игры. Игра заканчивается, когда ни у одного из игроков нет доступных ходов (обычно — когда заполнена вся доска). Побеждает тот, у кого на доске больше своих фишек; при равном счёте — ничья.
⚙️ Как это работает

Общая доска — играют все, кто зайдёт в этот README.

  1. Кликните по зелёной клетке на доске выше — откроется новый Issue с предзаполненным заголовком вида Move: E2.
  2. Просто создайте issue, ничего не меняя в заголовке, и закройте вкладку.
  3. GitHub Action подхватывает событие issues: opened, запускает scripts/reversi.py, который проверяет ход по правилам реверси (клетка должна окружать фишки соперника хотя бы в одном направлении), переворачивает фишки, обновляет game/state.json и перегенерирует этот README.
  4. Бот комментирует issue результатом хода и закрывает его. Некорректные ходы отклоняются с пояснением, доска не меняется.
  5. Ход передаётся следующему цвету автоматически — независимо от того, кто его отправил. Если у стороны нет доступных ходов, ход пропускается.
  6. Когда партия заканчивается, бот объявляет победителя и тут же начинает новую игру на этой же доске — счётчик ходов в топе продолжает копиться от игры к игре.

Исходники: scripts/reversi.py · .github/workflows/reversi.yml · game/state.json

🕓 Последние 5 ходов
Дата (UTC) Ход Игрок
11.08.26 15:37 ⚪ E2 @KostinP
11.08.26 15:33 ⚫ F2 @vologin-dmitry
06.08.26 13:20 ⚪ E3 @KostinP
06.08.26 13:05 ⚫ C4 @KostinP
🏆 Топ-10 по числу ходов
# Игрок Ходов
1 @KostinP 3
2 @vologin-dmitry 1

Pinned Loading

  1. Mathematical-LecturesAndPractices Mathematical-LecturesAndPractices Public

    Репозиторий для лекций и практик по математическим дисциплинам в СПбГУ, читаемым на направлении "Математическое обеспечение и администрирование информационных систем"

    TeX 16 6