Category : golang

golang
Русские шашки: эффективная генерация ходов в Golang

Я рад представить вам свою реализацию ИИ для русских шашек под названием «damka» (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашкиИИ с mimimax алгоритмом и альфа‑бета обрезкой.База данных «endgame» (опционально).Нейросетевая оценка позиции: ИИ damka использует нейронную сеть для оценки позиций на доске, что позволяет ему более точно оценивать состояние игры.…

  • четверг, 18 мая 2023 г. в 00:00:23
golang
Лучшие Golang-фреймворки в 2023 году

Revel: для быстрой разработки и масштабируемостиRevel — один из самых популярных фреймворков для разработки веб-приложений на Golang в текущем году. Он прост в изучении и использовании; подходит как для начинающих, так и для опытных специалистов. Хорошо справляется с быстрой разработкой приложений, демонстрирует высокую масштабируемость и производительность.Этот фреймворк обладает отличным набором фич: быстрая разработка (Rapid Development), горячая перезагрузка (Hot Reload), разнообразные инс…

  • четверг, 18 мая 2023 г. в 00:00:23
golang
Несколько мыслей по подготовке к алгоритмической части собеседования

Всем привет! На связи снова Петр Коробейников, техлид сервисов DBaaS for Redis и RabbitMQ (релиз скоро) в #CloudMTS. В этой статье хочу поделиться с вами некоторым опытом подготовки к прохождению алгоритмических интервью. Конечно, статья не про хардкорные алгоритмы. Это, скорее, эскиз к роадмапу по подготовке. Тем не менее, я надеюсь, он будет полезен новичкам (и даже некоторым «старичкам»). Готовьтесь Это первый и самый важный совет. Если вы думаете, что, ворочая базами в десятки терабайт,…

  • четверг, 18 мая 2023 г. в 00:00:19
golang
Русские шашки: реализация минимакса с альфа-бета отсечением в Golang

Серия статей про создание AI для игры в русские шашки:Русские шашки: эффективная генерация ходов в GolangРусские шашки: представление доски с помощью двух uint64Русские шашки: реализация минимакса с альфа-бета отсечением в GolangВ предыдущих записях блога мы обсудили, как эффективно генерировать ходы и представлять шашечную доску в Golang. Теперь мы углубимся в сердце нашей игры в шашки: ИИ, который принимает решения. ИИ будет использовать алгоритм Minimax с Alpha-Beta отсечением, популярный…

  • четверг, 18 мая 2023 г. в 00:00:18
golang
Conc: новая библиотека для управления конкурентностью в Go

Одной из главных фишек языка Go является удобная работа с конкурентностью. Однако, в больших проектах всё равно возникают некоторые проблемы:утечка горутиннекорректная обработка паник в горутинахплохая читаемость коданеобходимость писать повторяющийся код из раза в разКак указывает автор библиотеки в своей статье, он часто сталкивается с ошибками при работе с горутинами, что побудило его создать новую библиотеку conc.Особенности библиотекиБиблиотека предоставляет набор инструментов для управле…

  • среда, 17 мая 2023 г. в 00:04:56
golang
Страшно ли делать плохо? Прожарка твоего кода онлайн, без купюр

Именно так я решил назвать эту статью, чтобы описать свои эмоции на прожаривании кода спонтанном публичном код-ревью моего open-source Portal от участников Go-чата, в котором я активно участвую. Главным ревьюером был Глеб Яльчик, что делало ситуацию ещё более волнительной для меня. Расскажу, как я на это решился, что мы обсудили, к чему пришли и какой эффект это дало. А внедрять Portal мы будем на примере мини-приложения по мотивам (всеми любимой) мобы Dota. Примечание: это приложение будет чт…

  • среда, 17 мая 2023 г. в 00:04:55
golang
Как работает PGO-оптимизация в Go «на пальцах»

В феврале появилась новая версия Golang — 1.20. Разработчики представили в предварительной версии инструмент оптимизации — profile-guided optimization, или коротко PGO. Этот подход позволяет оптимизировать процесс компиляции приложения за счет использования информации, собранной при профилировании сборки в момент выполнения программы в рабочем окружении.В итоге, опираясь на собранные данные, компилятор в состоянии принимать более качественные решения оптимизации при очередном запуске программы…

  • среда, 17 мая 2023 г. в 00:04:52
golang
Пишем на Go как в Google. Лучшие практики — часть первая

Рекомендации по стилю для проектов Google с открытым исходным кодом Лучшие практики Go Этот документ — часть документации по стилю Go в Google. Он не является ни нормативным, ни каноничным, это дополнение к «Руководству по стилю». Подробности смотрите в Обзоре. О документе Здесь приведены рекомендации по лучшим практикам применения требований «Руководства по стилю» для Go. Это руководство охватывает общие и распространенные случаи, но не может применяться к каждому частному случаю. Обсуждение …

  • среда, 17 мая 2023 г. в 00:04:51
golang
Трудности перевода. Как научить микросервисы общаться и не ссориться

Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из  них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья — про тулинг верификации контрактов между сервисами. Она для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров. А также для тех, кто уже живет в мире микросервисов, но недоволен результатом и ище…

  • среда, 17 мая 2023 г. в 00:04:50