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

Fargo

Администратор
Регистрация
2 Дек 2015
Сообщения
233.621
Реакции
755.725
**Складчина: Оптимизация Go в стиле BigTech [Курсы Balun]**

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

1. **Непонимание perf-снимот и чужого кода.**
2. **Страх оптимизации кода из-за незнания.**
3. **Желание для работы над нетривиальными фичами.**
4. **Недостаток понимания исходного кода Go.**
5. **Подготовка к собеседованиям в BigTech.**

Что курс даёт после 5 недель:

1. **Computer science для работы в BigTech.**
2. **Понимание операционной системы.**
3. **Использование ассемблера в Go.**
4. **Оптимизация кода на примерах BigTech.**
5. **Изучение low-level пакетов Go.**
6. **Использование профайлера для оптимизаций.**
7. **Повышение ЗП и ценности как специалиста.**

**Спойлер: Программа курса**

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

#### Урок №1 – Микроархитектура процессора
- Внутреннее устройство компьютера, процессора.
- Пример процессора на Verilog.

#### Урок №2 – Оперативная, кеш память
- Внутреннее устройство кеша, оперативной памяти.

**Результат:**
- Основы Computer Science для интервью.
- Понимание исполнения кода.

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

#### Урок №3 – Архитектура операционных систем
- Введение в ОС, прерывания и системные вызовы.

#### Урок №4 – Управление памятью в ОС
- Механизмы управления памятью, абстракции ОС.

**Результат:**
- Основы CS для интервью.
- Понимание исполнения кода.

**Домашнее задание:**
- Написать программы с syscalls, свои каналы в Go.

### Неделя 3

#### Урок №5 – Ассемблер в Go
- Введение, типы инструкций.

#### Урок №6 – Работа со стеком
- Инструкции стека, локальные переменные.

**Результат:**
- Понимание ассемблерного кода.
- Написание ассемблерных программ.

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

### Неделя 4

#### Урок №7 – Устройство памяти в Go, бенчмарки
- Аллокатор, бенчмарки.

#### Урок №8 – Оптимизации в Go
- Escape analysis, sync.Pool, оптимизации.

**Результат:**
- Понимание устройства рантайма Go.
- Применение оптимизаций в Go.

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

### Неделя 5

#### Урок №9 – Управление рантаймом Go
- Пакет runtime, пакет debug.

#### Урок №10 – Профилирование в Go
- Типы профилировщиков, накладные расходы.

**Результат:**
- Оптимизация приложений, профилирование.

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

Ждём вас на курсе для продвинутой оптимизации Go! 🚀
 
Сверху