Maks
что бы он был универсальным
Maks
Ну это я так вижу +-
Nikita
слишком сложно;) я второй день читаю про го)..но кажется я понял про что вы говорите
Maks
ну с другими языками не работал?
Nikita
ну чисто в школе паскаль))
Maks
я просто го сам не так давно начал учить, но у меня бекграунд большой
Maks
ясно)
Maks
советую прочитать или посмотреть видосы про директории в го, про архитектуру проектов в го. Позже может быть найду нормальные видосы про это. Что бы ты мог понять что такое пакеты в го и как с ними работать
Maks
но пока можно все делать в пакете main
Nikita
да это пока всё слишком сложно) просто у меня в голове есть проект;)...и я хочу его сделать и выучить в меру своих способностей. Я думаю пакеты это пока слишком рано)
Maks
Ты уже обратил внимание на модификаторы доступа в ГО?)))))
Maks
Я когда не читая сам разбирался и понял про то как это работает немного прифигел)
Nikita
про большую букву?
Maks
Ага))))
Vladimir
https://www.youtube.com/channel/UCHF0TTrKzOASxt4aFByKpnQ
Nikita
ну вот такой специфический язык)
Vladimir
Вот тут парень доступно всё рассказывает
Vladimir
и не только про го
Vladimir
Сам смотрю
Nikita
но там прям явно не junior уровень
Maks
да, чел нормальный, соглашусь. Он и архитектурно вроде не плохо раскладывал проект, и про пакеты норм инфу дал, сразу стало понятно всё.
Maks
вроде у него смотрел
Dmitry
просто мне нужно что то типа []Topic.shuffle()
func (s *[]Topic) shuffle() { } по моему так можно
Maks
возможно, я не в курсе)
Vladimir
По архитектуре я у него смотрел и много по чему ещё
byd
https://play.golang.org/p/ha2cbGURFn_T
Maks
Maks
я вот чет такое предлагал но так тоже можно)
Maks
так даже наверное лучше
Maks
я о таком не знал)
Maks
а на интерфейсы завязаться я так понял не получится? byd
Nikita
ну да, по второму способу работает, а по первому нет)
Maks
ну типо сделать не конкретный тип а срез интерфейса или структур
byd
Shuffle это что то внешнее, по мне оно должно оставаться внешним.. зачем его закапывать не понятно.. я просто показал вариант, если чтот закапать захочется.. но Shuffle я бы не закапывал, если оно не какое то специфичное для данного типа
Maks
Лучше написать пакет который будет тебе шафлить срезы и возвращать срез измененный наверное
Maks
без создания нового типа
byd
всё зависит от задачи, варианты есть
byd
но начинать надо с простого, ничего не делать или просто не делать лишнего )
Nikita
Ничего не делать звучит как девиз)))
Maks
чисто я на работе)
Maks
я не брал) Мне достаточно обычно поверхностной инфы)
Maks
что бы дальше самому закопаться
Maks
кстати в го же нет енамов?
Maks
а, там есть некоторая его реализация, но не в традиционном виде
Maks
Я вот сам ищу
Maks
но ничего не понимаю
Maks
сколько бы не смотрел ничего не ясно
Maks
У меня сейчас 30+ микросервисов
Maks
но я пока не вкурил как это всё работает на самом деле
Maks
Особенно меня интересует секурность, авторизация, всякое такое
Dmitry
https://www.youtube.com/c/GopherSchool
Maks
между сервисами
Maks
советую кстати по gRPC тоже изучать инфу если хочется в го разрабы пойти. Активно юзают в микросервисах в озоне
byd
мы о микро или сервисах?
Maks
Вообще я для себя вижу идеальным флоу такой. У тебя единая точка входе, которая проверяет токен и права пользователя. А дальше уже в нужные микросервисы шарит. А сами микросервисы закрыты наружу. Так называемый API Gateway
Maks
Я скорее о микро
Maks
мне просто не нравится идея когда сервис для авторизации должен лезть в другой сервис
Maks
Что бы проверить права пользователя
Maks
Но это по сути разные подходы в реализации микросервисов
Maks
А еще микросервисы я считаю оверхедом если у вас нет высокой нагрузки
Khikmat
Всем здаров ребята. Кто ниб c cucumber для написания тестов работал? В частности кто ниб пробовал rollback делать после каждого сценария ?
Dmitry
да, на этом примере можно понять как работают микросервисы и как их пишут
Maks
Можешь рассказать что такое кукумбер этот? Что за "овощ" такой
Khikmat
https://github.com/cucumber/godog
Maks
Ну это понятно. Просто у него же есть какие то особенности. Автоматизацию можно и на сайке сделать с автотестами написанными вручную
Maks
Какова задача кукумбера? тестировать бэкенд?
Khikmat
Какова задача кукумбера? тестировать бэкенд?
да , в крайне удобном виде, fixture прописываешь
Maks
Фикстуры это по идеи наборы данных, которые должны быть в бд.
Suleiman
Пацаны, если в родном регионе не ремонтируют видеокарт, что делать?
Maks
типа "на голую" бд накатывать.
Maks
Покупать новую)
Suleiman
Покупать новую)
Это проблема ( высокие цены)
Maks
Если покрыть весь код юнит-тестами а запросы в бд замокать, то это наверное будет не нужно
Khikmat
юнит тестами громоздко может быть
byd
какой то идеал очка получается .. я такого не встречал
Maks
А так по идеи наверное было бы правильно сделать что то типо такого при запуске тестов Поднимаем новый контейнер для тестов, В нем бд и собственно сам вольюм для него. В нем мы создаем нужные записи в бд и всё такое После завершения тестов сносим вольюм
Maks
Но это мое видение, жду более умных мыслей конечно же)