@proGO

Страница 1287 из 1674
Roman
13.03.2018
17:36:59
не понятно, с чего бы ему быть быстрее
насколько мне известно компилятор Go не оптимизирует большие switch statement в jump table как это делают например современные компили C/C++ в связи со "сложностью портабильности такой оптимизации на разные платформы" как утвердил Rob Pike если я не ошибаюсь т.е. большой switch превращается в большой if else if

Daniel
13.03.2018
17:38:33
большой - это какой?

Roman
13.03.2018
17:39:17
Additionally, even if that is the case, the memory access pattern and branch prediction success rate have a bigger impact on performance than the choice of a switch or map.
думаю в связи с изменениями в OSках по причине уязвимости specter - brunch prediction уже не столь производительная оптимизация (из-за этого же помоему OSки после specter стали на ~20% медленее?)

Daniel
13.03.2018
17:39:38
коллега

Google
Daniel
13.03.2018
17:39:54
вы какую цель перед собой ставите?

Roman
13.03.2018
17:40:33
вы какую цель перед собой ставите?
понять как писать machine friendly code))

Daniel
13.03.2018
17:41:06
если для конкретного продукта выясняете, что к чему - просто померяйте

а если хотите заранее, до замеров, оптимизацию произвести - это уединитесь где-нибудь, ок?

потому что никто из серьезных разработчиков premature optimisation не одобрит ни под каким видом

Roman
13.03.2018
17:42:05
если для конкретного продукта выясняете, что к чему - просто померяйте
ну я думал может кто в теории что-нибудь подскажет

Daniel
13.03.2018
17:42:10
понять как писать machine friendly code))
не надо этого делать.

Roman
13.03.2018
17:42:31
нус, ладнос

Igor
13.03.2018
18:21:38
нус, ладнос
Афайк, machine friendly code - это впринципе и подразумевается, что branch prediction хорошо работает. Писать код который плохо предугадвается - выкинуть на мусорку л1,л2,л3 кеши. Это замедление работы программы на порядок, а то и на 2(какая там разница в скорости доступа к Кешу и памяти)

Александр
13.03.2018
18:46:26
кхм

народ кто сталкивался с шаблонами?

что-то у меня даже на пустой шаблон (один HTML) орет "template: "some template" is an incomplete or empty template"

Google
Александр
13.03.2018
18:48:24
https://play.golang.org/p/OzCp8PR7axg

Александр
13.03.2018
18:49:13
в шаблоне что-то типо <table class="table"> {{ . }} </table>

пробывал просто одну таблицу оставить, ноль на массу

бред какой то

о блин, слава яйцам

> tmpl, err := template.New("").ParseFiles("templ.txt") creates a *template.Template (tmpl) with two named templates: "" and "templ.txt". The latter ("templ.txt") contains your actual template data, while the former ("") is empty. When you call tmpl.Execute, it tries to execute the first template, "", which has no content. Hence the error. You can fix this in one of two ways: 1. Call tmpl.ExecuteTemplate and name "templ.txt" explicitly: > if err = tmpl.ExecuteTemplate(buf, "templ.txt", i); err != nil { > log.Fatal(err) > } 2. Use the package-level function template.ParseFiles to parse your template: > tmpl, err := template.ParseFiles("templ.txt") This returns a *template.Template with just one template, "templ.txt", and so a call to tmpl.Execute will render just that template.

Freddy
13.03.2018
19:37:29
господа, есть кто крайне хорошо разбирается в блокчейн и криптографии?)

Freddy
13.03.2018
19:43:05
@distributed
спс!!!

Ilnur
13.03.2018
19:57:26
есть какие нибудь инструменты, чтобы выявлять такие вещи

package main import ( "fmt" ) func main() { if true { fmt.Println("it will be printed") } else { fmt.Println("it will never be printed") } }

т.е. участки кода, которые не будут никогда выполняться)

?

Никита
13.03.2018
19:59:58
Обычно IDE подсвечивает

Ilnur
13.03.2018
20:04:22
thnx)

а эта утилита найдет неиспользуемый код например здесь?

package main import ( "fmt" ) func greet_person(name string) { if name == "Josh" { fmt.Println("Hello Josh") } else { fmt.Println("I don't know you") } } func main() { greet_person("William") }

не находит

Google
Ilnur
13.03.2018
20:12:23
чуда не произошло

ну хотя неиспользуемую функцию нашел

Daniel
13.03.2018
20:16:47
Надо еще повключать линтеры соответствующие

Ilnur
13.03.2018
20:22:41
deadcode вроде по дефолту включен

Daniel
13.03.2018
20:22:59
Не помню

Ilnur
13.03.2018
20:23:42
ну по крайней мере так в ридми его написано)

https://github.com/alecthomas/gometalinter#supported-linters

Vladimir
13.03.2018
20:24:27
чуда не произошло
у Го линтеры не очень глубоко анализируют код в основной своей массе

поэтому не надо ждать от них умной логики

Vadim
13.03.2018
20:36:37
Добрый вечер.

Александр
13.03.2018
23:58:38
{{range $page := .Pages}} <li class="page-item"><a class="page-link" href="?page={{$page}}">{{$page}}</a></li> {{end}}

неет хелп, что-то он матерится на range can't iterate over

Александр
13.03.2018
23:59:06
Pages []int

Demuz
14.03.2018
04:34:05
Странно, вроде так не должно быть. Попробуйте тоже самое на списке структур. Будет работать?

Michael
14.03.2018
05:21:34
range .Pages, а внутри просто точка

Marlik
14.03.2018
06:18:04
Блэд, что не так? https://play.golang.org/p/HKy-V6wrlHx prog.go:10:6: count evaluated but not used

Alex
14.03.2018
06:19:15
В цикле for убрать первый count

for ; count != example; count++ {

Marlik
14.03.2018
06:20:53
Жесть, спасибо))

В цикле for убрать первый count
А почему так? Этаж распространённый цикл, в разных яп...

Google
Anatoly
14.03.2018
06:24:14
нет, тут ошибка

Alex
14.03.2018
06:25:00
У тебя на 10 строке неиспользуемая переменная из-за того, что ты используешь внутреннюю для цикла переменную count

А Go такого не разрешает

Anatoly
14.03.2018
06:25:52
for count := example - 100; count != example; count++ { как вариант.

Marlik
14.03.2018
06:28:08
Ну это хреново, циклы часто используют для того что-бы счётчик юзать в выражениях...

Anatoly
14.03.2018
06:42:52
как RO

Admin
ERROR: S client not available

Marlik
14.03.2018
07:01:46
for(count; count != 100; count++) { #do request with count where count is value }

Anatoly
14.03.2018
07:07:03
ну так read-only же

Рустам
14.03.2018
07:07:57
ребят, есть строка вида "\\u0438\\u043c" как мне ее конвертировать в читаемый формат?

Ilnur
14.03.2018
07:18:55
Рустам
14.03.2018
09:50:31
Такая проблема, отправляю запрос, принятый json почему-то эскейпится, сталкивался кто нибудь? Как этого избежать?

Хотя если отправить запрос на прямую, то прилетает все ок

Alexander
14.03.2018
09:52:38
json.RawMessage мб тебе нужен? но по вопросу ниче не ясно

Рустам
14.03.2018
09:54:36
Задача в том чтобы проксировать json, анмаршалить его в тсруктуру я не хочу, и пытаюсь просто вернуть то что получил

Alexander
14.03.2018
09:55:11
/stat@combot

Combot
14.03.2018
09:55:12
combot.org/chat/-1001046001048

Alexander
14.03.2018
09:55:29
Ну тогда делай поле типа json.RawMessage в своей структуре и суй туда

Google
Dmitry
14.03.2018
09:56:43
Можно и без RawMessage тогда - получил json в байтбуфере - отдай байтбуфер другому :)

Рустам
14.03.2018
09:58:36
request, err := http.NewRequest(method, url, body) request.Header = header if err != nil { logrus.Error(err) } client := &http.Client{Timeout: time.Duration(7) * time.Second} resp, err := client.Do(request) bytes, _ := ioutil.ReadAll(resp.Body) var response ClientApiResponse json.Unmarshal(bytes, response) context.JSON(resp.StatusCode, response)

может я что-то не так делаю?

type ( ClientApiResponse json.RawMessage )

вот структура ответа

Alexander
14.03.2018
10:00:52
ну как дмитрий сказал, ты можешь сделать context.Write(resp.StatusCode, ioutil.ReadAll(resp.Body)) или какой там метод чтоб не JSON отдавать, а прост писать байты

Рустам
14.03.2018
10:01:24
делал, тоже самое

Ilnur
14.03.2018
10:02:09
мб тебе эскейпенный джсон отдают?)

Рустам
14.03.2018
10:04:07
мб тебе эскейпенный джсон отдают?)
если через постман отправляю запрос, возвращается все нормально

Alexander
14.03.2018
10:06:26
непонятно откуда и куда ты отправляешь

Рустам
14.03.2018
10:13:43
все, я просто слишком тупой)

я запускал не тот бинарник

Rostyslav
14.03.2018
11:36:27
Всем привет! Кто-нибудь разрабатывал бота для skype?

Rostyslav
14.03.2018
12:06:47
Да
супер! Подскажи, пожалуйста, материалы по которым можно начать разработку. В инете очень скудно по данному вопросу.

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