@gogolang

Страница 316 из 1630
Che
21.06.2017
17:12:50
доброй ночи. подскажите кто в курсе, это в qemu косяки или куда смотреть? http://i.imgur.com/vUktkwF.png

Konstantine
21.06.2017
17:13:08
Ребят, такое дело. У меня програмка бегает в сеть, оттуда берет JSON и парсит его. Сейчас в тестах оно прямо в боевых условиях бегает реально в сеть и парсит. Появилось свободное время (немного лень отстала вернее), хочу поделить тесты. Вот такой вопрос, для парсинга json'а по сути можно использовать простые заготовки. Как их лучше всего использовать? Прямо в файле теста все сделать (от чего он вырастит сильно) или в отдельном файле все хранить как-то?

Konstantine
21.06.2017
17:19:37
Отдельный json файлик можно рядом класть
Там много разного json'а под разные тесты. Напхать кучу json'файлов норм практика?)

Google
Igor
21.06.2017
17:19:56
Ну это если он большой очень. Обычно для тестов не сильно большие jsonы и можно их прям в код.

Konstantine
21.06.2017
17:20:46
В сумме прилично выходит. Поэтому и в раздумьях.

Igor
21.06.2017
17:20:47
Там много разного json'а под разные тесты. Напхать кучу json'файлов норм практика?)
Для тестов можно все в один запхнуть. А на счёт прям хорошей практики это не ко мне. Уверен тут есть ребята, которые точно подскажут как "тру")

Ivan
21.06.2017
17:22:06
я прямо строками в тексты пихаю, но оосбо больших не было

в то же время за размер тестов я как то не переживаю

Konstantine
21.06.2017
17:23:55
Да я тоже, просто вдруг есть какая-то дико секси практика, а я уже сделаю так)

Valentin
21.06.2017
17:27:30
Можно положить в виде строк в отдельные переменные внизу тесткейсов

Che
21.06.2017
17:31:33
и таааак сойдет ?

Che
21.06.2017
17:55:44
а как собирал?
GOARCH=arm64 go build

нагуглил всякое вроде этого https://github.com/multiarch/qemu-user-static/issues/22

но что делать не ясно

anton
21.06.2017
17:57:31
GOARCH=arm64 go build
а на скриншоте qemu-mips же? а билдишь под arm64

Google
Che
21.06.2017
17:57:36
да, у меня qemu 2.9

GOARH=mips

GOOS=linux GOARCH=mips go build

anton
21.06.2017
18:00:34
хм, может надо через gccgo кросскомпилить..

Che
21.06.2017
18:01:45
скорее всего надо 2.7 собирать, тут https://github.com/multiarch/qemu-user-static/issues/22 пишут что на 2.7 нормально

anton
21.06.2017
18:05:28
а go 1.8?

Che
21.06.2017
18:05:45
go version go1.8.3 linux/amd64

anton
21.06.2017
18:09:27
я конечно кросс-компайлингом не занимался очень давно но все статьи что попадаются - люди это делают через gccgo, а не через gс https://github.com/GeertJohan/openwrt-go/issues/2 по крайней мере под openwrt что на роутерах - все через gccgo морочатся

Che
21.06.2017
18:11:13
это мипс, а арм?

в ауре есть 2.7 аут оф дейт, попробую его собрать. ну и mips_gccgo тоже соберу

мне кажется, это в qemu косяк

anton
21.06.2017
18:21:35
это мипс, а арм?
так ты под мипс или под арм компилируешь? :) я не пойму просто до сих пор

anton
21.06.2017
18:22:03
ну тогда похоже два тулчейна нужно будет для кросскомпайла

Che
21.06.2017
18:24:08
на мипсе места сейчас нет, а арм не у меня, что бы потестить на реальном железе. но все равно, я чувствую шестым глазом что дело в qemu

Givi
21.06.2017
18:29:06
Чат, плиз, помоги. Где найти дельную статью, презентацию, видео с более менее детальным описанием минусов cgo? Гугл, совсем скуп.

Aleksey
21.06.2017
18:31:25
Василий: Ребятки, если нужно будет соорудить Gui либу для создания окошек на html, то надо курить искусство OpenGL, нет?

Che
21.06.2017
18:32:26
но там, правда, сборка нетривиальна

Google
Michael
21.06.2017
18:33:44
dynamic runtime по докам собирается норм

Che
21.06.2017
18:34:44
ну началось http://i.imgur.com/hHSYvoL.png

gomobile использует gccgo?

Не использует. Значит qemu косячит

Kristina
21.06.2017
19:49:40
зачeм сделали так, что вне методов можно использовать инициализацию переменных только через var, а не через := ?

anton
21.06.2017
19:54:37
потому что var это не иницализация, а объявление а если что-то вне ф-ии, то оно глобальное — фигню сказал ;) спишем на портвейн...

Kristina
21.06.2017
19:55:27
ну в смысле

я могу инициализировать через var тоже

в чем смысл

anton
21.06.2017
19:56:38
https://stackoverflow.com/questions/18854033/why-isnt-short-variable-declaration-allowed-at-package-level-in-go

таков дизайн языка :)

Michael
21.06.2017
19:57:14
At the top level, every declaration begins with a keyword. This simplifies parsing.

anton
21.06.2017
19:57:14
https://golang.org/ref/spec Short variable declarations may appear only inside functions. In some contexts such as the initializers for "if", "for", or "switch" statements, they can be used to declare local temporary variables.

Michael
21.06.2017
19:58:15
https://groups.google.com/forum/#!msg/golang-nuts/qTZemuGDV6o/IyCwXPJsUFIJ

Kristina
21.06.2017
20:04:34
пока писала второй вопрос, нашла ответ спасибо

John
21.06.2017
21:56:10
ребята, а не подскажете с таким вот вопросом? я запускаю консольную утилиту через exec.Command а вывод делаю через fmt.Printf, но проблема в том, что данная консольная утилита, которую я вызываю - она без остановки выводит кучу строк информации (может бесконечно это делать). Каким образом мне проще всего выводить эту инфу?

John
21.06.2017
22:01:24
нет, я не могу ее вывести, потому что вывод никогда не заканчивается

программа будет кидать строчку за строчкой и так бесконечно

Google
Aleksandr
21.06.2017
22:02:12
нет, я не могу ее вывести, потому что вывод никогда не заканчивается
почему ты ее не можешь вывести? в консоли ничего не отображается?

John
21.06.2017
22:02:25
именно

package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("uuidgen").Output() if err != nil { log.Fatal(err) } fmt.Printf("%s", out) }

Aleksandr
21.06.2017
22:03:18
именно
cmd := exec.Command("HandBrakeCLI", "--queue-import-file", task.QueueFile()) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr err := cmd.Run()

John
21.06.2017
22:04:25
да, я знаю, что могу использовать stdin, stdout, но сама соль в том, что в конечном результате мне нужно всю эту дичь выводить в json

на порт пробросить на локалхосте

anton
21.06.2017
22:05:56
хм, ты хочешь результат бесконечного стрима упаковать в конечный json документ?

или тебе нужно каждую строку из стрима превратить в конкретный жсон и плюнуть дальше?

John
21.06.2017
22:06:33
нет, хочу его пачками выдавать, да знаю что много хочу)) не уверен, что это рили

да

именно плеваться кусками jsona во фронтендщиков

чтоб они с ним дальше игрались

anton
21.06.2017
22:07:21
такое?



John
21.06.2017
22:08:21
возможно

но слишком абстрактно

имхо

я просто тупой)

Michael
21.06.2017
22:09:07
???

Google
Aleksandr
21.06.2017
22:10:14
нет, хочу его пачками выдавать, да знаю что много хочу)) не уверен, что это рили
ну cmd.Stdout - это writer куда-то. в моем пример это os.Stdout, т.е. пишет в stdout поток оси. Ты можешь сделать так cmd.Stdout = MyLineWriter и писать куда угодно, и считывать необходимыми тебе батчами

Michael
21.06.2017
22:10:18
похоже надо веб апи подружить с мега секретной тулзой

John
21.06.2017
22:10:43
та так и есть)

anton
21.06.2017
22:10:46
похоже надо веб апи подружить с мега секретной тулзой
или вебсокеты какие-нить.. из какого-нибудь amqp читает и в вебсокеты отдает

John
21.06.2017
22:10:55
ввязался на свою голову

Michael
21.06.2017
22:11:10
код лучше всего

Aleksandr
21.06.2017
22:13:04
type Writer interface { Write(p []byte) (n int, err error) } реализуешь интерфейс, получаешь байтики, считываешь в линии, отправляешь линии в канал, из канала считываешь и делаешь json. 10-15 строк

John
21.06.2017
22:14:06
и правда

это оптимально

большое спасибо всем за подсказки

кстати, хотите поорать?

Michael
21.06.2017
22:14:51
канал сделай буферизированным на всяк случай

anton
21.06.2017
22:14:53
только пиши в байтбуфер

John
21.06.2017
22:15:15
на самом деле я уже пол года "работаю" программистом на golang

и сразу видно какого качества))

Michael
21.06.2017
22:15:52
???

Страница 316 из 1630