Size: a a a

2020 December 08

S

Sergey in Go-go!
Zver
Скомпилить как приложение.
каким образом?
источник

Z

Zver in Go-go!
 -ldflags -H=windowsgui
источник

RF

Ramil Fakhrut in Go-go!
Доброго времени суток ! кто нибудь использовал ?
источник

Z

Zver in Go-go!
В Винде есть разделение консольных и не консольных программ. Консольная всегда открывает консоль.
источник

RF

Ramil Fakhrut in Go-go!
источник

C

Calculon🤖 in Go-go!
Zver
В Винде есть разделение консольных и не консольных программ. Консольная всегда открывает консоль.
и сразу падает ввиду отсутствия аргументов
источник

C

Calculon🤖 in Go-go!
genius
источник

Z

Zver in Go-go!
Кто падает, куда.
источник

АК

Александр Костюченко... in Go-go!
Каким образом можно обработать ситуацию, когда api запущено, а после отвалилась бд?
Все ошибки которые возвращают методы обрабатываю, но при запросе на выключенную БД возникает паника
источник

АК

Александр Костюченко... in Go-go!
В голове вариант- перед каждым запросом делать ping базы, но я не уверен насколько это верно
источник

АК

Александр Костюченко... in Go-go!
Прошу совет
источник

с

сонная википедия... in Go-go!
запихать в докер и пусть перезапускается
написать реконнектор и проверять с синхронизацией что соединение открыто
источник

с

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

АК

Александр Костюченко... in Go-go!
Извините, перефразирую вопрос
источник

АК

Александр Костюченко... in Go-go!
как в моей ситуации получить ошибку вместо паники?
источник

АК

Александр Костюченко... in Go-go!
func (r *UserRepository) Find(key, value string) (model.User, error) {
 logthat.Log("Ищем пользователя:", key, value)

 u := model.User{}
 query := fmt.Sprintf("SELECT id, name, email, password, role FROM users WHERE %s = ?", key)

 if err := r.db.QueryRow(query, value).Scan(
   &u.ID,
   &u.Name,
   &u.Email,
   &u.EncPassword,
   &u.Role,
 ); err != nil {
   return u, err
 }

 return u, nil
}
источник

DP

Daniel Podolsky in Go-go!
Александр Костюченко (КМ Системс)
Каким образом можно обработать ситуацию, когда api запущено, а после отвалилась бд?
Все ошибки которые возвращают методы обрабатываю, но при запросе на выключенную БД возникает паника
не должно быть паники
источник

ВС

Владимир Столяров... in Go-go!
Александр Костюченко (КМ Системс)
func (r *UserRepository) Find(key, value string) (model.User, error) {
 logthat.Log("Ищем пользователя:", key, value)

 u := model.User{}
 query := fmt.Sprintf("SELECT id, name, email, password, role FROM users WHERE %s = ?", key)

 if err := r.db.QueryRow(query, value).Scan(
   &u.ID,
   &u.Name,
   &u.Email,
   &u.EncPassword,
   &u.Role,
 ); err != nil {
   return u, err
 }

 return u, nil
}
DB это по сути пул соединений, он умеет сам восстанавливаться, если база упала и поднялась потом
источник

с

сонная википедия... in Go-go!
Александр Костюченко (КМ Системс)
func (r *UserRepository) Find(key, value string) (model.User, error) {
 logthat.Log("Ищем пользователя:", key, value)

 u := model.User{}
 query := fmt.Sprintf("SELECT id, name, email, password, role FROM users WHERE %s = ?", key)

 if err := r.db.QueryRow(query, value).Scan(
   &u.ID,
   &u.Name,
   &u.Email,
   &u.EncPassword,
   &u.Role,
 ); err != nil {
   return u, err
 }

 return u, nil
}
а какая у вас паника?
источник

DB

Dmitry Baynak in Go-go!
Александр Костюченко (КМ Системс)
func (r *UserRepository) Find(key, value string) (model.User, error) {
 logthat.Log("Ищем пользователя:", key, value)

 u := model.User{}
 query := fmt.Sprintf("SELECT id, name, email, password, role FROM users WHERE %s = ?", key)

 if err := r.db.QueryRow(query, value).Scan(
   &u.ID,
   &u.Name,
   &u.Email,
   &u.EncPassword,
   &u.Role,
 ); err != nil {
   return u, err
 }

 return u, nil
}
не по части вопроса, но тут sql injection можно словить?
источник