Идеальное тестовое задание для Junior Go Developer

Поделиться
HTML-код
  • Опубликовано: 22 янв 2025

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

  • @egorpoltoruhin2170
    @egorpoltoruhin2170 2 года назад +19

    Спасибо, отличное видео, и приятная подача. За медицинскую компанию - лайк)

  • @last2636
    @last2636 2 года назад +34

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

  • @goldenriver5958
    @goldenriver5958 Год назад +12

    Отличная подача, смотреть реально в удовольствие. Хотелось бы еще выпусков по Go

  • @MIXREC
    @MIXREC 2 года назад +25

    Давай ещё разбор, это очень познавательно ✨

  • @alexeykuznetsov5436
    @alexeykuznetsov5436 Год назад +12

    Очень понравился практический кейс и подача материала с последующим рефакторингом (видимо под "чистую архитектуру"), главное нет воды и все уместилось в 40 минут. Очень жду еще в том же стиле!)

  • @glitchesInTheRainbow
    @glitchesInTheRainbow 2 года назад +5

    Спасибо большое, очень полезно, и у тебя подача материала такая прям приятно и интересно слушать

  • @nikolaykozlov4888
    @nikolaykozlov4888 10 месяцев назад

    просто то, что искал. Огромное спасибо! просто - огонь!

  • @asmr_codster
    @asmr_codster Год назад +2

    Отдельное спасибо за разъяснение того, что такое middleware !

  • @AlexanderPoznanski
    @AlexanderPoznanski 3 месяца назад

    Чудесный урок. Спасибо! Понятно тому, кто знаком с C, C++, Java, Node.js.

  • @colormix.0294
    @colormix.0294 Год назад +1

    Очень хорошо объясняете легко понят спасибо 🙏🏻 добавьте в проектах транзакции 🙏🏻

  • @МаргаритаОдородько

    Спасибо ! Ждём ещё разборы ))

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

    Даёшь больше такого контента))))) Прям на пальцах объяснил. Спасибо!

  • @andreysokolov2335
    @andreysokolov2335 Год назад +1

    Отличное объяснение, спасибо вам )

  • @АзатФ-в3ф
    @АзатФ-в3ф Год назад

    Отличная подача, внятно, содержательно, в меру кратко. Благодарю!

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

    Очень хорошее и понятное объяснение. Спасибо большое! Делай еще!

  • @zhivart
    @zhivart Год назад +1

    Шикарный материал, ещё бы похожее только с БД объяснение как правильно подключать

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

    Заметил, что видео длится 40 минут только когда начал читать комментарии. Вообще на одном дыхании

  • @ЕрболУтегенов-й5ю

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

  • @paveltarasov4011
    @paveltarasov4011 Год назад +1

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

  • @МаксимКоновалов-ь4ж
    @МаксимКоновалов-ь4ж 2 года назад +2

    балдёжно объясняет

  • @timofeybodyagin7074
    @timofeybodyagin7074 2 года назад +20

    Всё классно, только одно но: в задании CONTAINS admin, а не EQUALS admin, т.е. "Super-admin" строка тоже должна проходить :-)

    • @SeverSiter1
      @SeverSiter1 2 года назад +8

      Кстати, хороший поинт!

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

    Очень хорошо рассказываете. Без запинки. Далеко не все так умеют.Даже отбросил метлу и го учить го.

  • @yehortverytinov5478
    @yehortverytinov5478 Год назад +10

    Я редко пишу комментарии под такими видео, но тут просто не могу пройти мимо не оставивши коммент. Очень круто, что ты разжевываешь, а не бежишь по своему тексту.

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

    да это действительно так, лайк, буду советовать данный видос)

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

    Отличное видео. Спасибо большое.

  • @AlexTomashevich
    @AlexTomashevich Год назад +2

    Это самый лучший разбор кода который я только видел💥 Огромное спасибо что рассказываешь комбинации в ide это правда очень помогает при обучении 🙏🏻

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

    прекрасная подача материала

  • @МарияЦыкина-н3ь
    @МарияЦыкина-н3ь 2 года назад

    Спасибо за урок!!!

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

    Спасибо за видео, всё круто. Единственное чтобы я поменял, так это 36:10 Вы тут проверяете не просто роль, а конкретно, то что пользователь админ, можно сделать более явное название у метода, но это не критично :)

  • @КириллКутузов-з2п
    @КириллКутузов-з2п Год назад +6

    s.g.r.t.y.r.GetDays()
    это так в озоне нейминг делают?

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

    Заржал, когда увидел логотип) "Медицинская компания"
    Спасибо большое) но хотелось бы задачек на уровень повыше

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

      Главное чтобы куда-нибудь в Африку в командировку не отправили)

  • @Максим-й3ш6и
    @Максим-й3ш6и 2 года назад

    Благодарю за Вашу прекрасную работу! ждем новых роликов)

  • @N0DStyle
    @N0DStyle 2 года назад +10

    Я обычно пишу на другом языке, первый раз увидел Go. материал хорошо рассказан. Правда мне не понравилось логика коротких названий s, e и тд а также названием ендопоинта) а так большое спасибо было интересно.

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

      Привет!
      Спасибо за отзыв😅
      Короткие названия для переменных и полей структур это визитная карточка go. Даже исходный код компилятора языка изобилует таким подходом.

    • @slivabananov4585
      @slivabananov4585 2 года назад +3

      @@SeverSiter1 все же это не оправдание

    • @johnsc4521
      @johnsc4521 Год назад +2

      У нас в Go буквы платные. На самом деле это такой конвент. Чем ближе реализация, тем короче именование.

    • @dmitriym4620
      @dmitriym4620 Год назад +3

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

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

      ​@@dmitriym4620а на каком языке сейчас пишите, и почему решили на Го перейти?

  • @АндрейПопов-ф4и9ц
    @АндрейПопов-ф4и9ц Год назад +2

    Ещё 20 минут осталось, чтобы тесты написать)

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

    чтобы отправлять заголовок из браузера можно поставить расширение типо ModHeader и в путь

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

    вообще класс спасибо

  • @Ilya-xm5dm
    @Ilya-xm5dm 2 года назад +3

    Видео крутое. Хотелось бы добавить, что конструкцию
    ```
    if err != nill {
    return err
    }
    return nill
    ```
    можно заменить на простое
    ```
    return err
    ```
    смысл не поменяется.

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

      Очень даже поменяется. Это стандартная обработка ошибок в го. Ретурн без условий всегда будет возвращать

  • @Iongjump
    @Iongjump Год назад +2

    Я только начал ради интереса осваивать го. Не стоило ли задать для функции DaysLeft параметр для указания даты, количество дней до которой считаем? Например, func DaysLeft(year int64, month int16, day int16). Или не?)

  • @GeatMaximus
    @GeatMaximus 2 года назад +6

    Меняю профессию, хочу перейти на го, работаю строителем, и вижу у тя та же проблема, никак с люстрой не определишься;)

  • @AnwarSaginbai
    @AnwarSaginbai Год назад +1

    Можете объяснить следующий код с минуты 29:40 - почему так надо писать (примерно понимаю, что это связано с концепцией чистого кода, паттернами и т.д), но хотелось бы простым языком получить детальное объяснение

  • @КириллРр-ы1т
    @КириллРр-ы1т 2 года назад +1

    Собеседование в амбреллу, интересно.

  • @MenuMoscow
    @MenuMoscow 10 месяцев назад

    Спасибо большое, очень полезно
    🍉🍉🍉🍉

  • @daglibdaglib5644
    @daglibdaglib5644 2 года назад +5

    Круто, спасибо за видео. Как раз учу го, и код который был написан сначала я бы тоже смог бы написать. Но код после разделения на файлы и раскидывания по разным папкам, использование методов и интерфейсов (итоговый код) вгоняет меня в уныние, тем что я, наверное, никогда, как джун, не напишу такой код. И возникает вопрос: если так должен писать джун, то какие тогда требования к синьорам???

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

      Такие же требования к сеньорам по коду. К ним просто ужесточаются требования обосновать почему они положили код в эти папочки и сделали эти интерфейсы :)

    • @Meelf_Hunter
      @Meelf_Hunter 4 месяца назад

      да ладно, такое стажер написать же может свободно... Использование интерфейсов - база, разложить правильно по пакетикам - база. Есть стандартные практики, как это делать. Я имею всего 4 месяца опыта работы с go, но использование интерфейсов и пакетов - слишком базово для джуна, джун такое должен уметь

  • @MikhailRumyantsev-r1n
    @MikhailRumyantsev-r1n Год назад +1

    Вряд ли такое расположение пакетов в директории internal сделано верно. Я искал проекты с таким же расположением, чтобы убедить себя в обратном, но увы, не нашел.
    А вот, что говорит ридми-файл на том проекте, который вы взяли за пример:
    Your actual application code can go in the /internal/app directory (e.g., /internal/app/myapp) and the code shared by those apps in the /internal/pkg directory (e.g., /internal/pkg/myprivlib).
    Перевод:
    Фактический код вашего приложения может находиться в каталоге /internal/app (например, /internal/app/myapp), а код, используемый этими приложениями, - в каталоге /internal/pkg (например, /internal/pkg/myprivlib).
    myapp - это имя вашего приложения: umbrella-test-task. Как я это узнал? В ридми есть другая отсылка:
    The directory name for each application should match the name of the executable you want to have (e.g., /cmd/myapp).
    Подытожив, раз ваш главный пакет имеет путь: /cmd/umbrella-test-task
    То тогда и остальные пакеты должны быть расположены по таким путям:
    /internal/app/umbrella-test-task
    /internal/pkg/endpoint
    /internal/pkg/mw
    /internal/pkg/service
    Возможно, вы и получите сочный офер, сделав подобное расположение пакетов и у вас заработает приложение. Но, всегда не лишне будет подумать своей головой, и проверить информацию.

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

      Привет!
      Спасибо вам большое, очень подробно расписали расположение, со ссылкой на рекомендации (!) go-project-layout.
      Каюсь, привычка остаётся со мной ещё со времен Ozon'а, и во всех проектах, с которыми мне приходилось и приходится работать часто вижу её воплощение как у меня. Однако, приведённый вами пример мне кажется даже более логичным. Единственное, что я бы не стал в реальном проекте уносить в internal/pkg что-то типо endpoint'ов и сервисного слоя, ибо они прямо реализуют логику приложения. А вот middleware могло бы знатно там уместиться.

    • @MikhailRumyantsev-r1n
      @MikhailRumyantsev-r1n Год назад

      @@ipavlyukov А что, если размещать endpoint'ы там же - в internal/pkg, только делать субдиректроии?
      Когда я писал REST-проект, то мне нужно было уместить по 3 слоя (пакета) для каждого эндпоинта и инициализировать их всех в специальном для этого месте.
      На данный момент пишу другое "большое" приложение, где поначалу думал, что возможно стоит разделить его на 2 - каждое со своими внутренними пакетами-эндпоинтами. Но, подумав о пакетах в субдиректроиях и едином месте их инициализации, решил оставить монолит.
      UPD: фигню написал, упустив суть, что вам надо держать эндпоинты открытыми (не находящимися в internal).

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

      @@MikhailRumyantsev-r1n Главная мысль здесь, это достичь предсказуемого положения кода для тех, кто работает над проектом.

    • @MikhailRumyantsev-r1n
      @MikhailRumyantsev-r1n Год назад

      @@ipavlyukov Это да, безусловно.

  • @shoxbozjabbarov8934
    @shoxbozjabbarov8934 9 месяцев назад +1

    Подскажите пожалуйста профессию и школу для новичков, где меньше "воды" и больше практики❤

  • @QuickOkay
    @QuickOkay Год назад +1

    7:57 зачем в функции Handler писать всю эту лишнюю ерунду если можно сделать сразу return ctx.String(...). Если будет ошибка, он вернут ошибку, нет ошибки вернет nil. Но вместо этого мы написали всякую ерунду по типу, если есть ошибка возвращаем ошибку, иначе nil. Что с логикой?

    • @leshi_1
      @leshi_1 2 месяца назад

      Логика была при Сталине, сейчас время абсурда

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

    Разбор задания нужен, где в ТЗ есть спецификация сваггера

  • @АнтонАнисимов-х2ф
    @АнтонАнисимов-х2ф 9 месяцев назад

    "Запрети ! Не запретил. Я упаковал." Смеюсь 🤣

  • @DarkRavenStyle
    @DarkRavenStyle 2 года назад +6

    Пытаюсь освоить Go сейчас. Если такая реализация соответствует требованиям для джуна, то я пожалуй просто рядом с офисом компании постою, в окна позаглядываю.

  • @myyymmyyym2175
    @myyymmyyym2175 11 месяцев назад +1

    Решил задание, взяли на работу. Когда понял что эта медицинская компания делает-решил уволиться. Теперь за мной гоняется какой-то верзила без глаза в кожаном плаще (затирает про какой-то старс) и какой-то недоариец (так-же в плаще и еще в очках солнцезащитных, хз зачем они ему). Дальше -то что делать?

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

    Балдёж!

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

    почему даже упоминания нету о тестах?

  • @vahemuradyan7258
    @vahemuradyan7258 4 месяца назад

    как твой app.New() роботает если не нописал какие аргументи должен возврошат функция New(), почемы у темя роботает ?

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

    То что в 11-13 минутах рассказываешь, называется обертка (wrap, wrap function, wrapper)

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

    А зачем мы добавляем endpoint в App? Ну тут, понятно, мы показываем, что умеем. Но вот если представить реальное приложение с несколькими endpoint'ами, то есть ли смысл их вообще определять в структуре App, если мы их используем только в рамках app.New()?

  • @prayer4675
    @prayer4675 9 месяцев назад +3

    Несколько замечаний:
    1. Количество дней вычисляется неправильно, отбрасывая дробную часть теряется один день. Правильно перед преобразованием в целое вызвать math.Ceil() на результат деления
    2. Однобуквенные переменные выглядят очень нечитаемо, по крайне мере для меня Senior Java разработчика. Неужели в Go так принято?
    3. Не хватает тестирования.
    4. Не хватает файла .gitignore со строкой .idea/
    5. Название корпорации выдуманное (из фильма Resident Evil), то есть задание придумал автор ролика. Поэтому вопрос: зачем вообще использовать какие либо сторонние библиотеки, когда стандартного net/http из самого Go хватит более чем полностью?

    • @Meelf_Hunter
      @Meelf_Hunter 4 месяца назад

      зачастую действительное однобуквенные названия используются, потому что в го все сводят к минимализму. Например, d := time.Date(...) -> и так понятно, что мы получим. Аналогично и если мы пишем функцию New в пакете server. Нам не надо писать NewServer(), ибо и так понятно, что New() вернет нам объект server, а вызов будет таким: s := server.New(). Можно записать и так: server := server.NewServer(), но зачем, если и так было понятно, но только длиннее стало.
      Сам раньше писал на Java и когда в Go пришел то не понимал, а че все пишут переменные из 1-2 символов, особенно в приемниках методов структур. Потом со временем понял всю прелесть такого подхода)

  • @denisgrbnk4054
    @denisgrbnk4054 Год назад +4

    Мммда, есть ощущение, что чистый код прошел мимо данного кода. Кто-то будет говорить, что однобуквенные переменные это ОК для го, но я работаю с го в бигтех компании и это далеко не так

    • @MaximBondarenko
      @MaximBondarenko Год назад +2

      Как говорится, есть только две сложные задачи - кэширование и нейминг переменных :)

    • @denisgrbnk4054
      @denisgrbnk4054 Год назад +1

      @@MaximBondarenko отличная фраза)

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

      ​@@MaximBondarenkoа чем кеширование сложное?

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

      ​@@linuxoidovichнаверное речь о том, что сложно решить когда обновлять данные в кеше, т.к. они устаревают

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

      Правильной инвалидацией

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

    а калькулятор как написать не подскажите саму концепцию написания особенно с римскими цифрами

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

    А как же swagger, config, graceful shutdown и многое другое?

  • @artishoo
    @artishoo 10 дней назад +1

    Ну что, ваши сервера стали отдавать отрицательные значения?)

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

    Very good!

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

    service - s, app -a и тд, а вы точно сеньор-помидор?)

  • @АлексейБондаренко-т8т

    Огонь

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

    Меня больше всего напрягяет его одежда😂😂😂

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

    Объясните плиз не гоферу почему вот так
    a := &App{}
    a.s = service.New()
    a.e = endpoint.New(a.s)
    А не
    a := App{service.New(), endpoint.New(service.New())}
    Так, например

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

      Потому что два разных сервиса создается во втором примере

  • @МаксимЯкушев-ю9ж
    @МаксимЯкушев-ю9ж Месяц назад

    на тоненького про umbrella corporation

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

    Не вижу новых задачек для оффера(

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

      Есть новое видео про таймслоты, но на другом канале

  • @КоньЛюдоед-ф6ф
    @КоньЛюдоед-ф6ф Год назад

    но в школе не вижу курса по golang

  • @sandwichgames8863
    @sandwichgames8863 9 месяцев назад +1

    а что дома в пальто?

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

    подскажите для винды как обновить сервер?

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

    Скоро будут языки , где каждой функции - отдельный файл. И три тонны импортов в хедере Все к этому идет.

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

    Для http-сервера с hello word тащить левый "фреймворк" с гитхаба - ну-ну, отличный вкус ))

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

      Так задание оговаривало использование именно echo а не стандартного пакета

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

    Класс

  • @Antonio-ib6ii
    @Antonio-ib6ii 2 года назад +2

    Подача очень хорошая. Единственное мне не нравится что вы сокращаете название переменных до s вместо того чтобы написать полностью.
    Если взять из контекста эту функцию и показать кому либо вряд ли человек поймет что там ожидается какой то сервис или что либо еще.

    • @Antonio-ib6ii
      @Antonio-ib6ii 2 года назад +2

      особенно это заметно когда вы вызываете e.s.DaysLeft()

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

      Краткость именования полей - визитная карточка Go. Но, конечно, стоит опираться на стандарты компании в которой вы работаете.

  • @kamegatze6568
    @kamegatze6568 7 месяцев назад

    middleware это proxy? очень похоже

  • @ivansarokin
    @ivansarokin 2 года назад +81

    Если бы я увидел в коде функцию названную "MW", переменные "a, e, s" - закрыл бы и выбросил в корзину.

    • @ВалерийТкачев-к1к
      @ВалерийТкачев-к1к 2 года назад +6

      Это нормально для го

    • @IgorYegorkin
      @IgorYegorkin Год назад +18

      ​@@ВалерийТкачев-к1к это нормально только для обфускаторов и для BASIC в школе 😅

    • @srr_
      @srr_ Год назад +1

      this is Go

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

      ​@@IgorYegorkinпочти все примеры кода на Го в интернете, именно такие

    • @РоманЗ-з8ю
      @РоманЗ-з8ю Год назад +2

      Это как если увидеть программиста в рубашке белой .) парень очень круто объясняет , ждём новых видео

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

    Это уровень джуна?

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

    Посоветуйте норм курс по го

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

    Топ

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

    извиняюсь но у меня кажется с самого начала ничего не получается . скачал я все что нужно для GO но visual studio у меня хз как работает и саблайм . в терминале вс я написал го мод инит и у меня пишет ошибка какая та :go : Имя "go" не распознано как имя командлета, функции, файла сценария или выполняемой
    программы. Проверьте правильность написания имени, а также наличие и правильность пути
    , после чего повторите попытку. и вот после такого уже вообще какой язык учить

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

      Нужно убедиться, что go установлен в систему и может быть вызван из командной строки.

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

      @@SeverSiter1 как

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

      @@magnat7045 следуя инструкциям с официального сайта

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

      @@SeverSiter1 C:\Users\user>go install 1.19.4@latest
      go: 1.19.4@latest: unrecognized import path "1.19.4": https fetch: Get "1.19.4/?go-get=1": dial tcp: lookup 1.19.4: no such host

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

      @@magnat7045 думаю проще с сайта скачать установщик

  • @JustMe-y8d
    @JustMe-y8d Год назад

    А где DI и тесты ?

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

    Так, где смотреть твои уроки?

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

      Если есть спрос, то могу разобрать и другие темы. Предлагай их прямо здесь, в комментариях!

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

      @@ipavlyukov блин, сегодня к вам в команду не взяли))
      Тема голанг в принципе интересна, может задачки на литкоде поразобрать. Ты очень прикольно подаёшь материал. Доступно.

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

      @@ipavlyukov это понятно, что можешь разобрать другие темы и можно предлагать их в коментах. а смотреть-то где? вроде умный чел, а на вопрос не ответил =)

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

      @@SavenkoRoman привет, друг!
      Потому что не на что кидать ссылку. Ведение своего блога очень большая работа. Чаще я публикуюсь на вот таких каналах как этот, поэтому следовало бы ожидать тут 💀

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

      @@ipavlyukov привет! Я пока нашел только 2 ролика твоих. Где другие глянуть?

  • @butcher_of_Blaviken
    @butcher_of_Blaviken Год назад +4

    Не работайте на Umbrella Corporation! Они не те, за кого себя выдают

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

    вопрос: а если бы мы в эндпоинте не описывали интерфейс, а просто передали бы сервис - это уже не был бы депенденси-инжекшион?

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

      Был бы, но ведь нам нужно показать, что мы знаем как применить интерфейс для инъекции зависимости.
      Не буду лукавить, видео неполное, изначально в планах были еще юнит тесты.

    • @dvalejo
      @dvalejo Год назад +1

      Я бы еще добавил блокчейн и кубер

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

    Спасибо, интересно. Но почему int64? Можно было int32, или даже int16

    • @toyz_3752
      @toyz_3752 2 года назад +3

      А если дата поменяется и кол-во дней будет большое?

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

      Больше чем 32768? Нет ну может в теории... В любом случае int32 точно бы хватило.

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

    Прекрасный симбиот в стиле для чайников с последующей полной жестью!)) Нихрена не понял...

  • @fenderbender2096
    @fenderbender2096 4 месяца назад

    За усилия плюс, за суть скорее минус.

  • @DRanduletti
    @DRanduletti 4 месяца назад

    чтобы получать сочные оферы надо скипать тестовые задания.

  • @lol-q1v
    @lol-q1v 10 месяцев назад

    Он так сочно рассказывает как тот повар из мема который говорит "Еее, бой"

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

    Меня одного смущают названия переменных из одной буквы? Дядя Боб не одобрил бы... Хотя видос по делу.

    • @LeonRussia8ypa
      @LeonRussia8ypa 5 месяцев назад +1

      Согласен: хотя и есть общепринятая практика что переменные, если контекст их использования ограничен, например в пределах видимости нескольких строк на экране, допускают короткие наименования (и однобуквенные). Но тут человек явно переборщил. Особенно дико выглядят эти `a.s = ...; a.e = ...`, мне кажется в структуре такой нейминг не допустим.

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

    счас бы назвать spring-like архитектурой "когда есть эндпоинт, сервис, репозиторий"
    но главное что синьор и работал везде-везде

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

    ужасная несправедливость. почему рассказано как открыть ссылку в браузере на маке и на винде, а как на линукс не сказано?

    • @erik_james
      @erik_james Год назад +1

      Тыж на линуксе)
      Напиши свой бразуер просто

    • @andreysakharov6210
      @andreysakharov6210 Год назад +1

      @@erik_james видимо поэтому и не сказано, что написание браузера не умещается в хронометраж видео))

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

      @@andreysakharov6210 все таки приятно ж быть пользователем линуха) все по умолчанию думают что ты запросто можешь писать свои драйвера на ассемблере, вот лишний раз и не рассказывают как там ссылочки открывать😁😅

  • @Timmy-z3y
    @Timmy-z3y 4 месяца назад

    Найс компания 😂

  • @alexsh.8080
    @alexsh.8080 Год назад

    Всё отлично, но нет тестов

  • @nicolaep
    @nicolaep 7 месяцев назад

    В руби это задание делается за 2 минуты
    Очень много бойлерплейта

  • @torburgmax
    @torburgmax Год назад +1

    это просто жесть. для кого это? для новичков? они ничего не поймут? те, кто уже что-то могут, копирование документации ничего не даст

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

    👍 HO на фейс не обязательно переключать кажд 5 мин , главное код

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

    Смотрю видео и задаюсь одним вопросом - не жарко ли сидеть в свитере и пиджаке в квартире?

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

    блин подгорает как то немного...не нужно сокращений этих....лучше всего переменные полностью называть duration, server, timeUntill и так далее

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

    похоже на Express JS