
Yuliya
13.04.2017
13:14:15
200 000+

redbeard
13.04.2017
14:15:48
удаленки нема? эх...

Constantine
13.04.2017
14:19:30
тимлид и на удаленку
такое потянешь?)

Google

Constantine
13.04.2017
14:19:41
как удаленно раздавать пиздюлей нубам?

redbeard
13.04.2017
14:20:00
по скайпу или с ребятами с pro.embedded спаять раздавалку :)

Илья
13.04.2017
14:20:07
просить наказать себя самому?

Constantine
13.04.2017
14:20:15
можно и себя самого наказывать

Мерлин
13.04.2017
15:37:35
Палю лайфхак

Олег
13.04.2017
15:41:07
?

Мерлин
13.04.2017
17:02:32
i just merged a buncha changes into #golang dep - and put up what'll be weekly updates about the state of the tool! https://sdboyer.io/dep-status/2017-04-10/

Slava
13.04.2017
17:20:34
200 000+
Перепощу вашу вакансию у нас в Слаке

Мерлин
13.04.2017
17:21:08
https://www.activestate.com/blog/2017/03/go-object-oriented-developers?utm_source=golangweekly&utm_medium=email
Привет :3

Slava
13.04.2017
18:19:05
привет

Vadim
13.04.2017
18:19:44

Google

Мерлин
13.04.2017
18:19:58

Vadim
13.04.2017
18:20:31
#мерльнепродайся :)

Мерлин
13.04.2017
18:21:16

Andrey
14.04.2017
11:45:11
Всем привет! Пришел запрос по HTTP (го сразу в отдельную горутину выпуливает запрос) я что-то делаю, потом надо забрать результаты через некоторое время, если я в ней вызову таймер и после таймера заберу результаты, это же не криминал ), в ожидание же будет только эта горутина ?

Daniel
14.04.2017
11:54:01
Только эта
Но сама идея вышлядит странно
Что клиент будет делать во время этого таймера
?

Andrey
14.04.2017
15:59:52
Ну скажем если это будет jquery то таймер в 10сек не сделает погоды, поглядит на крутящиеся часы)) просто длинк диагностику с порта не сразу отдает а в среднем через 5-10, а бывает и 15 секунд @onokonem

Andrew
14.04.2017
16:56:09
Через http get даёт диагностику?

Andrey
14.04.2017
18:51:10
Нет по snmp, через set пишем, ждем пока опросит, потом забираем, через http планирую в crm отдать @NXShock

Roman
14.04.2017
20:25:59
привет всем. Подскажите, как это красиво записать?
inputFiles, _ := ioutil.ReadDir(test.inputPath)
inputCount := len(inputFiles)
resultFiles, _ := ioutil.ReadDir(test.resultPath)
resultCount := len(resultFiles)

Aleksandr
14.04.2017
20:57:37

Roman
14.04.2017
20:59:01
не, может это можно как-то сократить)

Aleksandr
14.04.2017
21:09:30

Никита
14.04.2017
21:09:31
ошибки не игнорируй сначала)

Slava
14.04.2017
21:12:16
следующий вопрос будет, подскажите, у меня не работает, почему?

Никита
14.04.2017
21:18:57
а ой

Nikolay
14.04.2017
22:15:53
@SolidlSnake скрапер для инстаграма на Go, вот год назад делал такое для одного проекта, можно объединить усилия и сделать что-то общее и полноценное https://github.com/xboston/go-instagram-scraper

Google

Konstantine
14.04.2017
22:19:15

Andrew
15.04.2017
03:16:02
⬆️ вот до чего доводит людей Go ?

Vadim
15.04.2017
11:01:49
Всем привет, сюда еще вроде как не вбрасывал, небольшое исследование на тему того как кто что мониторит и не очень https://goo.gl/forms/FuWNKOlFhwHM738u2
нужно больше ответов, чтобы хоть как-то составить картину :)

Oleg
15.04.2017
11:21:43

Constantine
15.04.2017
11:23:14
ну и добавить про то, что приватное апи юзается и прочее

Vadim
15.04.2017
11:44:43
Ответы публичны?
ну я потом как хотя бы несколько десятков наберу начну писать про то, "как никто нихрена не мониторит" :)

Daniel
15.04.2017
14:13:11
ну как минимум мы все мониторим

Мерлин
15.04.2017
17:02:10
#Multiplexing #Golang #Channels to Maximize Throughput | The #MongoDB Engineering Journal http://crwd.fr/2pbucgq https://pbs.twimg.com/media/C9bAZ2IXcAAiyjw.jpg
proposal: Go 2: "result" type · Issue #19991 · golang/go
https://github.com/golang/go/issues/19991

corpix
16.04.2017
04:01:58
proposal: Go 2: "result" type · Issue #19991 · golang/go
https://github.com/golang/go/issues/19991
Это прям коробка пандоры, потому что если будет result то захочется сделать паттерн матчинг(как в русте, чтоб не забыть обработать все кейсы), и вообще, если уж реализовывать такую штуку как result то нужно будет красивее поддержать алгебраические типы данных в го. Автор пропозала там кстати ссылается на https://github.com/golang/go/issues/19412 , но говорит что можно их не использовать, что как-то странно. На мой взгляд если в го такое делать то АТД нужны как воздух

Slach
16.04.2017
08:55:49
Люди объясните тупому...
у меня есть s строка которую я преобразовал из []byte
b := []byte{16,17, }
s := string(b)
len(s) выдает 16
как при записи в CSV файл через encoding/csv
получается больше 16 байт???
16 байт это UUID преобразованный из строки через http://github.com/satori/go.uuid

Alexey
16.04.2017
09:38:56
Добавляется перевод строки?

Slach
16.04.2017
09:39:22
https://play.golang.org/p/o6GKCzs2aU
хуже
вместо 18 байт получаю 29
2017/04/16 12:37:14 len(s)=16
2017/04/16 12:37:14 size csv_wtf.csv = 29

Alexey
16.04.2017
09:40:22
Да, уже вижу в конкурирующем чате, давай там

Мерлин
16.04.2017
10:10:24

Slach
16.04.2017
10:11:19
29 - это длина сериализованного в человекочитаемый вид uuid
это не так
в человеко читаемом было бы 36 байт
UUID

Мерлин
16.04.2017
10:11:54
А, блин, точно

Google

Мерлин
16.04.2017
10:19:22

Slach
16.04.2017
10:23:59
и??? мне не надо писать в CSV 36 символьную строку
мне надо именно 16 байт записать

Мерлин
16.04.2017
10:26:03
А если среди этих байт будет символ разделителя?

Slach
16.04.2017
10:28:08
0x0A ??? 0x0D ???
а там в encoding.csv как раз стоит проверка ...
в целом вообще так то надо просто снаружи кавычки " поставить
а если есть внутри кавычки " заменить на повторение ""
если внутри есть перенос строки то пусть он остается
а вот если есть кавычка, то по идее она дожна быть двойной

Aleksandr
16.04.2017
10:29:22
0x0A - это 4 байта)
ты не можешь смешать бинарный формат и текстовый


Slach
16.04.2017
10:34:22
'0x0A'
это блин Rune Literal
это 1 байт
я просто привел их в том виде чтобы понятно было
байт с десятичным значением 10
и байт с десятичным значением 13
может встречаться внутри UUID это файт
s := string(u.Bytes())
log.Printf("u.Bytes()=%v",u.Bytes())
for i, v := range s {
log.Println(i,v)
}
вот такой код выводит следующее
2017/04/16 13:56:18 u.Bytes()=[225 57 60 98 135 122 74 220 143 251 241 191 10 51 124 95]
2017/04/16 13:56:18 0 65533
2017/04/16 13:56:18 1 57
2017/04/16 13:56:18 2 60
2017/04/16 13:56:18 3 98
2017/04/16 13:56:18 4 65533
2017/04/16 13:56:18 5 122
2017/04/16 13:56:18 6 74
2017/04/16 13:56:18 7 1807
2017/04/16 13:56:18 9 65533
2017/04/16 13:56:18 10 65533
2017/04/16 13:56:18 11 65533
2017/04/16 13:56:18 12 10
2017/04/16 13:56:18 13 51
2017/04/16 13:56:18 14 124
2017/04/16 13:56:18 15 95
в общем никто случайно не знает CSV пакета который умеет писать сырые байты?
т.е. реально проблема в том как идет итерация по строке =(
т.е. полюбому руны при записи дают больше чем 1 байт =( для каждого байта который больше 127
идет попытка вытащить utf-8 codepoint в качестве "символа"


Aleksandr
16.04.2017
11:04:44
csv - это текстовый формат. Писать туда бинарный дамп не по rfc, и соответственно вряд сторонние пакеты csv будут такое поддерживтаь. пиши сам либу

Slach
16.04.2017
11:16:48
> Писать туда бинарный дамп не по rfc
простите но это не так =)
RFC 4180
не ограничивает содержимое строк и их кодировку
он только определяет delimiter и field quoting и line breaking правила
https://tools.ietf.org/html/rfc4180#page-2

Konstantine
16.04.2017
11:24:01
Отличная тема, чтобы подраться за гаражами, ящитаю.

Мерлин
16.04.2017
11:54:21

Google

Мерлин
16.04.2017
11:54:35
The ABNF grammar [2] appears as follows:
file = [header CRLF] record *(CRLF record) [CRLF]
header = name *(COMMA name)
record = field *(COMMA field)
name = field
field = (escaped / non-escaped)
escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
non-escaped = *TEXTDATA
COMMA = %x2C
CR = %x0D ;as per section 6.1 of RFC 2234 [2]
Shafranovich Informational [Page 3]
RFC 4180 Common Format and MIME Type for CSV Files October 2005
DQUOTE = %x22 ;as per section 6.1 of RFC 2234 [2]
LF = %x0A ;as per section 6.1 of RFC 2234 [2]
CRLF = CR LF ;as per section 6.1 of RFC 2234 [2]
TEXTDATA = %x20-21 / %x23-2B / %x2D-7E
Смотрим на пункт в конце (TEXTDATA)
Вот ascii таблица для удобства
Это раз
Во-вторых, когда ты пишешь данные в csv.Writer, то он итерируется по рунам каждого поля.
Так как ты записываешь не utf8 строку, то у тебя получается каша
Вот здесь с куском, выдранным из csv.Writer
https://play.golang.org/p/ApEks2cCnX
Это два


Slach
16.04.2017
12:02:04
ну это да, тут я уже понял
и ссылки на это я уже приводил и пытался как раз понять откуда WriteRune лишние байты дает
разобрались... invalid unicode sequence имеет отдельную константу
;)) спасибо тыкнули мордочкой помогли определиться что делать дальше

Мерлин
16.04.2017
12:03:39
Пиши в csv uuid.String() и будет тебе счастие

Slach
16.04.2017
12:05:18
https://clickhouse.yandex/reference_ru.html#UUIDNumToString(str)
ну и с учетом того что вставлять мне надо много