
Phil
16.03.2017
07:57:10
или нет

Alex
16.03.2017
09:09:07
https://erikbern.com/2017/03/15/the-eigenvector-of-why-we-moved-from-language-x-to-language-y.html

zk
16.03.2017
09:54:09
>Дженерики не нужны
Конечно не нужны - все по Оруэлу - думаете терминами языка, -невыразительного языка.
А все что вне языка, даже в голове не укладывается, ведь в вашем мире другие концепции в принцепе непостижимы.
P.S. Пол Грем что-то писал по этому поводу.

Quet
16.03.2017
09:55:00
http://wiki.c2.com/?BlubParadox

Google

zk
16.03.2017
09:55:35
оно самое

Subbotin
16.03.2017
10:52:07
а вот как в го профилировать одну функцию? допустим у меня есть одна функция на 40 строк и я хочу понять что в ней самое тяжелое. разбивать на отдельные подфункции и потом pprof?

Daniel
16.03.2017
10:54:55
например, да
ну или писать метки временные в statsd какой-нибудь. или в прометея.
в прометея писать - даже сервер не нужен, чтобы поглядеть, можно курлом снять данные

Quet
16.03.2017
10:55:55
эм
чем pprof не угодил?

Daniel
16.03.2017
10:56:17
это полезные идеи

Quet
16.03.2017
10:56:36
полезные они станут после того как c pprof не получится

Daniel
16.03.2017
10:56:37
тем, что в проде хрен его поиспользуешь

Quet
16.03.2017
10:57:37
ну если бы товарищ пришел с "как профайлить, ппроф не предлагать" тогда можно такое советовать

Daniel
16.03.2017
10:57:54
и так можно, коллега

Google

Daniel
16.03.2017
10:57:56
все можно
(особенно, если результат не важен)

Quet
16.03.2017
10:58:23
в общем топикстартеру -- сначала все же pprof, потом остальные способы
не понимаю почему 40 строк в функции это какое-то ограничение

Subbotin
16.03.2017
11:02:11
в плане pprof же оперирует отдельными функциями. и понять что именно тормозит уже внутри он показать не может. или может?

Quet
16.03.2017
11:10:51
может конечно
list <func name>
и смотри по строчкам куда сколько сэмплов попало

Subbotin
16.03.2017
11:12:35
а. спасибо

Alex
16.03.2017
11:13:31

Quet
16.03.2017
11:15:55
кстати да, что там не так с pprof в продакшене? всегда ж можно подкрутить rate

Alexey
16.03.2017
11:16:15

Quet
16.03.2017
11:17:01
я б скорее доверился pprof чем местным экспертам...

Subbotin
16.03.2017
11:17:34

Den
16.03.2017
11:19:49
Здравствуйте. Подскажите как правильно поставить https://github.com/bitexploder/gowebexample Есил делаю go get то нужно потом все импорты ручками ставить, если делаю go install то выходят ошибки то что не определены папки для бинарников.

Denis
16.03.2017
11:27:48
Точные команды развертки проекта скиньте
Я сделал а потом б потом в

Den
16.03.2017
11:28:52
go get https://github.com/bitexploder/gowebexample

Denis
16.03.2017
11:29:08
А три точки в конце ?

Google

Den
16.03.2017
11:29:16
go install gowebexample

Denis
16.03.2017
11:29:20
/...

Den
16.03.2017
11:29:36

Denis
16.03.2017
11:29:49
Подпакеты

Den
16.03.2017
11:29:56
я думал повисло и точки удалил &
?
Извините за тупость, это не заразно

Denis
16.03.2017
11:30:35
-v флаг добавьте и будете видеть все что делает го гет
Еще -u
На всякий

Den
16.03.2017
11:30:51
спасибо

Roman
16.03.2017
11:51:37
https://www.youtube.com/watch?v=qZezgkZvoKg

Den
16.03.2017
11:54:50
На всякий
вот что написало # github.com/bitexploder/gowebexample/cmd/gowe
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\cmd\gowe\web.go:31: undefined: log.Errorf
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\cmd\gowe\web.go:56: undefined: log.Fprintf

Denis
16.03.2017
11:55:34
Опять винда
??

Den
16.03.2017
11:56:09
кросплатформенное? нет?

Denis
16.03.2017
11:56:50
Хелло ворд собирается ?
И путь такой и должен быть ?
Go/GOPATH

Den
16.03.2017
12:00:02
путь правильный

Google

Den
16.03.2017
12:00:15
это я себе туда вынес

Denis
16.03.2017
12:00:27
Ну собери хелловорд

Den
16.03.2017
12:00:53
ок
собирается все что кроме
log.Errorf("Error parsing template: %s", path)
в пакете log нет Errorf
Fprintf

Daniel
16.03.2017
12:03:48
но есть же log.Error(fmt.Sprintf(...))

Admin
ERROR: S client not available

Den
16.03.2017
12:04:27
ну я готовый пример запускаю, на хабре ссылка прошла
log.error тоже нет
а, есть интеллисенс не показывает

Hoto-Hoto
16.03.2017
12:05:55
log.Fatal еще есть

Den
16.03.2017
12:09:14
хрень какаято
пути всратые c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\cmd\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\context\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\model\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\static\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\template\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\.git\
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\.gitignore
c:\Go\GOPATH\src\github.com\bitexploder\gowebexample\README.md
не получается запустить, я так понимаю директории в том проект ене правильно организованы

Sergey
16.03.2017
12:41:54
Зачем в редакторе exeшник открывать
В консоли запусти

Den
16.03.2017
12:42:06
это я просто мимо ткнул

Google

Den
16.03.2017
12:42:12
не в этом дело

Sergey
16.03.2017
12:42:20
Ну ок

Den
16.03.2017
12:42:29
не выполняется gowe-user -username admin -password admin -name "First Last"
как в инструкции

Sergey
16.03.2017
12:42:39
Ну тогда да

Den
16.03.2017
12:46:43
ладно тогда нет
ато огого
ясно короче
перенесу все в папки согласно рекомендациям по организации проектов
тут лажа

Max
16.03.2017
14:34:00
господа, обрабатываю с помощью Go картинки, но судя по загрузке используется только четверть процессора. Как заставить его использовать весь процессор? Обработка идет в 1 поток

Daniel
16.03.2017
14:35:13
а что значит - с помощью go?

Max
16.03.2017
14:37:35
Клею из двух jpg (маска + картинка) один png. Стандартная библиотека для картинок это умеет

Subbotin
16.03.2017
14:38:14
я думаю у тебя либо вставлены где-то слипы либо упираешься в ввод-вывод
и, как тут я недавно выяснил, не стоит гонять данные через каналы. так что если ты там пересылаешь картинку через каналы то может в этом быть причина

Max
16.03.2017
14:40:03
Ладно, видимо волшебного флага "use_all_cpu" действительно нет )

Subbotin
16.03.2017
14:40:49
ну тогда нужен код, среда где ты запускаешь и ввывод top
стоп. а у тебя четыре ядра и грузится только одно но на 100%?

Max
16.03.2017
14:42:02
Да, у меня 4 ядра )
runtime.GOMAXPROCS(runtime.NumCPU()) - используется

Subbotin
16.03.2017
14:42:24
ну так процесс кодирования сам по себе однопоточный.