
corpix
08.07.2017
13:24:13
Мне кажется что лучше использовать SelectAsync, потому что он возвращает *Future
А *Future уде умеет писать в кастомную структуру данных, переданную по ссылке
Примерно так

Google

Nick
08.07.2017
13:24:52
оу

corpix
08.07.2017
13:25:33
Мне вот интересно, в мейлру все проекты на go такие... или это родовая травма модуля для тарантула :D

Nick
08.07.2017
13:26:08
Спасибо! Сейчас покопаюсь, что за SelectAsync

corpix
08.07.2017
13:28:06
Хз, я пытался тарантул использовать, но не вдохновился

Nick
08.07.2017
13:29:03
?
ну да, как то не очень этот процесс радует )

F
08.07.2017
13:51:10
С нейронными сетями в Го кто-то работал? Нужно отсортировать картинки

Kirill
08.07.2017
13:52:59

corpix
08.07.2017
13:55:59

F
08.07.2017
13:56:19
По цвету волос

Sergey
08.07.2017
13:56:37

corpix
08.07.2017
14:27:54
Как же это прекрасно

Google

corpix
08.07.2017
14:27:54

Andrey
08.07.2017
14:52:42
Jabba enterprise

F
08.07.2017
15:19:37
Что такое generics?

Daniel
08.07.2017
15:21:32
как теперь пишет молодежь - "ору"
это такой способ писать код
смысл в том, что пишется некоторый параметризуемый код, а конкретная реализация появляется при применение к генерику параметров

Sergey
08.07.2017
15:25:37
вот такая тема

Daniel
08.07.2017
15:30:04

Michael
08.07.2017
15:31:42
generics это c#
в крестах это шаблоны, что не совсем generics

Sergey
08.07.2017
15:32:06
да там и ада еще
во многих языках
ток давайте без холивара

Oleksandr
08.07.2017
15:37:20

Sergey
08.07.2017
15:37:29

Oleksandr
08.07.2017
15:37:52
ну нееее
ну да (динамические отпадают по определению)
а так я даже не назву сходу, кроме Го и Си

Google

m
08.07.2017
15:40:41
День добрый. Столкнулся с проблемой. Запускаю вебсервер на Go и ОСь выдаёт, что не хватает прав для того, чтобы прибиндиться к 443 порту. Вопрос: как сменть юзера и группу после того, прибиндился?
т.е. запуститься под рутом, прибиндиться, а потом сменить юзера и группу на nobody

Alexey
08.07.2017
15:41:47

corpix
08.07.2017
15:42:23

Daniel
08.07.2017
15:43:38

corpix
08.07.2017
15:44:01
А насчет дженериков... прекрасная статья на википедии, которая всё по полочкам раскладывает https://en.wikipedia.org/wiki/Generic_programming
И вообще, теория типов - штука интересная и на неё определённо стоит взглянуть каждому человеку, который называет себя программистом

m
08.07.2017
15:48:03
так что, запускать вебсервис под рутом что ли?

Dmitry
08.07.2017
15:53:07
Нет проксировать нджинксом

terry
08.07.2017
15:53:32

Daniel
08.07.2017
15:53:35

terry
08.07.2017
15:53:55

m
08.07.2017
15:54:11
хочу обойтись без nginx-а.

Kirill
08.07.2017
15:54:13
Даёшь бинарю биндиться на <=1024

Daniel
08.07.2017
15:54:52
https://tailordev.fr/blog/2017/06/09/deploying-a-go-app-with-systemd-socket-activation/
и еще можно nat-ом пробросить порт

Kirill
08.07.2017
15:55:48
Я люблю setcap

Daniel
08.07.2017
15:56:03
а он самый простой из всех

Kirill
08.07.2017
15:56:16
На линупсе проблем не видел ни разу

Google

m
08.07.2017
15:56:24
это если Линукс. а если freebsd?

Daniel
08.07.2017
15:56:35
то же самое

Michael
08.07.2017
15:56:45
https://superuser.com/a/892391

Kirill
08.07.2017
15:57:10

m
08.07.2017
16:03:09
решил проблему так: sysctl net.inet.ip.portrange.reservedhigh=442
Кирил и Даниэль, спасибо

Daniel
08.07.2017
16:04:37
это не очень хорошее решение, лучше бы точечно 443 разрешить...

m
08.07.2017
16:06:06
а чем это чревато?

F
08.07.2017
16:10:48

m
08.07.2017
16:13:24
в продолжение темы вылезла другая проблема: cannot load TLS key pair from certFile="/usr/local/etc/letsencrypt/live/xxx/fullchain.pem" and keyFile="/usr/local/etc/letsencrypt/live/xxx/privkey.pem": open /usr/local/etc/letsencrypt/live/xxx/fullchain.pem: permission denied . Можно было бы файлы к себе скопировать, но хочется пользоваться ссылками, которые обновляет тулза перевыпуска сертификатов.

Daniel
08.07.2017
16:14:16
эммм

corpix
08.07.2017
16:14:21

Daniel
08.07.2017
16:14:25
и это все на freebsd, так?

m
08.07.2017
16:15:15
да

LexsZero
08.07.2017
16:16:45

Daniel
08.07.2017
16:17:12
во freebsd нет iptables (но есть ipfw, к примеру)
ено вопроса с правами на файл оно не решит

m
08.07.2017
16:18:16
тогда опять возвращаемся к проблеме смены юзера ?

Daniel
08.07.2017
16:19:22
к тому моменту, как мы зовем setuid, некоторые треды уже запущены, и своего uid не поменяют. поэтому setuid в go сломан

Google

corpix
08.07.2017
16:19:46

Daniel
08.07.2017
16:20:05
коллега, вы невнимательно читаете
нужен именно drop priveleges

corpix
08.07.2017
16:21:34
Та я просто не понимаю, у человека root в системе, но описать запуск своего сервиса так, чтобы он запускался сразу от нужного пользователя он не может(в случае запуска с созданием сокета на порте, который не требует привилегий рута)... это как-то странно

m
08.07.2017
16:21:35
а какие цели приследуются программой выписывания сертификатов, когда она ставит привилегии, что никто кроме рута прочнсть сертификаты не может?

Daniel
08.07.2017
16:21:58
не сертификаты, а ключи
сертификаты может кто угодно читать обычно

m
08.07.2017
16:22:20
да, ключи

Daniel
08.07.2017
16:22:36
ну - ключ это самое важное в системе шифрования
он по-максимум защищен...

m
08.07.2017
16:23:12

Daniel
08.07.2017
16:23:31
есть два пути
1. дать соответствующему пользователю права на чтение ключа

Kirill
08.07.2017
16:23:54

Daniel
08.07.2017
16:24:32
2. применить запускатель, который прочтет ключи, откроет сокет, и запустит вашу программу, передав ей уже открытый сокет так или иначе
1 - возможны траблы при обновлении
2 - я не знаю такого пускателя под freebsd

Kirill
08.07.2017
16:27:18