Constantine️
я умею читать. я спрашиваю - зачем это все?
да да, я тоже спросил, но пока тишина )
Constantine️
Anonymous
я бы понял если бы ты этот билдер отдельной структурой сделал
ну так это и хочу сделать, но сейчас не это интересует, а вот именно сам момент var u User = UserBuilder.new().age(30).name("Heathrow).finalize()
Constantine️
?
он хочет жаба стайл )
Мерль
зачем
Constantine️
зачем
удобно
Мерль
удобно
ну такое
hex
У нас тут ОдизОП
Anonymous
ты применение расскажи наконец-то )
ну вот в расте например, я делал так: let args = Args::new() .apikey(&config[0]) .steamid(&config[1]) .format("json") .finalize();
Anonymous
и был доволен, потому что сам Args имеет внутри намного больше свойств, но мне не надо о них думатб
Daniel
и?
Anonymous
потому что они все заполняются сами по себе данными
Daniel
а в go ничего само по себе не заполняется
Daniel
потому как нет конструкторов-то
Мерль
потому что они все заполняются сами по себе данными
Посмотри на вариант, который я скинул Там ты делаешь конфигурационную структуру и функцию-конструктор
Alexey
Ну такое
Alexey
ТС сказали как это можно сделать, правда смысла особо не видно.
Anonymous
и?
https://play.rust-lang.org/?gist=593a48ea6ead4cafc966a09e38e33906&version=stable
Daniel
а чем эти три вызова лучше трех присваиваний?
Мерль
https://play.rust-lang.org/?gist=593a48ea6ead4cafc966a09e38e33906&version=stable
А в го это делается по-другому Ты делаешь две структуры: конфиг и нужный тебе тип В функции finilize (или скажем NewData) ты валидируешь значения и делаешь всю работу по вычислению недостающих значений
Мерль
Как ни странно, это тот случай из немногих , когда Go будет компактнее руста 🤔
Alexey
Какие-нибудь митапы в СПб в ближайшее время будут?
Constantine️
по блокчейну в сбере
Constantine️
норм?
Anatoly
Парни, решил попробовать chi но не могу захостить ассеты. Скопировал вот этот пример: https://github.com/go-chi/chi/blob/master/_examples/fileserver/main.go при переходе по адресу папки с файлами он мне показывает список файлов, но содержимое их нет
Anatoly
Серьезно что-ли это не работает?
Anatoly
Используй чи, говорили они, огонь роутер говорили они
Kirill
А попробуй github.com/gramework/gramework
Anatoly
Угадал пропущенную букву
Kirill
Да, с телефона опечатался, извини
Kirill
Угадал пропущенную букву
Будут вопросы - пиши в личку
Anatoly
Уговариваешь)
Anatoly
Слушай, я с го вот буквально вторую неделю по вечерам, мне стоит выбирать твой фреймворк?)
Danil Á.
А попробуй github.com/gramework/gramework
Есть какой нибудь обзор этого фреймворка? Например сравнение с проверенными временем gin, echo, martini? Видел результаты синтетических тестов, впечатлило, но все же так же хочется и функциональности. Чтобы в идеале хотя бы как express для node
Danil Á.
Слушай, я с го вот буквально вторую неделю по вечерам, мне стоит выбирать твой фреймворк?)
Рекомендую почитать о всех перед выбором. Апи у почти всех практически одинаковое
Danil Á.
https://medium.com/square-corner-blog/a-comparison-of-go-web-frameworks-f47804cf86f6
Danil Á.
https://github.com/diyan/go-web-framework-comparsion/blob/master/README.md
Mike
Кто-нибудь знает как исользовать golang(запустить программу) на pythonanywehere?
Mike
задесь что-то говорится про это, но я понять не могу http://blog.pythonanywhere.com/132/
Mike
вот как понять эту строку там ? *.golang.org and *.googlesource.com so that GoLang developers can run stuff on PythonAnywhree
Igor
вот как понять эту строку там ? *.golang.org and *.googlesource.com so that GoLang developers can run stuff on PythonAnywhree
Похоже что они дали доступ бесплатных аккаунтов к ресурсам которые в списке перечислены.
Anatoly
@Pokatomnik спасибо за ссылки
Anonymous
ты разобрался?
Anonymous
у меня где-то был код, но суть там простая тебе JSON приходит в ответ?
Anonymous
лол, постменом достань правильный овтет
Anonymous
и запиши в файлик
Anonymous
бля, я сейчас поищу код.
Anonymous
серьезно, уже полгода не писал на Го
Anonymous
мы юзали httptest
Anonymous
смотри, что ты должен отправить еще
Anonymous
Anonymous
вроде как все тесты сводятся к этому
Anonymous
так, это дурной пример.
Anonymous
https://medium.com/@PurdonKyle/unit-testing-golang-http-middleware-c7727ca896ea
Anonymous
вот тут все подробно если не поймешь - скидывай свой код, попробую написать
Mike
Почему не получается вывести сообщение используя notify-send. import "os/exec" func main() { exec.Command("notify-send", "Hello") }
Mike
ps: golang1.8
Mike
Всё, разобрался!
hex
Всё, разобрался!
Почему не получалось?
Mike
Почему не получалось?
Мне нужно было делать так func message() { notify_send := exec.Command("notify-send", "Done") notifyOut, err := notify_send.Output() if err != nil { return } fmt.Println(string(notifyOut)) }
hex
Для меня, как незнающего, странно что в принтлн просто передается сообщение. .. это точно верно?
Anonymous
Что нужно в него передавать? Конечно же сообщения ))
Mike
Для меня, как незнающего, странно что в принтлн просто передается сообщение. .. это точно верно?
Я не знаю, по другому у меня не получалось! я сначала попробовал вот так сделать func main() { exec.Command("notify-send", "Hello") } но ничего не вышло, я даже сообщения никакого не получил. Полез в интернет и на рыл там что-то.....
Anonymous
e:=exec() e.Run вроде вот так было там
Mike
e:=exec() e.Run вроде вот так было там
Работает! может из за этого notifyOut, err := notify_send.Output()
Anonymous
Документацию не пробовал почитать по пакету exec? Там примеры есть, всё расписано :)
Mike
Документацию не пробовал почитать по пакету exec? Там примеры есть, всё расписано :)
Неа, не пробовал. Не охото, и так работы шквал. Я пока так, методом тыка.
Anonymous
Читать доку быстрее будет, чем метод тыка :)
Konstantin
Ребят, такой вопрос. Мне необходимо на url определенный высылать файл (jpg картинку просто), но дело в том, что сама картинка тоже лежит на определенном урле и перед этим ее надо скачать. По сути так и делаю - загружаю картинку и сохраняю в файл, а потом из файла пересылаю куда надо. Можно ли как-то обойти сохранение картинки в файл? Ведь все равно ее данные уже есть. Сейчас код для отправки такой: bodyBuf := &bytes.Buffer{} bodyWriter := multipart.NewWriter(bodyBuf) fileWriter, err := bodyWriter.CreateFormFile("photo", filePath) if err != nil { return PhotoWall{}, err } fh, err := os.Open(filePath) if err != nil { return PhotoWall{}, err } _, err = io.Copy(fileWriter, fh) if err != nil { return PhotoWall{}, err } contentType := bodyWriter.FormDataContentType() bodyWriter.Close() resp, err := http.Post(url, contentType, bodyBuf) if err != nil { return PhotoWall{}, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return PhotoWall{}, err } var uploaded PhotoWall err = json.Unmarshal(body, &uploaded) if err != nil { return PhotoWall{}, err } return uploaded, nil
Konstantin
Думал заменить bodyWriter.CreateFormFile("photo", filePath) на bodyWriter.CreateFormField("photo") и дальше просто записать массив байтов вместо чтения файла, но не работает таким образом