В первую очередь, курс ориентирован на программистов C#, Java и C++. Примеры в лекциях написаны на C#, однако все изложенные принципы несложно применить при работе на любом другом объектного-ориентированном языке. Большая часть лекций и вовсе не привязана ни к какому языку программирования, и рассказывает о разработке в целом. О том, как IT-компании создают системы, способные работать 24 часа, 7 дней в неделю, обслуживать миллионы пользователей, и никогда не падать.
Чему Вы научитесь
- Писать код на уровне старших разработчиков ведущих IT-компаний;
- Азам проектирования архитектуры крупных коммерческих систем;
- Командной разработке;
- Основным принципам разработки систем, работающих 24/7;
- Оптимизировать ваши программы и находить в них узкие места;
- Организовывать логирование и мониторинг работы ваших программ;
- Пользоваться профилировщикам, bug-tracker-ами, системами контроля версий;
- Писать unit-тесты;
- Узнаете много нового о коммерческой разработке программного обеспечения.
Программа курса
Урок 1. Коммерческая разработка программного обеспечения
Чем коммерческая разработка ПО отличается от любительской? Сколько человек в крупной IT-компании потребуется, чтобы написать программу «Hello world»? Чем маленькие IT-компании отличаются от крупных? Что Вас ожидает на пути программиста? Что должен уметь профессиональный программист?
Урок 2. Секреты качественного кода
Чем код крутого программиста отличатся от кода программиста-любителя? Распространенные ошибки начинающих программистов. Как писать хорошо читаемый код, и почему это так важно?
Урок 3. Версионирование кода. Отслеживание ошибок и задач
Рассмотрим два верных спутника любого профессионального программиста: систему контроля версий и bug & task tracker. Зачем они нужны, в каких случаях без них нельзя обойтись, и как ими пользоваться? Что выбрать: git, svn или mercural? Учимся работать с git.
Урок 4. Разработка архитектуры программного продукта
Этап проектирования архитектуры программного продукта. Типовые архитектурные решения. Трехуровневая архитектурная модель. Популярные шаблоны проектирования: singletone, adapter, service locator etc.
Урок 5. Контроль работы программ. Логирование. Мониторинг. Оптимизация программ
Логирование. Автоматические оповещения об ошибках. Организация мониторинга. Поиск узких мест в программе. Использование профилировщиков.
Урок 6. Этапы разработки ПО. Методологии разработки. Тестирование
Каскадная модель разработки ПО. Методологии разработки: Agile, Scrum и др. Этапы и виды тестирования. Unit тесты.
Отзывы
Отзывов пока нет.