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

terry
02.03.2018
15:23:41
И в тему пятницы отличная штука — терминальный клиент для Slack на Go))
https://goo.gl/tL4qxc

xPushkin
02.03.2018
15:35:24

terry
02.03.2018
15:36:40

Google

Nick
02.03.2018
15:57:11
Всем привет! Кто знает, есть ли какая нибудь альтернатива dep хорошая ?

28690
02.03.2018
16:00:39
привет ребят! Сейчас кто-то в Mail.ru на лекции сидит?

Aleksey
02.03.2018
16:01:34
Чятик, привет! Подскажите, это можно в одну строчку уложить?
func nameRewrite(name string) string {
name = regexp.MustCompile(`[^a-zA-Z\d:]+`).ReplaceAllString(name, "_")
name = regexp.MustCompile(`^_|_$`).ReplaceAllString(name, "")
return name
}

xPushkin
02.03.2018
16:02:07

Aleksey
02.03.2018
16:02:16

Mykyta
02.03.2018
16:03:21
Почему?
Оно будет компилироваться каждый раз при каждом вызове функции

xPushkin
02.03.2018
16:03:33
Слишком долго и трудоёмко делать это в рантайме

Aleksey
02.03.2018
16:04:20
Окей. Учту. btw, можно ли два реплейса в одну трочку?

xPushkin
02.03.2018
16:05:51
К чему такое рвение уместить всё в одну строчку? Быстрее от этого работать не будет. Только читаемость кода ухудшится.

Aleksey
02.03.2018
16:06:12
Академичесий интерес, блин

Daniel
02.03.2018
16:06:24

Aleksey
02.03.2018
16:06:33
Ну хочу я узнать можно или нет. Почему каждый первый хочет рассказать мне что так делать не стоит?

Daniel
02.03.2018
16:07:00
Потому, что так делать не стоит

Google

Aleksey
02.03.2018
16:08:11
Спасибо, учту. Вернёмся к вопросу — можно ли это сделать? (не засовывая одно в другое)

xPushkin
02.03.2018
16:10:58

Aleksey
02.03.2018
16:11:43
Так что сделать то?
Давай сформулирую так. Можно ли достичь того же результата не вызывая MustCompile дважды?

xPushkin
02.03.2018
16:15:08
У вас два разных регулярных выражения. Скомпильте оба и используйте каждое в нужном месте.

Aleksey
02.03.2018
16:29:02
Ответ, кстати, можно

Alexey
02.03.2018
17:07:42
В мейле го презентация

Александр
02.03.2018
17:12:45

xPushkin
02.03.2018
17:19:11

Никита
02.03.2018
17:34:43
Такой вопрос по стандартной либе databases/sql : Query() и Exec() защищают от инъекций?

Alexey
02.03.2018
18:46:45
Зависит от того, как запрос составляете:)

Alexey
02.03.2018
19:20:50
В мейле сказали что требуется 4 го программиста с ЗП от 120 до 250 тр.

Combot
02.03.2018
19:22:37
combot.org/chat/-1001046001048

Алекс
03.03.2018
06:51:44
когда 1.10.1 выйдет?
обещали первого марта

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

Olzhas
03.03.2018
08:37:41

Google

Nikolay
03.03.2018
08:44:59
https://play.golang.org/p/yNVEClSK5aH
Спасибо, но немного не то. Есть тип данных `github.com/btcsuite/btcd/chaincfg/chainhash/#Hash`, это обёртка над массивом. Если я использую либу, то получаю chainhash.Hash как строчку, однако, если так копирую вручную, получаю сырые байты.

Olzhas
03.03.2018
08:54:52

Aleksey
03.03.2018
09:09:47
когда 1.10.1 выйдет?
https://github.com/golang/go/milestone/70
Оформи 24 PR и он выйдет максимально быстро :)

Ruslan
03.03.2018
12:57:29
Привет всем, кто подскажет как реализовать простенький http сервер с использованием пула потоков для обработки подключений, гуглинг на эту тему в интернете не дает ответов. Как я понимаю из коробки го однопоточный?

Aleksandr
03.03.2018
12:58:17

Dmitriy
03.03.2018
12:58:28
и это его плюс и отличие

Alexey
03.03.2018
13:03:29
А вот пул горутин сделать лимитированный в http я даже не знаю как) надо доки читать

Ruslan
03.03.2018
13:04:11
Это настоящие потоки или как в питоне с GIL? Ну и всё таки самый главный вопрос, никто не знает как организовать пул потоков для обработки входящих подключений? Например как это делается в C# с QueueUserWorkItem

Alexey
03.03.2018
13:06:34
GIL никаких нет

Den
03.03.2018
13:07:09

Nikolay
03.03.2018
13:07:31

Alexey
03.03.2018
13:07:50

Den
03.03.2018
13:09:06
Нет

Ruslan
03.03.2018
13:09:37

Alexey
03.03.2018
13:11:38

Ruslan
03.03.2018
13:14:46
Ладно, буду дальше гуглить по тредпулам, может найду что

Alexey
03.03.2018
13:16:42

Ruslan
03.03.2018
13:17:15

Admin
ERROR: S client not available

Google

Alexey
03.03.2018
13:17:59

Ruslan
03.03.2018
13:19:46
Ну, видимо мне надо внимательнее разобраться с темой потоков в Go

Wheaten
03.03.2018
13:21:24
да тут уже разобрали основное

Анна
03.03.2018
13:31:37
не может оно закрываться по умолчанию, надо побольше внмания уделять ну че вы как малэнькие

Dmitriy
03.03.2018
13:54:56
микросервисами кто-то занимается? кроме net.InterfaceAddrs() есть более адекватный вариант понять айпишник хоста/контейнера?

Zver
03.03.2018
14:19:15
Ну, видимо мне надо внимательнее разобраться с темой потоков в Go
Фактически колечество потоков создается равное колчеству ядер. (но не гарантированно) Можно задать свое. А уже гоурутины пераспределяются, когда надо между этими потоками. А вообще в Гоу кооперативная многозадачность, управление другой гоурутине передается, когда текущая останавливается для ввода-вывода, сна или ждет отправки, чтения канала.

Daniel
03.03.2018
16:27:34

Ruslan
03.03.2018
16:43:31
Спасибо за информацию

Александр
03.03.2018
17:00:53
это самое
вы только имейте введу что плодить гоурутины это тяжкий труд ?
в смысле после превышения количества ядер, они безбожно начинает лагать
особенно если они не засыпают

Alexey
03.03.2018
17:02:13

Александр
03.03.2018
17:02:27
мой первый парсер был такой ?
я наплодил по горрутине на каждую ветку "дерева"
с рекурсивным запуском самого себя для потомков

Alexey
03.03.2018
17:09:09
Ну это проблемы конкретного парсера:)
видимо, да. потому, что тредпулы в go не нужны.
Мне когда-то надо было в эластик кучу данных запихивать, лучше всего по ощущениям заходило, когда кол-во шлющих горутин было равно количеству индексирующих тредов в эластике, которое в свою очередь было равно кол-во ядер на серверах эластика:)

Daniel
03.03.2018
18:14:09

Александр
03.03.2018
18:15:09
это что за чушь?
ну вы создайте 10-20 воркеров на 4 ядра. Которые бы постоянно в цикле что-то делали

Google

Sergey
03.03.2018
18:15:22

Daniel
03.03.2018
18:15:39
ну, чтобы оно "лагало"

Александр
03.03.2018
18:16:36
у меня там был цикл на несколько миллионов интераций, внутри перегенерация ID и запись в соседний слайс

Daniel
03.03.2018
18:16:41
потому как мне случалось и пару миллионов коннекто в на одном сервере обслуживать. две горутины на клиента

Александр
03.03.2018
18:16:45
рекурсивно дерево перестраивалось