Savely
Anonymous
И он далёк от совершенства
Anonymous
Ещё bytom на go
Anonymous
Но крестовых больше
Евгений
Мерль
почему - хз
Потому что в «интерпрайзных» блокчейнах часто используют не PoW, а консенсусы типа рафта, у которых нормальные реализации в основном на Go
+ там очень любят docker и Kubernetes
Daniel
а это где такое счастье?
Евгений
а это где такое счастье?
это пример токена на NEO
https://github.com/CityOfZion/neo-storm/blob/master/examples/token/token.go#L64
Daniel
Daniel
ага. не удивлен.
я вообще блокчейн ненавижу люто.
сама по себе идея ничего, но реализации...
дока вся написана, похоже, с одной мыслью "ни в коем случае не попалить ненужность блокчейна"
freezlite
Есть http handler и много
if err != nil {
log(err)
writeStatusCode(500)
return
}
Это можно как то соократить ? )
freezlite
checkErr(500), но как завершить код хз)
Daniel
до двухх строк
freezlite
такая себе оптимизация)
Daniel
и станет невнятно
Евгений
freezlite
ну там на самом деле в функции log(err) много одинаковых параметров, везде в книге говортся о DRY строк, но не символов)
freezlite
4 повторяющихся аргумента
Мерль
Мерль
и когда реализацию KV принципиально неконсинстеного хранилища поверх блокчейна пытаются выдать за production grade хранилище для бизнеса (а-ля Oracle, дадада)
Мерль
freezlite
как в vscode сделать чтобы он подсказывал импорты
freezlite
самому писать всю строку очень утомительно
Daniel
так goimports их правит вполне успешно
Daniel
надо только повесить его вызов на сохранение
Veaceslav
так мужики мне нужна ваша помощь. Сделал сервер на Echo и хотел бы понять как сделать build для linux.
Daniel
(ну - я так сделал)
Veaceslav
Нужно будет запустить все это на Centos, go я там уже поставил
Veaceslav
Хотя вроде как и не нужно ))
Veaceslav
Поможете плиз ?
freezlite
ага, goimports уже с gofmt внутри
p0rsche
Парни, подскажите, когда делается вот так: s := &SomeStructType{Field1: value1} это значит что создается структура новая и возвращается указатель на нее?
freezlite
да
Daniel
он берет первый попавшийся, в котором есть соответствующая сигнатура
Andrei 🦉
здесь написано про бубунту, но команды для билда на любой системе ничем не отличаются
Veaceslav
Veaceslav
Нету в системе env
Заур
Такой вопрос. Я делаю запрос в базу монги и получаю коллекцию документов. В документах есть поля, которые текущий юзер не может видеть. Как их лучше отсеивать, отсеивать в самой программе, или перенести эту нагрузку на саму монгу, что бы она сама просчитывали, возвращать поле или нет?
Заур
Я бы хотел перекинуть на монгу, но меня беспокоит, что монга будет нагружена выполнением этой логики
Заур
Viktor
Заур
Аа, всё
Заур
Понял, спасибо
Eugenii
Заур
Т.е. отдельные условия для строк и ещё отдельные для некоторых полей
Anonymous
Во-первых, это красиво :D
Eugenii
case, coalisce если не удовлетвояет условию, то null
Eugenii
либо если очень хочется то в том же постгре можно упаковывать в json
Roman
Евгений
Daniel
и что можно будет сделать?
Заур
Заур
😀
Заур
С плакатом "руки прочь от блокчейна"
Andrey
..и получить штраф в защекоинах
🎉
Люди, а как реализуете связку go+react, в плане роутов? Роуты и в реакте и в го?
🏁Александр
а []myStruct и []*myStruct они же одинаково в памяти занимают?
🏁Александр
если я набор результатов возращаю
🏁Александр
(при условии что на каждую запись - свой экземпля myStruct)
🏁Александр
но указатели то указывают на обьекты же
Vovan
ссылка на значения и значения не могут занимать одинаково
🏁Александр
я специально оговрился что на каждую запись свой обьект
🏁Александр
вы не поняли...
Darwin
🏁Александр
я считаю []*myStruct + обьем памяти по каждому обьекту ==/!= []myStruct
🏁Александр
в первом случаи даже получится мне кажется больше
🏁Александр
накладные расходы
Darwin
ну да, из стека выделится еще место под адрес
Darwin
1 байт или сколько там
🏁Александр
type myStruct {
Num int
}
var result1 []myStruct
for i:=0;i<1000000;i++ {
result1 = append(result1, myStruct{
Num: i
})
}
var result2 []*myStruct
for i:=0;i<1000000;i++ {
tmp := &myStruct{
Num: i
}
result2 = append(result2, tmp)
}