
Kirill
16.10.2016
15:23:11
до этого еще на куче всего писал

Constantine
16.10.2016
15:23:14
пойду гуглить такого зверя

Kirill
16.10.2016
15:23:18
но это были грустные времена

Constantine
16.10.2016
15:23:20
а, hhvm

Google

Constantine
16.10.2016
15:23:33
можно было сказать — пхп :D
и всё
а то ты еще зефир тут допиши ))

Kirill
16.10.2016
15:23:50
сейчас на go с js пишу

sunaraw
16.10.2016
15:45:44
Кто-нибудь трогал gopher.js?

Slach
16.10.2016
15:45:52
народ, кто нибудь знает реально производительный парсер User-Agent на go ?
пока смотрю в сторону
https://github.com/benbjohnson/agency
нравится "подходом" с производительностью
но инфа не сильно детальная ;) и не ясно что там со всякими UCBrowser и прочей экзотикой
https://github.com/ua-parser/uap-go
этот детальный но непонятно насколько производительный поскольку регулярки, то кажется не очень
BenchmarkParser-4 100 12097419 ns/op
BenchmarkParserWithOptions-4 200 7669033 ns/op
вот как это прочитать правильно? это на один текст столько наносекунд затрачено?
может ктото юзал что нибудь из этого списка?
https://golanglibs.com/top?q=user_agent

Kirill
16.10.2016
15:47:36

Kerrigan
16.10.2016
15:48:58
я не очень понимаю как они тут определили 3 одинаковые функции https://github.com/benbjohnson/agency/blob/master/agency.go#L21

Kirill
16.10.2016
15:49:58
это "магическая" функция, ты таких можешь хоть 100500 определить

Kerrigan
16.10.2016
15:50:36
и они типа при импорте по порядку вызовутся?

Kirill
16.10.2016
15:50:55
не при импорте, но при старте программы
и я бы не рассчитывал, что они будут по порядку вызываться

Google

Kerrigan
16.10.2016
15:52:02
ясно

Slach
16.10.2016
15:52:11
хехе, а что main тоже можно 100500 раз переопределить? ;)
возвращаясь к попугаям бенчей
7669033 ns/op = 7.66ms на запуск одного тестового бенчевого метода? так?
если в методе последовательно N раз (100 по умолчанию( перебирается 13 юзерагентов, то на парсинг одной строки будет сколько?

Kirill
16.10.2016
15:52:50

Slach
16.10.2016
15:55:20
ну почему не оптимизировали??? 7.66ms = 1300 парсингов??? по моему нормально все с производительностью? или я не туда смотрю? плюс еще база обновляемая... тоже важно

Kirill
16.10.2016
15:56:31
7.66 на одну итерацию. 7.66мс. на одну итерацию.
почти восемь миллисекунд на одну итерацию-,--К-а-р-л-!

Evjeni
16.10.2016
15:57:24
нубовопрос, какие ide есть для go? видел плагин для интелиджа, с ним все ок?

Zver
16.10.2016
15:57:49
Это 130 парсингов, а не 1300
да даже 1300 это зверски медленно на парсенье какой-то строчки.

Kirill
16.10.2016
15:59:17
у меня один запрос обрабатывается за 2мс на всех проектах, если ответ от базы в кеше, и до 18мс если ответ от базе не в кеше и он тяжелый. а тут 8(!!!!!!!!!!) мс отдавать на парсинг UA. да где это видано-то?

Slach
16.10.2016
16:02:48
и чтобы финализировать
func BenchmarkParserWithOptions(b *testing.B) {
for i := 0; i < b.N; i++ {
for _, ua := range uas {
benchedParserWithOptions.Parse(ua)
}
}
}
b.N по умолчанию 10 ? или 100 ? что то не могу в документации по testing этого найти
дак вроде не одного
там 13 штук строк внутри uas
и я таки не услышал в итоге, какую либу для UA парсинга посоветуете то?

Kirill
16.10.2016
16:07:13
изучить вопрос надо. явно нужно более актуальную (эта обновлялась в марте 14ого) и более быструю.

Dmitry
16.10.2016
16:07:16
привет всем!
кто-нибудь использовал grpc для общения между сервисами? есть ли нарекания?

Alexey
16.10.2016
16:09:05

Dmitry
16.10.2016
16:10:08

Kirill
16.10.2016
16:10:14

Google

Alexey
16.10.2016
16:12:03

Zver
16.10.2016
16:14:35

Dmitry
16.10.2016
16:14:58

Kirill
16.10.2016
16:15:18

Slach
16.10.2016
16:15:33

Kirill
16.10.2016
16:15:59
ладно, свой напилю чуть позже
тем временем я упоротую июльскую идею стал делать: github.com/kirillDanshin/fap
это кодогенератор такой
а еще он умеет в гит выкладывать, будет уметь еще и деплоить

Slach
16.10.2016
16:22:30

Zver
16.10.2016
16:22:52
Да.

R-omk
16.10.2016
16:23:03

Kirill
16.10.2016
16:23:11

Zver
16.10.2016
16:24:05
Сколько циклов выполнено.

Dmitry
16.10.2016
16:24:24

R-omk
16.10.2016
16:26:31
были ли какие-то проблемы с этой штукой?)
Например? .. ну кроме некого хейтерства http2 некоторыми гражданами проблем больше небыло, да и с этими заканчивались когда показывал строчку куда свой транспортный протокол вписывать

Dmitry
16.10.2016
16:27:25

R-omk
16.10.2016
16:29:37
Го-го вообще все чисто должно быть, мне еще с мобилками вязать, но там тоже можно на го, еще не пробовал, с браузерами все ок..реакты работают через гейтвей, а вообще говоря просто откройте исходники докера или етсд3, там все на grpc

Roman
16.10.2016
16:31:24

Google

Constantine
16.10.2016
16:31:47
в этом нет проблемы )
спрашивал про готовые решения
если их никто не видел — окей

Roman
16.10.2016
16:32:06

Kirill
16.10.2016
16:33:38

Roman
16.10.2016
16:34:42

Kirill
16.10.2016
16:35:38

Slach
16.10.2016
16:35:46
=) ну вот да, если бы Гошечка была по синтаксису без скобок как питон... и с Exception's ... я бы только на ней и писал =)

Admin
ERROR: S client not available

Kirill
16.10.2016
16:36:23

Slach
16.10.2016
16:36:42
а, ну и еще стандартные типы были попроще чтобы for in был =) и декораторы...
и все... больше ничего не надо... то как в го сделаны пакеты =) это прямо ГУД!
что фу то?? =) да, после Сей питон поначалу кажется очень странным, а потом понимаешь, что PEP8 очень полезная вещь, go с его правилами экспорта, через большую букву, это прямо квинтесенция Zen of python в каком то роде -)

Kirill
16.10.2016
16:38:55
хватит тащить питон в go.

Constantine
16.10.2016
16:39:27
напиши транслятор
из го кода без скобочек в го код со скобочками
))

Slach
16.10.2016
16:39:52
=) да ктото уже там расширил, поляк какой то ...

Constantine
16.10.2016
16:39:55
есть у меня знакомые товарищи, которые такое говно делали для пхп )
ну просто как маленькие
честное слово

Google

Constantine
16.10.2016
16:40:26
в питоне нет ООП, как его описывают в Банде четырех
кто-то ноет про это? никто
в пхп херово со сборщиком мусора, тоже никто не ноет
а тут скобочки убрать надо ))

Slach
16.10.2016
16:40:52
=) ну нет и нет, его из питона в GO тащить и не надо =)

Kirill
16.10.2016
16:41:17
вы еще динамическую типизацию вхерачьте. и давайте тогда еще в html файлах <& /* go code */ &>.

Slach
16.10.2016
16:41:43
нет, тут надо Exceptions, базовые коллекции поинтереснее и декораторы =) хуй с ними со скобочками пусть будут =) в конце концов точку с запятой отовсюду уже убрали и то хлеб =)

Constantine
16.10.2016
16:41:44
надо
точно
эксепшны
кто скажет генерики?

Slach
16.10.2016
16:42:28
=))) ненене =) только не это

Constantine
16.10.2016
16:42:43
давайте еще ООП вхерачим

Slach
16.10.2016
16:42:45
ладно, умолкаю

Constantine
16.10.2016
16:42:48
как в жс делали через кофескрипт
подожди
я не закончил
:D
все языки няшные для своего применения )

Slach
16.10.2016
16:43:26
=)) хм, в GO вполне себе ООП в том виде в котором лично мне очень удобно интерфейсы + структуры + реализация интерфейсов, самое оно