Складчик
- #1
[Stepik] Антикурс по Go: без воды, до трудоустройства. Драфт [Сергей Камянецкий]
- Ссылка на картинку
Практический набор действий для разработчиков, которые хотят профессионально освоить Go и получить работу. От базового синтаксиса до production-ready кода, включая подготовку к собеседованиям и обязательные персональные и групповые созвоны для развития soft skills.
Чему вы научитесь:
Это не пересказ справочника по Go — это структурированный путь от базовых концепций до production-ready кода с реальными техническими заданиями. Вы последовательно освоите язык через скринкасты с live-coding, решите десятки задач и выполните практические ТЗ, которые формируют портфолио. Курс включает модули по работе с файлами, JSON, архитектуре приложений, построению REST API, базам данных, конкурентности и микросервисам
Ключевая особенность — обязательные персональные встречи и созвоны, где вы прокачаете 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-токенов
- Проверка владельца при удалении
- Проверка владельца при обновлении
- Перспективы развития
- Что нас ждёт на собеседовании
- Практические рекомендации
- Окончание
- Итоги
Показать больше
Зарегистрируйтесь
, чтобы посмотреть скрытый контент.