Kirill
ну — вы, конечно, можете избавиться от finalizer'а :D
Kirill
ну а вообще — как решили-то?
Stanislav
так это не поможет избавиться от fd уже зареганного в поллере. можно конечно слинковаться с рантайм-функциями поллера и разрегать его там, но зачем
Stanislav
это к данилу, у меня только непроверенные предположения из вчерашнего обсуждения
Kirill
@onokonem
Aleksandr
а у нас один пакет, генерящий кастомные анмаршалеры json - тот, что мейл.ру?
Daniel
ну а вообще — как решили-то?
так я же написал - перестали закрывать fd, начали закрывать file
Daniel
если закрывать fd, пусть даже взятый из файла - проблема есть
Daniel
если закрывать conn - проблемы нет
Aleksandr
easyjson от mail ru, но вопрос не понятен
есть ли еще аналоги, кроме него и найденного ffjson?
Michael
есть ли еще аналоги, кроме него и найденного ffjson?
https://github.com/avelino/awesome-go там парочка ещё есть, но честно говоря кроме easyjson ничего не использовал, узнал о нём из курса Василия Романова, остался доволен
Aleksandr
https://github.com/avelino/awesome-go там парочка ещё есть, но честно говоря кроме easyjson ничего не использовал, узнал о нём из курса Василия Романова, остался доволен
ну я прям что-то по странице прошелся ctrl+f и не нашел даже выше упомянутых двух пакетов и ни одного другого. УТочню, пакетов, генерящих кастомные анмарашллеры без рефлексии
Michael
https://github.com/ugorji/go/tree/master/codec#readme есть кодогенерация
Michael
и отакой с того же списка https://github.com/json-iterator/go и бенч марк результаты есть
Aleksandr
и отакой с того же списка https://github.com/json-iterator/go и бенч марк результаты есть
этот вроде просто оптимизированный под капотом. без кодогенерации. А первый да, спасибо, гляну
Aleksandr
@rvasily будет easyjson поддерживать go modules, а точнее работать без требования gopath?
Aleksandr
сроки есть?
Vasily
не обещаю что в ближайшее время, но к релизу 3-й курса части было бы круто запилить
Vasily
а, хотя если вопрос про кодогенератор, который требует чтобы всё находилось в гопас - тут не знаю
Aleksandr
второе
Vasily
надо смотреть, у нас там всё на рефлекии сделано в данный момент
Vasily
я на будущей неделе постараюсь добраться туда, оценить, сложно-ли будет поддержать работу в модулях без перепиливания самого кодогенератора
Vasily
но вообще PR рады :)
Denis
Добрый день всем. Скажите пожалуйста, кто нибудь сталкивался с внедрением WebView в Go? Есть биндинг под CEF - https://github.com/cztomczak/cef2go, но он походу заброшен и имеет весьма скромный функционал (не хватает биндинга методов в JS) Можете посоветовать лучшую альтернативу?
Fastumkruk
Можно как либо скринить страницу из go?
Anonymous
Да
Есть phantomjs для этого. Есть хедлес хромиум Есть qt байндинги к хромиуму
Anonymous
Есть селениум
Anonymous
Phantomjs самое простое
Anonymous
Впиливать хромиум внутрь бинарника на го я бы не стал
Fastumkruk
У меня серв на убунту без гуя. Возможно такое реализовать?
Fastumkruk
Slava
фантомжс депрекейтед вроде как
Slava
и не обновлялся уже давно
Anonymous
Тем не менее, с задачей сделать скриншот страницы сайта он справлялся всегда отлично.
Anonymous
Спасибо за замечание. Не знал.
Michail
Спасибо за замечание. Не знал.
https://github.com/GoogleChrome/puppeteer
Anonymous
https://github.com/GoogleChrome/puppeteer
А вот и хедлес хром
Aleksandr
А вот и хедлес хром
биндинги ноды к хрому. под го свои
Aleksandr
но вообще PR рады :)
готово, принимайте)
Vasily
готово, принимайте)
посмотрю сегодня, спасибо
Ivan
Коллеги, такой вопрос. А есть нативные либы в гошке, которые умеют с berkley db работать? Я только сигошные биндинги нашел.
Ivan
может кто сталкивался?
Zarif
Коллеги, такой вопрос. А есть нативные либы в гошке, которые умеют с berkley db работать? Я только сигошные биндинги нашел.
по своему опыту могу сказать, что годные для продакшна обычно как раз биндинги сишных драйверов для бд. нативные чаще всего бывают не лучше, а то и хуже
Ivan
Не хочется иметь оверхед на cgo
Olzhas
Не хочется иметь оверхед на cgo
либо шашечки, либо ехать
.
Подскажите, почему в профайле почти все время занимает cgocall?
.
То что у всех остальных вызовов указано 0 мс - они реально занимают времени меньше миллисекунды? Или как?
.
а что за код?
Ну код показать не могу. Это бэк. Как я понимаю cgocall делает драйвер постгреса
.
Но меня интересует то, реально ли отражается время выполнения остального кода, так как 0 миллисекунд - как то подозрительно, учитывая то, что в тех функциях делаются Select запросы к базе, и хоть какой то процент времени занимать они должны
freezlite
Хочу сделать фасад UserAgentParser с методами Os() string, Browser() string, DeviceType() string, как в этом случае назвать интерфейс?
freezlite
Хочу скрыть работу внешних библиотек в этом фасаде, но проблема с неймингом, ибо по соглашениям, интерфейсы должны оканчиваться на -er, тогда как структуру назвать ?
freezlite
интерфейс эскпортным сделать, а структуру нет?
freezlite
а если затем понадобиться расшарить фасад?
Maxim
а если затем понадобиться расшарить фасад?
А в чем проблема его расширить? Делаешь конструктор NewUserAgentParser и возвращаешь из него свой публичный интерфейс. Вся имплементация в приватной структуре. Расширяй сколько душе угодно)
Aleksandr
не могу найти настройку, которая бы в goland отключала вот это:
Aleksandr
type_easyjson показывается во втором уровне.
Kirill
😂
Aleksandr
😂
на vscode переходить?)
Kirill
на самом деле, я немного устал от vscode
Kirill
надо тему другую воткнуть
Aleksandr
type_easyjson показывается во втором уровне.
а type_test нет. Как будто бы easyjson зашито. Содержимое файлов одинаково пустое.
Aleksandr
не по-человечески это как-то
Igor
Коллеги, подскажите, есть ли какой-то способ узнать, сколько строк сделала выборка SQL SELECT через метод db.Query() помимо того, чтобы проитерироваться по результату со счётчиком?
Daniel
не всякий запрос знает, сколько строк он выбрал
Igor
а query не result возвращает с циферкой?
он возвращает массив строк.
Igor
Если быть точным, Тип Rows
Igor
не всякий запрос знает, сколько строк он выбрал
Select по одной таблице с Where, без джоинов.