Чистая архитектура проекта на Golang

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 160

  • @theprogrammer256
    @theprogrammer256 Місяць тому +4

    Олег, спасибо! ИМХО - самый полезный и доходчивый ролик про архитектуру:
    Без лишних понтов, из цикла "мне не шашечки, мне ехать" 🙂 Удачи вам!

    • @olezhek28go
      @olezhek28go  Місяць тому +1

      Большое спасибо за добрые слова:)))

  • @ziliboba73
    @ziliboba73 16 днів тому +1

    Очень доходчиво, спасибо! Аж захотелось поблагодарить в комментарии :) Вещи, которые в принципе знал, услышал в более понятной форме и лучше усвоил.

    • @olezhek28go
      @olezhek28go  16 днів тому

      Здорово, что мне удалось понятно обьяснить)

  • @TrifunS
    @TrifunS 8 місяців тому +5

    Как же классно вас смотреть, все четко, по делу, без душноты)

    • @olezhek28go
      @olezhek28go  8 місяців тому

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

  • @kirilldudka5193
    @kirilldudka5193 27 днів тому +1

    Критически редко пишу комменты, но затрагиваешь такие НЕРЕАЛЬНО нужные темы и с таким НЕРЕАЛЬЛЬНЫМ донесением инфы, что не отписать СПАСИБО было бы худшим из грехов, низкий поклон! П.С. видос стопнул на 9 секунде чтобы написать коммент :)

    • @olezhek28go
      @olezhek28go  26 днів тому +1

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

  • @alexandrshatilov8227
    @alexandrshatilov8227 7 місяців тому +2

    такой материал в живой подаче очень приятно смотреть) спасибо! Сейчас прохожу отбор в Авито на стажировку, надеюсь там вас увидеть :)

    • @olezhek28go
      @olezhek28go  7 місяців тому +1

      спасибо за добрые слова) удачи в отборе!)

  • @СергейНаталенко-х2х
    @СергейНаталенко-х2х 13 днів тому +1

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

    • @olezhek28go
      @olezhek28go  13 днів тому

      Отлично!) удачи на хакатоне)

  • @ВладРоманов-ю8л
    @ВладРоманов-ю8л 4 місяці тому +4

    Огромное спасибо, очень познавательно и интересно ❤

    • @olezhek28go
      @olezhek28go  4 місяці тому

      Рад, что понравилось))

  • @mechanism-o4h
    @mechanism-o4h 6 місяців тому +2

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

    • @olezhek28go
      @olezhek28go  6 місяців тому

      Я тоже было время на шарпе чутка писал:) а что именно в интерфейсах нравится больше?

  • @turbo3d649
    @turbo3d649 5 місяців тому +4

    😁 Олег, респект! Отличный контент.

    • @olezhek28go
      @olezhek28go  5 місяців тому

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

  • @emotional_stuff
    @emotional_stuff 2 місяці тому

    спасибо, открыл твой канал для себя недавно, кароч кайф контент, побольше вот этого вот!

  • @MrAlexPop69
    @MrAlexPop69 2 місяці тому

    Классный видос, все понятно даже начинающему

  • @Freeline95
    @Freeline95 9 місяців тому +2

    Отличный урок, спасибо. То, что искал.

    • @olezhek28go
      @olezhek28go  9 місяців тому

      Рад, что понравилось:)

    • @Freeline95
      @Freeline95 9 місяців тому

      @@olezhek28go У меня один вопрос только появился только что.
      Верно ли понимаю, что структуры одного уровня не должны использоваться друг другом? Иначе появляется риск зацикленности.

  • @romanbush5164
    @romanbush5164 7 місяців тому +3

    какой веселый чел, и презентации забавные делает) Повезло сохранить оптимизм )

    • @olezhek28go
      @olezhek28go  7 місяців тому

      Спасибо за добрые слова:)

  • @dsbasko
    @dsbasko Рік тому +2

    Олег молодец! Очень красноречив. Приятно слушать )

  • @rahug1927
    @rahug1927 9 місяців тому +1

    Спасибо за видео! Будучи джуниором уже пишу такой код :D *довольно понятно объясняете*

    • @olezhek28go
      @olezhek28go  9 місяців тому +1

      Отлично) Рад, что доступно изложил

  • @ocooleast
    @ocooleast 3 місяці тому +2

    хотел бы внести некоторое уточнение в предоставленный материал
    инверсия управления (inversion of control) != инверсия зависимостей (30:05)
    автор рассказывает непосредственно про инверсию зависимостей
    инверсия управления в свою очередь состоит в том, что мы отдаем выполнение некоторой работы другому инструменту
    на примере DI можно сформулировать так - мы не пишем код, который будет создавать новые инстансы наших сервисов, а за нас это сделает некоторый фреймворк, который самостоятельно просканирует все директории, найдет необходимые реализации, построит граф зависимостей и начнет самостоятельно создавать инстансы в необходимом порядке на основе графа
    в видео автор демонстрирует DI, но данный DI был реализован самим автором, без инверсии управления

    • @Prof-Shor
      @Prof-Shor Місяць тому

      Необязательно фреймворк. Автор разработал специальный сервис, который будет расставлять эти зависимости, ака "внешний фреймворк", так что у автора все по теме

    • @bulat9056
      @bulat9056 19 днів тому

      А точно автор про инверсию зависимостей рассказывает? Мб тут инъекция зависимостей скорее

    • @Prof-Shor
      @Prof-Shor 19 днів тому

      ​@@bulat9056
      Ну так это 2 стороны одной монеты, автор показывает инъекцию зависимостей(DI), которая и обеспечивает инверсию управления(IOC).

    • @bulat9056
      @bulat9056 19 днів тому

      @@Prof-Shor инверсия зависимостей - принцип SOLID о том, что нужно зависеть от абстракций а не реализаций. Инъекция зависимостей - внедрение зависимостей. Просто это 2 разных понятия, хотя в данном примере оба могут иметь место

    • @Prof-Shor
      @Prof-Shor 19 днів тому +1

      @bulat9056
      Да ты прав, тут я ошибся. Только автор рассказывает и об инверсии зависимостей, что в объявлении переменных зависимостей будут использованы интерфейсы, так что он ничего не забыл. На 30:42

  • @kodikoff
    @kodikoff Рік тому +1

    Огонь, спасибо большое за полезную информацию!

    • @olezhek28go
      @olezhek28go  Рік тому

      рад, что понравилось)

  • @iloveflovers781
    @iloveflovers781 10 місяців тому +2

    Спасибо за труд!

    • @olezhek28go
      @olezhek28go  10 місяців тому

      Рад стараться:)

  • @TheVenom20003
    @TheVenom20003 4 місяці тому +1

    заметил на 51:17 что все функции имеют в качестве параметра context , для чего это делается , если он не используется

    • @olezhek28go
      @olezhek28go  4 місяці тому +1

      Это скорее привычка:) Просто репо слой то с базой обычно связан, а там контекст нужен) здесь просто для упрощения базу не стал затаскивать)

  • @pvinnie3827
    @pvinnie3827 11 місяців тому +1

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

  • @trypophobia7497
    @trypophobia7497 6 місяців тому +1

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

    • @olezhek28go
      @olezhek28go  6 місяців тому +2

      Да это скорее удобство чтения добавляет) так-то можно и не писать такую конструкцию, просто ошибка на компиляции будет, а не сразу в ide

  • @emotional_stuff
    @emotional_stuff 2 місяці тому

    спасибо огромное, очень полезно, а шо по graceful shutdown?

    • @emotional_stuff
      @emotional_stuff 2 місяці тому

      на 55:35 вопрос исчерпан, спасибо

  • @unicoxr5tj417
    @unicoxr5tj417 Рік тому +1

    лайк за разговорчики про архитектуру

  • @5111
    @5111 Рік тому +1

    Лайк за разбор данной темы

  • @qskyisover8153
    @qskyisover8153 6 місяців тому +1

    Если у вас в микросервисе под 10 юзкейсов и реп и вам нужна DI-система, скорее всего у вас что-то не так пошло на этапе планирования микросервисной архитектуры)

    • @olezhek28go
      @olezhek28go  6 місяців тому +1

      Согласен:) скорее это бывает промежуточным состоянием, при котором принимаем решение распиливать:) а di лично мне на любых размерах кажется кайфовой штукой

  • @АлексейХудокормов
    @АлексейХудокормов 7 місяців тому +1

    🎉

  • @romanbush5164
    @romanbush5164 7 місяців тому +4

    интересно когда-нибудь напишут для go Фреймворки, пока это выглядит, как ранний php, но хотя бы архитектурно придумали как делить это безобразие

    • @olezhek28go
      @olezhek28go  7 місяців тому

      Внутри крупных компаний есть:)

    • @qskyisover8153
      @qskyisover8153 6 місяців тому +3

      Надеюсь, что никогда

    • @InfoPolza
      @InfoPolza 7 днів тому

      Быстрее бы, а то маленькая конкуренция

  • @buginsystem8925
    @buginsystem8925 Рік тому +2

    Ток интерфейсы лучше в месте использования объявлять. Т.е. используешь в сервисе интерфейс репо, там его и объявляешь, указываешь какие методы твоему сервису нужны.
    Иначе, если одному сервису нужны одни методы, а другому другие, и оба могут работать с одним и тем же репозиторием, то они будут эмбеддить интерфейс репозитория со ВСЕМИ его методами, а это избыточность и неудобство для программиста.

    • @olezhek28go
      @olezhek28go  Рік тому

      Я как раз говорил о холиварности этого вопроса) мы осознано выбрали варик как в видео и репо слой немного иначе разбивает, от того неудобства нет

    • @buginsystem8925
      @buginsystem8925 Рік тому

      @@olezhek28go Понял-принял.

    • @MrJamesHunt
      @MrJamesHunt 5 місяців тому

      @@olezhek28goинверсия зависимости направлена не в ту сторону. Бизнес логика зависит от репозитория и его импортирует.

  • @MrLotrus
    @MrLotrus 4 місяці тому

    56:55 А если у нас не к одной БД репозитории? Или одна репа к постгре, а другая вообще к S3 storage? Как в данном случае обеспечивать атомарность? Интересно было бы про это посмотреть. Это уже больше в сторону eventual consistency

    • @olezhek28go
      @olezhek28go  4 місяці тому

      типо один и тот же интерфейс, а юзаем то постгрю, то с3 или как?)

    • @MrLotrus
      @MrLotrus 4 місяці тому

      @@olezhek28go Нет. Допустим в нашем сервисе один репозиторий для хранения метаинформации и связей для картинок. Он к постгре. Второй репозиторий это S3 хранилище. Я исхожу из того что под репозиторием подразумевается любое хранилище - SQL, NoSQL, и т.д. Третий репозиторий это например отдельная БД. Там какая-нибудь статистика. И вот есть бизнес сценарии, когда мы должны консистентно положить или изменить объекты сразу в трех местах. Предположим это такой монолит у нас, или сервис (не микро :) ). Какой подход бы использовал в такой ситуации? МОжет будет идея для видео.

  • @MrLotrus
    @MrLotrus 4 місяці тому +1

    2:37. Использование директории pkg. Если речь о сервисе, то о каком переиспользовании кода говорится? Это получается у одного сервиса зависимость от другого сервиса? Звучит странно. Мб в го так принято, но обычно для переиспользования кода используют библиотеки. Были ли на практике такие примеры, чтобы код из pkg одного сервиса использовался в другом сервисе?

    • @olezhek28go
      @olezhek28go  4 місяці тому

      как вариант можно переиспользовать сгенерированный протобафом код)

    • @MrLotrus
      @MrLotrus 4 місяці тому

      @@olezhek28go Ну вы так делали когда-нибудь? )

  • @fprotimaru1944
    @fprotimaru1944 Рік тому +4

    Возвращать интерфейс вместо структуры разве не антипаттерн?

    • @olezhek28go
      @olezhek28go  Рік тому

      А в чём проблема? Для этого же всё и задумывалось, чтоб абстракцией закрыться)

    • @fprotimaru1944
      @fprotimaru1944 Рік тому

      @@olezhek28go Интерфейса нужно положить туда, где этот интерфейс вызывается. А чтобы закрыть у нас есть инкапсуляция)

    • @olezhek28go
      @olezhek28go  Рік тому

      Как раз тут и случается срач по поводу интерфейсов:) Кто-то кладет по месту использования, кто-то иначе) так что стоит отталкиваться от того как договорились в комманде

    • @ИльдарГареев-в9ч
      @ИльдарГареев-в9ч 11 місяців тому

      @@olezhek28go так на выходе получаем какой-то конкретный объект, зачем нам возвращать абстракцию? чтобы использоваться полиморфизм, на вход мы получаем абстракцию, а на выходе зачем она непонятно

    • @MrJamesHunt
      @MrJamesHunt 5 місяців тому

      @@olezhek28goпроблема в том что это не конструктор сущности должен решать какие методы нужно реализовывать возвращать интерфейсом, а тот кто будет пользоваться должен определить нужный ему интерфейс для этой сущности. Конструктор возвращает конкретное(структура), потребители решают какие методы требуются (интерфейс)

  • @AspAsp-l8k
    @AspAsp-l8k 9 місяців тому +1

    Посмотрел разные видосы по чистой архитектуре, единого стандарта тупо нет, каждый городит по своему "как удобнее или как понял" У кого-то Entity,Usecase у кого-то Model, Repository. Давайте еще какой-нибудь "Template" еще введем, чтоб всем дружно гадать, что это такое

    • @olezhek28go
      @olezhek28go  9 місяців тому

      Если правильно помню, я об это и говорил) в любом случае на уровне команды лучше устаканивать договоренности такие)

  • @Станислав-щ7ф8е
    @Станислав-щ7ф8е 11 місяців тому +1

    Спасибо, очень понравилось. У меня возник такой вопрос, в чём состоит основное отличие чистой архитектуры от Слоистой архитектуры "Layered architecture" (N-layer). Например, почему представленный пример является чистой архитектурой, а не слоистой (N-layer), так как у меня возникла мысль (возможно неверная, прошу поправить, если это не так), что представленный пример можно было бы отнести к Слоистой архитектуре (N-layer).

  • @yarbersheer8559
    @yarbersheer8559 Рік тому +2

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

    • @olezhek28go
      @olezhek28go  Рік тому

      С несколькими еще жить можно, но чем дальше тем хуже, согласен)

  • @OlegTarasov-l6f
    @OlegTarasov-l6f День тому

    Видео уровня junior, причем растянутое
    Не найдете ничегоо сложнее, чем просто разделение на репозиторий, сервис, контроллер.

    • @olezhek28go
      @olezhek28go  День тому

      А вы это к чему написали?

  • @СтепашкаСокович
    @СтепашкаСокович 4 місяці тому

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

    • @olezhek28go
      @olezhek28go  4 місяці тому +1

      неа, я в Политехе учился)

  • @ibragimov-s3y
    @ibragimov-s3y Рік тому

    Опа, новое от Козыря

    • @olezhek28go
      @olezhek28go  Рік тому

      так меня пожалуй с садика не называли)

  • @Freeline95
    @Freeline95 9 місяців тому

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

    • @olezhek28go
      @olezhek28go  9 місяців тому

      А почему должно быть зацикливание? Это совершенно не обязательно)

  • @volodya_dev
    @volodya_dev 11 місяців тому +2

    На работе (python/fastapi) начали вводить чистую архетиктуру, интересно посмотреть на всю эту тему со слоями со стороны другого языка

    • @olezhek28go
      @olezhek28go  11 місяців тому

      И как в го проще или нет?

    • @volodya_dev
      @volodya_dev 11 місяців тому +1

      @@olezhek28go да трудно сказать, надо попробовать апиху полноценную выкатить, не хватает времени пока. У нас еще авторизация, орм, зависимостей внедрения свои способы. В fastapi уже есть это готовое, на коллектив можно опереться. А так со слоями нормально объяснили в видео -- делать их изолированными полностью, и все ок будет.

  • @ypohut1673
    @ypohut1673 8 місяців тому

    А правда что в го можно новичкам идти? Непонятно что лучше взять питон или го?

    • @olezhek28go
      @olezhek28go  8 місяців тому

      Конечно можно) в чем проблема?)

    • @vugpgu
      @vugpgu 7 місяців тому

      Да, лучше питон в руках, чем гоу в кустах

  • @eamarc
    @eamarc 6 місяців тому

    вот говорит, что плюсами покусан, а сам пишет = (*repository)(nil) вместо = new(repository). Что-то тут не так...

    • @olezhek28go
      @olezhek28go  6 місяців тому

      Ну все, надо разоблачение снимать))

    • @eamarc
      @eamarc 6 місяців тому

      @@olezhek28go точно! И обязательно сдать своего диллера, который ключи от Goland'а поставляет ))

  • @Orionich
    @Orionich Рік тому

    Олег, отличный контент! Спасибо тебе! Небольшой вопрос: в коде модель репозитория и модель сервиса для User помещены в пакет model. Обе модели с публичной видимостью. В итоге к ним обеим можно обратиться как model.User, но при этом это разные структуры естественно. Возникает некоторая потенциальная путаница и необходимость пользоваться альясами. Это так и задумано? Или в конкретном случае лучше использовать разный нейминг/пакеты? Спасибо!

    • @olezhek28go
      @olezhek28go  Рік тому

      Спасибо за добрые слова) касательно вопроса - Мы на работе так и юзаем с алиасом) IDE сразу запоминает куда что ведет и импорты автоматом добавляются и путаницы фактически нет) но можно и разные нейминги попробовать)

    • @Orionich
      @Orionich Рік тому

      @@olezhek28go Спасибо еще раз!

  • @TheDavBag
    @TheDavBag Рік тому

    на больших бачах конвертер дорого юзать (ещё один проход O(n)), также спорно использовать конвертер на перекладывании одинаковых полей из одной структуры в другую. я лично предпочитаю сквозные дто/модели на микросервис.
    прикол что ЧА разрабилась для модульных монолитов

    • @olezhek28go
      @olezhek28go  Рік тому

      ага, на большых бачах будет грустно( сквозные дтошки мы тоже юзали в другом проекте, сейчас решили иначе)

    • @TheDavBag
      @TheDavBag Рік тому

      @@olezhek28go а что повлияло на выбор?

  • @АлександрБраун-ы5к
    @АлександрБраун-ы5к Місяць тому

    А зачем лочить запись/чтение на уровне репозитория? Обычно сервис работает в сильно больше, чем одном инстансе и мьютекс тут не сильно поможет)
    Имхо, я бы решал эту проблему через оптимистические блокировки

    • @olezhek28go
      @olezhek28go  Місяць тому

      всё так, но ролик всё-таки не про распределенные системы, а про архитектуру проекта, поэтому репо слой тут обозначен в упрощенном виде, словно весь трафик льется на один инстанс)

    • @olezhek28go
      @olezhek28go  Місяць тому

      Ну и еще, если юзается инмемори кэш, то он не расползется на все инстансы, так как в оперативе конкретного инстанса лежит, поэтому мьютексы ок будут)

  • @9285550
    @9285550 4 місяці тому

    Не понял зачем RLock в гете.

    • @olezhek28go
      @olezhek28go  4 місяці тому

      Чтобы запись залочить)

    • @9285550
      @9285550 4 місяці тому

      @@olezhek28go пошёл читать доки сразу после просмотра, уже разобрался, спасибо)

  • @JohnGrave
    @JohnGrave 9 місяців тому

    Сделайте поправочку только, что, это не та самая "чистая архитектура" как на первой картинке было
    А обычная слоистая, трехзвенка в народе

    • @olezhek28go
      @olezhek28go  9 місяців тому

      Я уже не помню, что там за пикча была) в целом, если там шестиугольник, то кажется оно тут тоже ложится) или я что-то упускаю?

  • @ivankuzmin4727
    @ivankuzmin4727 Рік тому +1

    Привет, спасибо за контент, а стоит проходить курс, если в route256 обучался, в том числе у тебя)? И второй вопрос, на разборе будут показаны куски кода, как было бы правильнее реализовать или дана ссылка на реализацию от преподавателя текущего дз?)

    • @olezhek28go
      @olezhek28go  Рік тому

      Привет)
      1) Если в руте на потоке где я обучал был, то наверное нового будет процентов 40. В целом по программе на сайте можешь оценить)
      2) Я буду рассказывать темы, иллюстрируя примерами кода, которые будут доступны обучающимся. Что касается дз, то у меня тоже есть моя реализация, да

  • @yarbersheer8559
    @yarbersheer8559 Рік тому +3

    а разве было бы не прагматичнее convertor mapper'ом назвать?)

    • @olezhek28go
      @olezhek28go  Рік тому

      да в целом можно и так) тут скорее зависит как в команде договоришься) мы на конверторе сошлись)

  • @Kotl1n
    @Kotl1n Рік тому

    Олег а на собеседованиях DevOps/SRE в Ozon или Avito спрашивают алгоритмы или это только у разрабов?

    • @olezhek28go
      @olezhek28go  Рік тому

      Честно говоря не знаю, не интересовался на этот счет)

  • @yarbersheer8559
    @yarbersheer8559 Рік тому +1

    эй.. почему не по схеме explicit architecture? ) один раз бы разобрались, было бы веселее )) А ещё DDD не хватат)

    • @olezhek28go
      @olezhek28go  Рік тому +1

      да я рассказывал из своей рабочей практики) а так-то конечно можно намутить будет как-нить урок веселья ради и по тому же DDD) Заодно будет повод лучше разобраться хех

    • @alekseishashev712
      @alekseishashev712 Рік тому

      @@olezhek28go это, я так понимаю, вся суть лучших практик по архитектуре - "веселья ради"? 😅

  • @niumandzi2929
    @niumandzi2929 Рік тому

    А у кого-то есть пример цепной инициализации DB Client'a в контестке реализации, представленной в этом видео?

    • @olezhek28go
      @olezhek28go  Рік тому

      Дак а что там сверхъестественного?) принцип же тот же самый

    • @niumandzi2929
      @niumandzi2929 Рік тому

      Ну я столкнулся с некоторыми проблемами при попытке реализации, по этому решил спросить

  • @faizulla5838
    @faizulla5838 Рік тому +2

    Вопросы все задают вроде как все с опытом, но смотря как чувак распинается объясняя всем что он сделал все на интерфейсах, типа ООП, то понимаешь что многие вообще не знают что такое ООП, и инкапуляция в том числе.
    Хотя Go он вообщето задуман как функциональный язык, и че городить ООП, я пока не догнал, за исключением "+" для поддержки проекта.
    А закзчику тяжело с сайтом и сервером... дааа ерунда.

    • @JohnGrave
      @JohnGrave 9 місяців тому

      В Go коммьюнити вообще как-то странно с пониманием архитектуры сервисов, я заметил

    • @vugpgu
      @vugpgu 7 місяців тому

      ​@@JohnGraveв комьюните противостояние очкариков ушедших с плюсов и студентов после питона.
      Борьба поколений!

  • @L0wPressure
    @L0wPressure Рік тому +1

    Сорри, но 666 подписичков - пока кто-то не испортит, подписаться религия не позволит.

  • @vincentvince2136
    @vincentvince2136 Рік тому +1

    Прикольно конечно, но я в ахуе с этих названий переменных: r, n, a, b, s. Для реального проекта это конечно будет тот еще пиздец, особенно когда новенькие придут и будут в этом разбираться

    • @olezhek28go
      @olezhek28go  Рік тому

      Это имена ресиверов и они как раз таки часто именно в таком стиле и задаются в проектах и проблемы в этом нет

    • @vincentvince2136
      @vincentvince2136 Рік тому

      ​@@olezhek28go Ну это в любом случае может ввести в некоторое заблуждение или недоумение неподготовленного человека, ничего не мешает написать название чуть подлиннее, зато любой человек поймет что к чему, да и легче потом в коде будет искать их использование

    • @olezhek28go
      @olezhek28go  Рік тому

      Таков стиль в гошке:) написать можно, спору нет

  • @MakeAsPro
    @MakeAsPro Місяць тому

    а про микросервисы просто умлчал ... попозже - попозже .. и ушел -НЕ красиво

    • @olezhek28go
      @olezhek28go  Місяць тому

      думаю это было в срезанной части) если что на канале есть пара роликов на эту тему

    • @MakeAsPro
      @MakeAsPro Місяць тому +1

      @@olezhek28go спс 👍🏻

  • @andreyparovozz
    @andreyparovozz 7 місяців тому +4

    Послушал первые 10 минут. Дальше не смог. Формулирование мыслей на уровне 5 класса.

    • @olezhek28go
      @olezhek28go  7 місяців тому +16

      А вы в шестой уже перешли?:)

    • @ВладРоманов-ю8л
      @ВладРоманов-ю8л 4 місяці тому

      Высер , завидуй молча

    • @Prof-Shor
      @Prof-Shor Місяць тому +1

      Нормальная подача

    • @Denis111-j9k
      @Denis111-j9k Місяць тому

      @@olezhek28goТы должен, как универский профессор нудно читать из книжки😂

  • @michaelcorleone3741
    @michaelcorleone3741 11 місяців тому +2

    Все курсы и тренинги - вчерашний день, лохотрон) вы там получите как минимум устаревшую информацию) не рекламируйте это.. имейте совесть) в разы эффективней найти себе ментора) и дешевле и полезней

    • @olezhek28go
      @olezhek28go  11 місяців тому +3

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

    • @michaelcorleone3741
      @michaelcorleone3741 11 місяців тому

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

    • @user-cq7gb9gj4e
      @user-cq7gb9gj4e 10 місяців тому

      Большинство коммерческих курсов - да. Но есть бесплатные курсы от компаний, в которых бывает полезно. Проходил такой от МТС пару лет назад, для меня это был легкий способ войти в Go, имея опыт в другом языке. Доступная информация, классные менторы. Практические задания для меня были мотивацией потратить время на изучение языка на практике. После курса получил 3 оффера из бигтехов РФ, в одном из которых работаю до сих пор.

    • @michaelcorleone3741
      @michaelcorleone3741 10 місяців тому

      @@user-cq7gb9gj4e Вам повезло) я не имею ввиду, что все вокруг шарлатаны.. всего лишь 99% населения планеты

  • @videorelief
    @videorelief Рік тому +2

    зная как работает ужасно Авито, лучше всерьез не слушать данный доклад

    • @olezhek28go
      @olezhek28go  Рік тому +11

      Зная как устроен интернет, лучше всерьез не слушать комментарии😄

    • @videorelief
      @videorelief Рік тому

      @@olezhek28go согласен, но очень прощу почините Авито уже, так плохо работает =((

    • @olezhek28go
      @olezhek28go  Рік тому +3

      Я во внутренних сервисах тружусь, так что над основным сайтом власти не имею(

    • @carrykerry2023
      @carrykerry2023 11 місяців тому +4

      А че не так с авито? Вроде нормально там ручки отвечают, никогда долго не ждал ответа