Скачать Антикурс по Go: без воды, до трудоустройства (драфт) [Stepik] [Сергей Камянецкий]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
128.513
Реакции
75.980
Складчина: Антикурс по Go: без воды, до трудоустройства (драфт) [Stepik] [Сергей Камянецкий]



Практический набор действий для разработчиков, которые хотят профессионально освоить Go и получить работу. От базового синтаксиса до production-ready кода, включая подготовку к собеседованиям и обязательные персональные и групповые созвоны для развития soft skills.

Чему вы научитесь:

Разрабатывать API-сервисы и микросервисы на Go, применяя идиоматичные паттерны языка
Проектировать архитектуру приложений с использованием чистой архитектуры
Профессионально обрабатывать ошибки, работать с файлами, JSON, временем и базами данных
Применять конкурентные паттерны: горутины, каналы, синхронизацию через mutex и context
Уверенно проходить технические собеседования на позицию Go-разработчика, демонстрируя знание архитектурных решений
О курсе:

Это не пересказ справочника по Go — это структурированный путь от базовых концепций до production-ready кода с реальными техническими заданиями. Вы последовательно освоите язык через скринкасты с live-coding, решите десятки задач и выполните практические ТЗ, которые формируют портфолио. Курс включает модули по работе с файлами, JSON, архитектуре приложений, построению REST API, базам данных, конкурентности и микросервисам

Ключевая особенность — обязательные персональные встречи и созвоны, где вы прокачаете soft skills: научитесь презентовать код, аргументировать технические решения и проходить код-ревью. Финальный блок — подготовка к собеседованиям: разбор реальных вопросов, составление резюме и чеклист знаний для выхода на рынок труда.

Для кого этот курс:

Разработчики с опытом на других языках (C#, Java, Python, JavaScript), которые хотят освоить Go для backend-разработки
Программисты, понимающие базовые концепции (циклы, функции, типы данных), готовые углубиться в идиоматичный Go
Специалисты, которые устали от теоретических курсов и хотят практический опыт с реальными проектами и code review
Те, кто нацелен на трудоустройство и готов к персональным встречам для отработки коммуникационных навыков
Что вы получаете:

Практические навыки разработки на Go, востребованные на рынке: API, микросервисы, работа с БД и конкурентностью
Портфолио из выполненных технических заданий: система управления библиотекой, REST API, микросервисные приложения
Обязательную прокачку soft skills через персональные встречи: учитесь объяснять код, отвечать на технические вопросы, проходить код-ревью
Подготовку к собеседованиям с чеклистом знаний и разбором реальных вопросов работодателей
Сертификат о прохождении и уверенность для выхода на позицию Go-разработчика
Программа:

Первые шаги
Настройка окружения
Базовые типы и переменные
Выражения и константы
Типы и пользовательский ввод
Память, указатели и продвинутый ввод данных
Принятие решений: условия и логика
Повторение
Массивы
Слайсы
Строки
Применение строк и срезов
Коллекции (map и set)
Функции
Критические ситуации
Про время
Про файлы и директории
Структуры
Про JSON
Композиция — не наследование
Интерфейсы
Практический проект: CRUD-приложение с персистентностью
Параллелизм и конкурентность
Не SOLID
Жизнь без ООП
Управление зависимостями
RESTful API: обзор фундаментальных концепций
SQL и СУБД: SQLite, введение в теорию хранения данных
Полноценный REST API с JWT-аутентификацией
Что нас ждёт на собеседовании
Окончание


Спойлер: Подробно

Первые шаги
Старт

Настройка окружения
VS Code: установка и первые шаги
Установка
Hello Go
Донастройка VS Code

Базовые типы и переменные
Структура Go-проекта: пакеты, модули и организация кода
Организация кода. Точка входа
Типы данных в Go: система числовых типов
Основа базовых типов данных в Go: bool, string, float
Объявление переменных и форматированный вывод в Go
Анатомия переменной: память, адреса и размеры в Go
Правила именования идентификаторов
Экспорт идентификаторов и соглашения об аббревиатурах
Комментарии: однострочные, многострочные и документирование
Статическая типизация и краткое объявление переменных
Нулевые значения (Zero Values)

Выражения и константы
Арифметические операции
Операторы инкремента/декремента и присваивания
Побитовые операции
Пакет fmt: форматированный вывод
Продвинутое форматирование
Константы
Техническое задание #1

Типы и пользовательский ввод
Пакет math
Псевдонимы типов
Приведение типов
Пользовательский ввод
Техническое задание #2
Практика кода

Память, указатели и продвинутый ввод данных
Области видимости, указатели, продвинутый ввод
Продвинутый ввод и итоги

Принятие решений: условия и логика
Операции сравнения
Логические операторы
Условные конструкции
Инициализация переменных в условии
Техническое задание #3
Оператор switch
Практика кода

Повторение
Генерация псевдослучайных чисел
Циклы: базовые структуры управления
Цикл for
Дополнение
Практика кода

Массивы
Массивы: основы
Основы работы с массивами
Циклы и перебор массивов
Практические задачи с массивами
Алгоритмы поиска и обработки данных

Слайсы
Введение в слайсы
Устройство и базовые операции
Копирование, многомерность и специфика типа
Практика: числовые срезы
Практика: строки и «коллекции задач»

Строки
Основы строк и внутреннее устройство
Длина строк, байты и руны
Перебор строк и работа с символами
Пакет strings
Производительность

Применение строк и срезов
Техническое задание #5
Техническое задание #4
Техническое задание #6

Коллекции (map и set)
Ассоциативные массивы
Множества

Функции
Функции: принцип DRY
Основы функций
Резюме

Критические ситуации
Ошибки
Паники
Выводы

Про время
Основа
Все, что нужно знать

Про файлы и директории
Основа
Все, что нужно знать

Структуры
Основы организации данных
Создание и инициализация
Инициализация структур и видимость
Создание структур
Резюме

Про JSON
Предназначение
Сериализация
Десериализация

Композиция — не наследование
Дополнение
Демонстрация
Техническое задание #11
Реализация
Итоги

Интерфейсы
Основа
Замечание
Погружение

Практический проект: CRUD-приложение с персистентностью
Клонирование шаблона и инициализация проекта
Создание моделей Contact и ContactRelation
DTO для обновления контакта с указателями
Валидация полей и доменные ошибки
Фабричная функция NewContact
Методы управления тегами контакта
Управление связями между контактами
Структура ContactBook и конструктор
CRUD-операции: создание и чтение контактов
CRUD-операции: обновление и удаление
Реализация поиска по имени, телефону и тегам
Методы работы со связями в ContactBook
Методы сериализации и десериализации
Интерфейс Storage для персистентности
JSONStorage: реализация метода Load
JSONStorage: атомарная запись файлов
Тестирование ContactBook и JSONStorage
Структура CLI и внедрение зависимостей
Обработчик вывода списка контактов
Главный цикл и обработка команд CLI
Точка входа и инициализация приложения
CLI: создание контакта с вводом данных
Обработчик ввода с сохранением данных
Тестирование функции выхода
Техническое задание #12

Параллелизм и конкурентность
Горутины: первые шаги
Стек вызовов горутин и управление runtime
Каналы как основы синхронизации горутин
Буферизованные каналы
Обработка ошибок в горутинах
Альтернативная обработка ошибок
Примитивы синхронизации горутин
Защита общих данных
Практика
Deadlock — взаимная блокировка горутин
Самостоятельная работа

Не SOLID
Принципы, которые делают код лучше

Жизнь без ООП
Factory
Builder
Prototype
Singleton
Adapter
Дополнение

Управление зависимостями
Подключение сторонних библиотек

RESTful API: обзор фундаментальных концепций
Теория ключевых аспектов
Есть вопросы

SQL и СУБД: SQLite, введение в теорию хранения данных
Зачем нужны базы данных
Установка и настройка окружения для работы с SQLite
Основные концепции структуры базы данных
Отношения в базе данных
Что такое SQL и система типов
Создание таблиц
Ограничения SQL
Добавление записей
Самостоятельная работа: наполнение данными
Выборка данных
Фильтрация данных
Оператор обновления данных
Самостоятельная работа на обновление данных
Оператор удаления данных
Самостоятельная работа: создание и наполнение базы данных
Сложные концепции
Самостоятельная работа на сложные запросы
Сложные запросы
Самостоятельная работа на объединение

Полноценный REST API с JWT-аутентификацией
Базовый HTTP-сервер
Модель Contact
Инициализация SQLite и миграции
Репозиторий контактов
Сервис контактов
HTTP-обработчик создания контакта
Интеграция слоя контактов
Рефакторинг
Валидация и уникальность
Валидация по-взрослому
GET-запрос получения всех контактов
GET-запрос получения контакта по ID
Мягкое удаление контакта (Soft Delete)
Техническое задание
Модель пользователя и структура аутентификации
Таблица в базе данных
Заготовка слоя регистрации
Регистрация пользователя
Хеширование паролей
Аутентификация и проверка пароля
JWT-токены: Claims и JWTService
Генерация JWT при успешной авторизации
Окружение
JWT Middleware для защиты эндпоинтов
Поддержка Bearer-токенов
Проверка владельца при удалении
Проверка владельца при обновлении
Перспективы развития

Что нас ждёт на собеседовании
Практические рекомендации

Окончание
Итоги



Цена 10000 руб.




СКАЧАТЬ СЛИВЫ КУРСОВ