Nik
nil
Daniel
так не бывает
Nik
попробовал https://github.com/gnewton/chidley - он генерирует старшный код с кучей глобьальныхъ переменных
Daniel
ошибка в чем-то другом
Aleksandr
Alex
почитай про "сериализацию/десериализацию"
Nik
окс
Заур
а как тестируют работу с БД?
Daniel
зависит от
Заур
грузят туда тестовые данные, тестируют, потом чистят?
Daniel
у меня есть спецом вагрант, который поднимает тестовый инстанс
Заур
мда... ясно)
Daniel
а зачем?
Andrei 🦉
экономия времени
Daniel
все одно мы поднимаем базу под тест, так почему не набить ее?
Andrei 🦉
потому что я хочу, чтобы тесты гарантированно никак не влияли друг на друга
Andrei 🦉
если все тестовые данные я заливаю в одной транзакции, а потом откатываю ее, то база перед следующим тестом будет гарантированно пуста
Dmitriy / დიმიტრი
У меня поднимается докер-контейнер, куда я заливаю данные, а все операции в тесте делаю в транзакции.
Daniel
вы же не руками их делаете, тесты эти
Dmitriy / დიმიტრი
Не понял
Daniel
можно на каждый тест новый инстанс поднять и набить
Dmitriy / დიმიტრი
Но зачем? Чем это лучше того варианта о котором я сказал?
Daniel
тем, что можно без модификации код гонять, commit делать
Daniel
ну и не все базы поддерживаю транзакции - два
Dmitriy / დიმიტრი
А, ну у меня PostgreSQL. Так, если говорить про тестирование с БД без транзакций, то твой вариант лучше
Daniel
оно подтормаживает
Daniel
но это и не юнит-тест, это тестирование не на каждый PR гоняется
Konstantin
это херово, что интеграционные тесты не на каждый пр
Konstantin
есть понятие фикстур - тестовых данных. и их лучше правда заливать перед каждым запуском тестов, чтобы быть максимально уверенным в полной изоляции тестов
Alex
Кто нибудь запускал как службу в Windows?
пытаюсь сделать через https://github.com/kardianos/service
Запускается но прога корнем считает windows/system32
И там создает нужные папки ну и крашется из-за того что конфига нет)
Anonymous
Alex
Добрый вечер! Есть backend сервак http/socket . Через пару дней скорость получения ответов проседает. Как лучше профилировать такие моменты, которые возникают на долгом периоде?
Ruslans
Ruslans
зато недорого с точки зрения разработки)
Daniel
Александр
Добрый день подскажи как правильно пробрасывать зависимости в хандлеры gonic/gin. Рассматривал вариант проброса через контекст, но как то не красиво выходит
Andrei 🦉
замыкания
Andrei 🦉
как вариант
Alexander
А по классике структуру сделать, в нее заинжектить зависимости и на ней реализовать методы типа HandlerFunc?
Мерль
Alexander
Александр
Александр
Andrei 🦉
Daniel
или если одна меняет, а другая читает
🎉
Ахренеть! 😄 https://habrahabr.ru/company/badoo/blog/345784/ Вопрос, как мне поработать с числами типа float64? Привести их к int64, произвести вычисления и опять трансформировать во float64?
🎉
Округление точное не нужно, но хз....
Tommy
ребят что этот код делает там где присваивается json
type Todo struct { Name string json:"name"}
Andrey
ничего не делает, это комментарий
Alexei
он с ошибкой отработает
Alexei
type Todo struct { Name string `json:"name"`}
Tommy
Alexei
это теги, они ничего не делают, если попытаться переменную с типом Todo замаршалить в json, то значение Name замаршалится, как name
Alexei
type Todo struct { Name string `json:"small_name"`}
Alexei
или как small_name в последнем варианте
Alexei
фактически это лишь инструкция, какие названия полей будут в json при marshal'е, ну и там есть еще немного управляющих значений тега json
Alexei
подробности тут https://golang.org/pkg/encoding/json/
Tommy
спасибо пока ниче не понял. буду читать
Wingman
не подскажете, как можно увеличить макс.число горутин, допустимое при -race?
Slava
Mikhail
На сколько этот алгоритм колхоз?
https://play.golang.org/p/JkoaVpgAZd9
Nik
народ, а кто пользует vgo?
Nik
ща прикину покажу
Nik
Nik
таки, живые люди, которые пользую vgo?
Dmitriy / დიმიტრი
погибли в войнах за единственно верный менеджер зависимостей
Mikhail
Andrey
так https://play.golang.org/p/HquipSNBg9c ?
Nurzhan
Mikhail
Заур
ребят, а как в mgo получить guid созданной записи?
Заур
чёт не нашёл
Nik
Vladislav
Заур
в mgo есть только
func (c *Collection) Insert(docs ...interface{}) error