
Disinterpreter
26.10.2018
10:27:56

Илья
26.10.2018
10:32:17
попробуй анмаршалить в map[string]interface{}
посмотри, что получается

Disinterpreter
26.10.2018
10:32:34
Ок

Google

Disinterpreter
26.10.2018
10:40:39

Илья
26.10.2018
10:41:06
попробуй через %+v

Disinterpreter
26.10.2018
10:44:10
Тоже самое, почему-то в структуру данные не пришли
это очень странно

Илья
26.10.2018
10:45:42
помаршали в map
я думаю, имена колонок там другие

Disinterpreter
26.10.2018
10:45:57
как, я эт новичек)

Eugenii
26.10.2018
10:46:12
зато усколько успеха в одно лицо

Kirill
26.10.2018
10:46:24

Илья
26.10.2018
10:46:39
главное, чтобы новичок не бутылочке из под духов *мухаха*

Kirill
26.10.2018
10:46:47

Disinterpreter
26.10.2018
10:47:19
в этих структурах данных путаюсь еще

Google

Kirill
26.10.2018
10:47:47

Disinterpreter
26.10.2018
10:48:14
не так делаю кажется)

Kirill
26.10.2018
10:48:41
Точку с запятой убери и допиши {}
И это все в новую переменную

Disinterpreter
26.10.2018
10:49:01
всё ровно

Илья
26.10.2018
10:49:26
map[string]interface{}{}

Disinterpreter
26.10.2018
10:49:29

Илья
26.10.2018
10:49:39
ну или make(map[string]interface{})

Kirill
26.10.2018
10:50:11

Disinterpreter
26.10.2018
10:50:22
Я так и понял, жесткий синтаксис же

Илья
26.10.2018
10:50:56
пройди, пожалуйста gotour :)

Kirill
26.10.2018
10:51:08
newRes := map[string]interface{}{}

Disinterpreter
26.10.2018
10:51:58
а тьфу уловил
ход мыслей
окей, в мапу легла вся инфа
Буду тянуть из мапы, спасибо.

Google

Илья
26.10.2018
10:54:27
посмотри, что за типы у значений

Disinterpreter
26.10.2018
10:54:56
2018/10/26 13:54:43 map[_id:ObjectIdHex("5af4b127b17a062898713b47") gunName:HK416 type:AR ]
точнее
c.Find(bson.M{}).Select(bson.M{"gunName": 1, "type": 1}).One(&newRes)
выдало вот то что выше

Илья
26.10.2018
10:56:13
вроде в предыдщем варианте ты не передавал в Select филды

Disinterpreter
26.10.2018
10:57:14

Илья
26.10.2018
10:57:59
я не очень читаю текст из ваших картинок + блоки снаружи

Disinterpreter
26.10.2018
10:58:40

Александр
26.10.2018
10:59:04

Antony
26.10.2018
10:59:14
Донован

Илья
26.10.2018
11:00:05
попробуй bson тэг заполнить

Disinterpreter
26.10.2018
11:00:56

Илья
26.10.2018
11:01:41
тег?
https://medium.com/golangspec/tags-in-golang-3e5db0b8ef3e

Disinterpreter
26.10.2018
11:05:10
афк

Roman
26.10.2018
11:06:27
https://github.com/slimsag/cgo-batching

SkyCoffee
26.10.2018
12:28:57
как у людей получается грамотно распределить логи так, чтобы получились красивые, разноцветные, разноуровневые (debug, info, notice), с тегами ([componentT]), легконастраиваемые (выводить в консоль, в файл, выключить так, чтоб лог ничего не писал и тратил минимум ресурсов) логи, которые приятно читать?

Alexey
26.10.2018
12:30:31
> Прежде чем постить описание вакансии, обратитесь к кому-то из администрации.
А мне к кому обратиться?

Илья
26.10.2018
12:31:03
как у людей получается грамотно распределить логи так, чтобы получились красивые, разноцветные, разноуровневые (debug, info, notice), с тегами ([componentT]), легконастраиваемые (выводить в консоль, в файл, выключить так, чтоб лог ничего не писал и тратил минимум ресурсов) логи, которые приятно читать?
logrus например

Google

Daniel
26.10.2018
12:31:13
Внутренний диалог проведи :)

Vladimir
26.10.2018
12:31:38
или uber zap

Daniel
26.10.2018
12:32:03
Или, извините, structlog

Vladimir
26.10.2018
12:32:06
(мне оный больше чем логрус нравится, хотя писать код чуть сложнее)

SkyCoffee
26.10.2018
12:33:47
лог и свой написать можно, вопрос скорее в том, где надо ставить логи, а где не надо, чтобы можно было проследить ход работы программы, не теряясь при этом в мусоре

Илья
26.10.2018
12:38:45
лог и свой написать можно, вопрос скорее в том, где надо ставить логи, а где не надо, чтобы можно было проследить ход работы программы, не теряясь при этом в мусоре
ээ, пишите лог при обращении к внешним системам (субд или любой внешний сервис), пишите лог при начале обработки запроса/сообщения и в конце (желательно с таймингами, а их еще и в прометей какой-нибудь можно затолкать), генерите идентификатор или используйте идентификатор события, создавайте инстанс логгера на старте приложения, обогащайте его для каждого компонента и держите инстанс логгера в компоненте

Mykyta
26.10.2018
12:39:36


Alexey
26.10.2018
12:39:53
Вакансия мечты! Писать open source на Go из дома! Работать со мной! ?
https://www.percona.com/about-percona/careers/golang-software-engineer
При отзыве на вакансию можно упомянуть меня, тогда я могу получить бонус, который пойдёт в дело. ?
Работа – делать PMM 2.0 (https://www.percona.com/software/database-tools/percona-monitoring-and-management), без косяков 1.x, но с балансом перфекционизма и дедлайнов.
Ищем middle-level разработчика, не junior’а (я слабо верю в удалённых junior’ов, да и уже есть) и не senior’а, но если вы сомневаетесь, то пишите.
Вилка, к сожалению, не публична, но должна соответствовать middle-уровню.
На все остальные вопросы я могу ответить в golang-ru Slack в канале #job (идеально), тут (хорошо), или в личке (лучше не надо, но если очень хочется…).

SkyCoffee
26.10.2018
12:40:09

Илья
26.10.2018
12:40:41
только для чего это нужно?
я так делаю везде, где могу позволить себе писать в диск, так по логам можно разбирать любые проблемы (если еще лог вывести куда-то в json, можно фильтровать всякое)

Marlik
26.10.2018
12:40:52


Илья
26.10.2018
12:43:23
Вакансия мечты! Писать open source на Go из дома! Работать со мной! ?
https://www.percona.com/about-percona/careers/golang-software-engineer
При отзыве на вакансию можно упомянуть меня, тогда я могу получить бонус, который пойдёт в дело. ?
Работа – делать PMM 2.0 (https://www.percona.com/software/database-tools/percona-monitoring-and-management), без косяков 1.x, но с балансом перфекционизма и дедлайнов.
Ищем middle-level разработчика, не junior’а (я слабо верю в удалённых junior’ов, да и уже есть) и не senior’а, но если вы сомневаетесь, то пишите.
Вилка, к сожалению, не публична, но должна соответствовать middle-уровню.
На все остальные вопросы я могу ответить в golang-ru Slack в канале #job (идеально), тут (хорошо), или в личке (лучше не надо, но если очень хочется…).
нужен фуллтайм? или можно наполшишки? я бы даж без денег на часов 20 в неделю влез


Mykyta
26.10.2018
12:44:09
я так делаю везде, где могу позволить себе писать в диск, так по логам можно разбирать любые проблемы (если еще лог вывести куда-то в json, можно фильтровать всякое)
Ну тут очевидно непонимание зачем нужны логи, потому и непонятно как и где их писать
Если нужно понять в каком месте системы, особенно распределенной, произошла ошибка, то тут нужен трассировщик, зипкин например. Логи здесь не нужны.
Если нужно понимать что происходит в системе (последовательность действий), то тут надо пилить свой журнал, но точно не логи.
Вообще кейс с логами очень редкий, на самом деле, просто эти логи пихают все налево и направо

Alexey
26.10.2018
12:44:09

John
26.10.2018
12:44:18
демпинг в чатике

Artem
26.10.2018
12:44:56

Vladimir
26.10.2018
12:45:17
с конфигурациями, троттлингом и прочим

Илья
26.10.2018
12:45:56

Google

SkyCoffee
26.10.2018
12:47:19
Вакансия мечты! Писать open source на Go из дома! Работать со мной! ?
https://www.percona.com/about-percona/careers/golang-software-engineer
При отзыве на вакансию можно упомянуть меня, тогда я могу получить бонус, который пойдёт в дело. ?
Работа – делать PMM 2.0 (https://www.percona.com/software/database-tools/percona-monitoring-and-management), без косяков 1.x, но с балансом перфекционизма и дедлайнов.
Ищем middle-level разработчика, не junior’а (я слабо верю в удалённых junior’ов, да и уже есть) и не senior’а, но если вы сомневаетесь, то пишите.
Вилка, к сожалению, не публична, но должна соответствовать middle-уровню.
На все остальные вопросы я могу ответить в golang-ru Slack в канале #job (идеально), тут (хорошо), или в личке (лучше не надо, но если очень хочется…).
А что деалет эта программа? С мониторингом более-менее понятно, прослушивать запросы к БД, ответы и строить графики. А что такое менеджмент?

Alexey
26.10.2018
12:47:26

Илья
26.10.2018
12:49:40
или это долгоиграющая штука?

Alexey
26.10.2018
12:50:05
2.0? До НГ хотим сделать tech preview, до апреля – релиз.

SkyCoffee
26.10.2018
12:50:05
(наверное будет полезно закинуть ссылку, раз это опенсурс и его надо разрабатывать, чтоб люди хотя бы знали на что идут) https://github.com/percona/pmm

Alexey
26.10.2018
12:50:20
Там _куча_ репозиториев
https://github.com/topics/pmm

Гриша
26.10.2018
12:51:02
Подскажите как очистить слайс байт по ссылке, пытался так
func resetBytes(b *[]byte) {
if cap(*b) <= maxCap {
b = &(*b)[:0] // сброс
bytesPool.Put(b)
}
}
но линтер ругается error: invalid operation: cannot take address of (*b)[:0] (value of type []byte) (gotype)

Subbotin
26.10.2018
12:51:11
а кто-нибудь писал парсер сырцов на ast?

John
26.10.2018
12:51:32

Alexey
26.10.2018
12:51:38

Subbotin
26.10.2018
12:51:49
да. прости. забылся.

SkyCoffee
26.10.2018
12:51:58

Alexey
26.10.2018
12:52:35

Mykyta
26.10.2018
12:52:40

Гриша
26.10.2018
12:52:51

Alexey
26.10.2018
12:53:05

SkyCoffee
26.10.2018
12:53:31
а так можно было? Я думал слайсы не очень мутабельные

Гриша
26.10.2018
12:53:42

Mykyta
26.10.2018
12:54:09