Size: a a a

2020 June 26

ЛА

Локоть Анатолий... in Go-go!
Askold Monarkhov
Группа кошельков имеет много кошельков

Кошелек принадлежит одной группе
Ок, те один ко многим.
Для такого кейса я юзал preload
https://gorm.io/docs/preload.html,
Там такая же суть что в поле-слайсе одной структуры лежат связанные сущности, там никакой foreign key я не задавал, но то поле, которое один, должно было быть в структуре, которая многие.
Детальнее гляну позже, если никто другой не ответит
https://gorm.io/docs/preload.html
источник

AM

Askold Monarkhov in Go-go!
Локоть Анатолий
Ок, те один ко многим.
Для такого кейса я юзал preload
https://gorm.io/docs/preload.html,
Там такая же суть что в поле-слайсе одной структуры лежат связанные сущности, там никакой foreign key я не задавал, но то поле, которое один, должно было быть в структуре, которая многие.
Детальнее гляну позже, если никто другой не ответит
https://gorm.io/docs/preload.html
Та не один к многим. У кошелька есть одна группа
источник

AM

Askold Monarkhov in Go-go!
Мне нужно загрузить инфу о группе (WalletGroup) кошелька (Wallet)

У Wallet есть group_id
Таблица с группми: wallet_groups
источник

МП

Мимо Проходящий... in Go-go!
И тут у меня возникло чуйство, что ничто не скажет о схеме бд больше, чем CREATE код, которым таблицы создавались
источник

SH

Say Hello in Go-go!
Тут есть data sciencисты)?
Можете посоветовать какую-нибудь книгу, которую читали вы, когда начинали?
источник

с

сонная википедия... in Go-go!
вам сюда https://t.me/bigdata_ru
источник

SH

Say Hello in Go-go!
Спасибо
источник

M

Mills in Go-go!
Zver
Effective Go
Are you a data scientist
источник

y

yelsh in Go-go!
Переслано от yelsh
кто-нибудь, подскажите, есть ли линтер для go, который проверяет, что в тесте ни одного assert нет? я тут метод обновил так месяц назад, и в тесте забыл assert’ы для метода воткнуть, и такой маразм сумел пройти ревью. Сейчас только заметил
источник

y

yelsh in Go-go!
всем привет, помогите, пожалуйста. Не хочется, чтобы такой идиотизм в дальнейшем повторялся
источник

ВС

Владимир Столяров... in Go-go!
первый раз слышу про подобное
в testify/mock если был вызов метода, но его вызов не заказывали, при AssertExpectations тест завалится
источник

y

yelsh in Go-go!
Владимир Столяров
первый раз слышу про подобное
в testify/mock если был вызов метода, но его вызов не заказывали, при AssertExpectations тест завалится
Там другое, был тест нормальный, с assert’ами. Функционал, который этот тест тестировал, изменился, и в процессе изменения этого функционала тест почистился почти в нуль (остался только сбор окружения, assert’ы из теста пропали). Вот таким пустым на месяц и остался, и в пуш попал, и ревью прошел (последнее убило). Вот такого идиотизма мне надо избежать.
источник

AK

Anton Kucherov in Go-go!
Как вам решение "проблемы" обработки ошибок с помощью Дженериков?
Интересно что 20 строк кода в итоге превратились в ...  20 строк кода.

Вот такой к примеру код автор называет менее чистым и читаемым:

dbpass, err := base64.StdEncoding.DecodeString(user.Password)
if err != nil {
   return nil, fmt.Errorf("decode password: %w", err)
}


А вот этот, a lot cleaner:

dbpass := Try(base64.StdEncoding.DecodeString(user.Password)).
Mod(Wrap([]byte)("decode password")).
Must()


Впрочем гляньте статью сами: https://deedlefake.com/experimenting-with-error-handling-via-generics-in-go.html 🤔
На мой взгляд сомнительное конечно решение.
источник

EK

Eugene Koshevoy in Go-go!
во втором варианте появляется магия :)
источник

ВС

Владимир Столяров... in Go-go!
после релиза генериков - во всех фреймворках с̶т̶р̶а̶н̶ы̶
источник

VM

Vladislav Milenin in Go-go!
Anton Kucherov
Как вам решение "проблемы" обработки ошибок с помощью Дженериков?
Интересно что 20 строк кода в итоге превратились в ...  20 строк кода.

Вот такой к примеру код автор называет менее чистым и читаемым:

dbpass, err := base64.StdEncoding.DecodeString(user.Password)
if err != nil {
   return nil, fmt.Errorf("decode password: %w", err)
}


А вот этот, a lot cleaner:

dbpass := Try(base64.StdEncoding.DecodeString(user.Password)).
Mod(Wrap([]byte)("decode password")).
Must()


Впрочем гляньте статью сами: https://deedlefake.com/experimenting-with-error-handling-via-generics-in-go.html 🤔
На мой взгляд сомнительное конечно решение.
🤡
источник

N

Nioray in Go-go!
сейчас бы лучшую реализацию обработки ошибок заменять на это...
источник

ВС

Владимир Столяров... in Go-go!
а самое забавное, if err != nil никуда не девается при этом
источник

с

сонная википедия... in Go-go!
Anton Kucherov
Как вам решение "проблемы" обработки ошибок с помощью Дженериков?
Интересно что 20 строк кода в итоге превратились в ...  20 строк кода.

Вот такой к примеру код автор называет менее чистым и читаемым:

dbpass, err := base64.StdEncoding.DecodeString(user.Password)
if err != nil {
   return nil, fmt.Errorf("decode password: %w", err)
}


А вот этот, a lot cleaner:

dbpass := Try(base64.StdEncoding.DecodeString(user.Password)).
Mod(Wrap([]byte)("decode password")).
Must()


Впрочем гляньте статью сами: https://deedlefake.com/experimenting-with-error-handling-via-generics-in-go.html 🤔
На мой взгляд сомнительное конечно решение.
потому что обработка ошибок для цепочки будет короче
источник

Z

Zver in Go-go!
Владимир Столяров
а самое забавное, if err != nil никуда не девается при этом
Можно цепочки выстраивать.
источник