
Vladimir
23.07.2018
05:33:02

Kirill
23.07.2018
05:44:11
чем более доверенная у нас среда, тем меньше она в реальности действительно доверенная
</капитан>

Google

Vladimir
23.07.2018
05:45:37
@kirilldanshin ну это будут не мои проблемы )

Kirill
23.07.2018
05:46:17

Vladimir
23.07.2018
05:50:53

Stanislav
23.07.2018
05:51:07
а https отменили уже?

Vladimir
23.07.2018
05:53:39
Представив худший случай что конечный пользователь не сделает авторизацию и будет юзать хттп. В худшем случае кто то повключает или повыключает эксперименты. Сие в общем мониторинг, так что ничего плохого. Точнее доступ к мониторингу без авторизации намного хуже чем все что можно сделать с флагами
Поэтому это и не моя проблема

Kirill
23.07.2018
05:55:55

Vladimir
23.07.2018
05:57:48

Daniel
23.07.2018
06:02:37

Kirill
23.07.2018
06:18:27
ну - я давно считаю, что софт нужно писать с защитой от долбо—ов в какой-то степени

Vladimir
23.07.2018
06:44:21
Там авторизации нет

Google

Vladimir
23.07.2018
06:44:50
Поэтому если я ее запилю у себя, то не раньше чем решу остальные проблемы)
Но кажется это общая беда систем мониторинга, там почти везде безопасность очень эфимерная

Айнур
23.07.2018
07:51:20
Подскажите, пожалуйста, по семантике выражения for range := someSlice. Если я правильно понимаю, итерация производится по копии первоначального слайса, и соответственно изменение первоначального слайса в ходе итерации не должно сказываться на итерации. Т.е, например, если я буду добавлять новые элементы к t1 в ходе итерации, цикл остановится после первых 4-х итераций, так длина копии слайса равна 4. Почему в данном случае не печатаются элементы копии первоначального слайса, т.е 10, 11, 12, 13?
`t1 := []int{10, 11, 12, 13}
for index, value := range t1 {
log.Print(value)
t1[0], t1[1], t1[2], t1[3] = index, index, index, index
}`
2018/07/23 12:44:37 10
2018/07/23 12:44:37 0
2018/07/23 12:44:37 1
2018/07/23 12:44:37 2

The
23.07.2018
07:53:05
потому что вы index а не value передаете
и слайс меняется. слайс это ссылочный тип.

Айнур
23.07.2018
07:56:05
Тогда я не понимаю, почему в данном случае нет бесконечного цикла. Ведь если меняется, он должен постоянно увеличиваться и цикл должен продолжаться
'ex2 := []int{0, 1, 2, 3}
for index := range ex2 {
ex2 = append(ex2, index)
log.Printf("%p, %v", ex2, ex2)
}'
несмотря на увеличение слайса цикл остановится после первых 4-х итераций:
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1 2]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1 2 3]


Vladislav
23.07.2018
07:59:14
Тогда я не понимаю, почему в данном случае нет бесконечного цикла. Ведь если меняется, он должен постоянно увеличиваться и цикл должен продолжаться
'ex2 := []int{0, 1, 2, 3}
for index := range ex2 {
ex2 = append(ex2, index)
log.Printf("%p, %v", ex2, ex2)
}'
несмотря на увеличение слайса цикл остановится после первых 4-х итераций:
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1 2]
2018/07/23 12:41:30 0xc420018100, [0 1 2 3 0 1 2 3]
Слайс состоит из 3 элементов. Ссылки на участок памяти, длины и вместимости. Когда вы модифицируете элемент - это модификация участка памяти на который ссылается слайс. При range копируются только вот этот указатель, длина и вместимость. Сам участок памяти с элементами не копируется.
Поэтому вы не можете поменять ссылку на участок длину и вместимость, которую использует range, но можете элементы слайса поменять.

Айнур
23.07.2018
08:02:14

The
23.07.2018
08:05:09
Спасибо!
https://blog.golang.org/go-slices-usage-and-internals
вот тут можете почитать про устройство слайсов

Айнур
23.07.2018
08:05:58

Slava
23.07.2018
08:51:06

Sergey
23.07.2018
09:09:44
Добрый день, господа!
Подскажите, пожалуйста, когда я делаю dep init && dep ensure, dep скачитвает только исходники нужных версий пакетов, билдить/устанавливать мне их отдельно надо?

Daniel
23.07.2018
09:17:07
коллега, вам надо выяснить, как работает вендоринг в go
если коротко, то да, только исходники и нет, билдить/устанавливать не надо

Vladimir
23.07.2018
09:17:53

Sergey
23.07.2018
09:21:42
Благодарю вас, господа.

The
23.07.2018
09:34:00
подскажите, как дождаться запуска процесса, если запускаю через cmd.Start()?

Daniel
23.07.2018
09:39:23
что значит - дождаться запуска?

Google

The
23.07.2018
09:39:54
я запускаю хром в режиме хедлесс, с дебаг портом, мне нужно дождаться, пока хром запуститься и начне слушать на порту.
делать в цикле коннект к порту?

Daniel
23.07.2018
09:40:13
ну так проверяйте порт

The
23.07.2018
09:41:16
спасибо

Daniel
23.07.2018
09:41:43
не за что

Sergey
23.07.2018
11:10:50

Vladislav
23.07.2018
11:14:35

Илья
23.07.2018
11:15:09
в Makefile

Sergey
23.07.2018
11:16:47
Ага, понял, спасибо
Именно деп даже вырезает то что не импортируется тобой, типа тестов и ненужных pkg из репы
а не подскажешь, как-то можно избежать этого поведения?
У меня часть того, что не импортируется, используется для кодогенерации и, получается, что этих файлов нет в итоге.
Я нашёл required в deps, но у меня в итоге падает dep ensure с ошибкой:
Solving failure: No versions of github.com/grpc-ecosystem/grpc-gateway met constraints:
v1.4.1: Could not introduce github.com/grpc-ecosystem/grpc-gateway@v1.4.1, as its subpackage github.com/grpc-ecosystem/grpc-gateway does not contain usable Go code (*build.NoGoError).. (Package is required by (root).)

Vladimir
23.07.2018
13:50:07

Sergey
23.07.2018
13:52:14
понял, спасибо.

Sergey
23.07.2018
13:52:25
Btw, а кто-то использует deps в продакшене? Смущает, что написано, что это official experiment.

Zver
23.07.2018
13:53:01

Aleksandr
23.07.2018
13:53:25

Айнур
23.07.2018
13:53:36

Admin
ERROR: S client not available

daysandbox_bot
23.07.2018
13:53:55
Removed msg from Sergey Zobov. Reason: new user + external link

Sergey
23.07.2018
13:54:05
о.о

Zver
23.07.2018
13:54:13

Google

Kirill
23.07.2018
13:54:36
о.о
да, надо будет своего бота сделать

Sergey
23.07.2018
13:55:21

Kirill
23.07.2018
13:55:35

Sergey
23.07.2018
13:56:26

Pawel
23.07.2018
13:57:23
https://github.com/therecipe/qt этот?
Не работает. Биндинг Qt на хер не нужен. И вообще писать гуйню на голанге в 90% случаев крайне херовая идея. Это я про десктоп. Веб и рубироид на голанге - в 100% ах случаев херня

Daniel
23.07.2018
13:57:41

Sergey
23.07.2018
13:57:59

Daniel
23.07.2018
13:58:55
потому, что вендоринг - это для зависимостей конкретного пакета, а не для общих бинарников

Sergey
23.07.2018
14:01:16

Oleh
23.07.2018
14:01:20

Vladimir
23.07.2018
14:01:39
@szobov правила хорошего тона говорят что репа с Гошным кодом вообще самодостаточная - склонил, сделал go build - получил бинарь
то есть кодогенерация должна быть уже закомиченна внутрь

Pawel
23.07.2018
14:09:16
У какие 10 проц когда не херовая?
Примитивные обёртки над win32 lxn/walk или соответственно не менее примитивные над posix xwindow . Примитивные - это едитбокс, лэйбл, листвью, кнопка, комбобокс, чекбокс что там ещё подобное. Иногда у меня от подобных фак аппов бывает профит чем нежели писать это на сишечке. Qt лучше сразу писать на qt и не ипать мозги биндингами
Или внезапно на питоне, там как раз биндинг хорош

Daniel
23.07.2018
14:10:30
коллега, это же пофиг триста раз
и я вот думаю, что имеет смысл писать гуй на qml

Pawel
23.07.2018
14:13:23
Имеет
Ну не все же задачи на нём решаются
Вот ежели бы qml умел в компорт, сокеты, канвас и sqlite, вопросов бы не было.

Google

Daniel
23.07.2018
14:19:11
в это все умеет гошечка

Мерлин
23.07.2018
14:22:53
Приложение keybase написано на go+electron