
Slava
03.03.2018
06:58:40

Andrey
03.03.2018
06:59:16

Artem
03.03.2018
07:00:56

Andrey
03.03.2018
07:01:09
ой

Google

Andrey
03.03.2018
07:01:13
пхп запахло

Michael ?
03.03.2018
07:01:47

Andrey
03.03.2018
07:02:18
Это был риторический вопрос. =)

Artem
03.03.2018
07:03:50
пхп запахло
дело не в пхп или ограниченности использования а в понимании процесса и оценке стоимости рисков. Безусловно есть контейнеры, которые живут долго, но их использование не ограничивается стартом и ожиданием коннекта. Обычно восстановление предусмотренно

Andrey
03.03.2018
07:04:34
Ладно, опять же повторюсь. Докер - прекрасное изобретение.
Мы с ним не справились. Возможно, при повторной необходимости оркестрировать больше, чем тремя серверами, мы к нему вернемся. Пока отложили в долгий ящик.

Artem
03.03.2018
07:07:52

Pawel
03.03.2018
07:16:32

Artem
03.03.2018
07:17:03

m
03.03.2018
07:17:29
Доброе утро.
Есть вот такая функция https://golang.org/pkg/os/#StartProcess . Она позволяет через https://golang.org/pkg/os/#ProcAttr наследовать запускаемому процессу несколько открытых файлов. Как запускаемой программе понять, какой из переданных файлов какой?

Artem
03.03.2018
07:17:57

m
03.03.2018
07:21:10

Artem
03.03.2018
07:22:49

Google


m
03.03.2018
07:24:07
я пробовал класть дескрипторы. Но это не прокатыват. Они перемешиваются и дублируются при запуске программы:
user@debian:~$ sudo ls -l /proc/1107/fd
[sudo] пароль для user:
итого 0
lrwx------ 1 user user 64 мар 3 10:04 0 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 1 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 2 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 3 -> socket:[15955]
lrwx------ 1 user user 64 мар 3 10:04 4 -> anon_inode:[eventpoll]
lrwx------ 1 user user 64 мар 3 10:04 5 -> socket:[15956]
lrwx------ 1 user user 64 мар 3 10:04 6 -> socket:[15957]
lrwx------ 1 user user 64 мар 3 10:04 7 -> socket:[15958]
user@debian:~$ sudo ls -l /proc/1114/fd
итого 0
lrwx------ 1 user user 64 мар 3 10:04 0 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 1 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 2 -> /dev/pts/1
lrwx------ 1 user user 64 мар 3 10:04 3 -> socket:[15957]
lrwx------ 1 user user 64 мар 3 10:04 4 -> socket:[15956]
lrwx------ 1 user user 64 мар 3 10:04 5 -> socket:[15958]
lrwx------ 1 user user 64 мар 3 10:04 6 -> socket:[15958]
lrwx------ 1 user user 64 мар 3 10:04 8 -> socket:[15955]
lrwx------ 1 user user 64 мар 3 10:04 9 -> anon_inode:[eventpoll]
user@debian:~$
сверху запускатель, снизу - запущенная.


Artem
03.03.2018
07:28:30
ну так там есть же имена и pid, а зачем они дублируются фиг его знает, но это скорее всего логика пользовательская

m
03.03.2018
07:31:11
А как ко всему этому из Go достучаться?

Aleksandr
03.03.2018
07:31:42
всем привет, подскажите пожалуйста, кто как балк инсерт разруливает? у меня постгрес, выяснилось что gorm не поддерживает балки (пока), что печально (учитывая то что среди гошных орм она самая популярная). лепите свои raw SQL или можно как-то красиво это сделать? у меня к raw SQL отвращение после django

Artem
03.03.2018
07:32:47

m
03.03.2018
07:34:02

Artem
03.03.2018
07:42:59
Вы наверное думаете, что помогаете, но это не так.
на сколько я понимаю у вас файлы заменяют Stdin, Stdout и Stderror ну и остальное в зависимости от ОС (я хз че там быть должно) Вот именно в том порядке в котором вы их передаете они и идут, т.е. вы можете прямо os.Stdout и остальные использовать и это будут эти файлы ну и передавая в качестве одного из файлов nil -вы говорите что файл закрыт

m
03.03.2018
07:45:23
я передаю 4 сокета. в примере выше их видно. первые три это стдин, аут и ерр. потом мои 4 сокета. приходят они перемешавшись и дублируясь, что тоже видно в ls -l выше.
и проблема в том, что я не могу их никак использовать из-за этого.
ибо не ясно, какой сокет какой.

Artem
03.03.2018
07:47:15

m
03.03.2018
07:48:02
всё она воспринимает нормально. просто в удобном ей порядке.

Artem
03.03.2018
07:49:01

m
03.03.2018
07:53:09
там нет нужной информации: https://golang.org/pkg/syscall/#Rusage

Artem
03.03.2018
07:54:00

Nikolay
03.03.2018
08:19:30
Коллеги, кто использовал btcsuite/btcd? Подскажите, пожалуйста, беру транзакцию по хэшу с помощью GetRawTransactionVerbose, в ответе приходят Vin, Vout. Cо вторым все предельно ясно, а вот с Vin как-то не идёт, не могу понять как правильно индекс входа взять, чтобы считать выход предшествующей транзакции

Google

Hokusai
03.03.2018
10:59:51
Народ, подскажите как выполнять plpgsql процедуры, и сохранять результат в переменную
написал процедуру, выполняю её через db.Exec("SELECT procedure_name($1)", "some value"), возвращается структура с поинтером на какой-то адрес и 0

Alexey
03.03.2018
11:01:27
Надо через QueryRow
Exec возвращает sql.Result

Hokusai
03.03.2018
11:06:05

Wingman
03.03.2018
12:23:42
кто в регекспах шарит?
какую альтернативу можно применить в гошке для positive lookahead? (не поддерживается =\)

Aleksey
03.03.2018
12:24:49

Wingman
03.03.2018
12:25:15
я там уже полдня экспериментирую, и? :)

Aleksey
03.03.2018
12:30:50

Wingman
03.03.2018
12:31:11
в доках сказано только, что "лукахеда нет, извиняйте" :)
тут не дока, а скорее рецепт нужен
на всяких stackoverflow при overlapping lookaheaad советуют половину логики в коде реализовывать

Wingman
03.03.2018
12:34:10
дико не хочется =\
где мои pcre, хнык

Aleksey
03.03.2018
12:36:25
os.Exec(perl) :))

Mars
03.03.2018
12:37:41
Еще есть биндинг к реализации на Rust

Wingman
03.03.2018
12:38:02
о, спасибо
пошел гуглить

Leonid
03.03.2018
13:06:25

Google

Mars
03.03.2018
13:06:54
Спасибо

Wingman
03.03.2018
13:20:35
туплю

Vasily Romanov
03.03.2018
13:25:50

Wingman
03.03.2018
13:26:31
да, уже нагуглил, пытаюсь...

03.03.2018
13:48:19
В go есть аналог StreamReader с шарпа? Чтобы не грузил ОЗУ при чтении больших файлов

Admin
ERROR: S client not available

Илья
03.03.2018
13:54:01
bufio

Aleksandr
03.03.2018
14:00:29

03.03.2018
14:13:58

Виктор
03.03.2018
14:55:26
?
Просто большинство наследует базовый интерфейс ридера а он подразумевает потоковое чтение :)

Pawel
03.03.2018
16:07:28

Wingman
03.03.2018
16:16:54
решение в лоб-то есть, но только на pcre

Pawel
03.03.2018
16:18:55
универсальное решение - https://github.com/prataprc/goparsec

Wingman
03.03.2018
16:19:31
м
спасибо, погляжу

Pawel
03.03.2018
16:25:25
это лучшее что я вынес из хаскеля, простите мой французсский

Aleksandr
03.03.2018
17:37:13
А что в го является аналогом decimal для работы с деньгами?

Google

Aleksandr
03.03.2018
17:38:06
Писать свою структуру? Или какой популярный проект?

Pawel
03.03.2018
17:38:54
big.Rat

Aleksandr
03.03.2018
17:40:42
Спс посмотрю

Wingman
03.03.2018
19:11:13
Народ, а посоветуйте плз - может, есть готовое решение для хранения переменных/объектов/структур в памяти, типа мап, но при этом с возможностью индексирования и поиска не только по основному ключу, но и, например, по значениям переменных в хранимых структурах? Ну или там, с ручным заданием нескольких ключей для индексирования и поиска
Для чего нужно: есть большушая куча объектов в бд, сложных, со связями между собой, с которыми постоянно необходимо что-то делать (через опр.промежутки времени)
Постоянно терзать бд для их выбора - неоптимально, можно ведь держать все в памяти и дергать базу только ддя обновлений и, например, периодических синхронтзаций
Но хочется делать это удобно :)

Никита
03.03.2018
19:18:33
Кто нибудь может обьяснить, почему UPDATE SQL-запросы такие медленные? Даже самые простые.

Daniel
03.03.2018
19:19:50
при чем тут go?

Никита
03.03.2018
19:19:57
Не при чем
просто вопрос

Wingman
03.03.2018
19:27:02
Особенно заметно, если данных много
+ лок/анлок

Slava
03.03.2018
19:36:12
Кто нибудь может обьяснить, почему UPDATE SQL-запросы такие медленные? Даже самые простые.
не все медленные, всё зависит от 1) как вы настроили и какие индексы используете 2) настроек самой субд, включен ли там лог и как часто он синхронизруется, 3) от настроек репликации, нужен ли кворум или всё асинхронное. 4) от нагрузки бд, возможно данные очень часто обновляются и у вас лок контеншен высокий 5) возможно у вас проблемы с железом/настройками ос итд
вообщем много всего

Никита
03.03.2018
19:37:17


Pawel
03.03.2018
20:04:57
Народ, а посоветуйте плз - может, есть готовое решение для хранения переменных/объектов/структур в памяти, типа мап, но при этом с возможностью индексирования и поиска не только по основному ключу, но и, например, по значениям переменных в хранимых структурах? Ну или там, с ручным заданием нескольких ключей для индексирования и поиска
Для чего нужно: есть большушая куча объектов в бд, сложных, со связями между собой, с которыми постоянно необходимо что-то делать (через опр.промежутки времени)
Постоянно терзать бд для их выбора - неоптимально, можно ведь держать все в памяти и дергать базу только ддя обновлений и, например, периодических синхронтзаций
Но хочется делать это удобно :)
здесь нечего особо советовать, кроме как держать в одном объекте несколько мапов с разными ключами и указателями на одни и те же сущности.
другой вариант, более разумный в 99% описанных случаев, - не извращаться с мапами, держать всё в одном массиве, и выполнять по нему линейный поиск


Wingman
03.03.2018
20:19:01