@gogolang

Страница 742 из 1630
Mush
11.01.2018
16:43:00
HexToAddress

Timophey
11.01.2018
16:44:45
да

ты гений )

спасибо )

Google
Mush
11.01.2018
16:45:23
ты еще вскоре наткнешься на то, что geth падает с ошибкой где-то раз в неделю и ему надо занулять базу

https://github.com/ethereum/go-ethereum/issues/15408

поэтому надо их держать штук 5, чтобы до восстановления хотя бы 2 рабочих оставались

я кстати делал туда мерж реквест https://github.com/vincentserpoul/go-ethereum/commit/c4a9ebacd11dd9ada77f792e943b6f7230ab5521

с фиксом очевидной паники

но эти пока не делали релиз с этим, так что можно получить этот код только если вручную билдить код из мастера

Timophey
11.01.2018
16:54:27
ты точно гений ) спасибо )

Mush
11.01.2018
16:57:50
Ну я рад что хоть кто-то похожим занимается. Когда я месяц назад спрашивал по этой теме, то тут были сплошные шуточки

Timophey
11.01.2018
16:58:57
)

ну) мне очень тоже приятно )

Alexander
11.01.2018
17:52:48
А у меня нода никак синкануться не могла(

Andrey
11.01.2018
17:56:53
Подскажите как стандартным контекстом отменить write в сокет?

Sergius
11.01.2018
17:57:05
Приветы блокчейнерам ?

Google
Ivan
11.01.2018
18:18:44
приветы. майним дальше

Sergey
11.01.2018
18:23:46
Под солярку на спарке компилил кто ?

Sergius
11.01.2018
18:24:09
Ну при чём здесь майнинг и блокчейн. ?

Slava
11.01.2018
18:26:02
у нас в прокопьевске пол города были майнерами

хотя до сих пор, наверное, так

anton
11.01.2018
18:32:35
майнеры, это которые в качестве IDE топят за RubyMine?

Andrew
11.01.2018
18:33:33
Майнеры - не люди!

anton
11.01.2018
18:33:53
у нас в прокопьевске пол города были майнерами
мне кажется в Кемеровской области что не город - так майнинг ферма

Andrew
11.01.2018
18:34:23
мне кажется в Кемеровской области что не город - так майнинг ферма
под землей сидят китайцы, крутят большую динамо машину

Alex
11.01.2018
22:08:05


Пайк прогнулся :)

Vladimir
11.01.2018
22:37:57
о, круто! Осталось дождаться когда udp, unix socket и tcp начнут удовлетворять Listener interface'у

(или какие там с ними проблемы сейчас?)

Andrew
12.01.2018
04:14:01
о, круто! Осталось дождаться когда udp, unix socket и tcp начнут удовлетворять Listener interface'у
В Go 1 можно только добавлять фичи. Изменять ничего нельзя, т.к. поломается обратная совместимость...

‎‎‎‎
12.01.2018
04:34:34
как тут дебажить? О_о

у меня ошибка во время аплоада 0x5dfcf0

?

Andrew
12.01.2018
04:53:22
как тут дебажить? О_о
Кэп подсказывает, что юзать дебаггер ))

Но можешь и printf'ами ))

‎‎‎‎
12.01.2018
05:16:20
Но можешь и printf'ами ))
Ну нашел я строку с ошибкой, лучше не стало (

Google
Andrew
12.01.2018
05:17:34
Ну нашел я строку с ошибкой, лучше не стало (
Больше printf'ов богу printf'ов! P.S. Ясен перец, лучше станет только когда обраружите источник ошибки.

‎‎‎‎
12.01.2018
05:25:57
а, я тупой

надо было заюзать panic(err) пофиксил уже))



Как сделать так чтобы при создании этой структуры мапа requestParams сразу создавалась? чтобы не писать в функции make(map[string]string)

Valerka
12.01.2018
05:50:32
Почему не пойти простым путём и не сделать функцию newMyStruct которая будет возвращать объект структуры с созданной мапой

Valerka
12.01.2018
07:03:27
А разве это не есть тот самый true вариант?
Ну может тут есть гуру которые могут предлажить более хитрый и удобный способ))) А так то это самое очевидное решение

Igor
12.01.2018
07:04:01
Так оно и самое правильное)

Valerka
12.01.2018
07:04:40
ну вот и мне так оно кажется)

Mush
12.01.2018
10:49:33
Коллеги, посоветуйте как можно решить след. задачку. У меня есть работа с несколькими апи. У каждого апи свой клиент со своим интерфейсом. Я реализовал функционал обертку, который позволяет оперировать пулом подключений к апи в виде вызова лямбда ф-ций. someApi1.call(func(api1Client *api1Client){ err = api1Client.call1(); if err !=nil { return err } return nil } error) someApi2.call(func(api2Client *api2Client){ err = api2Client.call1(); if err !=nil { return err } } error) Проблема в том, что из-за разных типов клиентов api1Client и api2Client мне приходится дублировать данный функционал. Как бы вы сделали данную реализацию, чтобы не дублировать код? я могу сделать там interface{} в параметрах, тогда в самой ф-ции надо кастовать в нужный тип, чем не хочется заниматься

Aleksandr
12.01.2018
10:55:06
Не совсем понял, но может хранить пул более низкоуровневых http request?

Ну ты понял, вызовы http клиента, а не обертки над ним

Mush
12.01.2018
10:57:40
cчитай что api1Client и api2Client это вообще не похожие типы, которые даже прикладным протоколом не пересекаются. что в принципе и есть так ? так что про http тут, к сожалению, речь идти не может

обертка делает то, что подбирает из пула нужный клиент.

и для двух типов клиентов приходится задублировать этот функционал подбора из-за разных типов

Andrei
12.01.2018
11:00:11
рефлексия или кодогенерация)

"42" в мире го

Aleksandr
12.01.2018
11:04:31
обертка делает то, что подбирает из пула нужный клиент.
не пойму зачем, если клиенты в разных протоколах работают

Google
Aleksandr
12.01.2018
11:04:55
а, хочется держать пул реквестов разных протоколов?

ну тогда да, тысячу раз обсуждали

Mush
12.01.2018
11:06:24
суть в том что в обертку вынесена логика подбора и итерирования по пулу клиентов. скажем так это что-то вроде умного лоад-балансера. и хочется ее юзать для разных типов клиентов.

и не хочется из-за разности типов для каждого типа писать копию этой логики.

Mush
12.01.2018
11:08:23
ну тогда да, тысячу раз обсуждали
ну раз 1000, то и 1001 ничего не изменит ведь?

Andrew
12.01.2018
11:08:55
Мб запилить через интерфейсы? И в функции большой case для каждого типа.

Aleksandr
12.01.2018
11:09:32
ну раз 1000, то и 1001 ничего не изменит ведь?
для меня нет. но ты в чате давно, видел и участвовал не в одной дискуссии на жту тему

Andrei
12.01.2018
11:09:44
и не хочется из-за разности типов для каждого типа писать копию этой логики.
делаешь общий темлпейт и генеришь из него код для разных типов, либо копаешься в типах с помощью рефлексии в рантайме, ловя паники, ничего другого в го нет

Mush
12.01.2018
11:10:48
Мб запилить через интерфейсы? И в функции большой case для каждого типа.
ф-ции в принципе одноразовые, тк передаются через параметры, те там даже не кейс а просто каст к конкретному типу. тк передавать ф-ции будет код, который работает с конкретным типом клиента. Это реализуемо. Но мне кажется может быть по-проще и попрямее и без интерфейсов. Но придумать не могу.

Aleksandr
12.01.2018
11:13:23
кстати, давали ссылку на что-то типа 50 мест где можно выстрелить себе в ногу (про го речь). вот тут же я стреляю в ногу: _, err := db.DbConnection.Query("select 1 from "+entity+" where slug = $1 limit 1", slug) rows не беру из результата выполнения запроса и соотственно не закрываю его?

Aleksandr
12.01.2018
11:14:45
так а зачем query, если тебе rows не надо?
проверить есть ли строка

Alexei
12.01.2018
11:14:54
или если одну строку, то QueryRow

Aleksandr
12.01.2018
11:14:55
вернет ErrNoRows или nil

Alexei
12.01.2018
11:15:33
если QueryRow - то вернет ErrNoRows, если строки нет

Aleksandr
12.01.2018
11:16:29
если QueryRow - то вернет ErrNoRows, если строки нет
он возвращает Row без err. Вернемся к вопросу

Google
Alexei
12.01.2018
11:16:45
доки вообще никто не читает?

Mush
12.01.2018
11:17:11
ошибку и после exec можно получить ведь, не надо обязательно результат получать. разве нет?

Aleksandr
12.01.2018
11:17:15
доки вообще никто не читает?
слушай, ты вопрос прочел?

Alexei
12.01.2018
11:17:38
if err = db.QueryRow("select slug where....", slug).Scan(&slug); err == sql.ErrNoRows { bla-bla-bla }

jack
12.01.2018
11:17:49
Ребята, давайте жить дружно!

Aleksandr
12.01.2018
11:18:20
if err = db.QueryRow("select slug where....", slug).Scan(&slug); err == sql.ErrNoRows { bla-bla-bla }
мне не нужно сканировать ничего. мне нужно получить ошибку ErrNoRows. Вопрос прочитай еще раз

Alexei
12.01.2018
11:18:41
слушай, ты вопрос прочел?
прочел, хз, что будет с потеряным rows, поскольку ты его не перебираешь в последнем Next не вызывается Close

с Exec - не знаю, вернется ли ошибка

Alexei
12.01.2018
11:19:23
МНТ же

Mush
12.01.2018
11:19:50
_, err := repo.db.Exec( “…”) if err != nil { чем это не решение?

Aleksandr
12.01.2018
11:20:19

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