Онлайн курс Архитектура и шаблоны проектирования от Otus
После курса вы будете:
1. Применять шаблоны проектирования в разработках
2. Будете понимать и применять SOLID принципы
3. Поймете, что такое рефакторинг и как писать чистый код
4. Знать современные процессы разработки программного обеспечения
5. Внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки.
В Otus был пройден Microservice Architecture Вспоминаю с дрожью, потому что было сложно, но оказалось максимально полезно Ну кто бы мог подумать такое про разработку архитектурного ПО, верно?) Задания были интересные, практики тоже. После обучения сможете создавать fault-tolerant приложения и паттерны проектирования (репликация и тп). Самое крутое что научился изменять порядок изменения транзакций — личное достижение)
Поступил на данный курс после того как встал ряд вопросов: "А как правильно? Как правильно структурировать код, зная его синтаксис и структуры данных? Как получать готовый продукт, с переиспользованием, минимально необходимой поддержкой, быстрой расширяемостью и высоким КПД?" Как ни странно, но я смог получить ответы, хотя почему-то совсем не ожидал этого и был скептически настроен изначально!
Но по порядку.
Сперва низкий порог входа, а потом резко по нарастающей. После этого понимаешь, что есть пробелы для понимания материалов и пытаешься резко их закрывать, на что тратится дополнительное время (ну это конкретно в моём случае). Подготовленные же слушатели вполне спокойно воспринимают материал и задают корректные вопросы, что на записях в дальнейшем помогает в восприятии и переосмыслении.
Домашние работы порадовали своим подходом через CI + TDD. Пишешь тесты, далее код - и писать приятно и проверять преподавателю быстро. Да ещё и понятная система баллами - понятно за что поставлено и что не сделано. Все домашки уходят в будущий проект - best.
По материалам же образуются множество вопросов, с ответами на которые преподаватель отсылает на будущие лекции - говорит: "Хорошо, что возникают эти вопросы, план как раз выстроен так, что по очереди будем на них отвечать!" С одной стороны вроде бы логично, но с другой некоторые концепции тяжело воспринимать не зная будущих концепций - замкнутый круг какой-то... Но тут главное, что ответы на мои изначальные вопросы начали материализовываться!
Начал приобретать иной взгляд на те же вещи. Пытаюсь программировать в соответствии с некоторыми принципами, о которых знать не знал (SOLID, IoC, DI, etc). Тут хотя бы становится понятно как проект должен выглядеть в конце и как с ним работать в дальнейшем. Теперь есть куда стремиться при реализации. В итоге, уже стал думать иначе и подходить к программированию более рационально.
Учёба конечно мне даётся тяжело, но всё же хочу довести свой проект до конца в соответствии с текущими архитектурными решениями.
Искала курс по разработке архитектуры программ. Главной целью было систематизировать накопленный опыт, закрыть пробелы в знаниях (выровнять свои знания). Остановилась на курсе "Архитектура и шаблоны проектирования". Курс очень понравился. Хорошая программа, которая была обновлена к данному потоку. Курс включает актуальные темы, преподаватели освещают их в современном контектсте, доходчиво и довольно глубоко, делятся опытом о применении на практике в реальных проектах.
После курса сложилось глубокое понимание паттернов проектирования, основных архитектурных решений для приложений, микросервисной архитектуры и архитектурных концепций построения систем обмена сообщениями, подходов к интеграции программного обуспечеия. А также много других полезных теоретических и практических знаний и навыков.
В рамках курса было 8 домашних заданий и выпускная работа. Домашние задания довольно объемные, поэтому успеть их сделать при большой загрузке не очень просто. Однако, они позволяют проработать и хорошо понять теоретический материал.
В целом курс понравился, рекомендую тем, кто хочет изучить подходы к построению архитектуры программ, основные паттерны проектирования, научиться применять все это на практике, а также научиться мыслить как архитектор программного обеспечения.
Для изучения и хорошего понимания курса должен быть опыт в разработке программ.