@gogolang

Страница 675 из 1630
Anatoliy
28.11.2017
20:03:43
убегай пока не поздно) /:id и /count будет одним и тем же роутом при разных обработчиках
эм.. и можно пояснить как они будут одним и тем же роутом?

Александр
28.11.2017
20:04:20
а если больше 2 URL?
два хендлера, три хендлера...

Bohdan
28.11.2017
20:04:54
Александр
28.11.2017
20:05:17
эм.. и можно пояснить как они будут одним и тем же роутом?
регулярка для переменные роута фактически (.*), поэтому она будет кушать все. До /count не дойдет

Google
Александр
28.11.2017
20:05:29
они на одном уровне заметьте

Anatoliy
28.11.2017
20:05:37
я просто хочу иметь возможность юать jwt и работать с json) т.е. отдават ьи принимать в нем) собственно все что мне хотелось бы там видеть из коробки)

Anatoliy
28.11.2017
20:06:05
Александр
28.11.2017
20:06:26
прикольно, а почему нельзя поменять регулярку?...
потому что она переопределена, не надо делать переменную и фикс на одном уровне

Anatoliy
28.11.2017
20:06:29
для json есть стандартная либа
она есть, но я сомневаюсь что она позволяет "из коробки" просто взять и принять json как структуру с которой сразу можно работать

Александр
28.11.2017
20:06:43
вы не поверите ?

но позволяет

Oleg
28.11.2017
20:07:10
Anatoliy
28.11.2017
20:07:35
понятно, видимо стоит прежде чем лезть сразу во всякие фреймворки которые "позволяют", посмотреть на стандартные либы) судя по всему в go c ними хорошо)

Но тогда не понятно зачем эти фреймворки нужны)

Google
Александр
28.11.2017
20:08:59
структуру вы можете даже руками не городить, сделать автогеном например тут - http://json2struct.mervine.net/

Anatoliy
28.11.2017
20:09:50
структуру вы можете даже руками не городить, сделать автогеном например тут - http://json2struct.mervine.net/
за это дикое спасибо, в закладки) а писать все равно придется ручками) проект новый) но теперь можно писать в json, что будет для меня быстрее)

Александр
28.11.2017
20:10:03
как вариант без структуры можно так - var notStruct map[string]interface{}

и передать по ссылке notStruct в анмаршел

но такое не кашерно ?

Oleg
28.11.2017
20:10:41
понятно, видимо стоит прежде чем лезть сразу во всякие фреймворки которые "позволяют", посмотреть на стандартные либы) судя по всему в go c ними хорошо)
фреймворк это всегда надстройка над чем-то, поэтому от использования фреймворков не уйти никак, если эт конечно не хелловорлд. В конечном итоге Вы или будете использовать чей-то или напишите свой.

Anatoliy
28.11.2017
20:10:48
не, от такого у меня спагетти в итоге будет, проект новый, можно сразу делать хорошо

Александр
28.11.2017
20:11:12
ну вот не согласен ? Пишу на чистом, все хорошо. Голову надо включать

Anatoliy
28.11.2017
20:11:39
ну вот не согласен ? Пишу на чистом, все хорошо. Голову надо включать
у меня версии API будут, причем будут меняться, на чистом будет не очень

Александр
28.11.2017
20:12:13
не, от такого у меня спагетти в итоге будет, проект новый, можно сразу делать хорошо
ВНИМАТЕЛЬНО! просмотрите все стандартные пакеты, там много вкусного. Даже http клиент есть (для получения, аля CURL), db интерфейсы уже есть

Oleg
28.11.2017
20:13:18
ну вот не согласен ? Пишу на чистом, все хорошо. Голову надо включать
эм, не знаю, писать ORM или свою библиотеку для работы с БД , эт не каждый осилит. Ровно как и работу с jwt.

Anatoliy
28.11.2017
20:13:31
так echo вроде не может стандартные хендлеры? или на это пофигу?

Anatoliy
28.11.2017
20:14:45
эм, не знаю, писать ORM или свою библиотеку для работы с БД , эт не каждый осилит. Ровно как и работу с jwt.
да jwt то оказалась вообще элементарной из того что я по ней увидел. а вот ORM да, щас вряд ли потяну, или будетслишком долго

плюс желательно в совершенстве владеть sql для той субд с которой будет работать ORM, тут у меня точно будет проблема, толкьо хочу попробовать postgres

Александр
28.11.2017
20:15:33
да jwt то оказалась вообще элементарной из того что я по ней увидел. а вот ORM да, щас вряд ли потяну, или будетслишком долго
я бы все таки для апи не рекомендовал накручивать фрейворк ? В крайне случаи потом попробуете. Потеря производительности будет

такая ощутимая, за счет всякие рефлексий которые туда накручивают

Google
Anatoliy
28.11.2017
20:16:31
я бы все таки для апи не рекомендовал накручивать фрейворк ? В крайне случаи потом попробуете. Потеря производительности будет
хм.. тоже верно, в конце концов тут надо то минимум от роутов по сути, просто post/get/.. и прием в json

Александр
28.11.2017
20:16:50
попробуйте на стандартном пакете net/http

Anatoliy
28.11.2017
20:17:25
попробую, кстати никто не прикручивает к своим проектам метрики для прометеуса? там уже точно либу придется пользовать

Александр
28.11.2017
20:17:25
хендлеры-структуры должны реализовывать всего 1 интерфейс http.Handle c 1 методом

Kirill
28.11.2017
20:17:26
такая ощутимая, за счет всякие рефлексий которые туда накручивают
должно быть достаточно большое количество rps чтоб начать чувствовать оверхед от reflection

Anatoliy
28.11.2017
20:18:27
должно быть достаточно большое количество rps чтоб начать чувствовать оверхед от reflection
в теории - 3-7к обращений в секунду, не много в принципе, но если будет все совсем хорошо то еще раза в два может быть больше, переписывать потом не хочется

Александр
28.11.2017
20:18:54
раньше пробегало за 30 мс по 1000 итераций, теперь за 3.6 мс

в рамках 1 гоурутины

я коллекцию разбирал рефлексией, хотел орм делать ?

Александр
28.11.2017
20:19:55
но отговорили, сделал просто тупо фабрикой

да "кондово", но зато как быстро

Anatoliy
28.11.2017
20:23:58
я коллекцию разбирал рефлексией, хотел орм делать ?
а c/c++ код через рефлексию можно в go стартовать?

Kirill
28.11.2017
20:24:13
раньше пробегало за 30 мс по 1000 итераций, теперь за 3.6 мс
за 3.6 секунды мы с рефлексией и прочим ~5k ответов с контейнера отдаем, причем на каждый реквест мы еще и метрики отправляем и лог событий пишем

Kirill
28.11.2017
20:25:59
т.е. разница по времени 3 порядка?
это в "попугаях", наша нормальная, а не пиковая нагрузка, нельзя что-то в вакууме померять

Google
Anatoliy
28.11.2017
20:26:22
забудьте про рефлексию, если нужна рефлексия вы делаете что-то не то ?
хорошо, поясню, можно не рефлексией, но как по другому - не знаю. в общем иногда код обработчика может меняться(дополняться обычно, но изменение тоже возможно), надо иметь возможность не перезапуская приложение его подцепить, код обычно на с/с++

Kirill
28.11.2017
20:29:07
3.6 СЕКУНДЫ? ?
примерно так, у нас получается в среднем по ~1.2к rps на контейнер, где-то больше, где-то меньше

Anatoliy
28.11.2017
20:30:09
а вообще имеет смысл приложение на go связывать с кодом на c/c++ ?

Kirill
28.11.2017
20:30:17
нет

Anatoliy
28.11.2017
20:31:01
математические операции, включая побитовые на go выполняются со скоростью равной тому же на c/c++ или быстрее/медленнее?

Daniel
28.11.2017
20:31:59
этот вопрос смысла не имеет

медленно выполняются не операции, а загрузка данных из памяти в кеш

Anatoliy
28.11.2017
20:32:50
меня интересует "в общем", так то понятно что смысла не имеет

Admin
ERROR: S client not available

Daniel
28.11.2017
20:33:16
в общем - процессор тот же, и математика та же

у go сильно хуже оптимизатор

Oleg
28.11.2017
20:34:54
https://benchmarksgame.alioth.debian.org/u64q

Александр
28.11.2017
20:36:23
меня интересует "в общем", так то понятно что смысла не имеет
на самом деле для горячей перезагрузки делают просто прокси

на гоу есть реализация

Anatoliy
28.11.2017
20:36:51
да я уже сообразил как это можно вынести, просто еще один слой микросервисов придется делать

Александр
28.11.2017
20:38:03
https://habrahabr.ru/post/318896/

можете почитать

но это все из серии "странное"

Google
s3rj1k
28.11.2017
20:43:43
Ребята. Кто то сталкивался со странным поведением exec модуля. Когда в аргументах команды есть одинарные кавычки то она не выполняетя. Как это победить?

Александр
28.11.2017
20:45:58
экранировать?

s3rj1k
28.11.2017
20:46:18
экранировать?
Не помогает

Daniel
28.11.2017
20:46:22
ну так же не бывает

s3rj1k
28.11.2017
20:46:34
ну так же не бывает
Ну вот бывает:)

Daniel
28.11.2017
20:46:44
нет

не бывает

s3rj1k
28.11.2017
20:47:09
Например find -regex 'regexp'

Вот такое тупо фейлится

Daniel
28.11.2017
20:47:21
очен хорошо

сколько надо аргументов передать exec.Command()?

и нужны ли на самом деле тут кавычки?

(это наводящие вопросы)

s3rj1k
28.11.2017
20:49:10
Нужны ибо пробелы. Около 8

Daniel
28.11.2017
20:49:23
что - около 8,

и где тут пробелы?

s3rj1k
28.11.2017
20:49:31
Аргументов

Daniel
28.11.2017
20:49:34
и зачем кавычки?

это все наводящие, опять же вопросы

s3rj1k
28.11.2017
20:50:01
Ну в експрешене же. Там где регекс. Там пробелы внутри могут быть

Anatoliy
28.11.2017
20:50:02
двойные кавычки не сработают вместо одинарных?

Daniel
28.11.2017
20:50:11
коллеги

остановитесь

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