Size: a a a

2020 June 28

ID

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

S

Sebor in Go-go!
Юрий Вельмесов
потому как с абсолютными - это не гуд
Абсолютные указываются через конфиг
источник

C

Crush_my_love in Go-go!
Кто-нибудь может пояснить мне для тупого как метод скан из пакета буфио работает? Он что считавает из файла до символа новой строки и записывает это в буфер, а потом метод Text() возвращает из этого буфера строку, так?
источник

C

Crush_my_love in Go-go!
И я так понимаю метод Split у этой структуры scanner может настроить другой токен-разделитель? Так?
источник

ЮВ

Юрий Вельмесов... in Go-go!
Ребята

Подскажите правильно сейчас у меня наботает подключение к базе?
Вернее оно работает, вопрос: в DbConnect у меня ведь всегда один
экземпляр подключения к базе?

Т.е. во всех остальных пакетах, когда делаю импорт данной переменной
я получаю всегда одно и тоже соединение и заного не подрубаюсь к базе?
Вроде всё правильно сделал, но уточнить хочу.

package db

/**
* экспортируемая переменная,
* которая становиться доступна
* во всех остальных пакетах
*/
var DbConnect *sql.DB

func DbInit() {
 ...
 db, err := sql.Open("postgres", connStr)

 if err != nil {
   log.Fatal(err)
 }

 DbConnect = db
}
источник

ЮВ

Юрий Вельмесов... in Go-go!
проверил через постгреСкл показывает всегда одно подключение активное
источник

IS

Ilya Sinelnikov in Go-go!
Это пул, а не одно соединение
источник

ЮВ

Юрий Вельмесов... in Go-go!
ну я понимаю что дальше сам постгрескл разруливает соединения, но именно переменная один раз инициализируется?

т.е. при импорте её в других пакетах, заного не происходит же sql.Open() ?
источник

DS

Dmitry Soloma in Go-go!
Юрий Вельмесов
Ребята

Подскажите правильно сейчас у меня наботает подключение к базе?
Вернее оно работает, вопрос: в DbConnect у меня ведь всегда один
экземпляр подключения к базе?

Т.е. во всех остальных пакетах, когда делаю импорт данной переменной
я получаю всегда одно и тоже соединение и заного не подрубаюсь к базе?
Вроде всё правильно сделал, но уточнить хочу.

package db

/**
* экспортируемая переменная,
* которая становиться доступна
* во всех остальных пакетах
*/
var DbConnect *sql.DB

func DbInit() {
 ...
 db, err := sql.Open("postgres", connStr)

 if err != nil {
   log.Fatal(err)
 }

 DbConnect = db
}
можете управлять максимальным количеством соединений через паке sql
db.SetMaxIdleConns
db.SetConnMaxLifetime
db.SetMaxOpenConns
источник

U

Unat in Go-go!
Юрий Вельмесов
ну я понимаю что дальше сам постгрескл разруливает соединения, но именно переменная один раз инициализируется?

т.е. при импорте её в других пакетах, заного не происходит же sql.Open() ?
Происходит каждый раз при вызовеDbInit
источник

DS

Dmitry Soloma in Go-go!
Юрий Вельмесов
ну я понимаю что дальше сам постгрескл разруливает соединения, но именно переменная один раз инициализируется?

т.е. при импорте её в других пакетах, заного не происходит же sql.Open() ?
Да, одной инициализации достаточно при запуске приложения
источник

DS

Dmitry Soloma in Go-go!
она потоко безопасна, кроме транзакций, там отдельная песня
источник

ЮВ

Юрий Вельмесов... in Go-go!
все, понял. спасиб коллеги 👍
источник

SN

Stepan Neretin in Go-go!
Ребят, можно глупый вопрос?Чет в гугле найти не могу
Есть net/http handler
Нужно сделать так, что если происходит опр условие, то выполнить одну функцию и дальше по коду хэндлера не идти
Чет return не помогает(
https://pastebin.com/zCK3Htwq
источник

SN

Stepan Neretin in Go-go!
22 строчка выполняется почему-то
источник

SN

Stepan Neretin in Go-go!
и та штука в ифе тоже
источник

DS

Dmitry Soloma in Go-go!
if !userExists{
       services.BadResponse(w, errors.New("user with this email already exists").Error())
       return
   }

потому что userExists == true
источник

AT

Anton Terisback in Go-go!
Ребят, а есть какой-нибудь boilerplate для создания роутера (aka mux)?
Не для веба, создаю для бота в дискорде
источник

C

Constantine in Go-go!
Anton Terisback
Ребят, а есть какой-нибудь boilerplate для создания роутера (aka mux)?
Не для веба, создаю для бота в дискорде
просто бери mux, chi и пиши код )
источник

C

Constantine in Go-go!
там же просто вебхуки туда-обратно
источник