Forwarded from Selectel Team
Как дебажить concurrency-код в Go?
Сергей Петров, разработчик IAM, собрал инструменты, которые вам для этого пригодятся.
Неочевидности в Go, завязка библиотек на процессор, скедулинг горутин — обо всем этом смотрите в докладе!
Сергей Петров, разработчик IAM, собрал инструменты, которые вам для этого пригодятся.
Неочевидности в Go, завязка библиотек на процессор, скедулинг горутин — обо всем этом смотрите в докладе!
Шахматный движок на Go
https://github.com/rbw317/chess_go
На мой взгляд, в первую очередь, проект интересен как объект для изучения - движок не самый умный, но и код относительно простой.
Есть простенький консольный интерфейс и полноценный веб-фронтэнд. Демку с веб-версией можно потыкать тут.
Также проект может быть интересен тем, кто хочет потренироваться в написании интерфейсов на разных технологиях. К примеру, можете написать для него оболочку на том же Ebitengine.
#go_project
https://github.com/rbw317/chess_go
На мой взгляд, в первую очередь, проект интересен как объект для изучения - движок не самый умный, но и код относительно простой.
Есть простенький консольный интерфейс и полноценный веб-фронтэнд. Демку с веб-версией можно потыкать тут.
Также проект может быть интересен тем, кто хочет потренироваться в написании интерфейсов на разных технологиях. К примеру, можете написать для него оболочку на том же Ebitengine.
#go_project
GitHub
GitHub - rbw317/chess_go: Chess engine written in Go
Chess engine written in Go. Contribute to rbw317/chess_go development by creating an account on GitHub.
Как писать параллельный код - основы
https://habr.com/ru/companies/timeweb/articles/770912/
Очень хорошая статья, в которой простым языком на простеньких примерах рассказываются основы работы с параллельным кодом:
- Зачем это нужно
- Как и почему нельзя писать параллельный код
- Какие издержки распараллеливания мы имеем (спойлер - код становится намного сложнее и опасней)
и др.
Если вы не ещё сталкивались с подобными задачами, рекомендую ознакомиться.
#article #concurrency
https://habr.com/ru/companies/timeweb/articles/770912/
Очень хорошая статья, в которой простым языком на простеньких примерах рассказываются основы работы с параллельным кодом:
- Зачем это нужно
- Как и почему нельзя писать параллельный код
- Какие издержки распараллеливания мы имеем (спойлер - код становится намного сложнее и опасней)
и др.
Если вы не ещё сталкивались с подобными задачами, рекомендую ознакомиться.
#article #concurrency
Хабр
Здоровая конкуренция в GO. Главное не перехитрить самого себя
Несколько лет назад я прочитал статью о параллелизации в GO и ничего не понял – я тогда только начинал программировать на этом языке. Но размышления автора мне очень понравились – они подкреплялись...
Почему `nil error value` не равно nil?
Судя по результатам опроса выше, не все понимают эту механику.
Вот официальный ответ разработчиков на этот вопрос.
Также хорошее объяснение с более сложным примером вы найдёте в книге "Язык программирования Go" Донован А. Керниган Б. (стр. 224 - глава 7, Интерфейсы)
#go_traps
Судя по результатам опроса выше, не все понимают эту механику.
Вот официальный ответ разработчиков на этот вопрос.
Также хорошее объяснение с более сложным примером вы найдёте в книге "Язык программирования Go" Донован А. Керниган Б. (стр. 224 - глава 7, Интерфейсы)
#go_traps
go.dev
Frequently Asked Questions (FAQ) - The Go Programming Language
Подводные камни Go
Расскажите, какие наиболее значимые и популярные подводные камни и грабли Go вы знаете? Если есть истории реальных фэйлов, связанных с этим, будет ещё лучше.
"nil error value", передача слайса по значению и т.п. Пусть даже самые банальные и общеизвестные.
Если соберём хорошую подборку, я готов сделать полноценный ролик на эту тему на своём канале.
Расскажите, какие наиболее значимые и популярные подводные камни и грабли Go вы знаете? Если есть истории реальных фэйлов, связанных с этим, будет ещё лучше.
"nil error value", передача слайса по значению и т.п. Пусть даже самые банальные и общеизвестные.
Если соберём хорошую подборку, я готов сделать полноценный ролик на эту тему на своём канале.
Если вам предстоит работать с проектами на gRPC, то этот гайд позволит в максимально сжатые сроки покрыть львинную долю того, чему необходимо научиться.
Он доступен в двух вариантах:
- Видео на YouTube
- Статья на Хабре
Сервис пишется с нуля, попутно затрагивается множество аспектов:
- Правильная архитектура проекта
- Как писать ProtoBuf контракты, генерировать по ним код
- Как полноценно тестировать свой сервис, написание функциональных тестов
- Как правильно работать с паролями и токенами авторизации
- Взаимодействие между сервисами
- Работа с миграциями
И многое другое.
#guide #grpc
Please open Telegram to view this post
VIEW IN TELEGRAM
Исследование Go-разработчиков от авторов языка
https://go.dev/blog/survey2023-h2-results
Основные результаты:
- Разработчики Go заявили, что они больше заинтересованы в инструментах AI/ML, которые улучшают качество кода, который они пишут, а не пишут код для них. Круглосуточно доступный "ревьюер" может стать одной из наиболее полезных фич ИИ.
- Эксперимент с шаблонами проектов (gonew), похоже, решает критические проблемы Go-разработчиков (особенно новичков в Go). Основываясь на этих результатах, можно сказать что gonew может существенно снизить порог входа в Go для новичков.
- 3/4 респондентов работают над программным обеспечением на Go, которое также использует облачные сервисы; это свидетельствует о том, что разработчики рассматривают Go как язык для современной облачной разработки.
- Настроение разработчиков по отношению к Go остается крайне позитивным: 90% респондентов опроса заявили, что удовлетворены работой с Go в течение предыдущего года.
#survey #go_official
https://go.dev/blog/survey2023-h2-results
Основные результаты:
- Разработчики Go заявили, что они больше заинтересованы в инструментах AI/ML, которые улучшают качество кода, который они пишут, а не пишут код для них. Круглосуточно доступный "ревьюер" может стать одной из наиболее полезных фич ИИ.
- Эксперимент с шаблонами проектов (gonew), похоже, решает критические проблемы Go-разработчиков (особенно новичков в Go). Основываясь на этих результатах, можно сказать что gonew может существенно снизить порог входа в Go для новичков.
- 3/4 респондентов работают над программным обеспечением на Go, которое также использует облачные сервисы; это свидетельствует о том, что разработчики рассматривают Go как язык для современной облачной разработки.
- Настроение разработчиков по отношению к Go остается крайне позитивным: 90% респондентов опроса заявили, что удовлетворены работой с Go в течение предыдущего года.
#survey #go_official
go.dev
Go Developer Survey 2023 H2 Results - The Go Programming Language
What we learned from our 2023 H2 developer survey
Открытое собеседование Senior Go разработчика
https://youtu.be/GD0iHLucYdU
Самые популярные интервьюеры русскоязычного Go сообщества - Даниил Подольский (Yadro) и Владимир Балун (Yandex) провели собеседование сеньора на канале Николая Тузова.
Собеседование состоит из двух частей - общие вопросы по знаменитому опроснику Даниила и лайв-кодинг с Владимиром.
В роли кандидата выступил Антон Зиновьев - разработчик и техлид из компании Gaijin.
#собеседование
https://youtu.be/GD0iHLucYdU
Самые популярные интервьюеры русскоязычного Go сообщества - Даниил Подольский (Yadro) и Владимир Балун (Yandex) провели собеседование сеньора на канале Николая Тузова.
Собеседование состоит из двух частей - общие вопросы по знаменитому опроснику Даниила и лайв-кодинг с Владимиром.
В роли кандидата выступил Антон Зиновьев - разработчик и техлид из компании Gaijin.
#собеседование
YouTube
Собеседование Senior Go-разработчика / Даниил Подольский, Владимир Балун - Антон Зиновьев
Даниил Подольский и Владимир Балун проводят собеседование Senior GoLang разработчика - Антона Зиновьева. Интервью состоит из двух частей: общие вопросы и лайв-кодинг.
Канал Антона, на котором он проводит стримы с разработкой на Go: https://www.youtube.com/@laxcity…
Канал Антона, на котором он проводит стримы с разработкой на Go: https://www.youtube.com/@laxcity…
Как устроена память в Go
https://habr.com/ru/companies/vk/articles/776766/
На мой взгляд, устройство памяти - это очень важная тема для тех, кто хочет лучше разбираться, как Go устроен под капотом. Сама статья читается легко и интересно, мне понравилось.
#article #memory
https://habr.com/ru/companies/vk/articles/776766/
На мой взгляд, устройство памяти - это очень важная тема для тех, кто хочет лучше разбираться, как Go устроен под капотом. Сама статья читается легко и интересно, мне понравилось.
#article #memory
Хабр
Потрошим golang: как устроена память
Привет, меня зовут Стас Иванкевич, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в...
Go Tour на стероидах от ArdanLabs
https://www.ardanlabs.com/blog/2024/01/ultimate-go-tour.html
William Kennedy, известный нам по крутым гайдам по внутренностям Go, решил, что официальный Go Tour недостаточно хорош, и предлагает нам свою версию.
Что не нравилось:
- Официальный Тур не является всеобъемлющим как по количеству примеров, так и по содержанию, объясняющему эти примеры
- Содержание практически мгновенно переходит от новичка к эксперту
Вильям поколдовал и получилось это: tour.ardanlabs.com
Лучше оно или хуже - решать вам. Но оно точно стоит внимания.
Возможно, один из самых крутых аспектов этого нового тура заключается в том, что он не контролируется Google. Это дает проекту гибкость, позволяющую вовлечь в него сообщество.
#ardanlabs #go_tour
https://www.ardanlabs.com/blog/2024/01/ultimate-go-tour.html
William Kennedy, известный нам по крутым гайдам по внутренностям Go, решил, что официальный Go Tour недостаточно хорош, и предлагает нам свою версию.
Что не нравилось:
- Официальный Тур не является всеобъемлющим как по количеству примеров, так и по содержанию, объясняющему эти примеры
- Содержание практически мгновенно переходит от новичка к эксперту
Вильям поколдовал и получилось это: tour.ardanlabs.com
Лучше оно или хуже - решать вам. Но оно точно стоит внимания.
Возможно, один из самых крутых аспектов этого нового тура заключается в том, что он не контролируется Google. Это дает проекту гибкость, позволяющую вовлечь в него сообщество.
#ardanlabs #go_tour
Ardan Labs
Ultimate Go Tour
Ardan Labs is trusted by small startups and Fortune 500 companies to train their engineers and develop business software solutions and applications.