Найти тему
Я, Golang-инженер

#31. Подборка из 35 ресурсов по Go и Computer science

Оглавление

Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.

Хой! Джедаи и Амазонки!

Утилита на Go для отображения в терминале загрузки нескольких файлов
Утилита на Go для отображения в терминале загрузки нескольких файлов

В этом посте поделюсь подборкой на публикации, которые познакомят с решениями задач на Go, прокачают навыки программирования и знания в сфере компьютерных наук.

Будет много англоязычного контента.

Основные разделы в публикации:

  1. Общеобразовательный контент по Go;
  2. Дорожные карты;
  3. Чистая архитектура приложений Go;
  4. Справочники;
  5. Общая компьютерная грамотность.

Общеобразовательный контент по Go

1. Улучшенный вывод в терминал

Сборник утилит для вывода в терминал текста, таблиц, списков и многого другого от Naveen Mahalingam. Читать на GitHub здесь <<<

Примеры в галерее, листать:

2. Интерактивное приложение

В статье рассматривается опыт разработки интерактивного 3D приложения на основе WebGL для моделирования протокола обмена одноранговыми сообщениями без JavaScript.

Чтобы значительно снизить сложность создания веб-приложений с поддержкой WebGL в Go, используются фреймворки GopherJS и Vecty.

Картинка - или тысяча слов?
Картинка - или тысяча слов?

3. Автоматическое управление очисткой памяти

Что такое "сборщик мусора" в Go и как он работает читать здесь <<<

4. Интерфейсы

Для новичков о месте размещения интерфейсов в Go. Рассказывается, почему в большинстве случаев важно описывать интерфейсы не рядом с реализацией, а в месте использования.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

5. Битовые маски в Go

От теории хранения данных к работе с битовыми масками на примере онлайн-игры.

Читать здесь <<<

Фрагмент статьи
Фрагмент статьи

6. Роберт Пайк о Go

Монолог одного из создателей языка Go. Например, Роберт Пайк рассказывает, что хотя в Go есть горутины и каналы, для них не нужна синхронизация или механизм синхронизации в виде мьютекса.

Смотреть здесь <<<

Фрагмент беседы
Фрагмент беседы

7. Как устроены каналы в Golang?

В видео идёт разбор с внутренним устройством каналов:

  • как реализована потокобезопасноть;
  • как в буферизированном канале хранятся данные;
  • какие интересные оптимизации есть в буферизированном канале;
  • как работает оператор Select;
  • как каналы закрываются и др.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

8. SOLID в Go

Перевод поста из блога Dave Cheney. Читать скептически, т.к. коллеги, изучающие другие ЯП считают что в посте недостатки выдаются за достоинства. Но статья и комментарии к ней позволят лучше разобраться в теме SOLID в целом и конкретно в Go.

Читать здесь <<<

9. Нейросеть помогает писать код на Go

Программист рассказывает, на что способен GitHub Copilot для GoLang, без детально анализа.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

10. Шардирование базы

В статье от Ozon tech рассматривается, что такое шардирование и как оно помогает в масштабировании в примере разработки приложения на Go.

Читать здесь <<<

Иллюстрация к статье
Иллюстрация к статье

11. Чистый код на Go

В статье автор рассуждает, для чего писать более читаемый, а не краткий код и рассматривает как это делать в определённых случаях.

Читать здесь <<<

12. Веб сервисы на Go: от простого к сложному

Статья посвящена написанию сервера на Go: от азов до следующих возможностей:

  • Использование Let’s Encrypt для HTTPS.
  • Работа в качестве API-маршрутизатора.
  • Работа с middleware.
  • Обработка статических файлов.
  • Корректное завершение работы.

Читать здесь <<<

13. HTTP-запросы на Go

В статье говорится, как можно делать HTTP-запросы, используя Go с помощью пакетов net/http.

Читать здесь <<<

14. "Куча" в Go с примерами

В статье рассматриваются основные характеристики этой структуры данных и применение в с помощью пакета usage heap из базовой библиотеки Go.

Читать здесь <<<

Фрагмент статьи
Фрагмент статьи

15. Импорт пакетов в Go

В статье рассмотрены 4 способа импортирования пакета. Как и большинство публикаций на Хабре, статья рекомендуется к изучению вместе с комментариями.

Читать здесь <<<

16. Телеграм-бот на Go

Различные полезные практики в разработке качественного приложения с возможностью простого масштабирования. Серия видеоуроков

Смотреть здесь <<<

Фрагмент вводного видео
Фрагмент вводного видео

Дорожные карты

17. Дорожная карта Go-разработчика

Направление развитие для всех, кто задаётся вопросом - чему мне научиться, чтобы стать Go-разработчиком от Siddharth Sharma.

Смотреть здесь <<<

Фрагмент RoadMap Go-разработчика
Фрагмент RoadMap Go-разработчика

18. Roadmap-2023

Пошаговое руководство по тому, как стать разработчиком Go в 2023 году.

Смотреть здесь <<<

Фрагмент публикации
Фрагмент публикации

Чистая архитектура приложений Go

19. Чистая архитектура и как её готовить

Видео о том, как использовать Clean Architecture в микросервисах на Go и о том, как разработать свой шаблон используя принципы чистой архитектуры.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

20. Шаблон чистой архитектуры

Шаблон чистой архитектуры для сервисов Golang. Используя принципы Роберта Мартина.

Смотреть информацию на GitHub <<<

Фрагмент контента на GitHub
Фрагмент контента на GitHub

21. Ещё один макет чистой архитектуры

Базовый макет организации проектов, разработанных на Golang.

Смотреть здесь <<<

Фрагмент контента на GitHub - есть переводы от программистов
Фрагмент контента на GitHub - есть переводы от программистов

22. О чистой архитектуре

Статья написана Manuel Kiessling в сентябре 2012 года, как реализация статьи Дядюшки Боба о чистой архитектуре с учетом Go-специфики.

Читать здесь <<<

Иллюстрация к статье
Иллюстрация к статье

23. Структура приложения на Go

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

Читать здесь <<<

Справочники

24. Сетевое программирование в Go

Основы сетевого программирования на Go в виде иллюстрации, например - TCP сокетов. Удобно распечатать плакат и повесить на стену.

Смотреть здесь <<<

Плакат comparitech
Плакат comparitech

25. Сборник базовых конструкций Go

Информация по синтаксису и основным функциям Golang. Полезна новичкам, когда в работе мало практики и забываешь как оформлена та или иная конструкция: switch, range, создание констант и переменных.

Смотреть здесь <<<

Фрагмент справочника от Rico
Фрагмент справочника от Rico

26. Сборник функций Go

Много примеров кода на 8 листах А4 - удобно скачать в pdf, напечатать и сброшюровать.

Читать здесь <<<

Сборник от andanhm
Сборник от andanhm

27. Linux для новичков

Теория по Linux и практика. В статье рассказывается о терминале и текстовых командах — главном способе управления операционной системой Linux, особенно, если речь идёт о сервере. Всё что пугало, окажется проще, чем казалось.

Читать здесь <<<

28. Целый учебник по Go

Сборник статьей о Golang, позиционирующий себя как полный курс изучения программирования для начинающих, в котором есть:

  • Примеры кода на Go с полным описанием.
  • Изучение основ языка программирования Golang.

Изучить здесь <<<

Общая компьютерная грамотность

Цикл статей для обучения computer science

29. Что такое computer science?

Разбираемся в терминологии IT-сферы и разбираем на запчасти компьютерные науки.

Читать здесь <<<

Фрагмент статьи
Фрагмент статьи

30. Как работает ЭВМ?

О науке нулей и единиц от человека, изучавшего журналы радиолюбитель.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

31. Как изучать компьютерные науки?

Что-то вроде дорожной карты по компьютерным наукам. Аудио информация с минимальным видеорядом. Можно посмотреть другие видео блогера.

Смотреть здесь <<<

Фрагмент видео
Фрагмент видео

32. О Web за пол часа

Что каждый программист должен знать о Web? Облачные технологии, Docker, Nginx, микросервисы, Kubernetes.

Смотреть видео здесь <<<

Фрагмент видео
Фрагмент видео

33. Форматы путей к файлам в системах Windows

О традиционных DOS путях, UNC, способы задать ссылку на файл и многое другое.

Фрагмент статьи
Фрагмент статьи

Читать здесь <<<

34. Курс CS50

Серия видеолекций от Гарварда, поданных системно для расширения кругозора в IT. Проделана большая работа по русификации курса.

Смотреть здесь <<<

Фрагмент контента
Фрагмент контента

35. Работа с Git

Тренажёр по GIT. Практиковаться здесь <<<

Фрагмент сайта тренажёра Git
Фрагмент сайта тренажёра Git

Итоги

Сделал такую подборку. Можно выбирать любую из тем и изучать. Мне сейчас в дополнение к курсу от SkillBox пока интересны курсы по компьютерным наукам, буду к ним обращаться. И постепенно буду осваивать другие публикации.

Чем хороши именно эти публикации - часть из них я сам нашёл и изучив, посчитал полезными. Другую часть рекомендовали ребята из чата Go-разработчик от Skillbox, третьи - рекомендовал куратор обучения. В общем, считаю этот контент достойным внимания.

--//--//--

Напоминаю, если захотите купить курс от SkillBox, воспользуйтесь моей реферальной ссылкой. Вы получите огромную скидку на курс и плюс в карму за помощь каналу.

Arti Kh https://unsplash.com/photos/r2BhlllGqoQ
Arti Kh https://unsplash.com/photos/r2BhlllGqoQ

Бро, ты уже здесь? 👉 Подпишись на канал для новичков «Войти в IT» в Telegram, будем изучать IT вместе 👨‍💻👩‍💻👨‍💻