Karey
А зачем ты делаешь так, зачем тебе вообще здесь такая обработка?
Alexander
после return делать os.Exit странно - этот код никогда не будет выполнен. Кроме того return должен соответствовать объявленному возвращаемому значению функции. У тебя main не должна возвращать ничего
🎉
Снова мимо. Покажи прототип, откуда ты вызываешь errors.Wrap
Ну так даже вот из доки, так тоже не работает. Может я пакет непрально установил?
package errors
import "github.com/pkg/errors"
Package errors provides simple error handling primitives.
The traditional error handling idiom in Go is roughly akin to
if err != nil {
return err
}
🎉
Anonymous
Alexander
func someOtherFunc() (*data, error) {
file, err := os.Open("config.json")
if err != nil {
return nil, errors.Wrap(err, "Read Config failed")
}
defer file.Close()
// define dataValue value here
return dataValue, nil
}
Karey
Примерно вот так должно быть - https://play.golang.org/p/AcEkuuPczak
🎉
Всем спасибо, пойду смотреть.
Karey
Пакет рабочий
Anonymous
Slach
Народ, а кто нибудь gramework тут кроме Кирила Даншина пользует???
Kirill
Привет, кто-то использует Amazon s3 для хранения файлов пользователей?
Anonymous
Kirill
подскажите как можно организовать авторизованный доступ к ним?
Michael
Slach
I do
а как правильно сервить статические файлы?
делаю так
anomaliesDir, _ := os.cwd()
anomaliesDir = path.Join(anomaliesDir,'anomalies')
staticHandler := web.ServeDirCustom(
anomaliesDir, 0, false, false,
[]string{"index.html", "index.htm"},
)
web.GET("/anomalies/*any", staticHandler)
не открывает нифига =((
http://78623ba9.ngrok.io/anomalies/test.html
ls -la anomalies/
показывае что все ок с правами
в debug логе ничего не вижу
в логах только
registering GET /anomalies/*any
как то можно это отладить ? проверить что оно вообще хоть как то срабатывает?
Slach
может middleware есть какой нибудь отладочный?
Daniel
нет
Daniel
что не так?
Slach
в gramework_test.go
есть вот такое
app.GET("/sdncc_static/dist/*static", app.ServeDirNoCacheCustom("./", 0, false, false, []string{}))
так что не думаю
Alexander
а если попробовать *any на конкретный путь поменять и посмотреть сматчит или нет?
Karey
А разве GET не дожен принимать хэндлер? А вы передаете контекст
Michael
а как правильно сервить статические файлы?
делаю так
anomaliesDir, _ := os.cwd()
anomaliesDir = path.Join(anomaliesDir,'anomalies')
staticHandler := web.ServeDirCustom(
anomaliesDir, 0, false, false,
[]string{"index.html", "index.htm"},
)
web.GET("/anomalies/*any", staticHandler)
не открывает нифига =((
http://78623ba9.ngrok.io/anomalies/test.html
ls -la anomalies/
показывае что все ок с правами
в debug логе ничего не вижу
в логах только
registering GET /anomalies/*any
как то можно это отладить ? проверить что оно вообще хоть как то срабатывает?
app.GET("/*any", app.ServeDir("./files"))
Karey
Он там интерфейс принимает, так не ругнулся бы
Karey
Но я не знаю этот фреймворк)
Michael
web.GET("/anomalies/*any", staticHandler)
anomalies лишнее
Michael
насколько я понимаю)
Michael
anomaliesDir, _ := os.cwd() и тут с путями точно всё ок?
Slach
web.GET("/anomalies/*any", staticHandler)
anomalies лишнее
а как оно определяет что надо именно подкаталог мапить???
вот так нормально сработало файл показало =(
web.ServeFile("/anomalies/test.html", "./anomalies/test.html")
в gramework_test.go есть вот такое
app.GET("/sdncc_static/dist/*static", app.ServeDirNoCacheCustom("./", 0, false, false, []string{}))
Michael
Irina
а вы не посоветуете чат где можно задавать нубские вопросы по кубернетесу?
Andrey
https://t.me/kubernetes_ru
Irina
Anonymous
Интересно, а есть ли в Go аналог сишного container_of() ...
Anonymous
нужно при парсинге конфига иметь доступ к соседу, но контекста нет вообще никакого ... %)
Anonymous
Проще перечислить то, что в Go есть, чем то, чего в нём нет :)
Anonymous
та да :)
Anonymous
переформулирую вопрос: можно ли из дочернего объекта как-то получить указатель на родителя ? Например есть:
type Bar struct {
...
}
type Foo struct {
bar Bar
}
Вот Я хочу из метода bar получить родителя Foo ? :)
Anonymous
Anonymous
Anonymous
Может, есть еще что-то ... %)
Slach
э.. а что должно быть в ответ? вижу страницу со словом Test
это сейчас потому что я прописал полный путь до файла вот так
web.ServeFile("/anomalies/test.html", "./anomalies/test.html")
а мне надо чтобы весь каталог сервился, чтобы URL вида /anomalies/something.jpg резолвился в статический локальный файл anomaliesDir + '/something.jpg'
я туда собираюсь данные генерировать
и я не понимаю почему не работает
вот сейчас обратно поставил
http://78623ba9.ngrok.io/anomalies/test.html
и теперь ошибку выдает =(
Pawel
Господа ,посоветуйте продакшен рэди либу для рисования графиков. сразу скажу, что вот эта https://github.com/wcharczuk/go-chart - уёбищная. Интерсуют именно опробованные в бою
Andrey
https://github.com/sbinet/go-gnuplot
Andrey
но это биндинги
Slach
Slach
а чем она не понравилась конкретно? и с чем сравнивали?
Alexander
а у вас веб-приложение ? может взять d3.js и пусть фронтендер с графиками парится ?
Pawel
а эту пробовали? https://github.com/gonum/plot
сразу же ужаснула тем, что не масштабирует оси координат. Вот просто тупо обрезает график. Видимо границы осей координат можно как-то задать - но это фигня полная, делать такие вычисления руками
Pawel
сейчас делаю графики через жопу - кидаю данные в дельфёвое приложение через сокет, там рендрю, и возвращаюю отрендренное через сокет обратно
Pawel
Andrey
Andrey
https://github.com/gonum/plot/wiki/Example-plots
Pawel
Салтыдык
обычно из го ходят в кубернетес, а не наоборот)
Logan
у нас взаимопроникновение
G72K
У меня бывает неконтролируемая ненависть к Го, хорошо, что есть 1363 человека всегда готовых услышать ее
Aliaksandr
Logan
Logan
го относится к первой группе
Artem
а питон к какой группе относится?)
Logan
тоже к первой. У питона есть весьма интересные особенности поведения
Алексей
Logan
вторая группа – это, к примеру, haskell, io, erlang
Anonymous
а C#?
Logan
какие?
как там GIL поживает? :)
Chrome
в ассемблере все предсказуемо!
Slach
какие?
мутабельные типы не явно заданы =)
Logan
на самом деле я очень люблю питон.
Anonymous