
Pavel
07.10.2018
09:48:13
И всегда актуальная инструкция по сборке есть в коде, а не мануале «как закоммитить правильный код».
А если не юзкейс, то зачем париться?

Sergey
07.10.2018
09:49:31

Google

Pavel
07.10.2018
09:50:20

Sergey
07.10.2018
09:50:42
но есть например bazel с божественным rules_go

Pavel
07.10.2018
09:52:10
?

Daniel
07.10.2018
09:59:07

Vladislav
07.10.2018
10:02:31

Daniel
07.10.2018
10:05:16
Так go get устроен

Pavel
07.10.2018
10:07:56

Daniel
07.10.2018
10:08:37
это как с гомосексуализмом
сам по себе он правонарушением не является.
а вот его пропаганда...

Pavel
07.10.2018
10:09:12
Его пропаганда тоже, если жить в более развитых странах.
Хорошая аналогия!

Dmitriy
07.10.2018
10:12:07
а кто в чём пишет? у всех goland или кто-то обходится например vim? я полный нуб поэтому такой вопрос

Alexei
07.10.2018
10:12:43

Google

Alexei
07.10.2018
10:12:54
хотя и vim'а хватало ранее )))

Анатолий
07.10.2018
10:13:38
GoLand поудобнее, когда приходится что-то отлаживать

Daniel
07.10.2018
10:16:54

Pawel
07.10.2018
10:19:13

Marlik
07.10.2018
10:19:23

Daniel
07.10.2018
10:19:57
Нет, все есть в чате

Pawel
07.10.2018
10:26:49
я тоже стараюсь makefile не делать если что, вместо этого пишу хитрые билды на Го или питоне. Интересны были аргументы за и против

Daniel
07.10.2018
10:27:44
против "это ломает семантику go get", за "а нам так нравится"

Marlik
07.10.2018
10:27:56
Мне удобен мэйкфайл, это удобно, проблем нет.

Daniel
07.10.2018
10:28:30
ваши сексуальные пристрастия - только ваше дело

Marlik
07.10.2018
10:31:11
Согласен, мне удобно потому что всего три команды, make clean, make build, make vendor, в них есть всё что нужно мне.

Sergey
07.10.2018
10:44:35
А котот пытался разрабатывать на удаленной машине, подключить редактор например по sftp

Daniel
07.10.2018
10:44:47
а зачем?
в смсле - ssh fs так себе решение, но что лучше без задачи не скажешь

Sergey
07.10.2018
10:56:03
Например мне нужено работать с "железом". Сейчас я делаю билд у себя и лью на машину исполняемый файл. А так бы сразу там билд был

Daniel
07.10.2018
10:56:18
а зачем?!

David
07.10.2018
11:02:29
Здравствуйте, коллеги. Подскажите, пожалуйста, как достать название девайса и примерное местоположение пользователя из http запроса?
Уже смог достать ip адрес и нужно ли всю остальную информацию по нему доставать или из запроса?

Daniel
07.10.2018
11:03:39
если он сам о себе не прислал ничего про location - надо по maxmind базе по его ip искать

David
07.10.2018
11:05:30

Google

Daniel
07.10.2018
11:06:12
если на клиенте есть к этой информации доступ - конечно, надо оттуда и засылать

David
07.10.2018
11:07:21
Разве на эту информацию нужно запрашивать разрешение?
Или не это имелось ввиду?

Daniel
07.10.2018
11:09:09
в современных осях - да, пользователь должен разрешить программе/сату доступ к геолокации

David
07.10.2018
11:11:12
Нет, нет. Это если конкретно где он живет. А ведь можно же взять данные только о браузере, OS и примерное местонахождение (по ip или как, еще не знаю как это делается) без запрашивания разрешений
Я не прав?

Daniel
07.10.2018
11:11:57
браузер и ос - из заголовка user-agent
примерное местонахождение - по ip через maxmind базу
точность до города у них забесплатно

David
07.10.2018
11:12:56

Sergey
07.10.2018
11:26:30
а зачем?!
Ну я работаю с сетью внутреней. Нужено тестировать на определённых машинах. Там работа со свякими FC и прочими...
А так развернул там дев, приконектился и сразу тестишь

Daniel
07.10.2018
11:29:10
в смысле - не надо каждый раз бинарник наливать?

Sergey
07.10.2018
11:45:55
vgo умеет обновлять версии пакетов?

Roman
07.10.2018
12:34:04

Daniel
07.10.2018
12:35:17
Ну и что?

Mush
07.10.2018
12:37:24

The
07.10.2018
12:37:38
Ребятки, кто-то в курсе как настроить Apache прокси WebSocket на приложение Go. Сейчас получаю такую ошибку: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
В настройках так:
<Location "/api/v1/ws/">
ProxyPass "ws://127.0.0.1:8080/api/v1/ws/"
</Location>
Почему я использую Apache не спрашивайте.
при этом естественно Connection хидер присутствует в запросах как минимум от клиента на апач, но я не знаю присутствует ли он от апач на го

Roman
07.10.2018
12:38:10

Google

Mush
07.10.2018
12:38:25
Ну и что?
в одном проекте через бесплатный максмайнд не определялось примерно 40 % ip адресов

Andew
07.10.2018
12:39:21

Mush
07.10.2018
12:39:37
он в итоге и был выбран
но стоит немало

Pavel
07.10.2018
12:42:44

Admin
ERROR: S client not available

The
07.10.2018
12:43:11
это я понимаю, как сделать чтобы он там присутствовал?

Pavel
07.10.2018
12:43:55
Загуглить. Наверное, есть директивы, которые пробрасывают заголовки по требованию.

Pavel
07.10.2018
12:45:48
пишут что в апаче должен быть модуль proxy_wstunnel_module включен
это если выерить гуглу

The
07.10.2018
12:46:29
да он включен
судя по доке там просто директиву proxypass прописываешь и все
но судя по всему апач на себя берет роль установки websocket коннекшена

Daniel
07.10.2018
12:57:09
Если неправильно настроен - да

Roman
07.10.2018
13:20:22
https://github.com/romshark/Go-1-2-Proposal---Immutability/issues/23#issuecomment-427606414
как один из вариантов решения проблемы:
//go:immutable
активирует операторы mut и immut, которые доступны только в тех пакетах в которых immutability включён.
пакеты, в которых go:immutable активирован, уважают immutability аналогичных пакетов. Старые пакеты об этом не заботятся, для них mut и immut практически невидимы
1. Это не ломает обратную совместимость
2. это не принуждает пользоваться immutability инструментарием всех
3. это позволяет тем, кому данный инструментарий нужен, его активировать
принцип таков: Immutable types should be given to those who care and remain transparent to those, who don't.

Phil
07.10.2018
13:58:16
Я немного отстал от жизни, а что такое операторы mut и immut?

Roman
07.10.2018
13:58:40

Phil
07.10.2018
14:02:28
Это proposal
А. Прочитал. Не понял что он делает и зачем. Крутой proposal

Google

Roman
07.10.2018
14:03:52
я бы назвал данное предложение с compiler flag'ом = "The Go Immutability Experiment"
у него конечно есть небольшой недостаток, код пакетов с включённой иммутабельностью будет выглядеть непривычно для тех, кто привык к сквозной повсеместной мутабельности Go. Однако это самый безболезненный переход который я пока могу себе представить.
Immutable types should be given to those who care and remain transparent to those, who don't.

anatolii
07.10.2018
14:22:48

Daniel
07.10.2018
14:23:46
чет я опять ищу стикер с пеппой

Phil
07.10.2018
14:24:24

anatolii
07.10.2018
14:25:58

Roman
07.10.2018
14:27:04
Копию данных нельзя отдать если боишься что они будут изменены?
именно так и решают эту проблему на данный момент. Но проблем у этого подхода - уйма. Он актуален только потому-что в Go нет иммутабельности вовсе.
1. копирование зачастую не дешёвое.
2. копирование это boilerplate code.
3. копирование подвержено ошибкам потому-что пишется человеком (скопировать массив указателей приведёт к опасному aliasing'у например)
иммут типы в этом плане гораздо удобнее и безопаснее

Daniel
07.10.2018
14:27:08
смотри
есть такой класс багов, довольно редких, но при этом очень трудных в отладке
когда ты не хотел изменять нечто, но в недрах своего кода изменил
и теперь программа ведет себя непредсказуемо.
хорошо бы иметь возможность при передаче аргумента в функцию, или создании глобальной переменной запретить - себе, в первую очередь - изменения этого объекта

Roman
07.10.2018
14:27:55

Phil
07.10.2018
14:28:01

Dmitri
07.10.2018
14:28:57

Daniel
07.10.2018
14:30:34
да разобрались уже :)
там вообще про go run *.go был вопрос

Dmitri
07.10.2018
14:33:30

Aleksandr
07.10.2018
14:36:04

Dmitri
07.10.2018
14:38:00