Golang Дайджест
7.76K subscribers
36 photos
1 file
165 links
Самое интересное из мира Go: новости, статьи, проекты, сервисы, изменения в языке и др.

Посты публикуются не часто - только самое важное, с чем я лично ознакомился.

Поэтому можно не мьютить канал =)

Обратная связь: @justskiv
Download Telegram
Forwarded from Selectel Team
Как дебажить concurrency-код в Go?

Сергей Петров, разработчик IAM, собрал инструменты, которые вам для этого пригодятся.

Неочевидности в Go, завязка библиотек на процессор, скедулинг горутин — обо всем этом смотрите в докладе!
Шахматный движок на Go

https://github.com/rbw317/chess_go

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

Есть простенький консольный интерфейс и полноценный веб-фронтэнд. Демку с веб-версией можно потыкать тут.

Также проект может быть интересен тем, кто хочет потренироваться в написании интерфейсов на разных технологиях. К примеру, можете написать для него оболочку на том же Ebitengine.

#go_project
Please open Telegram to view this post
VIEW IN TELEGRAM
Как писать параллельный код - основы

https://habr.com/ru/companies/timeweb/articles/770912/

Очень хорошая статья, в которой простым языком на простеньких примерах рассказываются основы работы с параллельным кодом:

- Зачем это нужно
- Как и почему нельзя писать параллельный код
- Какие издержки распараллеливания мы имеем (спойлер - код становится намного сложнее и опасней)
и др.

Если вы не ещё сталкивались с подобными задачами, рекомендую ознакомиться.

#article #concurrency
Какое значение выведет программа?

Не пишите ответы в комментариях, ниже есть опрос (см. следующий пост)
Какое значение выведет программа? (см. пост выше)
Anonymous Quiz
38%
Error
62%
Success
Почему `nil error value` не равно nil?

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

Вот официальный ответ разработчиков на этот вопрос.

Также хорошее объяснение с более сложным примером вы найдёте в книге "Язык программирования Go" Донован А. Керниган Б. (стр. 224 - глава 7, Интерфейсы)

#go_traps
Подводные камни Go

Расскажите, какие наиболее значимые и популярные подводные камни и грабли Go вы знаете? Если есть истории реальных фэйлов, связанных с этим, будет ещё лучше.

"nil error value", передача слайса по значению и т.п. Пусть даже самые банальные и общеизвестные.

Если соберём хорошую подборку, я готов сделать полноценный ролик на эту тему на своём канале.
💻gRPC сервис авторизации - Огромный Гайд

Если вам предстоит работать с проектами на 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
Открытое собеседование Senior Go разработчика

https://youtu.be/GD0iHLucYdU

Самые популярные интервьюеры русскоязычного Go сообщества - Даниил Подольский (Yadro) и Владимир Балун (Yandex) провели собеседование сеньора на канале Николая Тузова.

Собеседование состоит из двух частей - общие вопросы по знаменитому опроснику Даниила и лайв-кодинг с Владимиром.

В роли кандидата выступил Антон Зиновьев - разработчик и техлид из компании Gaijin.

#собеседование
Как устроена память в Go

https://habr.com/ru/companies/vk/articles/776766/

На мой взгляд, устройство памяти - это очень важная тема для тех, кто хочет лучше разбираться, как Go устроен под капотом. Сама статья читается легко и интересно, мне понравилось.

#article #memory
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