@gogolang

Страница 560 из 1630
Maxim
05.10.2017
06:58:33
может тогда и не стоит переписывать
Посмотрю на результат - скажу

Michael
05.10.2017
06:58:56
ну тоесть никаких чтд)
ну да, но их же нет!!1111 ))))))))

Pawel
05.10.2017
07:00:53
ну да, но их же нет!!1111 ))))))))
а конкаренси будет в решении таска?

Ivan
05.10.2017
07:01:24
А как же CommonDao<T> и CommonService<T>

Google
Ivan
05.10.2017
07:01:47
Без них вообще нельзя программировать

Pawel
05.10.2017
07:02:51
А как же CommonDao<T> и CommonService<T>
на херу это выбить 30 кеглем у того чёрта, который будет вечно драть в аду тех, кто это придумал

?
05.10.2017
07:39:08
Привет, котаны!

Andrew
05.10.2017
07:40:39
Привет, котаны!
Здаров! Отпадный причесон!

?
05.10.2017
07:47:17
Собственно, вопрос. Когда я дергаю профайлер, то он у меня показывает только часть из всего выполнения. Запускаю так: func main() { defer profile.Start().Stop() На выходе получаю (см. картинку сообщением ниже)



ЧЯДНТ?

Michael
05.10.2017
07:50:03
start defer stop не?

?
05.10.2017
07:51:32
Ты неправильно понимаешь то, как работает defer. Сейчас набросаю в playground.

Michael https://play.golang.org/p/6b8DxSeu7g

in favor
05.10.2017
07:57:36
интересно, он делает дефер вызовы только последней функции ?

Google
Michael
05.10.2017
07:58:44
The deferred call's arguments are evaluated immediately, but the function call is not executed until the surrounding function returns.

Michael
05.10.2017
07:58:58
ну типа на том завязано

по сути оно вычисляет ресивер

?
05.10.2017
08:00:47
Но суть не в том, вызываю профайлер верно, но на выходе получаю кривой результат. Кто какие пакеты для профайлинга использует? Выше github.com/pkg/profile

Alexey
05.10.2017
08:05:43
Профайлер CPU всегда показывает часть, он сэмплирующий

Можно сэмплы чаще делать, для этого есть опция

А у go tool pprof есть опция для уменьшения или выключения фильтрации редких сэмплов

?
05.10.2017
08:44:36
Собстенно, в итоге оказалось, что это все задержки сети. А я было думал, что как-то профайлер все это время неправильно использовал.

?
05.10.2017
08:56:06
В смысле "задержки" сети?
Интернет медленный.

$ time links -dump https://linux.org.ru >/dev/null links -dump https://linux.org.ru > /dev/null 0,03s user 0,01s system 1% cpu 2,897 total $ time wi get https://linux.org.ru >/dev/null wi get https://linux.org.ru > /dev/null 0,20s user 0,03s system 6% cpu 3,465 total То есть не все так плохо, как я думал, и оно в принципе на уровне других.

Анатолий
05.10.2017
09:25:14
Парни, есть у кого гитлаб в контейнере с самоподписаным сертификатом? Нужна помощь с реджистри и dind.

Анатолий
05.10.2017
09:30:32
А в CI с dind вот такая ошибка.

Уже третий день голову ломаю, чего-то я точно не знаю.

Anton
05.10.2017
09:35:36
А нафига тебе реджистри локально?

Ставь на нормальный сервер и запихивай сертификат от LetsEncrypt

У меня такая же фигня с самоподписным была, тебе надо в конфигах докера прописать небезопасные хосты

Google
Anton
05.10.2017
09:37:21
Должно помочь

https://docs.docker.com/registry/insecure/#deploy-a-plain-http-registry

Анатолий
05.10.2017
09:39:31
Спасибо, копну сейчас туда

Прописал - такая же ерунда(

Sergey
05.10.2017
11:54:37
Всем привет. Есть парочка вопросов, помогите пожалуйста

type Scenario struct { Name string Steps []ScenarioStep } type ScenarioStep interface { Init() UserResponseHandler() } Могу ли я как-нибудь создать переменную типа структуры вне функций? var MyScenario Scenario{ Name: "Приветствие", Steps: { } } Могу ли я при при объявлении структуры предустановить какие-нибудь поля вложенной структуры? type MyScenario struct{ Scenario { Name: "Приветствие" } }

оба варианта вызывают ошибку

а мне хочется создать коллекцию объектов, с набором полей структуы Scenario

Vasily Romanov
05.10.2017
11:57:47
var MyScenario = Scenario{...}

Ilya
05.10.2017
11:57:51
Значения по умолчанию устанавливать нельзя

Vasily Romanov
05.10.2017
11:58:11
var MyScenario Scenario{ - тут намешано объявление переменой и инициализация структуры

Sergey
05.10.2017
11:58:59
и это тоже ошибка

Ilya
05.10.2017
12:00:01
вне функций переменные нужно вместе с var объявлять

Sergey
05.10.2017
12:00:03
я вот думаю как правильнее организовать копозицию структур, чтобы я мог получить HelloScenario, FuckYouScenarion и ещё всякие сценарии на основе структуры Scenario

Vasily Romanov
05.10.2017
12:00:18
через var глобальные переменные определяются

Sergey
05.10.2017
12:00:24
вне функций переменные нужно вместе с var объявлять
но заполнть поля структуры я не могу?

Ilya
05.10.2017
12:00:35
Можешь

Vasily Romanov
05.10.2017
12:00:36
можно и заполнять

Ilya
05.10.2017
12:01:24
var MyScenario = Scenario{ Name: "Приветствие", Steps: []ScenarioStep{step1, step2} }

Google
AxiS
05.10.2017
12:02:25
можно и заполнять
можешь еще в функции init заполнить https://golang.org/doc/effective_go.html#init

Ivan
05.10.2017
12:02:25
FROM golang:1.8 ADD ./requirements.txt /tmp/requirements.txt RUN ["/bin/bash", "-c", "go get -u $(</tmp/requirements.txt)"] ????нашел в проекте

Мерлин
05.10.2017
12:03:12
но заполнть поля структуры я не могу?
Сделай функцию-конструктор

Sergey
05.10.2017
12:03:40
типа штука, которая будет собирать мне готовую переменную

на основе некоторых параметров?

Ilya
05.10.2017
12:05:07
да

Мерлин
05.10.2017
12:06:57
это как?
type Foo struct { Prefix string Tokens []string } func NewFoo(str string) *Foo { // здесь заполняй поля }

Sergey
05.10.2017
12:08:06
тогда другой вопрос, вот я создал структуру HelloScenario и хочу заполнить Steps, а это должна быть структура у которой сови методы Init и UserResponseHandler для каждого шага сценария

?

Daniel
05.10.2017
12:10:08
в чем вопрос-то?

как структуру нарисовать, в которой будут все нужные поля?

или как методы это структуры в разных случаях будут по-разному вести себя?

или что*

Sergey
05.10.2017
12:12:24
сейчас пример кода приведу, минуту

Valentin
05.10.2017
12:13:19
Слайс обьектов/интерфейсов

Потом бежите по слайсу и вызываете методы

Daniel
05.10.2017
12:13:33
не надо слайс

Google
Daniel
05.10.2017
12:13:41
вообще не надо

Valentin
05.10.2017
12:14:29
А как ты будешь хранить неопределенное число шагов?

Ну как вариант по типу миддлеваре можно сделать

Chaining или как оно там называется

Mush
05.10.2017
12:16:46
сейчас пример кода приведу, минуту
щас станет еще непонятнее ))

Sergey
05.10.2017
12:17:02
Aleksandr
05.10.2017
12:17:05
ребят, в программировании есть проблема - сложная логика инициирования объектов. у этой проблемы есть решение - фабрики. Чего мудрить? опиши логику в фабрике, в нескольких, если речь идет о разных структурах и юзай

Sergey
05.10.2017
12:18:23
type Scenario struct { Name string Steps []ScenarioStep } type ScenarioStep interface { Init() UserResponseHandler() } //Я хочу получить коллекцию сценариев, у каждого из них будет разное кол-во шагов, а у каждого шага Init() и UserResponseHandler() имеют собственную реализацию var HelloSctruct = Scenario{ Name: "Сценарий приветствие", // Steps: как напихать сюда структур или анонимных структур соответствующищ интерфейсу ScenarioStep? И можно ли это сделать? }

Sergey
05.10.2017
12:19:23
в комментарии вопросики )

Valentin
05.10.2017
12:20:20
Вопрос технический или как лучше и читаемо сделать?

Sergey
05.10.2017
12:21:58
технический ну и советы по поводу того, как это правильнее сделать

Никита
05.10.2017
12:23:48
хранить массив указателей на структуру, у этой струкруты имплементировать интерфейс шага сценария, затем просто в цикле выполнить их все

Aleksandr
05.10.2017
12:25:08
func NewScenario(stepsData ...) Scenario { scenario := Scenario{ // ... steps: make([]Step, len(stepsData)), } for i, data := range stepsData { step := NewStep(data) scenario.steps[i] = step } }

Ivan
05.10.2017
12:30:15
NewStep можно сделать с двумя аргументами-методами и получить конструктор анонимного шага. Steps:{ NewStep(func(){}, func(){}) }

Sergey
05.10.2017
12:48:56
хм...спасибо товарищи, буду думать

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

вот, получилось как-то так

Aleksandr
05.10.2017
14:14:00
выглядит все очень странно. t1 := struct{ ProtoScenarioStep }{} - это зачем?

Vasily Romanov
05.10.2017
14:16:02
создание анонимной структуры которая встраивает в себе ProtoScenarioStep , которым сразу же удовлетворяет интерфейсу ScenarioStep

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