Vadim
Slava
Slava
Можно не переживать
Slava
Есть тулза, которая показывает в какой ir сгенерит бекенд твой код
Slava
Щас найду
Slava
https://sitano.github.io/2018/03/18/howto-read-gossa/
Slava
И онлайн тулза https://golang-ssaview.herokuapp.com/
Slava
@VadimChashechnikov в чем ты можешь попробовать помочь го, так это с уменьшением аллокаций в куче ненужных.
Slava
Но я бы рекомендовал это делать только после профилирования и понимания что реально является ботлнеком
Oleh
https://pastebin.com/5Rjxdvem
Oleh
помогите пожалуста понять почему мой клиент не получает пакеты
Oleh
я уже думаю что роутер грешит
Oleh
но а вдруг нет
Oleh
получается я отправляю, а устройство не получает
Oleh
почему то
Oleh
после того как устройство получило, должно в ответ отправлять кучу данных в режиме риал тайм
Oleh
но нечего не происходит...((
Oleh
я растерян..
Oleh
и в прострации
Nazar
Попробуйте заснифить
Nazar
Ну ваершарк
Nazar
Просто посмотреть нормально ли вылетают влетают пакеты
Oleh
получается снифать свой интерфейс вай фай, ок, попробую
Oleh
спасибо за наводку
Dmitri
Хм, а какого единообразия вы хотите от разных, по сути, вещей?
Dmitri
Собственно, для мапы - проверка существования значения по ключу - вещь осмысленная. А для слайса проверять существование элемента по непрерывному монотонно-возрастающему индексу...
Aid
Всем привет подскажите пожалуйста что это за конструкция и где о таком почитать:
custom, ok := interface{}(m).(ContactsListCustomHandler)
Kirill
Aid
govnokod.ru
ну это то что выдал генератор protobuf для gorm,
как я понял из самой функции, оно проверяет на существование определенного метода у типа, но как оно работает под капотом не понятно
Aid
непосредственно сама функция: https://play.golang.org/p/D4iEXP5YZAB
heavycharged
ContactsListCustomHandler скинь
Kirill
дык и так ясно
Aid
type ContactsListCustomHandler interface {
CustomList(context.Context, *ListContactRequest) (*ListContactsResponse, error)
}
Kirill
смотрим, если текущий объект реализует интерфейс - юзаем его как этот интерфейс
Kirill
читай - если есть метод CustomList
heavycharged
мне интересно для чего это в кодогенерации. для того, чтобы дописать метод свой CustomList?
Aid
да, в случае необходимости
heavycharged
чет подпаривать начал этот VSCode, подчеркивает строки, в которых ошибок нет
heavycharged
и автокомплит говно, подсказывает все что угодно, но не то что нужно(
heavycharged
видимо надо обратно к goland возвращаться
heavycharged
думал из vscode сделал комбайн, чуть удобнее чем goland, но баги не дают нормально юзать его
саша
Kirill
heavycharged
тулзы обновлены
Kirill
langserver иногда виснет
heavycharged
на последних версиях Go mdempsky/gocode баги дает, его советуют заменить на nsf/gocode
heavycharged
но этот тоже не всегда работает
Alexey
heavycharged
да))
Alexey
[citation needed]
heavycharged
сначала они с nsf на mdempsky прыгнули, а теперь на 1.10.х у некоторых перестало работать, они переходят обратно и ок становится
Alexey
https://github.com/Microsoft/vscode-go/wiki/Go-tools-that-the-Go-extension-depends-on всё ещё рекомендует форк
Kirill
Alexey
Из-за кеша компиляции
heavycharged
https://github.com/Microsoft/vscode-go/issues/1747#issuecomment-403683100
Alexey
Универсальная инструкция по решению проблем с VSCode
• Выходишь из VSCode
• gocode close
• Проверяешь по списку процессов что gocode нет
• Сносишь для верности $GOPATH/pkg
• go clean -cache
• Обновляешь тулзы: https://github.com/Microsoft/vscode-go/wiki/Go-tools-that-the-Go-extension-depends-on (обрати внимание, что gocode теперь в github.com/mdempsky/gocode)
• go install -v all
• Запускаешь VSCode
heavycharged
https://github.com/Microsoft/vscode-go/issues/1723#issuecomment-396020628
Alexey
Возможно, у меня всё нормально работает, потому что я по-старинке делаю go install, а не go build, так что кеш и /pkg/ у меня одинаковые
heavycharged
ну там по разному, у кого-то mdempsky ок работает, а у кого-то nsf. есть и те, у кого работает через раз. среди них я)))
Kirill
не знаю, как вы, но я чот intellisens'ом импортов пользовался от силы два раза, потому что по памяти набираю не задумываясь
Kirill
у меня много разных go версий установлено, конкретно на момент написания переключен на 1.10, полёт нормальный
Kirill
Alexey
1.10.3
Kirill
я не об этом) линупс? мак? сколько рамки? какой проц?
Alexey
Mac, MacBook Pro, помяти и проца много
Alexey
Он не грузит CPU и т. д., а просто падает при парсинге, и потом перестают отвечать на команды
Alexey
У меня в проекте zap, в котором есть alias’ы, и я сильно подозреваю, что дело в них
heavycharged
попробую сейчас тоже 1.10.3, вдруг ок стало.
Kirill
heavycharged
я ваще хз как вы импорты ручками пишете, в Goland очень круто, когда ты пишешь название пакета, то у тебя уже функции из пакета и типы подтянулись, в vscode нужно либо сходить вверх файла и ручками прописать, либо писать package.Function и если ты угадал, то он при сохранении импортирует пакет.
Kirill
во вторник должен быть релиз 1.11 уже, а поддержки 1.9 нет? чот сомнительно :D
Alexey
Потому что я раньше не использовал zap и alias’ы
Kirill
хмммммм