Pull to refresh

Comments 4

Доходчиво)
Не совсем понятно только для чего вообще нужна сущность runServer
func runServer(addr string, handler http.Handler) error { return http.ListenAndServe(addr, handler)}
Кажется это просто обёртка... Зачем?

Большое спасибо за обратную связь!

Вы правы, сейчас это действительно просто обертка, но есть несколько практических причин для такой реализации. В нашем случае особо важны две:

1) Функция runServer в последствии будет нести цель его конфигурации - мы добавим тайм-ауты (лимиты на время ответа сервера) и т.д. - вся эта логика будет лучше смотреться в одном централизованном месте (этой функции)

2) По сути в дополнение к первому пункту: мы здорово расширим эту функцию по ходу разработки: В ней будет лежать graceful shutdown , health чеки сервера и т.д

Спасибо, интересный проект, с удовольствием читал и повторял необходимые действия. По-началу, особенно глава "Создание и запуск первого http-сервера" были слегка сумбурными, задевались какие-то темы и резко с них съезжали, но потом во время написания проекта всё стало последовательно и логично. Ещё нюанс, в каких-то местах указываются просто названия файлов (разок даже не существующий "routes.go"), в других относительный путь включая сам файл. Мне кажется было бы логичным унифицировать подход в пользу относительного пути, чтобы читателю было проще.

Очень рад, что проект показалась вам интересным!

Понимаю, что в некоторых местах архитектура проекта кажется трудной для восприятия, на такой случай Вы всегда можете обратиться к гитхабу проекта - https://github.com/Meedoeed/DeadDrop. Здесь очень легко разобраться с файлами и структурой сервиса!

Разделяю Ваше мнение по поводу относительных путей и постараюсь более явно их указывать в следующих статьях цикла!

Оставайтесь с DeadDrop! Спасибо большое за такой полезный и развернутый отзыв!

Sign up to leave a comment.

Articles