
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>, но в го система типов слишком убога для подобного.

blkmrkt
02.07.2017
11:48:57
Правильно ли я делаю, если когда я лишь перегоняю жсон туда-сюда, и содержание какого-то глубокого ключа жсон меня не интересует, то можно это мясо определить в структе как
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

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

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

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

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
ну, я когда-то писал хттп-сервер на баше

Nikolay
02.07.2017
20:52:52

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 диаграммы. И круговые тоже. С возможностью подписи на русском. Желательно простое может быть в ущерб кастомизации

Nikolay
02.07.2017
22:40:54

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

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

Kirill
03.07.2017
12:22:05
?

Igor
03.07.2017
12:24:46

corpix
03.07.2017
12:29:59

Vladislav
03.07.2017
12:49:36

corpix
03.07.2017
12:50:38

nezorflame
03.07.2017
12:51:16

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

Igor
03.07.2017
14:57:00

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