Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

Скоро Международный день семей

Тёплый повод вспомнить, что семья — это не только «ты поел(а)?», но ещё поддержка, забота и люди, с которыми можно быть собой

Запускаем Акцию!

Все детали и условия ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[Balun.Courses] Golang на практике (Алексей Бакин)

Тема в разделе "Курсы по программированию"

Цена:
50000 руб
Взнос:
906 руб
Организатор:
Евражкa

Список участников складчины:

1. Евражкa
open
2
Записаться
  1. Евражкa Организатор складчин

    [Balun.Courses] Golang на практике (Алексей Бакин)

    [​IMG]

    Для junior go и свитчеров в backend

    Пошагово пишем такс-треккер и решаем типичные backend-задачи, которые встречаются на работе: от осознанного выбора инструментов разработки до production-ready кода и интеграции бэка со фронтом

    Подойдет начинающим Golang-разработчикам и свитчерам из другой предметной области
    • Проходили курсы по Golang c нуля, и вместо практики получили много теории, которую непонятно, как применять
    • Хотите перейти в backend — уже изучили синтаксис и пощупали основы, которые теперь нужно отточить на практике
    • Учились по статьям, документации, роликам на ютубе, и запутались еще сильнее
    • На собеседованиях требуют большой опыт,
и в резюме нужен проект и стек технологий коммерческого уровня
    Не подойдет свитчерам из другого backend-стека
    • Здесь мы изучаем Golang на практике для начинающих backend-инженеров. Если переходишь в Go из PHP, Java, С++ или других ЯП — у тебя уже есть опыт backend-разработки, потому что основные концепции схожи.
Приходи на курс «Глубокий Go», чтобы сразу погрузиться в тонкости и нюансы языка
    В рамках обучения не просто напишем еще один pet-проект, а на практике разберемся:
    • С чего начинается разработка типичного проекта на Golang
      Какие инструменты выбирать под задачу и с чего начать, когда перед тобой пустой файл
    • Как проектировать API и по каким критериям выбирать БД
      Их много, и каждая затаскивается в проект под разные задачи
    • Как рефакторить код
      Разберемся с архитектурами, выберем одну из них и перепишем код с нуля
    • Как создать асинхронную задачу и не потерять ее
      Научимся правильно использовать очереди и безопасно читать из них сообщения
    • Что делать, если упал prod
      Сами его положим и реанимируем. Научимся тестировать, логировать и мониторить сервис, чтобы избегать инциденты
    • Как подготовить код к совместной работе с командой
      Внедрим CI, линтеры и автотесты, чтобы ловить баги до сode review от коллег постарше
    Бонусом интегрируем бэк со фронтом через ИИ
    Иногда нужно быстро сделать простую веб-морду для бэка, чтобы докрутить MVP или упростить тестирование. Посмотрим, как с помощью ИИ можно сделать это быстро и без погружения во фронтенд

    В итоге получится таск-треккер с чистой архитектурой и масштабируемым кодом
    Опыт коммерческого уровня, который можно отражать в резюме

    Программа курса:

    Урок №1. Ставим задачу, подбираем технологии и пишем микросервис
    Теория:
    с чего начать, когда перед тобой пустой файл
    как не уйти в оверинжиниринг — учимся осознанно выбирать технологии под любую задачу, а не «тащить» все, что слышал и видел
    библиотека, сервис, тулза — чем отличается и как влияет на то, что ты делаешь
    Пишем с нуля:
    HTTP-микросервис с одним эндпоинтом для мониторинга — лайф-проба, которая будет возвращать о себе базовую информацию
    клиент для HTTP-микросервиса — CLI-тулза, которая чекает мониторинг
    Результат:
    освоил лучшие практики, с которых начинается разработка типичного проекта

    Урок №2. Прорабатываем сценарии таск-трекера и работы с БД из Go. Пишем API
    Теория: часть №1:
    для чего нужны сценарии использования
    На практике:
    описываем задачу
    пишем функционал создания списка, получения и добавления элементов
    прорабатываем HTTP API
    Теория: часть №2:
    какие бывают БД и как выбрать БД под задачу
    На практике:
    выбираем БД из Go с пониманием — почему эта, а не другие
    делаем окружение на docker compose, запускаем Postgres
    встраиваем работу с БД в микросервис — подключение, запись и чтение данных. Делаем первые запросы
    Результат:
    спроектировали API под задачу
    запустили Postgres в Docker’e и подключились к нему из БД
    написали базовый функционал таск-трекера

    Урок №3. Архитектуры приложений: делаем код чистым, интегрируемся со фронтом
    Функционал написан, код работает, самое время «натянуть на морду». Только senior за соседним столом пробежался глазами и сказал, что код страшный и надо рефакторить. Как теперь сделать его чище?
    Теория:
    гексагональная архитектура: суть, плюсы и минусы внедрения
    слабосвязанные компоненты
    инверсия зависимостей
    На практике:
    выбираем архитектуру и рефакторим под нее код
    улучшаем мониторинг — Live и Ready пробы, Healthcheck докер контейнера
    быстро пишем веб-морду с помощью ИИ, чтобы протестировать все, что получилось
    разбираем кейсы, в которых ИИ не справляется
    Результат:
    узнали, как изучать разные архитектуры
    привели код в порядок
    научились интегрировать frontend

    Урок №4. Очереди сообщений: как создать асинхронную задачу
    У таск-трекера появились пользователи и они хотят знать, что их друзья добавляют в свои списки задач, и какие из них выполняют
    Разбираемся с протоколами очередей, брокерами и прочим:
    MQTT
    AMQP
    RabbitMQ
    Распределенный лог Kafka — базовые операции
    Выбираем очередь под задачу:
    какие задачи решает очередь, а какие лог
    что подходит под наш микросервис
    На практике:
    проектируем эксченджи, топики и формат сообщений — проработка сценариев и фиксирование протокола
    учимся работать с AMQP из Go — подключаем, настраиваем окружение, отправляем сообщения
    Результат:
    поняли, зачем и как использовать очереди сообщений в реальных сервисах

    Урок №5. Обрабатываем сообщения из очереди, защищаем prod и ловим инциденты
    Сообщения отправили. Что дальше? Как теперь их читать и обрабатывать? А главное — после интеграции очередей система перестала быть прямолинейной, а значит появились риски инцидентов. Как искать проблемы?
    Получаем сообщения из очереди:
    подключаем и настраиваем консьюмер
    внедряем горутину-обработчик сообщений
    Внедряем надежность и гарантии:
    разные политики чтения сообщений из очереди
    concurrency при чтении сообщений из очереди
    Учимся искать причины неполадок:
    анализируем логи, ищем и воспроизводим баги в ручном режиме
    Результат:
    научились читать сообщения из очереди и писать код, пригодный для поддержки

    Урок №6. Тестируем
    Искать баги вручную после запуска — тоже навык, но лучше ловить их на этапе тестирования, а не на продакшене
    Теория:
    зачем нужны тесты
    где и какие тесты нужны
    организация кода, который можно протестировать
    На практике:
    пишем юнит- и интеграционнные тесты
    Результат:
    научились ловить баги до того, как они попадут в продакшн

    Урок №7. Готовим код к совместной работе с другими разработчиками, внедряем CI
    Твой код всегда будет читать и запускать кто-то ещё. Поэтому важно, чтобы он работал одинаково на любом компьютере — не только у тебя
    Как собрать единое окружение и зафиксировать его, чтобы при отправке кода в GitHub всё воспроизводилось автоматически:
    одинаковые версии зависимостей (go.mod, vendor)
    одинаковые версии софта (скрипты, докер-контейнеры)
    Автоматизируем поиск ошибок до code review:
    внедряем линтеры для проверки кода под общие договоренности команды
    CI — зачем нужен и как добавить
    добавляем запуск тестов в CI
    Результат:
    большая часть багов ловится без твоего участия: тесты прогоняются сами, а код автоматически тестируется и валидируется линтерами до ревью
    теперь у тебя есть не только pet-проект коммерческого уровня, но и шаблон, по которому можно ориентироваться в других задачах — переиспользовать практики и ускорять свою работу

    Преподает Алексей Бакин, Senior Go-разработчик
    20 лет коммерческого опыта на go и C++

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх