Я рад представить вам свою реализацию ИИ для русских шашек под названием «damka» (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашкиИИ с mimimax алгоритмом и альфа‑бета обрезкой.База данных «endgame» (опционально).Нейросетевая оценка позиции: ИИ damka использует нейронную сеть для оценки позиций на доске, что позволяет ему более точно оценивать состояние игры.…
Revel: для быстрой разработки и масштабируемостиRevel — один из самых популярных фреймворков для разработки веб-приложений на Golang в текущем году. Он прост в изучении и использовании; подходит как для начинающих, так и для опытных специалистов. Хорошо справляется с быстрой разработкой приложений, демонстрирует высокую масштабируемость и производительность.Этот фреймворк обладает отличным набором фич: быстрая разработка (Rapid Development), горячая перезагрузка (Hot Reload), разнообразные инс…
Всем привет! На связи снова Петр Коробейников, техлид сервисов DBaaS for Redis и RabbitMQ (релиз скоро) в #CloudMTS. В этой статье хочу поделиться с вами некоторым опытом подготовки к прохождению алгоритмических интервью. Конечно, статья не про хардкорные алгоритмы. Это, скорее, эскиз к роадмапу по подготовке. Тем не менее, я надеюсь, он будет полезен новичкам (и даже некоторым «старичкам»). Готовьтесь Это первый и самый важный совет. Если вы думаете, что, ворочая базами в десятки терабайт,…
Серия статей про создание AI для игры в русские шашки:Русские шашки: эффективная генерация ходов в GolangРусские шашки: представление доски с помощью двух uint64Русские шашки: реализация минимакса с альфа-бета отсечением в GolangВ предыдущих записях блога мы обсудили, как эффективно генерировать ходы и представлять шашечную доску в Golang. Теперь мы углубимся в сердце нашей игры в шашки: ИИ, который принимает решения. ИИ будет использовать алгоритм Minimax с Alpha-Beta отсечением, популярный…
Одной из главных фишек языка Go является удобная работа с конкурентностью. Однако, в больших проектах всё равно возникают некоторые проблемы:утечка горутиннекорректная обработка паник в горутинахплохая читаемость коданеобходимость писать повторяющийся код из раза в разКак указывает автор библиотеки в своей статье, он часто сталкивается с ошибками при работе с горутинами, что побудило его создать новую библиотеку conc.Особенности библиотекиБиблиотека предоставляет набор инструментов для управле…
Именно так я решил назвать эту статью, чтобы описать свои эмоции на прожаривании кода спонтанном публичном код-ревью моего open-source Portal от участников Go-чата, в котором я активно участвую. Главным ревьюером был Глеб Яльчик, что делало ситуацию ещё более волнительной для меня. Расскажу, как я на это решился, что мы обсудили, к чему пришли и какой эффект это дало. А внедрять Portal мы будем на примере мини-приложения по мотивам (всеми любимой) мобы Dota. Примечание: это приложение будет чт…
В феврале появилась новая версия Golang — 1.20. Разработчики представили в предварительной версии инструмент оптимизации — profile-guided optimization, или коротко PGO. Этот подход позволяет оптимизировать процесс компиляции приложения за счет использования информации, собранной при профилировании сборки в момент выполнения программы в рабочем окружении.В итоге, опираясь на собранные данные, компилятор в состоянии принимать более качественные решения оптимизации при очередном запуске программы…
Рекомендации по стилю для проектов Google с открытым исходным кодом Лучшие практики Go Этот документ — часть документации по стилю Go в Google. Он не является ни нормативным, ни каноничным, это дополнение к «Руководству по стилю». Подробности смотрите в Обзоре. О документе Здесь приведены рекомендации по лучшим практикам применения требований «Руководства по стилю» для Go. Это руководство охватывает общие и распространенные случаи, но не может применяться к каждому частному случаю. Обсуждение …
Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья — про тулинг верификации контрактов между сервисами. Она для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров. А также для тех, кто уже живет в мире микросервисов, но недоволен результатом и ище…