@gogolang

Страница 1625 из 1630
Disinterpreter
26.10.2018
10:27:56
с aliases
я же её селектом исключил

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

посмотри, что получается

Disinterpreter
26.10.2018
10:32:34
Ок

Google
Илья
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
зато усколько успеха в одно лицо

Илья
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
И это все в новую переменную
ээм? newres := result = map[string]interface{}{} Неверно но как я понял

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

Kirill
26.10.2018
10:50:11
ээм? newres := result = map[string]interface{}{} Неверно но как я понял
В го ты не можешь создать переменную на основе возврата присваивания))

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
а если newRes будет структурой
2018/10/26 13:57:05 {Id:ObjectIdHex("5af4b127b17a062898713b47") GunName: Type:AR }

вроде в предыдщем варианте ты не передавал в Select филды
Да я вот дописал код ниже сообщением

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

Александр
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
> Прежде чем постить описание вакансии, обратитесь к кому-то из администрации. А мне к кому обратиться?

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
(мне оный больше чем логрус нравится, хотя писать код чуть сложнее)

Или, извините, structlog
его еще не видел, но zap мне больше нравился чем logrus

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

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

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
Это отдельно надо делать, список уже довольно приличный
Есть канал с книгами, можно в закреп добавить ссылку.

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
Alexey
26.10.2018
12:47:26
это вы интерпрайз решения пилите? были же какие-то поделки на перляке, без красивых картиночек
Percona Toolkit есть, но его половина уже на Go, не на Perl. И эта вакансия не про это.

А что деалет эта программа? С мониторингом более-менее понятно, прослушивать запросы к БД, ответы и строить графики. А что такое менеджмент?
Management – это заделка на будущее ? Прямо сейчас его почти нет. В 2.0 будет возможность запускать новые Prometheus exporter'ы через UI или API, не заходя на сервер. Ну и некоторые другие простые вещи, типа запуска pt-summary на хосте с БД. Потом – больше, но это уже сильно потом

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?

Alexey
26.10.2018
12:51:38
а кто-нибудь писал парсер сырцов на ast?
Куча людей. Лучше сразу вопрос

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

Alexey
26.10.2018
12:52:35
или это долгоиграющая штука?
Конечно, планы на 2.x большие. Это не контракт на время или на проект до завершения

Гриша
26.10.2018
12:52:51
b = [] не получится? или b = make([]byte)
мне нужно без выдиления новой памяти, просто сбросить len

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

Гриша
26.10.2018
12:53:42
b = b[:0]
Это pointer

Mykyta
26.10.2018
12:54:09
Это pointer
a := (*b)[:0] b = &a

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