
blkmrkt
17.12.2016
16:11:57
что-то как-то в го все просто делается, наверное должна быть куча подводных камней

Kirill
17.12.2016
16:12:11
это не пыха или js
тут трудно достать до подводных камней

Google

blkmrkt
17.12.2016
16:13:26
и бинарник хеллоуворлд с коннектором постгреса всего 4,7 МБ, а не 100МБ

Kirill
17.12.2016
16:13:58
только атомарных мап/слайсов/массивов нет

blkmrkt
17.12.2016
16:14:02
очень понравилось что error это error и ни что иное - линтер подсказал тип и сходу все заработало

Kirill
17.12.2016
16:14:06
и они не потокобезопасны от слова совсем

Maxim
17.12.2016
16:14:23

Kirill
17.12.2016
16:14:32
блин, лагает система

blkmrkt
17.12.2016
16:15:06

Kirill
17.12.2016
16:15:20
~650-700 строк собиралось пять минут

blkmrkt
17.12.2016
16:15:20
инструменты охрененные, vs studio сама поставила все что нужно

Kirill
17.12.2016
16:15:58
кстати, а вы слышали о новой IDE от jetbrains?
а, если оставить троллинг, попробуй еще для дебага использовать мой пакет dlog

TheRainwildsKeeper
17.12.2016
16:17:34
Серьезно, не смешно уже

Google

Kirill
17.12.2016
16:17:38
должно понравится
и просчета аргументов тоже

blkmrkt
17.12.2016
16:18:51
Я простенькую утилиту пишу, которая будет перекидывать данные с одного сервера постгрес на другой, но нужно как-то завернуть обработку ошибок - а именно, ожидается что некоторые квери будут фейлить и что сам сервер постгрес будет рестартиться от сегфолтов. Есть объект sql.DB, его можно оставить глобальным? Вообще как узнать, тредсейф ли определенный метод? Вижу что завернуть все мясо в try/catch нельзя, нужно чекать errors эксплиситли, интересно.

Kirill
17.12.2016
16:19:07
тогда можно в прод отправлять код с оставленными в коде вызовами dlog, просто собирать go build без тега debug
кстати, еще советую с ним делать var dl = dlog.WithCaller{} глобально и использовать его так
можно
и нет


blkmrkt
17.12.2016
16:21:20
чот ты его так насиловать решил?
данные извлекаю, очень длинная история: http://dba.stackexchange.com/questions/157533/postgresql-delete-from-fails-with-error-attempted-to-delete-invisible-tuple# Взялся писать на хаскеле, но там посоветовали го, и думаю а почему бы не попробовать новый яп

Kirill
17.12.2016
16:22:10
о, хаксель
смотри в awesome-go.

blkmrkt
17.12.2016
16:35:07

Kirill
17.12.2016
16:38:13
О спасиб
% ls -alFh re
-rwxrwxr-x 1 kirilldanshin kirilldanshin 7,3M дек 17 19:35 re*
% goupx re
2016/12/17 19:36:06 {Class:ELFCLASS64 Data:ELFDATA2LSB Version:EV_CURRENT OSABI:ELFOSABI_NONE ABIVersion:0 ByteOrder:LittleEndian Type:ET_EXEC Machine:EM_X86_64 Entry:4590784}
2016/12/17 19:36:06 File fixed!
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2013
UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013
File size Ratio Format Name
-------------------- ------ ----------- -----------
7588675 -> 2368380 31.21% linux/ElfAMD re
Packed 1 file.
% ls -alF re
-rwxrwxr-x 1 kirilldanshin kirilldanshin 2368380 дек 17 19:35 re*
О спасиб
ls -alFh re
-rwxrwxr-x 1 kirilldanshin kirilldanshin 2,3M дек 17 19:35 re*

Dmitri
17.12.2016
16:39:40

[Anonymous]
17.12.2016
16:40:01

Quet
17.12.2016
16:40:17
про го - скука
но не прям боль, это да )

Google

Dmitri
17.12.2016
16:41:12

Kirill
17.12.2016
16:41:22

[Anonymous]
17.12.2016
16:41:42

Quet
17.12.2016
16:41:58

Kirill
17.12.2016
16:42:02
в перфомансе(
или у тебя эзотерика очередная, или ты пишешь говнокод

[Anonymous]
17.12.2016
16:42:04
Правда те же страдания везде, на специфичных задачках
Да эзотерика

Quet
17.12.2016
16:42:16
критические куски вынеси и напиши на сях

Kirill
17.12.2016
16:42:33

[Anonymous]
17.12.2016
16:42:42

Quet
17.12.2016
16:42:43
смотря что за задачи
ну значит у тебя задача такая, боль го тут как бы не при чем )

[Anonymous]
17.12.2016
16:43:40
Но на го быстро прототип пишется, можно быть овощем, а все-равно че-нибудь да напишешь
Но душа просит перфоманса
Эт я мимо проходил, всем доброго вечера :)

Quet
17.12.2016
16:44:17
если перфоманса не хватает то это только си )

Kirill
17.12.2016
16:44:47
@Doaxan чувак, без обид, но или у тебя проект эзотерический, или ты хуйню сказал

Quet
17.12.2016
16:44:48
ну жаба ещё, но когда упрешься там то на си не съедешь так просто

Kirill
17.12.2016
16:46:48

Slach
17.12.2016
16:53:59
народ а объясните,
если приложеине на golang стартует из docker в docker-compose
и происходит docker-compose stop sevice.name
приложение закрывает файловые дескрипторы???
в main
стоит
defer который вызывает .Close() у соответсвующей переменной
в логах ничего не вижу
по логам вижу что вроде в файл пишется
log.Println("writeCSVHead")
log.Println(head)
g.csv_file.WriteString(head)
вот этот log.Println
нормально выводит то что ожидаю
а файл при этом пустой

Google

blkmrkt
17.12.2016
17:01:35
У меня еще паук и система сбора данных на хаске, вот слышал что на го проще гонять жсон туда-сюда, и что он больше коннектов параллельно обслуживает
Мне на хаске какая-то штука связанная с tls и amqp пополам загружают чпу донельзя, и я не нашел ничего более оптимального кроме как открывать по 2 коннекта к amqp на рабочий тред, тк шеринг канала непредсказуемо сказывается на производительности

Phil
17.12.2016
17:05:16
Слушайте, вчера явно был Международный Салон веществ. С утра у CNN. BBC и Путина приход был массовый, а сегодня остатки по чатикам разлетелись? Вы вообще что тут уже сутки несете, простите меня? Какая блеать хаска? :)

Subbotin
17.12.2016
17:05:28
Кстати писать паука (обработка не структурированных данных) тоже проще на Питоне чем на го

Phil
17.12.2016
17:06:47

Kirill
17.12.2016
17:06:56

blkmrkt
17.12.2016
17:07:31

Phil
17.12.2016
17:08:11
это как хаски, только функциональная
Да хаски просто последняя капля. То всю ночь какой-то Goчтото там мусолили, то форки какие-то, то прямо с разницей в минуту какой-то композер и хаска

Admin
ERROR: S client not available

Kirill
17.12.2016
17:08:58
хаскель уж точно не к гошке никак ?

Slach
17.12.2016
17:17:15
Вообще то был вопрос про то как гошны процесс при получении сигнала закрывает дескрипторы
У меня логи показывают что запись есть а файл пустой
Вот и пытаюсь разобраться там же ввод вывод буферизированный

blkmrkt
17.12.2016
18:09:30
пздц, зачем так делать. Хотел цветной логгер поставить, в мастере написано использовать бранч v0: https://github.com/sadlil/gologger/tree/v0
го гет я так понимаю ставит мастер бранч и никак это не обойти?

Vladimir
17.12.2016
18:10:08
Мне что то очень zap понравился
Как логгер

blkmrkt
17.12.2016
18:10:29
там цвета есть?

Vladimir
17.12.2016
18:11:57
Не знаю

blkmrkt
17.12.2016
18:34:01
а не скоро лямбды завезут в го? было бы удобно
func error(s string) => fmt.Printf("%s\n", Cyan(s))

Google

blkmrkt
17.12.2016
18:34:36
и ternary statements еще бы

Kirill
17.12.2016
18:34:36

TheRainwildsKeeper
17.12.2016
18:35:30

Kirill
17.12.2016
18:35:43
Чому?
да на собственной шкуре понял
код без них читается в разы проще

blkmrkt
17.12.2016
18:35:55
err != nil ? doSomething() : fail()

Kirill
17.12.2016
18:35:59
хотя раньше считал, что наоборот

blkmrkt
17.12.2016
18:36:10

TheRainwildsKeeper
17.12.2016
18:36:15

Kirill
17.12.2016
18:36:21

TheRainwildsKeeper
17.12.2016
18:37:07

Kirill
17.12.2016
18:37:16

blkmrkt
17.12.2016
18:37:27
в расте вроде тож

Kirill
17.12.2016
18:37:28
не буду же я все языки с тернарками перечислять

Quet
17.12.2016
18:39:38
а почему должно быть нельзя?

blkmrkt
17.12.2016
18:40:30
да не вижу как ast из этого строится