Софтуерно инженерство
Знаеш синтаксиса, класовете и колекциите. Програмата върви. После идват истинските въпроси: защо при милион поръчки чака минута, защо всяка промяна чупи нещо друго, защо броячът понякога е грешен, как някой влиза в акаунт, който не е негов. Отговорите не са в нито един език, а важат за всички. Това е курсът за тях.
Продължи оттам, докъдето стигна:
Избери езика на кода
Какво учиш
Раздел „Какво учиш“- Шаблони за дизайн: проверени решения на задачи, които се повтарят във всеки проект, и кога да не ги ползваш.
- Чист код и refactoring: код, който друг човек (и ти след месец) може да промени, без да се страхува.
- Алгоритми и сложност: колко бързо расте работата с данните, търсене, сортиране, структури от данни, графи, динамично програмиране.
- Нишки и race conditions: как две нишки си развалят данните и как се пазят.
- Сигурност за програмисти: недоверен вход, пароли, сесии и CSRF, токени, тайни, зависимости и случайни числа.
- Софтуерни архитектури: слоеве, модули и услуги, събития и опашки, дизайн на API, кеш, мащабиране и записаните решения (ADR).
- Архитектът в работа: допълнение за solution и enterprise архитекти: измерими изисквания, компромиси, устойчивост, интеграция, миграции на живи системи, архитектурен преглед и проект.
Как се учи тук
Раздел „Как се учи тук“Всеки урок започва от проблем в истински код. После идеята се показва със сцена, синхронизирана с кода ред по ред: как се движат обектите, как расте броят стъпки, как се преплитат нишките. Текстът е един за четирите езика, а кодът е на езика, който избереш, и всяка програма е пусната и проверена. Езика можеш да смениш във всеки урок.
Какво трябва да знаеш
Раздел „Какво трябва да знаеш“Един от четирите езика поне до „Класове и обекти“ и „Колекции“. За нишките и „Програми в истинския свят“. Всеки модул казва в началото си кои уроци от езика ползва.