@proGO

Страница 684 из 1674
Axm
02.07.2017
11:44:37
Что за шрифт, если не секрет?

blkmrkt
02.07.2017
11:44:40
LexsZero
02.07.2017
11:44:45
*int64

blkmrkt
02.07.2017
11:45:31
Google
blkmrkt
02.07.2017
11:47:43
*int64
стоит ли все поля структа сделать указателями к данным?

LexsZero
02.07.2017
11:48:01
// на самом деле Maybe Int или Option<i64>, но в го система типов слишком убога для подобного.

стоит ли все поля структа сделать указателями к данным?
а ты готов везде при использовании этих полей проверять на nil? :)

blkmrkt
02.07.2017
11:48:57
а ты готов везде при использовании этих полей проверять на nil? :)
а не, точно. Только опциональные поля изменю

Правильно ли я делаю, если когда я лишь перегоняю жсон туда-сюда, и содержание какого-то глубокого ключа жсон меня не интересует, то можно это мясо определить в структе как Attachments *json.RawMessage `json:"attachments,omitempty" ...и оно будет так же маршалиться из/в жсон, только быстрее и непрозрачно?

LexsZero
02.07.2017
12:07:09
вроде бы да

Axm
02.07.2017
12:07:28
Alex
02.07.2017
14:23:23
Товарищи, а типы можно генерировать в рантайме?

LexsZero
02.07.2017
14:25:52
нет

Go is statically typed. Every variable has a static type, that is, exactly one type known and fixed at compile time

Alex
02.07.2017
14:27:09
А, понял

Maxim
02.07.2017
14:28:37
Кто как контролирует версию билда? Видел вариант что номер версии и билда хранят в txt-шке рядом с бинарником и просто меняют его содержимое с каждым тестовым запуском. Я пробовал вручную менять константу билда и версии в коде, но иногда забываю это сделать и тогда нумерация хромает. Вроде мелочь, но помогает понять какая сборка сейчас запущена.

Google
LexsZero
02.07.2017
14:29:40
v1.2.3+20170702172930

это если релиз с тегом

если нет - вместо v1.2.3 ревхеш коммита

Maxim
02.07.2017
14:31:10
v1.2.3+20170702172930
Как тогда это сделать в виде кода?

Peter
02.07.2017
14:31:29
go generate

Roman
02.07.2017
14:40:18
go build -ldflags "-X main.minversion=\`date -u +.%Y%m%d.%H%M%S\`" service.go

... var minversion string func main() { fmt.Println(minversion) } ...

LexsZero
02.07.2017
14:50:14
go build -ldflags "-X main.minversion=\`date -u +.%Y%m%d.%H%M%S\`" service.go
можно даже не date, а скриптик который будет версию вычислять из гита, даты итд. примеры таких скриптиков можно подсмотреть много где.

Roman
02.07.2017
14:51:03
дату заменить на "git rev-parse HEAD" например, будет ревизия гитовая

тут фича, что компилятор может запилить в код произвольное значение переменной снаружи

LexsZero
02.07.2017
14:54:24
не заменить, а дополнить. и часто полезнее не сам ревхеш (потому что они не сравниваются), а что-то хитрее, вроде "тег+сколько коммитов от тега+дата". также можно как-то показывать, что в working tree на момент сборки были какие-то изменения относительно зафиксированного в коммите.

Nikolay
02.07.2017
20:18:35
посоны, а я правильно понимаю, что у go нет прямого аналога asyncio.subprocess_exec() из питона? чтобы асинхронно запускать дочерний процесс и реактивно читать его stderr/stdin?

нашел только вот эту штуку https://github.com/go-cmd/cmd

но не очень понятно, почему такого функционала нет в стандартной библиотеке

LexsZero
02.07.2017
20:20:05
есть же

Nikolay
02.07.2017
20:20:31
есть же
а можно пример?

LexsZero
02.07.2017
20:20:47
https://golang.org/pkg/os/exec/#example_Cmd_StdoutPipe

(я хз что такое "реактивно")

Nikolay
02.07.2017
20:21:12
https://golang.org/pkg/os/exec/#example_Cmd_StdoutPipe
это чисто синхронный вызов

LexsZero
02.07.2017
20:21:21
эмм

Google
LexsZero
02.07.2017
20:21:25
Wait видишь?

вот он ждет пока процесс завершится

Nikolay
02.07.2017
20:21:48
ну вот я и говорю - синхронно

мне не нужен wait

LexsZero
02.07.2017
20:22:06
ну не вызывай его. или вызывай в другой горутине.

Nikolay
02.07.2017
20:22:16
мне нужны события из stdout/stderr подпроцесса через каналы, например

в моменты появления конкретных строчек, а не когда процесс завершится совсем

Denis
02.07.2017
20:29:09
Посмотри код по ссылке, что ты кинул

Там его немного

Это просто сахар вокруг стандартной либы

LexsZero
02.07.2017
20:31:05
в моменты появления конкретных строчек, а не когда процесс завершится совсем
http://bpaste.net/show/6ef1f22143ff [I]l…@n…d /tmp > go run exec.go 2017/07/02 23:30:44 >>> 2017/07/02 23:30:45 >>>1 2017/07/02 23:30:46 >>>2 2017/07/02 23:30:47 >>>3 2017/07/02 23:30:48 >>>4 2017/07/02 23:30:49 >>>5 2017/07/02 23:30:50 >>>6 ^Cexit status 2

Nikolay
02.07.2017
20:33:40
подумаю тогда, спасибо

мне надо запустить около 10 процессов параллельно и собирать с них результаты асинхронно

Denis
02.07.2017
20:35:59
Можно и башиком:)

LexsZero
02.07.2017
20:37:35
башиком сложно сделать так, чтоб строчки от 10 процессов не смешивались в кашу. можно, но сложнее, чем десяток горутин срущих в один канал.

Nikolay
02.07.2017
20:47:49
в баше я подобные вещи обычно решаю через gnu parallel :)

Admin
ERROR: S client not available

Nikolay
02.07.2017
20:48:14
но тут мне надо объединить в одном сервисе REST API и запускалку процессов асинхронную

так что не получится

Google
LexsZero
02.07.2017
20:52:12
ну, я когда-то писал хттп-сервер на баше

LexsZero
02.07.2017
20:52:55
точнее, на plan9 rc

netcat? :)
не помню уже, а откапывать лень. вроде бы да, но щас бы я взял сокат.

Nikolay
02.07.2017
20:54:06
самое наркоманское, что я видел - это тетрис на чистом sed

LexsZero
02.07.2017
20:54:29
под плэннайн оно естественно работало через /net/tcp (да, оно работало и под плэннайн тоже)

Phil
02.07.2017
22:28:35
Надо по данеым строит простые 2D диаграммы. И круговые тоже. С возможностью подписи на русском. Желательно простое может быть в ущерб кастомизации

Kristina
03.07.2017
11:50:44
govvv ?

Кто как контролирует версию билда? Видел вариант что номер версии и билда хранят в txt-шке рядом с бинарником и просто меняют его содержимое с каждым тестовым запуском. Я пробовал вручную менять константу билда и версии в коде, но иногда забываю это сделать и тогда нумерация хромает. Вроде мелочь, но помогает понять какая сборка сейчас запущена.

LexsZero
03.07.2017
12:00:16
@nekoexmachina о, привет)

Kirill
03.07.2017
12:22:05
?

Vladislav
03.07.2017
12:49:36
https://github.com/corpix/market-fetcher/blob/master/Makefile#L9
третья строка более интересная...

corpix
03.07.2017
12:50:38
третья строка более интересная...
Ага, GNU_BUILD_ID генерю рандомно

Kristina
03.07.2017
12:52:15
Ya pervaya pro govvv otvetila

nezorflame
03.07.2017
12:52:39
кто ж спорит, вопрос-то был Кто чем пользуется)

hamper ?
03.07.2017
14:28:13
Я еще такой вариант видел в мейкфайле: REVISION = $$(git describe --dirty --always --abbrev=0) go build -ldflags "-X main.revision=$(REVISION)"

Google
hamper ?
03.07.2017
14:28:55
А да, выше упоминали уже подобное.

Оксана
03.07.2017
14:52:46
я посреди своего, довольно глубоко
Добрый день, у нас сейчас есть вакансия go, компания mtt.ru. напишите мне, я расскажу

Igor
03.07.2017
14:57:00
Ya pervaya pro govvv otvetila
без ссылки не считается )

No
03.07.2017
21:51:59
Кто знает (или видел) библиотеку, способную к имитации мышки, перенос курсора, нажатие и т.д. ?

Страница 684 из 1674