Курс вообще не зашёл. Больше похож на курсовую работу к какому то другому курсу
Внимание, длинный отзыв недовольного пользователя - слабонервным просьба не читать.<br>
Курс не понравился, задания выполнялись с трудом и без удовольствия. По сравнению с другими курсами, такими как паники и ошибки, этот оказался совсем не тем.<br>
<br>
Считаю себя опытным разработчиком, хотя признаю, что знаю не всё, так как моя работа в основном состоит из рутинных задач по передаче данных между вебом и базой данных.<br>
<br>
Если кратко: где теория? Почему кроме написания бизнес-логики ничего не объясняют? Курс оказался не про технологии и паттерны, а про бизнес-логику чата.<br>
<br>
Что я ожидал от курса: увидев техрадар, подумал, что авторы расскажут много интересного, как на предыдущих курсах. Понимал, что всё охватить не удастся, но рассчитывал на большее. В итоге курс больше похож на курсовую работу для другого курса - почти весь текст посвящен описанию задания, а где теория? Немного практических примеров я написал в комментариях, и считаю, что они должны быть в тексте. Пусть курс будет длиннее, это только на пользу.<br>
<br>
Для меня курс оказался малоэффективным: приобретенные знания не стоят затраченного времени. Возможно, я просто не подходил для курса, но неясно, почему я тратил на задания вечера и выходные, когда оценки по времени были явно занижены. Возможно, я слишком ленив и медлителен, но я часто путался в коде и не мог понять, что и куда вставлять. Думаю, лучше было бы, если бы авторы давали более подробные указания.<br>
<br>
Другие проблемы с заданиями: первые 4-5 недель код проекта казался чужим, как будто не я его писал, из-за чего задания раздражали. Это было похоже на работу, где тебе каждый раз дают задание доделать чужой код - это раздражает, особенно если речь идёт о рутинной бизнес-логике.<br>
<br>
Ещё раздражало, когда авторы говорили "всё как на работе". Я занимаюсь курсом, чтобы отвлечься от работы, а тут снова погружение в то, что неинтересно. К тому же, на пятой неделе авторы всё ещё просили самим писать opts.Validate().<br>
<br>
Если бы я был автором, я бы упростил задания, но добавил бы больше теории. Пусть задания будут проще, но теории и интересных вещей будет больше. Например, вебсокеты, кафка, протобаф, трейсы и другие технологии.<br><br>
<br>
Не понимаю, на кого рассчитан курс. Если на начинающих, им будет трудно с докером и мидлвари. Если на средний уровень, неясно, чему мы учим - писать юзкейсы и хендлеры в отдельных пакетах? Если на высокий уровень, то где теория о кафке, вебсокетах и других темах?<br>
<br>
Моё видение идеального курса: создать структуру проекта, написать юзкейсы и хендлеры под руководством, а затем уделять больше времени теории и практике по интересным темам: базы данных, грейсфул шатдаун, логирование, докеры и кубернетесы, вебсокеты, кафка, протобаф и трейсинг.<br>
<br>
Курс не обязательно должен быть единым приложением, он может состоять из отдельных частей.<br>
<br>
Что я убрал бы из курса:<br>
<br>
* entgo - на мой взгляд, ничего хорошего, ванильный Go и SQL достаточно просты, а такие комбайны с кривыми запросами не нужны.<br>
* sentry - не использовалась в курсе, и её проекты сбрасываются при очистке базы данных перед e2e тестами.<br>
* keycloak - слишком сложен, лучше заменить его простым сервисом авторизации.<br>
* дискриминаторы в Swagger - новый сырой функционал, без которого можно обойтись.<br>
Что добавил бы:<br>
<br>
описание тестов, сделано красиво, но в курсе не раскрыто, как авторы упрощают себе тесты;<br>
про пулконнектов к БД и нормальные миграции, а не энтовские.<br>
Что я вынес из курса: таск файл, организация тестов с базовым классом и первый раз увидел работающий подход swagger-first.<br>
<br>
Всё равно спасибо за труд, проект сервиса написан круто, и понятно, что вложено много времени в его шлифовку и разбиение на части - ошибок действительно нет.