В этом видео я расскажу, как легко создаются middleware-компоненты для HTTP-сервера на базе пакета net/http. Мой Twitter - / atipugin Канал в TG - t.me/someoneistyping #golang #gopherschool
Пікірлер: 29
@MrDnovik Жыл бұрын
Спасибо! Очень хорошо и просто объясняешь.
@user-dh6ck7qw9r4 жыл бұрын
Познавательно
@user-sz4uu1pg5y4 жыл бұрын
Паттерн decorator :)
@vmur6128 ай бұрын
Наверное стоило пояснить, что return выполняется в момент вызова HandleFunc, а вот блок func уже при выполнении запроса через браузер. Это не очевидно. Можно было бы даже сделать log перед return для наглядности.
@murad_shafii Жыл бұрын
спасибо за видео, шрифт мелковат для просмотра на 14 дюймовом ноуте )
@Drygear14 ай бұрын
Super duper!
@taras5134 жыл бұрын
Молодец! Спасибо! Мало информации по го на русском! Пожалуйста, только шрифт чуть побольше сделай бро!!!! :-)
@GopherSchool4 жыл бұрын
Спасибо!
@tilekasankulov50344 жыл бұрын
Спасибо за уроки! Будет ли продолжение?
@GopherSchool4 жыл бұрын
С продолжением пока сложно :(
@grandlagging0zero1753 жыл бұрын
@@GopherSchool Почему? Уроки очень классные! Пусть даже будет фигня, все равно запиши что-то...Если нужны темы, мы подкинем :3
@GopherSchool3 жыл бұрын
@@grandlagging0zero175 если есть идеи/пожелания по темам, то так будет проще конечно)
@grandlagging0zero1753 жыл бұрын
@@GopherSchool 1. как настроить VS Code, как у тебя? Прикольнуло неравно + цветовая палитра. 2. Пожалуйста объясняй, как для не очень умных людей материал. Жестко тупил, пока смотрел context. Основной материал понимаю, но вот конкретно с ловлей ошибки, сам алгоритм нет. Возможно стоит рисовать схему программы? Объяснять по другому немного? startServer() - там было самое непонятное 3. Горутины и каналы. Хочется больше инфы 4. TCP пример простого использования, более подробно, без горутин. 5. Новый git gopher - с кодом, твоих уроков. Ссылки под уроками в репозиторий с кодом. 6. Когда используешь внешние пакеты, с гита или еще откуда, подгружай их пожалуйста прямо в процессе кодопроизводства, а не просто используй. И желательно строчку под видео, где будет ссылка и строка для установки. 7. Лучше поменять немного название табличных тестов, добавив хэштеги unit, TDD и в название видео testify 8. Как запустить тесты без vs code ide? Видео: Табличные тесты 9. k8s & golang *. Как придумаю допишу... Спасибо, что записываешь видео для нас :)
@effectic3 жыл бұрын
Понравилось. Спасибо.
@berdnikvladislav26523 жыл бұрын
Этот подход понятен. Не могу понять более важный вопрос. Как middleware может передавать payload в HandleFunc? Через глобальные, они же общие переменные, типа store, делать этого нельзя. Каждый запрос это горутина. Если 2 запроса придут примерно в одно время возникнет inteleaving по данным. Я писал свой Handler и middleware передавала payload в эту структуру. Как идиоматически решается этот вопрос?
@svnfalcon Жыл бұрын
context
@dzmitrynikitsin85914 жыл бұрын
Будут ли уроки по созданию простого блога ? Думаю желающих посмотреть будет очень много
@GopherSchool4 жыл бұрын
Смотря что имеется ввиду под "простым блогом" :) Статика типа Hugo/Jekyll или свой вордпресс?
@dzmitrynikitsin85914 жыл бұрын
Что похоже на WordPress где будет вход , регистрация и вывод статей, деплой на хостинг . Было бы очень интересно посмотреть ибо все источники на английском .
@magzhanashirbaev93902 жыл бұрын
можешь разобрать пакет gin
@mafia2mpru3 жыл бұрын
А как писать middleware которые должны выполнять после выполнения основной функции?
@GopherSchool3 жыл бұрын
Все, что следует после вызова ф-ии next(...) - будет выполнятся после выполнения основного обработчика.
@aidarark55583 жыл бұрын
объясните, как новичку, что за next() внутри мидлвейра?
@xusravhimself92463 жыл бұрын
функция, которая должна обработать, если запрос пройдет через middleware
@gooseman5578 Жыл бұрын
а чего не раскрыл тему обработки этих самых "неавторизованных юзеров" - КАК правильно прерывать обработку и возвращать отлуп? вложенные MW тоже как выглядеть должны? не авторизован - один отлуп, авторизован, но по роли не подходит - другой отлуп
@serious_psychologist8 ай бұрын
ну так перед вызовом next(w, r) и делаешь это, если у тебя например страница защищенная, и без авторизации тебе не надо ее показывать, показываешь страницу login, если токен авторизации есть и он валидный, показываешь next