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