Към съдържанието
wannacode

Софтуерно инженерство

Знаеш синтаксиса, класовете и колекциите. Програмата върви. После идват истинските въпроси: защо при милион поръчки чака минута, защо всяка промяна чупи нещо друго, защо броячът понякога е грешен, как някой влиза в акаунт, който не е негов. Отговорите не са в нито един език, а важат за всички. Това е курсът за тях.

  • Шаблони за дизайн: проверени решения на задачи, които се повтарят във всеки проект, и кога да не ги ползваш.
  • Чист код и refactoring: код, който друг човек (и ти след месец) може да промени, без да се страхува.
  • Алгоритми и сложност: колко бързо расте работата с данните, търсене, сортиране, структури от данни, графи, динамично програмиране.
  • Нишки и race conditions: как две нишки си развалят данните и как се пазят.
  • Сигурност за програмисти: недоверен вход, пароли, сесии и CSRF, токени, тайни, зависимости и случайни числа.
  • Софтуерни архитектури: слоеве, модули и услуги, събития и опашки, дизайн на API, кеш, мащабиране и записаните решения (ADR).
  • Архитектът в работа: допълнение за solution и enterprise архитекти: измерими изисквания, компромиси, устойчивост, интеграция, миграции на живи системи, архитектурен преглед и проект.

Всеки урок започва от проблем в истински код. После идеята се показва със сцена, синхронизирана с кода ред по ред: как се движат обектите, как расте броят стъпки, как се преплитат нишките. Текстът е един за четирите езика, а кодът е на езика, който избереш, и всяка програма е пусната и проверена. Езика можеш да смениш във всеки урок.

Какво трябва да знаеш

Раздел „Какво трябва да знаеш“

Един от четирите езика поне до „Класове и обекти“ и „Колекции“. За нишките и „Програми в истинския свят“. Всеки модул казва в началото си кои уроци от езика ползва.

Създаден от Иво Гергов като част от кампанията на Evo Tech за достъпно обучение по програмиране ·