@gogolang

Страница 738 из 1630
Marlik
09.01.2018
16:57:21
ну а вот написано (по-русски) что gox не установлен. он что, установлен?
Да я уже понял)) Странно. почему через go get ведь поставилось, да и в свежести пакета в убунте были сомненья.

Marlik
09.01.2018
16:59:02
$GOPATH/bin есть в $PATH ?
go env GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/marlik/go" GORACE="" GOROOT="/usr/lib/go-1.9" GOTOOLDIR="/usr/lib/go-1.9/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build418155158=/tmp/go-build -gno-record-gcc-switches" CXX="g++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config"

Google
Marlik
09.01.2018
17:01:05
Неа, плин, компилю жи, как так-то? /home/marlik/local/bin:/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Daniel
09.01.2018
17:01:39
компилю - это про $GOROOT/bin

Marlik
09.01.2018
17:02:14
Спасибо, пошёл пути ставить.

xPushkin
09.01.2018
17:03:26
что-то близкое к твоей теме https://hashrocket.com/blog/posts/switch-vs-map-which-is-the-better-way-to-branch-in-go
The original question I wanted to answer was if there would be a performance impact in converting a switch statement to a map lookup. I assumed that switches would be faster. I was wrong. Maps are usually faster, often several times faster. The choice of switch or map should be made based on whichever produces the clearest code.

Marlik
09.01.2018
17:20:23
echo $PATH
А эти почему пустые? GOBIN="" GOEXE=""

s3rj1k
09.01.2018
17:25:28
ребята а никто не сталкивался с такой проблемой? https://github.com/golang/go/issues/11496 есть какие то альтернативные решения?

Slach
09.01.2018
17:28:16
А эти почему пустые? GOBIN="" GOEXE=""
ты про их назначение почитай вообще

Marlik
09.01.2018
17:28:41
Уже читаю. Спасибо.

На андроиде апку на го не запущу пока рута не будет, я правильно понимаю?

Баньте его!

Andrew
09.01.2018
18:56:44
На андроиде апку на го не запущу пока рута не будет, я правильно понимаю?
Я видел проги, которые запускают код на Go без рута

Marlik
09.01.2018
18:56:55
@zelenin

Google
Marlik
09.01.2018
18:58:08
Мне для экспериментов.

Andrew
09.01.2018
18:58:11
А можно подробнее, где и как?
https://play.google.com/store/apps/details?id=org.ligi.ipfsdroid Вот эта прога под капотом запускает go-ipfs бинарник. Как - хз...

Marlik
09.01.2018
18:58:24
Спасибо, щас посмотрю.

Andrew
09.01.2018
18:58:51
Там исходники на гитхабе, можешь глянуть под капотом ))

Marlik
09.01.2018
18:59:20
Ага, уже смотрю.

Sergius
09.01.2018
22:16:56
שלום

s3rj1k
09.01.2018
22:19:58
שלום
Manishma?

Sergius
09.01.2018
22:20:57
Sababa

Marlik
09.01.2018
22:21:53
Manishma?
Ma nishma?

Sergius
09.01.2018
22:23:22
Только ма нишма отдельно пишется :)

s3rj1k
09.01.2018
22:25:09
Только ма нишма отдельно пишется :)
Чекак?) тоже раздельно :))

Marlik
09.01.2018
22:25:50
Чот с го тура код ошибку выдаёт)) s := []struct { i int b bool }{ {2, true}, {3, false}, {5, true}, {7, true}, {11, false}, {13, true}, } fmt.Println(s.i)

Marlik
09.01.2018
22:29:42
Ты не можешь написать s.i
А на гоу туре https://go-tour-ru-ru.appspot.com/moretypes/9 могут. Я то так: for _, v := range s { fmt.Println(v) }

Sergius
09.01.2018
22:31:52
Чекак?) тоже раздельно :))
Это исключительно в целях сохранения традиций? без обид:)

Marlik
09.01.2018
22:32:25
Вот пока здесь народ есть, вопрос! func main() { scores := make([]int, 0, 5) c := cap(scores) fmt.Println(c) for i := 0; i < 25; i++ { scores = append(scores, i) if cap(scores) != c { c = cap(scores) fmt.Println(c) } } } Собсно вопрос, почему увеличение идёт 10 20 40?

Google
Marlik
09.01.2018
22:32:38
Ты меня обманываешь, там print(s)
Нет, посмотри ещё раз.))

Axm
09.01.2018
22:33:48
Нет, посмотри ещё раз.))
У меня всё норм и run работает

Marlik
09.01.2018
22:34:24
У меня всё норм и run работает
У меня нет, prog.go:18:15: s.i undefined (type []struct { i int; b bool } has no field or method i)

Плят, извиняюсь, это я несколько дней назад ковырялся там и результаты сайт сохранил))))) ?

Dmitry
09.01.2018
22:49:57
можно упороться и сделать свой append, который будет на +1 увеличивать слайс :) но это уже совсем другая история

Vladimir
09.01.2018
23:15:47
Вот пока здесь народ есть, вопрос! func main() { scores := make([]int, 0, 5) c := cap(scores) fmt.Println(c) for i := 0; i < 25; i++ { scores = append(scores, i) if cap(scores) != c { c = cap(scores) fmt.Println(c) } } } Собсно вопрос, почему увеличение идёт 10 20 40?
аллокация памяти и копирование данных это не очень дешево. Стандартный подход подобных структур - увеличивать их в энное колличество раз

он не всегда удваивается

https://play.golang.org/p/9r6MJ8giVTY

например вот

https://play.golang.org/p/042bgTC9k4V - можно даже так сделать, если хочется

Marlik
09.01.2018
23:27:32
Vladimir
09.01.2018
23:27:44
и почитать https://golang.org/src/runtime/slice.go - 72 строку и далее

Marlik
09.01.2018
23:34:57
и почитать https://golang.org/src/runtime/slice.go - 72 строку и далее
Это что? )) // TODO: When the old backend is gone, reconsider this decision. Поменяться всё ещё может?

Slava
10.01.2018
06:04:16
@meehalkoff не нужно себя здесь так вести

meehalkoff✪
10.01.2018
06:53:21
Andrew
10.01.2018
07:20:50
Всем привет. Не подскажете ли, есть ли какая-нибудь готовая либа для запуска функций в N потоков? Условно: var w WorkPool w.ThreadCount = 4 for i:=0; i<100;i++ { w.StartWork(i) } w.WaitForComplete Даже не знаю, как сформулировать свой запрос к гуглу...

Zloy Dobriy
10.01.2018
07:23:12
go func() {}() не?

Google
Andrew
10.01.2018
07:24:12
go func() {}() не?
Мне нужны лимиты на кол-во одновременно работающих обработчиков, возможность дождаться завершения.

посмотри в сторону sync.WaitGroup
Свой костыль написан, но он нестабилен )) Думаю, может есть что-то готовое на эту тему...

Axm
10.01.2018
07:25:08
Это же есть в любой статье о горутинах и каналах

Ilya
10.01.2018
07:25:55
например тут https://blog.golang.org/pipelines

Zloy Dobriy
10.01.2018
07:26:06
https://www.reddit.com/r/golang/comments/70sfmk/syncwaitgroup_limit/ не благодари

Axm
10.01.2018
07:26:52
https://gobyexample.com/worker-pools

Vladimir
10.01.2018
07:26:55
Делают в таком духе

https://github.com/uber-go/ratelimit

https://godoc.org/golang.org/x/time/rate#Limiter

Вот с ходу три примера

Andrew
10.01.2018
07:29:18
Спасибо всем, сел изучать всё, что накидали))

Vladimir
10.01.2018
07:31:38
Последний самый навороченный

Но работают они все +- одинаково

Точнее уберовский - честный leaky bucket

По учебнику

Последний в общем тоже. А первый тупо запрещает параллельно делать более чем эн запросов

Zaur
10.01.2018
07:53:52
Ребзя, а есть какая-нибудь такая же группа по девопсу?

Не хочу здесь эфир засорять вопросами по девопсу

Google
Zaur
10.01.2018
07:54:48
https://t.me/devops_ru
Спасибо)))

Konstantin
10.01.2018
07:58:25
Мне нужны лимиты на кол-во одновременно работающих обработчиков, возможность дождаться завершения.
можно буферизированный канал сделать под это дело например на 5, и он будет блокировать процесс пока из него не прочтешь. т.е. больше 5 не будет

Konstantin
10.01.2018
08:00:21
но сдается мне эту гуглокостыль))

Мерлин
10.01.2018
08:01:08
Надо это вообще в гист вынести, чтобы не плодить

Andrew
10.01.2018
08:03:32
Сделай что-то типа вот этого https://github.com/ninedraft/limiter
Спасибо, очень похоже на то, что я хотел.

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