
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
(даже не знаю, как тебе намекнуть, что это троллинг)
где ключ — адрес ячейки, а next_ptr — строка, указывающая на следующую ячейку

Dmitry
27.05.2018
18:55:26

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

Мерлин
27.05.2018
18:56:05

Dmitry
27.05.2018
18:56:16

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

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 и не парились

Dmitry
27.05.2018
20:59:51

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
и не лезет самостоятельно ни в какие поля структуры ошибки

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

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

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

Dmitry
27.05.2018
21:10:52

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
эм, я вас не запоминал кто что предлагает

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
Вова, дай ссылочку плиз ))

Юрий
28.05.2018
07:05:59

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

Vladimir
28.05.2018
07:13:04
А не Базель

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

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

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

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

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

Constantine
28.05.2018
07:27:12
?