@gogolang

Страница 1103 из 1630
Daniel
27.05.2018
18:52:27
другого, к сожалению, нет, только строковый

Sergey
27.05.2018
18:52:57
стектрейс не в виде строки ?
в виде сериализованного линкед листа, конечно же

Dmitry
27.05.2018
18:53:20
в виде сериализованного линкед листа, конечно же
двунаправленого или однонаправленого ?

Sergey
27.05.2018
18:53:29
конечно двунаправленного

Google
Dmitry
27.05.2018
18:54:02
конечно двунаправленного
лист содержит поинтеры на обьекты или сами обьекты ?

Sergey
27.05.2018
18:54:22
(даже не знаю, как тебе намекнуть, что это троллинг)

лист содержит поинтеры на обьекты или сами обьекты ?
будет хранится в виде мапы map[string]{ value, next_ptr }

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

Alexandr
27.05.2018
18:55:52
Вашими молитвами, спасибо, разорбрался. @ejilay @di3young @zelenin всем спасибо ребята.

Dmitry
27.05.2018
18:56:16
где ключ — адрес ячейки, а next_ptr — строка, указывающая на следующую ячейку
мьютексы использбуете или собственую имплементацию мапы ?

Daniel
27.05.2018
18:56:27
а что за значение ?
собственно - код ошибки. в принципе, тип и значение можнообъединить в одно число, но придется же разъединять

Sergey
27.05.2018
18:56:32
Антон
27.05.2018
18:56:34
/save. Спасибо

Dmitry
27.05.2018
19:07:35
собственно - код ошибки. в принципе, тип и значение можнообъединить в одно число, но придется же разъединять
ну вобщем то вы пытаетесь вынести контект ошибки за пределы места где произошла ошибка. по моему мнению если вы не смогли обработать ее на месте, то не сможете ее нормально обработать и выше. тоесть ошибки вида "x компьютеров запустились, y компьютеров отказали" не должно обрабатываться в зависимости от значения x и y.

Kirill
27.05.2018
20:03:51
а чо, этого еще кто-то не знал? О_о

Google
Kirill
27.05.2018
20:18:13
я не знаю, что ты там говоришь, но за голосовые буду впредь кикать.

Daniel
27.05.2018
20:57:57
ну вобщем то вы пытаетесь вынести контект ошибки за пределы места где произошла ошибка. по моему мнению если вы не смогли обработать ее на месте, то не сможете ее нормально обработать и выше. тоесть ошибки вида "x компьютеров запустились, y компьютеров отказали" не должно обрабатываться в зависимости от значения x и y.
коллега, подумайте вот о чем: 1. или я вытаскиваю контекст ошибки туда, где у меня есть логгер, или затаскиваю логгер туда, где произошла ошибка 2. даже если я это сделал - я все равно должен что-то вернуть, правда? 3. то, что я вернул, должно быть содержательным, так? иначе мы бы возвращали bool и не парились

Daniel
27.05.2018
21:05:20
И что? Это в пользу какого тезиса аргумент?

Dmitry
27.05.2018
21:05:47
да, я признаю что не вижу как уложить в эту схему ситуацию когда вам из ошибки в зависимости от некоторых условий нужны разные данные. но я бы постарался по максимуму избежать такого

Daniel
27.05.2018
21:06:22
Спасибо за совет, бро

Dmitry
27.05.2018
21:06:50
И что? Это в пользу какого тезиса аргумент?
это в пользу того тезиса что вызывающий код знает ттолько то что ошибка удовлетворяет интерфейсу Error

и не лезет самостоятельно ни в какие поля структуры ошибки

Daniel
27.05.2018
21:07:28
Там выше кто про структуру писал?

Dmitry
27.05.2018
21:08:05
кто? где? когда ?

Daniel
27.05.2018
21:09:52
Если все, что у меня есть, это интерфейс error (c маленькой) - ничего, кроме строки, я не передам. Уникальной строки, если я хочу хоть что-то о контексте ошибки сообщить

Daniel
27.05.2018
21:11:18
Откуда я узнаю тип?!

Dmitry
27.05.2018
21:11:55
x,ok := e.(MyError) ?

Daniel
27.05.2018
21:13:17
То есть - вы предлагаете примерно то же, что и я, только без явного указания в интерфейсе error.

Это тупняк, коллега, примите что-нибудь

Dmitry
27.05.2018
21:13:58
эм, я вас не запоминал кто что предлагает

То есть - вы предлагаете примерно то же, что и я, только без явного указания в интерфейсе error.
только без явного указания в интерфейсе error. это фраза непонятна

stixlink
27.05.2018
21:41:42
Коллеги, скажите, плиз, каким образом хранятся в структуре, поля структуры. Там лежит поитер? type Config struct { Database Database HttpServer HttpServer }

Google
stixlink
27.05.2018
21:44:06
при передаче Config по ссылке и изменении там Config.Database.field1 измениться ли это поле в исходной структуре Config?

а то на ночь глядя запутался

Daniel
27.05.2018
21:48:00
Там лежит что положите

Но - да, изменится

Alexey
27.05.2018
21:59:07
Структуры по ссылке передаются всегда, но если передать не как ссылку, то при изменении будет копирование

stixlink
27.05.2018
22:28:19
@supmea, @onokonem спасибо!

Constantine
28.05.2018
06:55:26
@onokonem мастер, ты как раз тут ))

а не, ночью был ?

в общем у меня такой вопрос, кто как хранит сваггер доку и генерируемый код

рядом с сервисом, в монорепе, только у себя на жестком диске

Daniel
28.05.2018
06:58:33
в общем у меня такой вопрос, кто как хранит сваггер доку и генерируемый код
генерированный код я коммичу в репу, репу на протокол стараюсь делать отдельную, тогда можно ее шарить, например, с фронтендерами.

Юрий
28.05.2018
06:59:05
а если используется микросервисная архитектура?

Constantine
28.05.2018
06:59:09
то есть протокол (дока) и микросервис у тебя разные репо?

Daniel
28.05.2018
06:59:51
у меня есть swagger.yml и генерированное из него - это одна репа, и сервисы, которые его используют - в своих

ну - по уму так

Constantine
28.05.2018
07:00:35
я верно понимаю, что это прям жирный репозиторище?

прям настолько жирный, что в победе ему не летать?

это ты опытным путем дошел?))

Daniel
28.05.2018
07:01:55
ну - да

Юрий
28.05.2018
07:02:11
то есть, если меняется модель, которая используется в нескольких сервисах, то нужно обновить все сервисы?

Google
Daniel
28.05.2018
07:02:20
но я сторонник мультирепы был сразу, других способов организации кода не пробовал, в общем

Юрий
28.05.2018
07:03:25
вот я тут поднял идею писать для каждого сервиса свой свагер. А для общей доки со всеми сервисами написать какой-ниудь js скрипт для мержа

Daniel
28.05.2018
07:05:00
один и тот же протокол описывать в нескольких сваггерах?!

Vladimir
28.05.2018
07:05:18
то есть, если меняется модель, которая используется в нескольких сервисах, то нужно обновить все сервисы?
Я слышал очень хорошие отзывы об использовании Базеля как системы сборки под такие вещи

Типа там это просто, удобно и очевидно

Admin
ERROR: S client not available

Constantine
28.05.2018
07:05:57
Вова, дай ссылочку плиз ))

Constantine
28.05.2018
07:06:02
для меня ленивого ?

Daniel
28.05.2018
07:06:11
ага
безумие...

Constantine
28.05.2018
07:06:27
KISS в чистом виде ?

обколоться

Юрий
28.05.2018
07:06:36
это ж микросервисы в конце-концов, юзера мы ж описываем во всем репо его испльзующих

Vladimir
28.05.2018
07:06:47
Опенсорс реимелементация Google blaze

Constantine
28.05.2018
07:07:20
ага-ага

Vladimir
28.05.2018
07:07:59
Статей по ней маловато, но есть примеры

https://github.com/laramiel/bazel-example-golang типа такого

Alexander
28.05.2018
07:08:25
Читал про Базель, что он не для слабых духом. И для маленьких проектов - такое себе. Ну и большой под него переделывать заманаешься. Хорош только если с самого начала под него затачиваться

Google
Vladimir
28.05.2018
07:10:11
Alexander
28.05.2018
07:11:18
Так-то да. Ну и сукссес-стори не особо видно, кроме гугла. По-моему ещё дропбокс с ним игрался

Vladislav
28.05.2018
07:12:23
Вообще есть а-ля Bazel только на go написанный. https://please.build

Alexander
28.05.2018
07:13:52
Ну понятно, но хочется верить что концепция однотипная

Sergey
28.05.2018
07:14:38
Ну понятно, но хочется верить что концепция однотипная
там не только концепция. там уши blaze торчат из всех щелей

кое где прямо в ошибочных сообщениях Blaze

базель дает очень много плюшек когда сама сборка ебически сложная. кодогенерация, использование одних бинарей для сборки других, сборка сотни артефактов (бинари, пакеты под все подряд, докер-образа, ami-образа). любой подобный граф зависимостей базель корректно трекает и резолвит, кешируя при этом артефакты, поэтому билды всегда инкрементальные и обычно очень быстрые

Daniel
28.05.2018
07:20:11
а как описываются эти зависимости?

Sergey
28.05.2018
07:21:11
а как описываются эти зависимости?
для гошки есть gazelle, которая инспектит сырцы и генерирует BUILD-файлы

в общем случае в BUILD-файлах (а-ля Makefile) описываются не зависимости, а "как собрать"

посмотрите на кубернетес или на енвой

там в почти каждой директории есть файл BUILD

Daniel
28.05.2018
07:26:43
кубернетес - та еще альтернативно ориентированные

Constantine
28.05.2018
07:27:12
?

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