- Регистрация
- 8 Сен 2016
- Сообщения
- 508.534
- Реакции
- 269.013
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**
Курс поможет в решении следующих проблем:
1. Непонимание perf-снимот и кода в сторонних библиотеках при написании бизнес-логики и приложений на Go.
2. Отсутствие знаний по оптимизации кода и его исполнению за пределами синтаксиса.
3. Желание заниматься нетривиальными и низкоуровневыми задачами, несмотря на написание простых фич на работе.
4. Неумение разобраться в исходном коде Go из-за недостаточного понимания языка/архитектуры компьютера.
5. Затруднения на собеседованиях в BigTech из-за вопросов по внутреннему устройству Go и Computer Science.
На практике в течение 5 недель вы:
1. Изучите Computer Science для работы в BigTech и поймете, как исполняется код от языкового синтаксиса до машинных инструкций.
2. Поймете, как устроена операционная система, изучите calling convention и научитесь вызывать syscall’ы на практике.
3. Освоите использование ассемблера в Go для понимания языковых оптимизаций.
4. Научитесь оптимизировать код, используя примеры от bigtech-компаний и низкоуровневого программирования.
5. Глубоко изучите работу low-level пакетов: unsafe и runtime, reflect и debug.
6. Приобретете навыки использования профайлера для оптимизации CPU, памяти и блокировок.
7. Благодаря этим знаниям сможете повысить уровень ЗП и стать ценным специалистом в компании.
**Программа курса**
**Основы Computer Science. Часть 1**
**Урок №1 – Микроархитектура процессора**
- Внутреннее устройство компьютера: ISA, модели разделения памяти, организация чипсетов.
- Внутреннее устройство процессора: архитектура CPU, конвейер процессора, предсказывание переходов, устройство регистров и другие аспекты.
**Урок №2 – Оперативная, кеш память**
- Внутреннее устройство кеша процессора, оперативной памяти и их организация.
**Основы Computer Science. Часть 2**
**Урок №3 – Архитектура операционных систем**
- Введение в операционные системы, ASMP и SMP, прерывания и системные вызовы с примерами.
**Урок №4 – Управления памяти в операционке**
- Механизмы управления памятью, абстракции операционной системы и аллокаторы памяти.
**Неделя 3**
**Урок №5 – введение в ассемблер Go**
- Основы ассемблера Go и его применение.
**Урок №6 – инструкции работы со стеком**
- Работа со стеком программы, локальные переменные, соглашения вызова функций и другие аспекты.
**Неделя 4**
**Урок №7 – устройство памяти в Go, бенчмарки**
- Устройство памяти в Go, использование аллокаторов и бенчмарки в Go.
**Урок №8 – оптимизации в Go**
- Устройство Go, оптимизации кода, работа с пакетом unsafe, рефлексия в Go и прочее.
**Неделя 5**
**Урок №9 – управление внутренним состоянием рантайма Go**
- Управление внутренним состоянием рантайма Go, продвинутые оптимизации и использование CGO.
**Урок №10 – профилирование в Go**
- Профилирование в Go, работа с профилировщиком и его типами.
**Домашнее задание:**
- Написать программы, взаимодействующие с операционной системой через syscalls, написать свои каналы в Go, используя syscall pipe.
- Написать свою программу на ассемблере Go.
- Написать микросервис, включив работу с CGO, выполнить профилирование и применить PGO.
Курс поможет в решении следующих проблем:
1. Непонимание perf-снимот и кода в сторонних библиотеках при написании бизнес-логики и приложений на Go.
2. Отсутствие знаний по оптимизации кода и его исполнению за пределами синтаксиса.
3. Желание заниматься нетривиальными и низкоуровневыми задачами, несмотря на написание простых фич на работе.
4. Неумение разобраться в исходном коде Go из-за недостаточного понимания языка/архитектуры компьютера.
5. Затруднения на собеседованиях в BigTech из-за вопросов по внутреннему устройству Go и Computer Science.
На практике в течение 5 недель вы:
1. Изучите Computer Science для работы в BigTech и поймете, как исполняется код от языкового синтаксиса до машинных инструкций.
2. Поймете, как устроена операционная система, изучите calling convention и научитесь вызывать syscall’ы на практике.
3. Освоите использование ассемблера в Go для понимания языковых оптимизаций.
4. Научитесь оптимизировать код, используя примеры от bigtech-компаний и низкоуровневого программирования.
5. Глубоко изучите работу low-level пакетов: unsafe и runtime, reflect и debug.
6. Приобретете навыки использования профайлера для оптимизации CPU, памяти и блокировок.
7. Благодаря этим знаниям сможете повысить уровень ЗП и стать ценным специалистом в компании.
**Программа курса**
**Основы Computer Science. Часть 1**
**Урок №1 – Микроархитектура процессора**
- Внутреннее устройство компьютера: ISA, модели разделения памяти, организация чипсетов.
- Внутреннее устройство процессора: архитектура CPU, конвейер процессора, предсказывание переходов, устройство регистров и другие аспекты.
**Урок №2 – Оперативная, кеш память**
- Внутреннее устройство кеша процессора, оперативной памяти и их организация.
**Основы Computer Science. Часть 2**
**Урок №3 – Архитектура операционных систем**
- Введение в операционные системы, ASMP и SMP, прерывания и системные вызовы с примерами.
**Урок №4 – Управления памяти в операционке**
- Механизмы управления памятью, абстракции операционной системы и аллокаторы памяти.
**Неделя 3**
**Урок №5 – введение в ассемблер Go**
- Основы ассемблера Go и его применение.
**Урок №6 – инструкции работы со стеком**
- Работа со стеком программы, локальные переменные, соглашения вызова функций и другие аспекты.
**Неделя 4**
**Урок №7 – устройство памяти в Go, бенчмарки**
- Устройство памяти в Go, использование аллокаторов и бенчмарки в Go.
**Урок №8 – оптимизации в Go**
- Устройство Go, оптимизации кода, работа с пакетом unsafe, рефлексия в Go и прочее.
**Неделя 5**
**Урок №9 – управление внутренним состоянием рантайма Go**
- Управление внутренним состоянием рантайма Go, продвинутые оптимизации и использование CGO.
**Урок №10 – профилирование в Go**
- Профилирование в Go, работа с профилировщиком и его типами.
**Домашнее задание:**
- Написать программы, взаимодействующие с операционной системой через syscalls, написать свои каналы в Go, используя syscall pipe.
- Написать свою программу на ассемблере Go.
- Написать микросервис, включив работу с CGO, выполнить профилирование и применить PGO.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Клуб омоложения и оздоровления [Июль 2025] [Алесь Улищенко]
- Налоговый менеджер особого назначения [TaxLady]
- Осознанные коммуникации [Soft Skills Lab]
- [Аудиокнига] Все дело в папе. Работа с фигурой отца в психотерапии. Исследования, открытия, практики [Юлия Зотова, Мария Летучева]
- Система, прощай. Я выбираю себя [Адрей Сокол]
- Встряска: креатив-интенсив [МИФ. Курсы] [Александр Никифоров]
- История Китая в двадцатом веке [Глушаков Вадим]
- Регулярность: тело [Ольга Новикова (Гарикова)]