@gogolang

Страница 1213 из 1630
Кирилл
07.07.2018
04:44:40


Вывожу через body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) Если убрать приведение body к string, то прилетают просто цифры ____________ шутка в том, что ответ закодирован к gzip, вот и всё ____________ вторая шутка в том, что достаточно в headers не посылать accept-encoding gzip

Nazary
07.07.2018
09:25:10
Да, всё верно)

Ваззаза

Google
Nazary
07.07.2018
09:25:31
Ребзя, а какой выход что бы мепы не конкурировали

Только мьютексы?

Или есть что то удобнее?

Alexander
07.07.2018
09:28:23
но так как дженериков не завезли, то, если типов для которых нужна такая мапа совсем немного, сделать свою со схожим интерфейсом

Aliaksandr
07.07.2018
09:59:49
альтернативных либ нет?
есть - https://github.com/valyala/fastjson . Она парсит любые джисоны без необходимости заводить под них кучу структур

Alexey
07.07.2018
12:49:45
Всем привет! Нужно реализовать единный объект для подключения к БД, так чтобы можно было получить к нему доступ из любой точки приложения. Поделитесь опытом, кто как реализует подключения к БД в своих поректах

Александр
07.07.2018
13:10:15
потом просто в функции делаешь func NewConnect(anyParams....) { что-то тут connect = myConnect }

и далее функцию для получения

func GetConnect() dbType.connect { return connect }

это хреновая реализация, но для новичков сойдет ?

далее все просто

Google
Александр
07.07.2018
13:12:06
импортируешь пакет и погнали

db.GetConnect() в любом месте

Никита
07.07.2018
13:15:25
А не хреновая - это какая?

‎‎‎‎
07.07.2018
13:24:14
в функцию передаю указатель структуры и она с ней работает

если я извне эту структуру обнулю то потоки умирают

без всяких panic, просто работать перестают

это норма?

Александр
07.07.2018
13:25:35
А не хреновая - это какая?
долго обьяснять ?

вий проснется можете у него спросить

и про обертки на бд и про интерфейсы

Alexey
07.07.2018
13:30:29
делаешь пакет db в нем прямо переменную var connect dbType.connect (тип конечно же под свою дб посмотри)
Если я вынесу созадние подключения в функцию init(), то она же будет отрабатывать при каждом подключении пакета?

Александр
07.07.2018
13:30:39
один раз

Alexey
07.07.2018
13:30:53
О! Тогда это здорово

Так и попробую

Александр
07.07.2018
13:31:10
только вот там небольшая проблема будет...

как вы вычитаете конфигурацию ?

только если читать прямо из файлв внутри init

но это не очень кашерно

Alexey
07.07.2018
13:31:57
А как лучше?

Google
Александр
07.07.2018
13:34:07
передача параметров из main лучше

в моем примере есть функция NewConnect

вот ее вызываете в main

в остальный GetConnect

(помните что если переменная или функция не начинается с заглавной буквы, она не доступна вне пакета)

Alexey
07.07.2018
13:35:30
Понял, спасибо)

А можно как-нибудь достучаться к глобальной пременной созданной в main пакете из других пакетов подключаемых в main?

Александр
07.07.2018
13:37:38
нет

Alexey
07.07.2018
13:37:40
Изначально пытался сделать что-то вроде единого объекта приложения и хранить в нём подключение к БД, логер и тд. type Application struct { db *gorm.DB } func (a *Application) GetDB() *gorm.DB { return a.db } var App *Application func main() { db, err := appDb.GetConnection() if err != nil { fmt.Println("DB connection failed: " + err.Error()) return } defer db.Close() App = &Application{ db: db, } }

Но обламался на доступе(

Александр
07.07.2018
13:38:04
нормально в принципе

его в отдельный пакет оформите просто

Александр
07.07.2018
13:38:16
application

Alexey
07.07.2018
13:38:21
ПОнял

Александр
07.07.2018
13:38:30
и дальше как бд

щаз же вия разбудите

Alexey
07.07.2018
13:39:12
и дальше как бд
Спаибо, друг)

Zloy Dobriy
07.07.2018
13:46:39
Ебать, какой жирный

Евгений
07.07.2018
13:47:17
Нода, пыха. Вы че обливаетесь дерьмом?

Ало.

Google
Admin
ERROR: S client not available

Евгений
07.07.2018
13:47:32
Суббота что ли?

Aleksandr
07.07.2018
13:47:44
узнаю туповатый троллинг неоднократно баненного

Евгений
07.07.2018
13:48:14
Точно суббота.

Olzhas
07.07.2018
13:48:40
У меня отпуск с понедельника

Какой-то тип нахваливал ноду и поливал грязью го

Он просто про пхп не знал наверное

Так бы все нахваливал, кроме ноды

Евгений
07.07.2018
13:52:01
У меня отпуск с понедельника
О, нифига ты обкуренный походу.

Olzhas
07.07.2018
13:53:24
О, нифига ты обкуренный походу.
Ну выходные начались с четверга

Ибо в пятницу было д.р. солнцеликого

О, нифига ты обкуренный походу.
Со следующего понедельника

Это все знают

Евгений
07.07.2018
13:57:19
А пыхерей в говно.

Olzhas
07.07.2018
13:58:21
В принципе, программирование вообще говно

Лучше бы автослесарем работал

В мире питона не бывает

Евгений
07.07.2018
14:00:19
Ну да, я эту тему и несу.

Alexey
07.07.2018
14:04:17
один раз
Решил делать не через init() и видимо опять наступил на грабли Реализовал пакет DB вот таким образом var connect *gorm.DB func GetConnection() (*gorm.DB, error) { if connect != nil { return connect, nil } connect, err := gorm.Open("postgres", "host=localhost port=5432 user=user dbname=db password=pass") if err != nil { connect = nil } return connect, err } в пакете main вызываю функцию GetConnection в надежде инициализировать переменную connect, но при вызове из других пакетов она пересоздаётся. В итоге не удалось сделать объект подключения глобальным Как стоит исправить код?

Александр
07.07.2018
14:05:15
я уже в метро :(

Google
Александр
07.07.2018
14:06:04
проверь внимательно после первого вызова полная ли переменная

или может горм откинул nil туда

распечатай перед ретурном

Alexey
07.07.2018
14:07:06
Сейчас проверю. Gorm иногда преподносит сюрпризы)

Вернул в коннект объект. Оно не nil

Александр
07.07.2018
14:09:41
@onokonem помоги человеку, я афк :)

Вернул в коннект объект. Оно не nil
у вас несколько гоурутин?

Страница 1213 из 1630