Size: a a a

2020 June 16

Н

Никита in Go-go!
Stepan Neretin
для каждого контроллера свои сервисы прокинуть?
Если не один контроллер, то да
источник

Н

Никита in Go-go!
По сути сильно эти два способа не отличаются. Го все равно подставит структуру как аргумент функции уже внутри
источник

Н

Никита in Go-go!
То есть в данном случае разницы нет, что через параметры функции, что через структуру
источник

с

сонная википедия... in Go-go!
Никита
То есть в данном случае разницы нет, что через параметры функции, что через структуру
через структуру намного проще в том плане что менять сигнатуру функции не нужно и она даже может подходить под какие-то типы(под тот же http.HandleFunc)
источник

Н

Никита in Go-go!
сонная википедия
через структуру намного проще в том плане что менять сигнатуру функции не нужно и она даже может подходить под какие-то типы(под тот же http.HandleFunc)
Это да, в этом плюс
источник

SN

Stepan Neretin in Go-go!
тоесть практика создания куча сервисов, чтобы их прокинуть это нормально?Или это издержки архитектуры?
источник

Н

Никита in Go-go!
Stepan Neretin
тоесть практика создания куча сервисов, чтобы их прокинуть это нормально?Или это издержки архитектуры?
Так вы не создаете кучу. Вот у вас 3 сервиса, допустим: бд, очередь, мейлер. Вы их создали по одному разу, и прокинули уже в каждый контроллер по инстансу этих сервисов
источник

Н

Никита in Go-go!
А создавать в каждом контроллере сервисы это перебор будет
источник

I

Iz in Go-go!
По случаю беспорядков в США пошла новая волна борьбы с неполиткорректной англоязычной лексикой. Затронула она и IT.

Есть исторически сложившееся название одной из моделей взаимодействия компонентов в программном обеспечении и электронике: безобидному русскому «ведущий-ведомый» соответствует английский термин master/slave. Он полностью отражает суть взаимодействия: master однонаправленно управляет slave-ом, обратная связь предусмотрена максимум в виде «да, господин» или «не понял, господин».

Сейчас в среде woke-айтишников началась борьба с "господами". Самое яркое проявление нового веяния – начало работ по искоренению слова master порталом GitHub. GitHub - самый популярный портала для хостинга IT-проектов и их совместной разработки, построенный на системе управления версиями git, созданной великим и ужасным Линуксом Торвальдсом.  

Одна из важнейших функций этой системы – совместная разработка силами многих программистов. Разработка ведется «ветками» - есть основной код, из которого собирается готовый продукт и ветки программистов, в которые те вносят изменения, чтобы внести в основную ветку, которая раньше называлась master. Теперь ее решили переименовать в main -- "основную".

Кроме GitHub и другие IT компании начали процедуру искоренения подобных названий: так, в в прошлое уходят и blacklist/whitelist. Судя по всему, чистка коснется и исходного кода. К примеру, в проекте OpenSSL задумались о патче для замены black magic на magic, blacklist на block list, white space на blank master на parent или тот же main.

Это к вопросу о том, почему за протестами в США стоит внимательно следить. Трансформация через которое проходит американское общество, к сожалению, отразится и на сотнях миллионах людей никак к нему непричастных -- таковы особенности современного глобализма.

Автор:Eshu Marabo. Редактор: Реб Йесод
источник

с

сонная википедия... in Go-go!
ну хватит, уже стопицот раз обсудили, стопицот раз ответили что это офтоп
источник

S

Sebor in Go-go!
Не оффтоп, а пиар канала (с)
источник

SN

Stepan Neretin in Go-go!
Никита
Так вы не создаете кучу. Вот у вас 3 сервиса, допустим: бд, очередь, мейлер. Вы их создали по одному разу, и прокинули уже в каждый контроллер по инстансу этих сервисов
просто мне вот интересно
Пусть у меня условно 10 контроллеров
это у меня в коде идет большой блок кода, где я их создаю?
Вообще в целом нормально вроде, но чет думал есть более красивые методы решения
источник

Н

Никита in Go-go!
Stepan Neretin
просто мне вот интересно
Пусть у меня условно 10 контроллеров
это у меня в коде идет большой блок кода, где я их создаю?
Вообще в целом нормально вроде, но чет думал есть более красивые методы решения
func RegisterRoutes(mux *http.ServeMux, db database.DB) {
mux.HandleFunc("/notes.create", NotesCreateController{db}.Handler())
}

Я делаю так
источник

Н

Никита in Go-go!
Никита
func RegisterRoutes(mux *http.ServeMux, db database.DB) {
mux.HandleFunc("/notes.create", NotesCreateController{db}.Handler())
}

Я делаю так
Ну и в этом методе будут и остальные контроллеры
источник

с

сонная википедия... in Go-go!
я использую chi,там есть функции группировки по конкретному пути, контроллер как бы сам себя регистрирует в саб-роутере
источник

C

Calculon in Go-go!
Никита
func RegisterRoutes(mux *http.ServeMux, db database.DB) {
mux.HandleFunc("/notes.create", NotesCreateController{db}.Handler())
}

Я делаю так
Зачем Handler() когда можно Handler
источник

C

Calculon in Go-go!
Возврат обработчика не нужен, лишняя операция
источник

Н

Никита in Go-go!
Calculon
Зачем Handler() когда можно Handler
Нельзя, это замыкание
источник

C

Calculon in Go-go!
Никита
Нельзя, это замыкание
я разрешаю
источник

Н

Никита in Go-go!
Чтобы сигнатура совпадала с HandlerFunc
источник