Aleksandr
ок)
Anton
описание ошибки сбило меня с толку и я начал думать, что дело в каком-то приведении типов)
Dmitry
ты забыл тип указать, точнее он слился с переменнной, хотя все равно ... нужно после переменной ставить
Aleksandr
А это прописано в завимостях helm
а. ну вот нет такого тега. не знаю как они планировали сделать это рабочим
Aleksandr
https://github.com/helm/helm/blob/master/glide.yaml
Aleksandr
может это glide так умеет, а dep нет
Co.In
Народ. Вот так создаю простой сервер слушающий 443 порт package main import ( "net/http" "strings" ) func sayHello(w http.ResponseWriter, r *http.Request) { message := r.URL.Path message = strings.TrimPrefix(message, "/") message = "Hello " + message w.Write([]byte(message)) } func main() { http.HandleFunc("/", sayHello) if err := http.ListenAndServe(":443", nil); err != nil { panic(err) } } Падает с паникой panic: listen tcp :443: bind: permission denied Вначале думал что порт занят, но нет. Проверял так sudo netstat -pntl | grep 443 lsof -i | grep 443
Aleksandr
под судо надо
Aleksandr
< 1024 порта без судо нельзя без разрешения
Aleksandr
1443 порт сделай для проверки
Co.In
Про рейндж не знал. Спасибо0
Anton
setcap 'cap_net_bind_service=+ep' /path/to/program и не надо sudo
Co.In
setcap 'cap_net_bind_service=+ep' /path/to/program и не надо sudo
А если у меня собирается во временную папку /usr/local/go/1.10.3/bin/go build -o /tmp/___go_build_main_go Так пробовал sudo setcap 'cap_net_bind_service=+ep' /tmp/___go_build_main_go Но не дает setcap сделать Failed to set capabilities on file `/tmp/___go_build_main_go' (Invalid argument) The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file Пробовал в другую папку, и указывать только имя папки без имени файл. Ничего не работает
Kirill
и не симлинк!
Co.In
указывать нужно не директорию, а сам бинарь
Ну я изначально так и указал. Сам бинарь вначале, ибо папку как-то показалось нелогично там же и другие бинарники могут быть помимо необходимого. И симлинков тоже нет. Пробовал собирать прям в home свой
Kirill
показывай ls -halF своего файла
Daniel
и что, не собралось?
Kirill
это так, для остальных на заметку, мало ли
Co.In
-rwxr-xr-x 1 pi pi 7.3M Aug 21 18:51 /tmp/___go_build_main_go*
Kirill
тогда должен был сделать setcap, если конечно само ядро умеет в такой cap
Aleksandr
я думаю разрешение дается ДО создания файла или ВО время создания
Aleksandr
и ни то ни другео не срабатывает
Daniel
-rwxr-xr-x 1 pi pi 7.3M Aug 21 18:51 /tmp/___go_build_main_go*
а собеорите нормальноб через go build
Co.In
а собеорите нормальноб через go build
через build и собираю /usr/local/go/1.10.3/bin/go build -o /home/pi/go_build_main_go -gcflags "all=-N -l" /home/pi/GoglandProjects/awesomeProject3/main.go #gosetup
Aleksandr
он имеет в виду не через кнопочку в Goland во временную директорию
Aleksandr
собери бинарник, дай ему cap, запусти
Aleksandr
так будет работать
Aleksandr
иначе:
Aleksandr
я думаю разрешение дается ДО создания файла или ВО время создания
Aleksandr
и ни то ни другео не срабатывает
Илья
Подскажите, что почитать про jwt? Есть ли примеры на go? Хочу написать rest api. Какую лучше использовать базу данных в связке с go?
Илья
https://auth0.com/blog/authentication-in-golang/
Kirill
это же отдельные вопросы? :D
Илья
но вообще, google что такое jwt
Anonymous
Чето я забыл, если в структуре 5 полей а приходит джсон с 7 полями то Парсинга упадёт, наборы полей должны совпадать?
Anonymous
Хм,
Anonymous
Спасибо
Заур
Народ, вот такой вопрос. Как грамотно назвать один отдельный урл для REST API вместе с http методом и параметрами?
Заур
Что бы можно было сказать: в нашем API есть вот такой метод/вызов/эндпоинт
Заур
Ну вот из этих метод/вызов/эндпоинт или ещё каких-то слов, как правильно будет?
Заур
А?
Dmitrii
товарищи, а подскажите где вакансии посмотреть можно? не следил особо за этим моментом, но не помню чтобы здесь что-то было
Dmitrii
увидел, пардоньте
Dmitrii
премного благодарен)
Anonymous
а я вот последние пару дней ковыряю микросервисные библиотеки: go-kit и go-micro (контора думает о переходе существующей микросервисной архитектуры с nodejs) пока выходит что ни та, ни другая библиотеки не устраивают по разным причинам... есть у кого-нибудь опыт go/microservices/grpc в продакшн? че юзаете? нужны все эти балансировки, сервисдискавери, фаулт толеранс и все такое (простые мануалы и статьи из инета просьба не предлагать 🙂
Anonymous
это че? не гуглится
Michael
Gramework and consul
Anonymous
почитал... ну это web
Michael
@madgopher волшебные пендали и пулреквесты принимает по греймвёрку
Anonymous
все больше и больше об istio (прости господи) задумываюсь
Alexey
Привет всем! Подскажите, есть ли более удобный способ реализовать дефолтные значения параметров функции, нежеди вот такой: func test(b ...int) int { c := 0 if len(b) > 0 { c = b[0] } return c }
Daniel
нет никаких дефолтных значений
Daniel
и не надо делать вот этой ерунды
Alexey
Я реализую метод апи. Апишка предполагает необязательные параметры. Как быть в данном случаи? Оставить всё на откуп клиентскому коду?
Антон
Ой, это ведь Го
Slava
Можно через функциональные аргументы
Kirill
Ой, это ведь Го
ну да, ведь типам не хватает значения empty. булю, например. true, false, null и empty — охуенно же
Kirill
блеванул
плюсую.
Alexey
а метод какого api вы реализуете?
Конкретно сейчас https://www.livecoin.net/api/userdata Метод /exchange/trades
Kirill
запили, может, структурку с опциями
Kirill
как @toby3d делал в клиенте TG bot api