Скачать Оптимизация Go, как в BigTech [Balun Courses]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
146.301
Реакции
78.236
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**

Проблемы, которые решает курс:

1. Не понимаю perf-снимот и чужой код на Go.
2. Оптимизация кода вызывает панику из-за недостаточного знания.
3. Хочу заниматься сложными и низкоуровневыми задачами.
4. Непонимание исходного кода Go из-за отсутствия знаний по устройству языка и компьютерной архитектуре.
5. Подготовка к собеседованиям в BigTech с вопросами по внутренностям GO и Computer Science.

За 5 недель на практике прокачаешься до мастера в Golang:

1. Погрузишься в computer science, необходимый для работы в BigTech.
2. Изучишь внутренности операционной системы и научишься использовать syscall'ы.
3. Освоишь ассемблер в Go для языковых оптимизаций.
4. Получишь опыт оптимизации кода на примерах BigTech компаний.
5. Глубоко погрузишься в работу low-level пакетов: unsafe, runtime, reflect и debug.
6. Научишься использовать профайлер для оптимизации CPU, памяти и блокировок.
7. Увеличишь уровень ЗП и ценность как специалиста в компании.

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

**Основы Computer Science. Часть 1**

- Урок №1: Микроархитектура процессора
- Урок №2: Оперативная, кеш память

**Результат:**
- Освоишь основы Computer Science
- Научишься ускорять код через понимание его работы "под капотом"

**Основы Computer Science. Часть 2**

- Урок №3: Архитектура операционных систем
- Урок №4: Управление памятью в операционке

**Результат:**
- Освоишь основы Computer Science
- Научишься ускорять код через понимания работы "под капотом"

**Домашнее задание:**
- Напишешь программы, взаимодействующие с ОС через syscalls и свои каналы в Go, используя syscall pipe.

**Неделя 3**
**Ассемблер в GO и работа со стеком**

- Урок №5: Введение в ассемблер Go
- Урок №6: Инструкции работы со стеком

**Результат:**
- Поймешь, как программа транслируется в ассемблерный код
- Научишься писать программы на ассемблере Go

**Домашнее задание:**
- Напиши свою программу на ассемблере Go

**Неделя 4**
**Дополнительные фишки оптимизации, кодинг бенчмарков**

- Урок №7: Устройство памяти в Go, бенчмарки
- Урок №8: Оптимизации в Go

**Результат:**
- Поймешь внутреннее устройство рантайма Go и управление памятью
- Научишься работать с low-level пакетами и рефлексией Go
- Применяй оптимизации в Go на практике

**Домашнее задание:**
- Напиши свою реализацию RPC, используя рефлексию Go, и функции с помощью пакета unsafe
- Напиши бенчмарки для оптимизации

**Неделя 5**
**Рантайм в Go и профилирование**

- Урок №9: Управление внутренним состоянием рантайма Go
- Урок №10: Профилирование в Go

**Результат:**
- Умение оптимизировать приложения с помощью продвинутых пакетов Go
- Умение профилировать приложения

**Домашнее задание:**
- Напиши свой микросервис с CGO, проведи профилирование и примени PGO.