Learn X in Y minutes, where X=Go
https://learnxinyminutes.com/docs/go/
Ещё один интересный способ быстро познакомиться с Go. Подходит для людей, которые уже умеют программировать на другом языке. Но это даже быстрее, чем Tour of Go!
Мои комментарии тут излишни, просто взгляните своими глазами.
Есть русскоязычный вариант, но он выглядит чуть менее актуальным.
Кроме Go, на сайте разобрано множество других языков. Например, JSON и Си.
#study #article
https://learnxinyminutes.com/docs/go/
Ещё один интересный способ быстро познакомиться с Go. Подходит для людей, которые уже умеют программировать на другом языке. Но это даже быстрее, чем Tour of Go!
Мои комментарии тут излишни, просто взгляните своими глазами.
Есть русскоязычный вариант, но он выглядит чуть менее актуальным.
Кроме Go, на сайте разобрано множество других языков. Например, JSON и Си.
#study #article
Как устроена функция time.Sleep() в Go?
Каждый из вас наверняка пользовался этой функцией, заставляющей горутину немного подождать. Но заглядывали ли вы ей под капот?
В этой статье предлагается туда заглянуть.
#article #internals
Каждый из вас наверняка пользовался этой функцией, заставляющей горутину немного подождать. Но заглядывали ли вы ей под капот?
В этой статье предлагается туда заглянуть.
#article #internals
Николай Тузов - блог
Как устроена функция time.Sleep() в Golang
Вам наверняка не раз доводилось писать такой код:
func main() {
// ...
time.Sleep(4 * time.Second)
// ...
}
Он заставляет программу (горутину) подождать указанное количество секунд. Но что происходит внутри функции time.Sleep()? Давайте разберемся.
func main() {
// ...
time.Sleep(4 * time.Second)
// ...
}
Он заставляет программу (горутину) подождать указанное количество секунд. Но что происходит внутри функции time.Sleep()? Давайте разберемся.
Официальный гайд по GoDoc-комментам
Мало кто знает, но такой гайд существует. Если хочешь стать godoc-мастером, очень рекомендую. Коллеги будут очень благодарны.
Здесь подробно разобрано:
- что такое godoc
- в каких случаях стоит писать такие комменты (спойлер - every exported name should have a doc comment)
- как их правильно писать в разных случаях (для типов, функций, констант, переменных и т.п.)
- как всё это форматировать
Всё разобрано очень подробно, приводится множество примеров.
#article #godoc #codestyle
Мало кто знает, но такой гайд существует. Если хочешь стать godoc-мастером, очень рекомендую. Коллеги будут очень благодарны.
Здесь подробно разобрано:
- что такое godoc
- в каких случаях стоит писать такие комменты (спойлер - every exported name should have a doc comment)
- как их правильно писать в разных случаях (для типов, функций, констант, переменных и т.п.)
- как всё это форматировать
Всё разобрано очень подробно, приводится множество примеров.
#article #godoc #codestyle
GoGetPodcast #5: правила хорошего тона для разработчика
В выпуске обсуждаются вопросы, связанные с написанием хорошего кода в Go: нужен ли он? Насколько важен? Экономит ли "грязный код" время? Как научиться писать хороший код? И др.
Есть видео-вариант на YouTube и аудио-вариант на всех площадках подкастов, ссылки тут.
#gogetpodcast
В выпуске обсуждаются вопросы, связанные с написанием хорошего кода в Go: нужен ли он? Насколько важен? Экономит ли "грязный код" время? Как научиться писать хороший код? И др.
Есть видео-вариант на YouTube и аудио-вариант на всех площадках подкастов, ссылки тут.
#gogetpodcast
YouTube
Чистый код в Go - правила хорошего тона для разработчика | GoGetPodcast №5
Обсуждаем вопросы, связанные с написанием хорошего кода в Go: нужен ли он? Насколько важен? Экономит ли "грязный код" время? Как научиться писать хороший код? И др.
----
Выпуск на других площадках: http://tuzov.link/gogetpodcast5
Другие выпуски: https:/…
----
Выпуск на других площадках: http://tuzov.link/gogetpodcast5
Другие выпуски: https:/…
Что должен вернуть конструктор в Go?
Anonymous Poll
50%
Реализацию
14%
Интерфейс
20%
Зависит от ситуации
16%
Не знаю / Посмотреть ответы
Forwarded from Николай Тузов
GoGetPodcast #6: монорепозиторий vs мультирепозиторий
Будем обсуждать плюсы и минусы монорепозитория. Это частая тема холиваров, и мы решили внести свой вклад 😊
Когда и где: уже завтра (15.11), в 09:30 утра. Трансляция будет на моём YouTube-канале, запись чуть позже появится там же.
Участники:
- Глеб Яльчик - тех. директор компании Gaijin,
- Алексей Акулович - inDriver (ранее Tinkoff, ВКонтакте)
#gogetpodcast #анонс
Будем обсуждать плюсы и минусы монорепозитория. Это частая тема холиваров, и мы решили внести свой вклад 😊
Когда и где: уже завтра (15.11), в 09:30 утра. Трансляция будет на моём YouTube-канале, запись чуть позже появится там же.
Участники:
- Глеб Яльчик - тех. директор компании Gaijin,
- Алексей Акулович - inDriver (ранее Tinkoff, ВКонтакте)
#gogetpodcast #анонс
Golang Дайджест
GoGetPodcast #6: монорепозиторий vs мультирепозиторий Будем обсуждать плюсы и минусы монорепозитория. Это частая тема холиваров, и мы решили внести свой вклад 😊 Когда и где: уже завтра (15.11), в 09:30 утра. Трансляция будет на моём YouTube-канале, запись…
Выпуск уже на YouTube и аудио-площадках
YouTube
Монорепозиторий VS Мультирепозиторий | GoGetPodcast №6
Обсуждаем плюсы и минусы монорепозитория. Это частая тема холиваров, и мы решили внести свой вклад 😊
Состав:
- Глеб Яльчик (http://t.me/gleb_yaltchik) - тех. директор компании Gaijin,
- Алексей Акулович (http://t.me/AterCattus) - inDriver (ранее Tinkoff…
Состав:
- Глеб Яльчик (http://t.me/gleb_yaltchik) - тех. директор компании Gaijin,
- Алексей Акулович (http://t.me/AterCattus) - inDriver (ранее Tinkoff…
Как сделать программу на Go быстрее на в х1.7 раз, изменив один символ
Хорошая короткая статья, которая лишний раз напоминает о том, что:
- понимание работы garbage collector'а важно для Go-разработчика
- необходимо понимать, когда стоит работать с указателями, а когда со значениями
- порой очень маленькие изменения дают очень большой эффект
На хабре есть перевод на русский.
#article #optimisation
Хорошая короткая статья, которая лишний раз напоминает о том, что:
- понимание работы garbage collector'а важно для Go-разработчика
- необходимо понимать, когда стоит работать с указателями, а когда со значениями
- порой очень маленькие изменения дают очень большой эффект
На хабре есть перевод на русский.
#article #optimisation
Hmarr
Making a Go program run 1.7x faster with a one character change • Harry Marr
Programmer and engineering manager working at GitHub. Co-founded Dependabot, and helped build Monzo and GoCardless.
Рассуждения про "Guard" Proposal для обработки ошибок в Go
https://wagslane.dev/posts/guard-keyword-error-handling-golang/
Обработка ошибок в Go достаточно многословна, но при этом надёжна - нам, как минимум, нужно писать для каждой ошибки:
И сообщество регулярно пытается придумать хитрый способ сократить здесь строчки кода, но при этом не потерять надёжность и простоту.
Несколько лет назад был предложен вот такой proposal. Суть его в том, чтобы добавить в Go два ключевых слова:
-
-
Автор статьи комментирует данный proposal, рассказывает что ему не нравится, и как сделать лучше.
В нашем чате предлагаю подискутировать на тему обработки ошибок - согласны ли с автором? Какие варианты нравятся вам больше? Или лучше оставить всё как есть?
#article #english #error_handling
https://wagslane.dev/posts/guard-keyword-error-handling-golang/
Обработка ошибок в Go достаточно многословна, но при этом надёжна - нам, как минимум, нужно писать для каждой ошибки:
if err != nil {Но зато мы точно ни одну не потеряем.
return err
}
И сообщество регулярно пытается придумать хитрый способ сократить здесь строчки кода, но при этом не потерять надёжность и простоту.
Несколько лет назад был предложен вот такой proposal. Суть его в том, чтобы добавить в Go два ключевых слова:
must
и guard
.-
must
- синтаксический сахар для паники при ненулевой ошибке-
guard
- синтаксический сахар для return err
при ненулевой ошибкеАвтор статьи комментирует данный proposal, рассказывает что ему не нравится, и как сделать лучше.
В нашем чате предлагаю подискутировать на тему обработки ошибок - согласны ли с автором? Какие варианты нравятся вам больше? Или лучше оставить всё как есть?
#article #english #error_handling
www.wagslane.dev
Thoughts on the "Guard" Proposal for Go's Error Handling
I found this proposal for improvements to error handling in Go interesting, but still not something I’d be happy to see implemented.
Allow me to clear up my thoughts on Go’s errors. Overall, I prefer how Go forces me to think about errors at every turn. When…
Allow me to clear up my thoughts on Go’s errors. Overall, I prefer how Go forces me to think about errors at every turn. When…
Go developer roadmap
https://roadmap.sh/golang/
Идеальный гайд по изучению языка Go, помогающий ответить на вопросы:
- С чего начать изучения языка?
- Что вообще надо знать?
- В каком порядке это изучать?
- Где искать материалы?
и т.п.
Каждый элемент схемы кликабельный - открывается окошко с полезными ссылками для изучения темы.
Если вас часто спрашивают - "как изучать Go?", просто кидайте это ссылку. Но тут много всякого интересного, так что интересно будет не только новичку.
Спасибо @pavel_bogdashin за ссылку ☺️
#roadmap #guide
https://roadmap.sh/golang/
Идеальный гайд по изучению языка Go, помогающий ответить на вопросы:
- С чего начать изучения языка?
- Что вообще надо знать?
- В каком порядке это изучать?
- Где искать материалы?
и т.п.
Каждый элемент схемы кликабельный - открывается окошко с полезными ссылками для изучения темы.
Если вас часто спрашивают - "как изучать Go?", просто кидайте это ссылку. Но тут много всякого интересного, так что интересно будет не только новичку.
Спасибо @pavel_bogdashin за ссылку ☺️
#roadmap #guide
roadmap.sh
Learn to become a Go developer
Community driven, articles, resources, guides, interview questions, quizzes for Go development. Learn to become a modern Go developer by following the steps, skills, resources and guides listed in this roadmap.
Как лучше передавать структуру
И расскажите, пожалуйста, в комментариях, почему считаете именно так?
(постом ниже будет опрос)
User
в Save()
- по значению или по указателю?И расскажите, пожалуйста, в комментариях, почему считаете именно так?
(постом ниже будет опрос)
type User struct {
Name string
Age int
// ... 2-5 other fields
}
// SaveUser doesn't change user's state
func Save(u User) error {
// ... save user to
somewhere
}
Golang Дайджест
Как лучше передавать структуру User в Save() - по значению или по указателю? И расскажите, пожалуйста, в комментариях, почему считаете именно так? (постом ниже будет опрос) type User struct { Name string Age int // ... 2-5 other fields } // SaveUser…
Как лучше? (см. предыдущий пост)
Anonymous Poll
37%
По значению
39%
По указателю
10%
Зависит от контекста, уточню в комментах
15%
Не знаю / посмотреть ответы
Признаки злоупотребления интерфейсами (Interface Pollution)
https://www.ardanlabs.com/blog/2016/10/avoid-interface-pollution.html
Автор рассуждает на тему злоупотребления интерфейсами, приводя конкретный пример кода и комментируя его.
Основная суть статьи заключается в этом кратком списке признаков (smell list) нежелательного использования интерфейсов:
- Пакет объявляет интерфейс, который полостью соответствует API своего собственного типа
- Фабричная функция возвращает значение интерфейса с неэкспортируемым конкретным значением внутри
- Интерфейс может быть удален и ничего не изменится для пользователя API
- Интерфейс не обеспечивает независимость кода от изменений реализации
Как обычно, интересно узнать ваше мнение в комментариях. Согласны с автором?
#english #interfaces #ardanlabs #cleancode
https://www.ardanlabs.com/blog/2016/10/avoid-interface-pollution.html
Автор рассуждает на тему злоупотребления интерфейсами, приводя конкретный пример кода и комментируя его.
Основная суть статьи заключается в этом кратком списке признаков (smell list) нежелательного использования интерфейсов:
- Пакет объявляет интерфейс, который полостью соответствует API своего собственного типа
- Фабричная функция возвращает значение интерфейса с неэкспортируемым конкретным значением внутри
- Интерфейс может быть удален и ничего не изменится для пользователя API
- Интерфейс не обеспечивает независимость кода от изменений реализации
Как обычно, интересно узнать ваше мнение в комментариях. Согласны с автором?
#english #interfaces #ardanlabs #cleancode
Ardan Labs
Avoid Interface Pollution
Ardan Labs is trusted by small startups and Fortune 500 companies to train their engineers and develop business software solutions and applications.
Разработка игры на Go в прямом эфире
Сегодня в 15:00 по мск (уже через 10 минут) Искандер Шарипов планирует запустить стрим, на котором напишет с нуля небольшую игру на Go.
Стрим будет на этом канале: https://www.twitch.tv/quasilyte
#анонс #gogamedev
Сегодня в 15:00 по мск (уже через 10 минут) Искандер Шарипов планирует запустить стрим, на котором напишет с нуля небольшую игру на Go.
Стрим будет на этом канале: https://www.twitch.tv/quasilyte
#анонс #gogamedev
Golang Дайджест
Признаки злоупотребления интерфейсами (Interface Pollution) https://www.ardanlabs.com/blog/2016/10/avoid-interface-pollution.html Автор рассуждает на тему злоупотребления интерфейсами, приводя конкретный пример кода и комментируя его. Основная суть статьи…
Раз уж заговорили об интерфейсах. Где нужно описывать интерфейс?
Anonymous Poll
19%
Рядом с реализацией
37%
Рядом с местом использования
8%
В отдельном пакете
20%
Зависит от ситуации
16%
Не знаю / Посмотреть ответы
Golang-Senior-Developer-Interview - Sheet1-1.pdf
41.8 KB
Новая версия опросника Даниила Подольского
Скорее всего, вы уже знакомы с первой версией, опубликованной на Хабре 2 года назад.
Сейчас у Даниила появился новый вариант, он: "более go-специфичный, но он пока недостаточно проверенный - маловато собесов провел по нему"
Прикладываю к посту pdf вариант, для удобства. Но лучше смотреть по ссылке в Google Docs, т.к. наверняка будет обновляться.
Скорее всего, вы уже знакомы с первой версией, опубликованной на Хабре 2 года назад.
Сейчас у Даниила появился новый вариант, он: "более go-специфичный, но он пока недостаточно проверенный - маловато собесов провел по нему"
Прикладываю к посту pdf вариант, для удобства. Но лучше смотреть по ссылке в Google Docs, т.к. наверняка будет обновляться.
Forwarded from Николай Тузов
GoGetPodcast #7: Что должен знать и уметь Go-разработчик?
Трансляция будет на моём канале.
Когда: 04.02 (уже завтра), в 12:00 по Мск
Поговорим о том, как готовиться к собеседованиям, чего от вас будут ожидать, что пригодится на работе, как расти и развиваться в профессии.
Состав:
- Николай Тузов
- Глеб Яльчик - тех. директор компании Gaijin
- Даниил Подольский - Microavia.com
- Виталий Левченко - разработчик в Яндекс Практикум
P.S. Да. запись обязательно будет☕️
#gogetpodcast #анонс
Трансляция будет на моём канале.
Когда: 04.02 (уже завтра), в 12:00 по Мск
Поговорим о том, как готовиться к собеседованиям, чего от вас будут ожидать, что пригодится на работе, как расти и развиваться в профессии.
Состав:
- Николай Тузов
- Глеб Яльчик - тех. директор компании Gaijin
- Даниил Подольский - Microavia.com
- Виталий Левченко - разработчик в Яндекс Практикум
P.S. Да. запись обязательно будет
#gogetpodcast #анонс
Please open Telegram to view this post
VIEW IN TELEGRAM
Youtube
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
GoGetPodcast #7: Что должен знать и уметь Go-разработчик?
Выпуск в хорошем качестве уже доступен на YouTube и других площадках. Если что-то не расслышали на трансляции, в записи всё будет ок.
Страничка на основном сайте подкаста
Ссылки:
- Mave - тут также есть список экзотических платформ, на которых можно послушать подкаст
- YouTube
- Apple Podcasts (iTunes)
- Google Podcasts
- Яндекс Музыка
- VK
#gogetpodcast
Выпуск в хорошем качестве уже доступен на YouTube и других площадках. Если что-то не расслышали на трансляции, в записи всё будет ок.
Страничка на основном сайте подкаста
Ссылки:
- Mave - тут также есть список экзотических платформ, на которых можно послушать подкаст
- YouTube
- Apple Podcasts (iTunes)
- Google Podcasts
- Яндекс Музыка
- VK
#gogetpodcast
YouTube
Как развиваться GoLang разработчику? | GoGetPodcast №7
Говорим о том, как готовиться к собеседованиям, чего от вас будут ожидать, что пригодится на работе, как расти и развиваться в профессии.
К слову, об обучении - на моём канале вы найдете хорошие уроки по Go 😉
Опросник Даниила: https://habr.com/ru/company/oleg…
К слову, об обучении - на моём канале вы найдете хорошие уроки по Go 😉
Опросник Даниила: https://habr.com/ru/company/oleg…