Что нового

Бесплатные online курсы, скачать сливы курсов - kursy.live

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

Оперативная поддержка

Не активна ссылка? Обновляем неактивные ссылки в течении считанных минут.

Постоянное обновление

Ежедневно добавляем по 10-20 свежайших сливов. Не пропусти.

Гибкие тарифы

Можете скачать один курс или получить не ограниченный доступ ко всем курсам.

Golang-разработчик онлайн-практикум [Rebrain] [Fevlake] [Дмитрий Гордеев, Николай Наумченко, Евгений Коняхин]

admin

Administrator
Команда форума
СУПЕР МОДЕРАТОР
Регистрация
26.05.2022
Сообщения
26 772
Реакции
160
Баллы
63
Golang - это:

1. 12 место по популярности в мире средиязыков программирования
*по данным рейтинга TIOBE

2. 200 000 р.- Средняя зарплата Golang-разработчика

3. 1800 вакансий на территории РФ
*данные взяты с сайта hh.ru

Кому подойдет практикум:

- Разработчики
- Специалисты по тестированию
- Системные архитекторы и аналитики
- DevOps-инженеры

Практикум Golang by REBRAIN:

- 90% практики, 70+ рабочих задач
- Быстрая проверка заданий.
- Максимальное время проверки - 24 часа
- Эффективность. Вы своими руками сделаете задания, актуальные для разработчика на Go
- Выполняете реальные кейсы разработчика на Go
- Чат с составителями практикума и действующими разработчиками
- Смотрите видеоматериалы в удобное для вас время
- Практикуйтесь в удобное для вас время
- Быстрая проверка заданий
- Живые мастер-классы от действующих разработчиков
- Личная проверка заданий экспертами. Высылаем подробные объяснения к каждому заданию





Пример задания (легкий)
1. Установите Go и настройте рабочее пространство.

2. Ознакомьтесь со стилем написания кода на Go (code style) и утилитой для форматирования gofmt.

3. Создайте файл main.go и напишите код, который выводит приветствие и текущие дату и время в виде строки ДД.ММ.ГГГГ ЧЧ:ММ.

Для вывода строки нужно воспользоваться стандартным пакетом fmt.
Для получения даты и форматирования потребуется функция из стандартного пакета time.

4. Подробно концепция пакетов и работа с ними будут рассмотрены позже. На данном этапе следует ознакомиться с функциональностью указанных пакетов.

5. Скомпилируйте ваш код и запустите полученный бинарный файл. В качестве ответа пришлите исходный код программы.





Пример задания (средний)
1. Создайте в своем проекте module04 из ветки module04_01 - ветку module04_02.

2. Предположим, что теперь нам необходимо не позволить внешнему коду предоставлять нам реализацию свойства CalcDiscount, а жестко задать реализацию в привязке к структуре Customer, для этого сделайте CalcDiscount методом, а не свойством структуры Customer:


Логику оставить, как была в функции CalcDiscount.
Константу DEFAULT_DISCOUNT перенести в пакет internal.
Свойство Discount сделать нередактируемым вне пакета internal.

3. В ответе пришлите ссылку на МР ветки module04_02 с нужными правками в ветку master своего проекта.





Программа обучения
Основы языка

Переменные, типы данных
Указатели в Go
Слайсы
Map’ы в Go
Конструкции языка и функции
Defer - обработка выхода из функции
Panic и их обработка
Обработка ошибок
Модули и пакеты

Области видимости, инициализация через init
Работа с зависимостями, go mod
Версионирование пакетов
LayOut проекта
Структуры и интерфейсы

Структуры в Go
Методы структур
Интерфейсы и утиная типизация
Пустой интерфейс
Композитное наследование
Асинхронность

Goroutines
Goshedule, переменная окружения GOMAXPROCS
Race condition
Атомарность операций и пакет sync
Взаимодействие через каналы
Мультиплексирование каналов
Пакет context и канал отмены
sync.Waitgroup
Тестирование, бенчмарки и профилирование

Unit-тестирование в Go
Table driven test vs closure driven tests
Test coverage
Benchmarks
Профилирование с pprof
Кодогерация

Рефлексия
AST + Templates
Решение проблем рефлексии
Враппинг
Работа с БД

Конфигурирование соединений (max_connections, maxIdle и т.д.)
Нативные средства psql - переопределение пакета через init
Работа с базой на примере использования GORM
Сервер на Go (обработка запросов, context, middleware)

Поднимаем сервер, роутинг, первый handler
Работа с параметрами
Роутер Gorilla
Роутер Chi
Middleware
Контекст запроса
Низкоуровневость + продвинутая сборка

go proxy, go mod
Сборка с использованием Idflags -X
Сборка с использованием тегов go build –tags. Создание билда с разной конфигурацией
Запуск с использованием аргументов
Сборка для разных ОС
Пакет unsafe
Cgo
Микросервисная архитектура

Заворачиваем наш сервис в образ
Поднимаем контейнер из образа
Подтягиваем конфигурации из key-value store
Межсервисное взаимодействие

Синхронное взаимодействие через REST
gRPC и brotobuf
Генерация gRPC-сервера
Генерация gRPC-клиента
Interceptors
Асинхронное взаимодействие (самописный брокер или kafka)
Пишем sub-сервис
Пишем pub-сервис
Оптимизация

in-memory хранение
Redis
Самописный LRU cache
Работа сервиса в кластере

Уровни логирования
Формат логов
Пишем логи (Greylog/ELK)
Сквозное логирование
Метрики (Prometheus + Graphana)
Graceful обработка сигналов
Healthcheck


Продажник: rebrainme.com/golang/
 
Прием платежей для сайтов
Верх