Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.
Хой! Джедаи и Амазонки!
В этом посте поделюсь подборкой на публикации, которые познакомят с решениями задач на Go, прокачают навыки программирования и знания в сфере компьютерных наук.
Будет много англоязычного контента.
Основные разделы в публикации:
- Общеобразовательный контент по Go;
- Дорожные карты;
- Чистая архитектура приложений Go;
- Справочники;
- Общая компьютерная грамотность.
Общеобразовательный контент по 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.
Смотреть здесь <<<
18. Roadmap-2023
Пошаговое руководство по тому, как стать разработчиком Go в 2023 году.
Смотреть здесь <<<
Чистая архитектура приложений Go
19. Чистая архитектура и как её готовить
Видео о том, как использовать Clean Architecture в микросервисах на Go и о том, как разработать свой шаблон используя принципы чистой архитектуры.
Смотреть здесь <<<
20. Шаблон чистой архитектуры
Шаблон чистой архитектуры для сервисов Golang. Используя принципы Роберта Мартина.
Смотреть информацию на GitHub <<<
21. Ещё один макет чистой архитектуры
Базовый макет организации проектов, разработанных на Golang.
Смотреть здесь <<<
22. О чистой архитектуре
Статья написана Manuel Kiessling в сентябре 2012 года, как реализация статьи Дядюшки Боба о чистой архитектуре с учетом Go-специфики.
Читать здесь <<<
23. Структура приложения на Go
Создание отличного приложения начинается с его структуры. Структура приложения задает тон для разработки приложения, и важно сделать это правильно с самого начала. Об этом в статье.
Читать здесь <<<
Справочники
24. Сетевое программирование в Go
Основы сетевого программирования на Go в виде иллюстрации, например - TCP сокетов. Удобно распечатать плакат и повесить на стену.
Смотреть здесь <<<
25. Сборник базовых конструкций Go
Информация по синтаксису и основным функциям Golang. Полезна новичкам, когда в работе мало практики и забываешь как оформлена та или иная конструкция: switch, range, создание констант и переменных.
Смотреть здесь <<<
26. Сборник функций Go
Много примеров кода на 8 листах А4 - удобно скачать в pdf, напечатать и сброшюровать.
Читать здесь <<<
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. Практиковаться здесь <<<
Итоги
Сделал такую подборку. Можно выбирать любую из тем и изучать. Мне сейчас в дополнение к курсу от SkillBox пока интересны курсы по компьютерным наукам, буду к ним обращаться. И постепенно буду осваивать другие публикации.
Чем хороши именно эти публикации - часть из них я сам нашёл и изучив, посчитал полезными. Другую часть рекомендовали ребята из чата Go-разработчик от Skillbox, третьи - рекомендовал куратор обучения. В общем, считаю этот контент достойным внимания.
--//--//--
Напоминаю, если захотите купить курс от SkillBox, воспользуйтесь моей реферальной ссылкой. Вы получите огромную скидку на курс и плюс в карму за помощь каналу.
Бро, ты уже здесь? 👉 Подпишись на канал для новичков «Войти в IT» в Telegram, будем изучать IT вместе 👨💻👩💻👨💻