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

Sky90

VIP складчик
Platinum
Премиум
Администратор
Регистрация
1 Дек 2015
Сообщения
145.854
Реакции
777.031
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**

Курс поможет решить следующие проблемы:

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

За 5 недель научитесь:

1. Освоите computer science для успешной работы в BigTech.
2. Узнаете устройство операционных систем и научитесь вызывать syscall’ы.
3. Познакомитесь с использованием ассемблера в Go для языковых оптимизаций.
4. Оптимизировать код на примерах крупных компаний и низкоуровневого программирования.
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.

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

#### Урок №5 – введение в ассемблер Go

- Введение в ассемблер Go

#### Урок №6 – инструкции работы со стеком

- Стек программы

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

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

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

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

- Устройство памяти в Go
- Бенчмарки в Go

#### Урок №8 – оптимизации в Go

- Устройство Go
- Оптимизации в Go

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

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

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

#### Урок №9 – управление внутренним состоянием рантайма Go

- Управление внутренним состоянием рантайма Go
- Использование продвинутых техник

#### Урок №10 – профилирование в Go

- Профилирование в Go

**Результат:**
- Умение оптимизировать приложения и профилировать их.

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