
Demuz
19.12.2017
07:31:02
ой )
еххе ) ехххехеххехех что то гоню ) серьезно)
Когда с питона на го переходил, немного офигел, когда прочитал, как выполняется вычисление, заменяющее оператор // из питона )

Anatoliy
19.12.2017
07:32:46

Google

Demuz
19.12.2017
07:33:13
а что не так?
Для меня тогда было странно, что там такого оператора не было. Потом увидил что так просто всё коментируется.

Alexander
19.12.2017
07:33:57

Demuz
19.12.2017
07:34:42
Прикольно. Я рад что в это сообщество попал. Надеюсь многому научусь.

Anatoliy
19.12.2017
07:38:38
есть js интерпритатор на go
а можно в го что-то подгружать извне, компилить и выполнять? насколкьо это будет просадка по производительности?

John
19.12.2017
07:39:00
например, тот же lua

Anatoliy
19.12.2017
07:40:06
надо сделать связку с другими микросервисами, они могут общаться немного по другому, каждый по своему, пересобирать не хочу каждый раз свой кусок, думаю просто задать некий шаблон и если ему не соответствует - подгружать уже другие соответствия
т.е. например по умолчанию я хочу версию получать в переменной version в jsone, а сервис хоть и отдает в jsone но называет как ver / versions
или еще как

John
19.12.2017
07:41:04
ИМХО, лучше все пересобрать, чем эти костылищи городить

Nick
19.12.2017
07:41:21
Звучит как графкуэль

John
19.12.2017
07:41:36

Anatoliy
19.12.2017
07:41:51
вот как раз таким ИМХО - если быстродействие будет падать не очень сильно - меня устроят именно костыли, потому что часто пересобирать и мучиться я не хъочу, просто буду каждому сервису вешать свой шаблон как с ним общаться

Google

John
19.12.2017
07:43:13

Anatoliy
19.12.2017
07:43:53

John
19.12.2017
07:44:28

Demuz
19.12.2017
07:44:42

Anatoliy
19.12.2017
07:45:13

Demuz
19.12.2017
07:46:22

Anatoliy
19.12.2017
07:46:34

Nick
19.12.2017
07:46:56
Ускорения можно добиться, если вычисления «долгие»

Demuz
19.12.2017
07:47:23
Нашел )
https://habrahabr.ru/company/intel/blog/338002/
Незнаю что это - Spark с MLlib, но здесь написано про 7 раз быстрее чем.

Anatoliy
19.12.2017
07:52:13
вообще - интересно, но судя по всему не для меня штука все же :(

Demuz
19.12.2017
07:52:39
Поскольку Go прекрасно взаимодействует с C/C++, можно реализовать эту функциональность в программах Go без особых затруднений. При этом мы существенно выиграем по скорости: эти библиотеки уже оптимизированы для архитектуры Intel. Как показано здесь, в определенных операциях, например при анализе основных компонентов, Intel DAAL может работать в семь раз быстрее, чем Spark с MLlib. Это очень здорово! Было бы очень кстати задействовать такую мощь в приложениях Go.

Nick
19.12.2017
07:53:57


Anatoliy
19.12.2017
07:54:45
потому что у меня уже есть код на С/С++ который запускается, у меня есть вариант интегрировать его в сервис на ГО, или же доделать до самостоятельного микросервиса, в случае с го мне придется потом поддерживать изменения которые я должен буду внести в код на с/с++ что бы оно заработало вместе с го, и это проблема на самом деле. в случае если я буду использовать изначальный вариант на плюсах - там тоже будут изменения, но там ничего не сломается от того что я что-то свое добавлю

Nick
19.12.2017
07:54:49
Все зависит от того, что ты будешь делать

Demuz
19.12.2017
07:57:45
Вы же профессионал наверное.

Google

Anatoliy
19.12.2017
07:59:36
ааа. а вы что нибудь супермега гибкое придумайте )
нельзя там мегагибкое, хоть и хочется, основной код поддерживаю и развиваю не я, и там может быть вообще все что угодно, а переписывать на го то что и так уже есть - займет достаточно много времени, там математика причем очень мощная, я там не так что бы очень уж хорош, разберусь - но времени уйдет не мало. для меня это может и плюс, но вот скорость разработки упадет сильно, а это уже больший для меня же минус, вот и думаю как скрестить ежа с ужом

Александр
19.12.2017
08:00:04
будет часть на с часть на go
это из коробки поддерживается

Anatoliy
19.12.2017
08:01:12
но видимо всё же попробую этот вариант, если заработает - будет в высшей степени великолепно)

John
19.12.2017
08:01:41

Anatoliy
19.12.2017
08:01:52

Александр
19.12.2017
08:02:03
ну окей... вы можете свою либу немного доплить и статически линкануть
или динамически

Alexander
19.12.2017
08:05:40
нельзя там мегагибкое, хоть и хочется, основной код поддерживаю и развиваю не я, и там может быть вообще все что угодно, а переписывать на го то что и так уже есть - займет достаточно много времени, там математика причем очень мощная, я там не так что бы очень уж хорош, разберусь - но времени уйдет не мало. для меня это может и плюс, но вот скорость разработки упадет сильно, а это уже больший для меня же минус, вот и думаю как скрестить ежа с ужом
матан вроде на го неплохо пишется... если у вас тяжелая математика еще инаписана кривыми руками - лучше переписать)))

Anatoliy
19.12.2017
08:08:11

Alexander
19.12.2017
08:08:46

Anatoliy
19.12.2017
08:21:55

Alexey
19.12.2017
08:22:20
Мы рады анонсировать нашего следующего спикера! Jessie Frazelle работает над поддержкой Linux и контейнеров в экосистеме Microsoft. Бывший мэйнтейнер Docker, контрибьютор в RunC, Kubernetes, Linux и Go.
We are happy to announce our next speaker! Jessie Frazelle works with Linux and Containers at Microsoft. She has been a maintainer of Docker and a contributor to RunC, Kubernetes, Linux, and Go.

Александр
19.12.2017
08:42:45
ну по архитектуре конечно никто не подскажет, но все так спрошу
если есть некая обертка на бд, аля модели которая используется в http хардлере
правильно что бы она сама в себе умела с коннектом работать или кормить коннект из хердлера?
например model.Search() у меня возращает коллекцию записей в виде моделей, первый аргументов коннект к бд принимает

Google

Александр
19.12.2017
08:45:03
можно было конечно сделать некую фабрику...
и уже кормить в хердлер эту фабрику моделей
а фабрику накормить коннектом при инициализации

Alexander
19.12.2017
08:47:58
все всех кормят, мечта бабушки xd

Александр
19.12.2017
08:50:36
да так и сделаю, накормплю враппер модели коннектом ?

Admin
ERROR: S client not available

Александр
19.12.2017
08:50:40
так кашернее будет
один фиг над коннектом уже пришлось сделать оберточку

Alexey
19.12.2017
08:58:25

Alexey
19.12.2017
08:58:55
Пока рано об этом говорить

Anatoliy
19.12.2017
09:18:18
ребят, а у вас микросервисы внутри сети требуют какие либо подтверждения для совершения той или иной операции?
или они доверяют друг другу и тому что запрос пришел изнутри?

Demuz
19.12.2017
09:21:47

Anatoliy
19.12.2017
09:22:17

Vany
19.12.2017
09:23:10
нет, если авторизацию на гейте прошёл и смог найти - значит свой, всмысле если слазил в консул и понял куда идти

Demuz
19.12.2017
09:23:24

Anatoliy
19.12.2017
09:23:44

Demuz
19.12.2017
09:24:18
?

Vany
19.12.2017
09:25:09

Google

Anatoliy
19.12.2017
09:26:05
Узнал?)
Что вообще по этому поводу можно почитать? Как должен выглядеть сервис который будет отдавать эндпоинты других сервисов? Особенно при горизонтальном масштабировании?

Dzmitry
19.12.2017
09:42:45
может idm, насколько корректно в нем эндпойинты кроме достуап хранить - хз
в опен стеке, keystone (idm), например, хранит эти эндопйнты

Vany
19.12.2017
09:55:16
Я пользуюсь консулом. Сервис при запуске отдаёт свои имя и айдишник. и адрес. Теперь его лично или каких то сервисов его типа, можно найти например по днс. То что кто то смог сходить в консул для меня считается успешной авторизацией. Внешние же запросы приходят на прокси, который авторизует сессию по подписанному логин пакету, просто sha256 от логин пакета.
можно докеру в ранскрипт это отдать, но ... у меня не докер

Anatoliy
19.12.2017
10:50:01

Vany
19.12.2017
10:51:51
да нормальный, чтол тебе надо чтобы спросить что то у кубера?

Anatoliy
19.12.2017
10:55:46
т.е. адреса будут зафиксированы, скорее всего придется что-то другое мне думать, твой вариант вряд ли подойдет в том виде что есть

Александр
19.12.2017
11:37:55
а передавать в хендеры самописную либу по ссылке не очень хорошая идея? ?
у меня есть рест приложение, в каждый хедлер я кормплю Tracer *tracer.Tracer
фактические это обертка над opentrace
я хотел в миддлеваре кормить текущий контекст, что бы в хедлере уже не вспоминать
@zelenin можеть быть такое что во время выполнения горутины запустилась еще одна и прямо переписала?
GO 1 Middleware: Tracer SET var 1
GO 2 Middleware: Tracer SET var 2
GO 1 HANDLE: Tracer GET var // 2
GO 2 HANDLE: Tracer GET var // 2