REST API на Golang (Часть 1): Веб-сервер

Поделиться
HTML-код
  • Опубликовано: 13 авг 2019
  • Это первое видео из серии про написание REST API на Go. В этом видео мы будем реализовывать поддержку конфигов, логирование, а также добавим HTTP-сервер с одним роутом и покроем его тестами.
    Ссылка на репозиторий: github.com/gopherschool/http-...
    Полезные ссылки:
    - github.com/golang-standards/p...
    - github.com/codeship/go-best-p...
    Мой Twitter - / atipugin
    Канал в TG - t.me/someoneistyping
    #golang #gopherschool

Комментарии • 141

  • @sergeyk4319
    @sergeyk4319 4 года назад +222

    Наконец-то нормальный человек который говорит по теме и не льет воды, удачи в начинании!!)

    • @GopherSchool
      @GopherSchool  4 года назад +19

      Спасибо, приятно слышать!

  • @sivr5vs38
    @sivr5vs38 4 года назад +62

    Чтоб у тебя здоровье было крепким! Наконец-то я нашёл видео не «учим го с нуля», а что-то интересное)

  • @yourcommentor
    @yourcommentor 4 года назад +19

    Хорошая подача и интересный материал, не забрасывай!

  • @slavapinchuk4829
    @slavapinchuk4829 4 года назад +10

    Классные ролики, я тащусь! Не забрасывайте!!!!

  • @dobryakov
    @dobryakov 4 года назад +4

    Спасибо за видео! Радует то, что Вы всё так хорошо объясняете

  • @nikolay_tuzov
    @nikolay_tuzov 2 года назад +4

    Очень понравилась подача материала. Успехов автору! 👾

  • @user-px9cq8eo1w
    @user-px9cq8eo1w 4 года назад +4

    Наконец то внятные уроки нашел. Человеческое спасибо!

  • @Valera7077
    @Valera7077 5 месяцев назад

    Класное обучение, все доступно и понятно. Спасибо вам огромное, буду ждать новых выпусков😊

  • @alexey.justdoit
    @alexey.justdoit 4 года назад +5

    Как говорится - респект, уважуха и благодарочка )). Полезная инфа, понятным, грамотным языком. Ждем продолжения.

  • @KatariadaOne
    @KatariadaOne 4 года назад +1

    Соглашусь с предыдущими отзывами, что видео очень сожержательное и понятное. Спасибо )

  • @paxbritanica5217
    @paxbritanica5217 Год назад

    Памятник воздвигнуть автору этого курса. Спасибо за просвещение и сохранение времени. Курс очень помог, спасибо!

  • @user-ku2dg4ml2i
    @user-ku2dg4ml2i 11 месяцев назад

    Спасибо большое за видео! Пусть у тебя все будет хорошо!❤😊

  • @antonnekrasov5670
    @antonnekrasov5670 4 года назад +15

    Давно искал качественный материал по Go на русском языке. Спасибо!

  • @user-ed4pz1yu8b
    @user-ed4pz1yu8b 3 года назад +4

    Спасибо тебе большое! Реально приятно смотреть

  • @user-oi4qw1bi6g
    @user-oi4qw1bi6g 2 года назад +1

    Реально полезное видео, спасибо за ваши труды!

  • @vladimirpek
    @vladimirpek 4 года назад +3

    Вот то, что я долго искал! Спасибо!

  • @ivanstrelka3448
    @ivanstrelka3448 3 года назад +1

    Очень круто. По больше бы такого контент. Благодарю

  • @mechos753
    @mechos753 3 года назад +1

    Большое спасибо! Очень толковое и полезное видео.
    Одно маленькое замечание на будущее: я бы предложил сделать размер шрифта побольше. На маке 13-шке приходится напрягать зрение.

  • @govegas1
    @govegas1 4 года назад +3

    огромное спасибо, много полезного и интересного для себя выделил

  • @TitikUniverse
    @TitikUniverse Год назад

    Супер ультра мега крутой урок! Очень рад, что нашел его! Автору большое спасибо за видео

  • @sexscream
    @sexscream 2 года назад +1

    Шикарно. Вот такими должны быть видео по программированию. Лайк и подписка

  • @rumartru
    @rumartru 4 года назад +39

    Спасибо за видео! Надеюсь не забросите.

    • @GopherSchool
      @GopherSchool  4 года назад +10

      Буду стараться :)

  • @vangog63
    @vangog63 3 года назад +1

    Спасибо за отличное видео и прекрасное пояснение!

  • @rerurkful
    @rerurkful 2 года назад

    ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!! ОЧЕНЬ МНОГОЕ ПОДЧЕРПНУЛ ПАРАЛЛЕЛЬНО!!!

  • @user-fg8tl5wo3o
    @user-fg8tl5wo3o 2 года назад +2

    Благодаря вашему курсу перешёл с Питона на Го. Устроился в хорошую компанию. Спасибо большое!

    • @GopherSchool
      @GopherSchool  2 года назад +1

      Сергей, спасибо! Очень приятно слышать, что видео принесли пользу. Хорошая мотивация вернуться к каналу :)

  • @gigavaxer6557
    @gigavaxer6557 2 года назад

    Хороший материал. Автор знает чему учит.

  • @user-ho4yl7zk6q
    @user-ho4yl7zk6q 2 года назад +1

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

    • @GopherSchool
      @GopherSchool  2 года назад +1

      Спасибо, рад, что оказалось полезно :)

  • @zafarTAG
    @zafarTAG 4 года назад +1

    Спасибо большое, удачи.

  • @user-qo2hb6nx4o
    @user-qo2hb6nx4o 4 года назад +1

    2 минуты и понял - это я удачно зашел )

  • @evgeniy_panin
    @evgeniy_panin 2 года назад

    Супер, редкость, благодарю)

  • @sergeypopov9995
    @sergeypopov9995 Год назад

    Молодец, очень познавательно, делай ещё видео

  • @user-bp2we9nt5g
    @user-bp2we9nt5g 4 года назад +5

    Подписался. Жду новых роликов!

  • @ddden97
    @ddden97 3 года назад

    Огромное спасибо за видео!

  • @sultandelux
    @sultandelux 4 года назад +2

    Keep it up, best Russian Go tutes here

  • @user-jo6xo7tv7u
    @user-jo6xo7tv7u 4 года назад +1

    Спасибо большое ! :)

  • @bobrob2410
    @bobrob2410 3 года назад

    Большущее спасибо!

  • @dgavrikov84
    @dgavrikov84 3 года назад

    Классное видео, лайк и подписка.

  • @ivankprod
    @ivankprod 3 года назад +1

    Видос кул) Но, предпочтительнее сразу бы писать на fasthttp вместо обычного net/http :)

  • @Flipzvl
    @Flipzvl 3 года назад +1

    Спасибо большое!

  • @Sm1Le55
    @Sm1Le55 4 года назад +3

    Спасибо!

  • @dmitryvozniuk
    @dmitryvozniuk 2 года назад +1

    Топ контент, спасибо большое.

  • @user-ds5iy5sx1i
    @user-ds5iy5sx1i 3 года назад +1

    Сам программист, молодец, материал и форма преподнесения на высоте, спасибо. Удачи!

    • @user-rm5jx8pi4i
      @user-rm5jx8pi4i 2 года назад

      зачем ты пишешь что сам программист?

  • @myaushenka
    @myaushenka Год назад

    Спасибо огромное!

  • @BeGeek101
    @BeGeek101 4 года назад +5

    спасибо, тож пытаюсь что то интересное по ГО сделать для сообщества

  • @torezracerful
    @torezracerful Год назад

    О, замыкания в Go

  • @tigranvardanyan5044
    @tigranvardanyan5044 3 года назад +3

    Классный канал... Жаль что автор забросил его

  • @Evg2002
    @Evg2002 6 месяцев назад

    Спасибо

  • @ynerush
    @ynerush Год назад

    👍👍👍👍

  • @theblackaces998
    @theblackaces998 4 года назад +4

    Очень приятно видеть такой хороший материал, еще и русскоязычный)
    Вот интересует, а что за плагин в VS code'е стоит?

    • @GopherSchool
      @GopherSchool  4 года назад +1

      Спасибо! Плагин вот этот - github.com/microsoft/vscode-go

    • @theblackaces998
      @theblackaces998 4 года назад

      @@GopherSchool я имел в виду, как называется плагин, который автоматически импорты добавляет)

    • @GopherSchool
      @GopherSchool  4 года назад +1

      @@theblackaces998 Вообще импорты добавляет тулза goimports. Ее в свою очередь вызывает плагин для VSCode при сохранении. Правда, плагин нужно настроить и поставить `"go.formatTool": "goimports"` (по умолчанию там стоит gofmt).

    • @theblackaces998
      @theblackaces998 4 года назад +1

      Gopher School спасибо, теперь накачу) хотел узнать, будут ли видео о создании небольшого сервера на основе net/http? Довольно обширная тема, хотелось бы видеть такое же внятное объяснение и разбор подводных камней

    • @theblackaces998
      @theblackaces998 4 года назад +1

      ​@@GopherSchoolможет дашь ссылку на плагины, которые у тебя стоят? очень приятно глазам)

  • @user-alexsumin
    @user-alexsumin 3 года назад

    Две библиотеки toml и logrus в maintenance-mode на гитхабе

  • @user-xj2xs3mz9v
    @user-xj2xs3mz9v 4 года назад +1

    спасибо большое за контент!
    скажи, а какие плагины для vs code ты используешь?
    у меня вот стоит ms-vscode.go, но подсветки синтаксиса минимум, почти все белое.
    и импорты стороних библиотек сами подтягиваться не хотят, приходится руками прописывать

    • @GopherSchool
      @GopherSchool  4 года назад +1

      Привет! Спасибо :) По поводу плагинов можно глянуть тут - atipugin.dev/posts/vscode-extensions/

    • @user-xj2xs3mz9v
      @user-xj2xs3mz9v 4 года назад

      @@GopherSchool акей спасибоньки)

    • @grandlagging0zero175
      @grandlagging0zero175 3 года назад

      @@GopherSchool Какой из плагинов отвечает за изменение неравно?

    • @drurus0
      @drurus0 3 года назад

      @@grandlagging0zero175 это шрифт Fira Code

  • @grandlagging0zero175
    @grandlagging0zero175 3 года назад +1

    Сделай пожалуйста отдельное видео про makefile and go mod/sum

  • @onkelen5677
    @onkelen5677 3 года назад +1

    Подскажи, пожалуйста, как у тебя vscode автоматом подставляет нужный импорт? Это какой-то специальный плагин?

    • @GopherSchool
      @GopherSchool  3 года назад

      Это marketplace.visualstudio.com/items?itemName=golang.go, но ему нужно включить в настройках такое: "go.autocompleteUnimportedPackages": true

  • @user-sx9ur1br9l
    @user-sx9ur1br9l 3 года назад +1

    балдеж

  • @maydru
    @maydru 2 года назад +1

    При создании Makefile без указания расширения был создан файл с другим значком. большая буква М . при попытке вбить команду make в git выдаёт
    это: $ make
    bash: make: command not found
    как с этим разобраться не понятно. может какое то расширение должно стоять?

  • @ZK-mu4hq
    @ZK-mu4hq Год назад

    Спасибо, увеличительное стекло подержал

  • @user-oi4qw1bi6g
    @user-oi4qw1bi6g 2 года назад

    Подскажите, почему flag.Parse вызывается не в конце функции init, а в main?

  • @Jonathaann
    @Jonathaann Месяц назад

    Изучаю Golang в 24 году. Подскажите, актуальна ли еще эта серия уроков?

  • @dimayasnohurskyi2805
    @dimayasnohurskyi2805 4 года назад

    Если не секрет, где и как обучался? Книги, курсы, рабочая практика? Личным менторингом не занимаешься?)

    • @GopherSchool
      @GopherSchool  4 года назад +2

      В основном рабочая практика была, возник проект, под который хорошо подходил Go. Думаю, это самый лучший способ что-то изучить ;) Насчёт личного менторинга я как-то даже не думал пока, но наверно интересно было бы попробовать

    • @dimayasnohurskyi2805
      @dimayasnohurskyi2805 4 года назад

      @@GopherSchoolспасибо за ответ! Если надумаешь по поводу менторства, напиши мне в Линкедин, добавил тебя вчера)

  • @paulpa744
    @paulpa744 4 года назад

    Спасибо! Очень познавательно.
    Но проект не собирается на Ubuntu, пишет
    cmd/apiserver/main.go:9:2: use of internal package not allowed
    $ git log -1 --oneline
    d59926c (HEAD -> master, origin/master, origin/HEAD) Merge branch 'part-6'

  • @errmaker
    @errmaker 6 месяцев назад

    штатная библиотека реализует тоже самое компактнее и быстрее

  • @artiomoganesyan8952
    @artiomoganesyan8952 3 года назад

    почему используешь toml а не обычный json к примеру?

  • @davidapk323
    @davidapk323 3 года назад

    у меня VSCode тест не выдает ответ конечный "ок". он начинается и ждёт бесконечно долго.
    а вот внешний тест по команде make test всё правильно делает.

  • @merenhor342
    @merenhor342 2 года назад

    все круто, но почему последние видео 2 года назад, хочется новых уроков!

    • @GopherSchool
      @GopherSchool  2 года назад +1

      Был небольшой перерыв с Go, да и времени из-за работы маловато :(

    • @MoodMusic
      @MoodMusic 2 года назад +1

      @@GopherSchool Спасибо за твои старания и уроки! Очень хочется увидеть продолжение этой темы с GO, если будет время, пожалуйста, продолжи))
      Ты единственный нормальный канал по GO :)

  • @slava6343
    @slava6343 4 года назад +1

    Что за расширения в vs code используешь?

    • @GopherSchool
      @GopherSchool  4 года назад +3

      Вот список расширений, которыми пользуюсь - github.com/atipugin/dotfiles/blob/master/vscode_extensions.txt

    • @slava6343
      @slava6343 4 года назад

      @@GopherSchool Спасибо)

    • @grandlagging0zero175
      @grandlagging0zero175 3 года назад

      @@GopherSchool Покажи, как установить все это...

  • @VakaramGolang
    @VakaramGolang 11 месяцев назад

    ну это для про я понял

  • @Botanizls
    @Botanizls 3 года назад

    А что за редактор используется в видео? Подскажите пожалуйста)

  • @anastascat2770
    @anastascat2770 Год назад

    Насколько актуально видео на 2023 год? Что-то принципиально поменялось в создании рест на го?

  • @PaulIshenin
    @PaulIshenin 4 года назад

    В чем смысл использовать .toml для хранения конфигурации? Ведь дальше скорее всего потребуется передать настройки через переменные окружения. Почему не использовать .env и godotenv?

    • @GopherSchool
      @GopherSchool  4 года назад +1

      Особого смысла действительно нет, просто мне нравится toml :) Env-переменные действительно предпочтительнее, особенно если это нужно деплоить в какой-нибудь кубер.

    • @PaulIshenin
      @PaulIshenin 4 года назад +1

      @@GopherSchool думаю что это не новая мысль, но можно было бы отдельным уроком показать по укладку проекта в docker, ci/cd, k8s

  • @konstantinnasonov5467
    @konstantinnasonov5467 2 года назад

    Привет,
    обратил внимание, что ты часто не пишешь импорт, будто оно автоматом работает.
    Это правда так?
    Пример на 23:33
    Если да, то как работает?

    • @parvizyuldashev4668
      @parvizyuldashev4668 Год назад

      Если я не ошибаюсь, то lsp сервер го сам подтягивает импорты. Например, когда впервые устанавливаешь го на vscode, то тебе предлагают установить всякие плюшки типа fmt, import, test и тп

  • @VakaramGolang
    @VakaramGolang 8 месяцев назад

    Начал писать на го в стажировке, и там так и пишут как я понял, а я пишу как в 2000году (
    Вот сейчас попробую переписать и на проекте применить
    Спасибо

  • @user-sg9pp1fw1h
    @user-sg9pp1fw1h Год назад

    Что это за шрифт? Прикольный

  • @user-gh1lo1ec3i
    @user-gh1lo1ec3i Год назад

    Что за тема у тебя установлена в VC?

    • @user-nz5on3ue4r
      @user-nz5on3ue4r Год назад

      Вот я тоже задался этим вопросом. Самое близкое что нашел "Atom One Dark".

  • @sergeychulanov220
    @sergeychulanov220 2 года назад +1

    А что такое .PHONY в Makefile?

    • @GopherSchool
      @GopherSchool  2 года назад +2

      Если у вас в папке например есть файл "test", и в Makefile есть команда "test", то вызов "make test" просто ничего не сделает, потому что посчитает, что файл test уже есть и задача выполнена :) С помощью .PHONY вы указываете, что это нужно игнорировать

  • @daurenkerimbekov9628
    @daurenkerimbekov9628 2 года назад

    Что стало с автором?
    Он жив?
    Почему перестал клепать полезные уроки?

    • @user-rm5jx8pi4i
      @user-rm5jx8pi4i 2 года назад

      Жив, здоров, просто ему не интересно это.

  • @enrique4451
    @enrique4451 Год назад

    за сколько можно выучить данный язык и владеть им на таком уровне, имея базу python + c++ + немного java

    • @enrique4451
      @enrique4451 Год назад

      полгода

    • @user-mu4en2jo9l
      @user-mu4en2jo9l 8 месяцев назад

      @@enrique4451 так 3 месяца прошло

  • @iBezlepkin
    @iBezlepkin 8 месяцев назад

    Почему в структурах параметры то с большой буквы то с маленькой?

    • @BlackFireProduction
      @BlackFireProduction 6 месяцев назад +1

      Экспортируемые и неэкспортируем структуры и методы

  • @maximtretyakov2475
    @maximtretyakov2475 2 года назад

    Автор ты жив? Отзовись плиз!!!

  • @fragorez7431
    @fragorez7431 4 года назад

    что делать если никак не хочет работать команда make

    • @GopherSchool
      @GopherSchool  4 года назад

      Что пишет?

    • @fragorez7431
      @fragorez7431 4 года назад

      @@GopherSchool имя "make" не распознано как имя командлета ( как будто какой то модуль не установлен, использую Powershell)

    • @GopherSchool
      @GopherSchool  4 года назад +1

      @@fragorez7431 Судя по всему, речь идет о винде. make - это юниксовая утилита. Может попробовать запустить в wsl?

    • @darktmdarkness6952
      @darktmdarkness6952 4 года назад

      @@fragorez7431 make из коробки работает только на системах семейства Linux. На виндовс нужно использовать MinGW sourceforge.net/projects/mingw/files/

    • @andrqxa
      @andrqxa 3 года назад

      @@darktmdarkness6952 stackoverflow.com/questions/32127524/how-to-install-and-use-make-in-windows надо либо мингв ставить либо через chocolate chocolatey.org/install устанавливать. Второй путь имхо проще. У меня теперь маке во всех консолях виндовых пашет

  • @alexfish289
    @alexfish289 4 года назад

    А где тут хендлеры и миддлвари?

    • @GopherSchool
      @GopherSchool  4 года назад +2

      Это первая часть, будет дальше

    • @alexfish289
      @alexfish289 4 года назад

      @@GopherSchool будет круто, если ты оставишь свои данные. Хотелось бы тебе написать. Например мыло либо телегу.

  • @mr.fridge7696
    @mr.fridge7696 3 года назад +1

    Хоть бы объяснил что-то нормально