
Мерлин
22.07.2017
11:18:00
Как ни странно, это тот случай из немногих , когда Go будет компактнее руста ?

Алексей
22.07.2017
11:34:46
Какие-нибудь митапы в СПб в ближайшее время будут?

Constantine
22.07.2017
11:41:31
по блокчейну в сбере
норм?

Google

Анатолий
22.07.2017
11:47:55
Парни, решил попробовать chi но не могу захостить ассеты. Скопировал вот этот пример: https://github.com/go-chi/chi/blob/master/_examples/fileserver/main.go при переходе по адресу папки с файлами он мне показывает список файлов, но содержимое их нет
Серьезно что-ли это не работает?
Используй чи, говорили они, огонь роутер говорили они

Kirill
22.07.2017
12:08:04
А попробуй github.com/gramework/gramework

Анатолий
22.07.2017
12:14:49
Угадал пропущенную букву

Kirill
22.07.2017
12:15:32
Да, с телефона опечатался, извини

Анатолий
22.07.2017
12:53:35
Уговариваешь)
Слушай, я с го вот буквально вторую неделю по вечерам, мне стоит выбирать твой фреймворк?)

Danilian
22.07.2017
13:16:30
А попробуй github.com/gramework/gramework
Есть какой нибудь обзор этого фреймворка? Например сравнение с проверенными временем gin, echo, martini? Видел результаты синтетических тестов, впечатлило, но все же так же хочется и функциональности. Чтобы в идеале хотя бы как express для node
https://medium.com/square-corner-blog/a-comparison-of-go-web-frameworks-f47804cf86f6

Google

Danilian
22.07.2017
13:26:03
https://github.com/diyan/go-web-framework-comparsion/blob/master/README.md

Mike
22.07.2017
13:27:22
Кто-нибудь знает как исользовать golang(запустить программу) на pythonanywehere?
задесь что-то говорится про это, но я понять не могу http://blog.pythonanywhere.com/132/
вот как понять эту строку там ? *.golang.org and *.googlesource.com so that GoLang developers can run stuff on PythonAnywhree

Duck
22.07.2017
13:50:31

Анатолий
22.07.2017
13:56:50
@Pokatomnik спасибо за ссылки

Mike
22.07.2017
13:56:59

Vlad
22.07.2017
14:01:49

F
22.07.2017
14:02:50

Vlad
22.07.2017
14:03:12
у меня где-то был код, но суть там простая
тебе JSON приходит в ответ?

F
22.07.2017
14:09:59

Vlad
22.07.2017
14:10:22
лол, постменом достань правильный овтет
и запиши в файлик

F
22.07.2017
14:10:47
а потом?

Vlad
22.07.2017
14:10:52
бля, я сейчас поищу код.
серьезно, уже полгода не писал на Го
мы юзали httptest
смотри, что ты должен отправить еще

Google

Vlad
22.07.2017
14:16:40
вроде как все тесты сводятся к этому

F
22.07.2017
14:45:18

Vlad
22.07.2017
14:47:34
так, это дурной пример.
https://medium.com/@PurdonKyle/unit-testing-golang-http-middleware-c7727ca896ea
вот тут все подробно
если не поймешь - скидывай свой код, попробую написать

Mike
22.07.2017
16:05:20
Почему не получается вывести сообщение используя notify-send.
import "os/exec"
func main() {
exec.Command("notify-send", "Hello")
}
ps: golang1.8
Всё, разобрался!

Хекс
22.07.2017
17:00:37

Mike
22.07.2017
17:06:35
Почему не получалось?
Мне нужно было делать так func message() {
notify_send := exec.Command("notify-send", "Done")
notifyOut, err := notify_send.Output()
if err != nil {
return
}
fmt.Println(string(notifyOut))
}

Хекс
22.07.2017
17:10:02
Для меня, как незнающего, странно что в принтлн просто передается сообщение. .. это точно верно?

Andrew
22.07.2017
17:18:50

Andrew
22.07.2017
17:19:11
Что нужно в него передавать? Конечно же сообщения ))

Mike
22.07.2017
17:19:26

Andrew
22.07.2017
17:20:13
e:=exec()
e.Run вроде вот так было там

Mike
22.07.2017
17:22:28

Andrew
22.07.2017
17:23:43
Документацию не пробовал почитать по пакету exec? Там примеры есть, всё расписано :)

Mike
22.07.2017
17:25:14

Andrew
22.07.2017
17:25:41
Читать доку быстрее будет, чем метод тыка :)

Google

Mike
22.07.2017
17:26:43


Konstantine
22.07.2017
17:35:16
Ребят, такой вопрос.
Мне необходимо на 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
Думал заменить
bodyWriter.CreateFormFile("photo", filePath)
на
bodyWriter.CreateFormField("photo")
и дальше просто записать массив байтов вместо чтения файла, но не работает таким образом
Картинка получается так:
resp, err := http.Get(media.MediaURL)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
file, err := os.Create(settings.PhotoFile)
if err != nil {
log.Fatal(err)
}
_, err = io.Copy(file, resp.Body)
if err != nil {
log.Fatal(err)
}
file.Close()
Вот и думал вместо сохранения просто считывать из
resp.Body
массив байтов, но фигушки


Mikalai
22.07.2017
17:40:45
Ой, точнее в fileWriter наверное

illiatshurotshka❄️
22.07.2017
17:45:43

Мерлин
22.07.2017
17:54:30

Admin
ERROR: S client not available

Ivan
22.07.2017
18:11:53
С кодировками как страдать рекомендуется?
У меня есть база sqlite с которой надо достать данные и перезаписать их в bolt.
Там база неизвестно кем заполнялась, и записали win1251 какие то покореженные данные как utf.
Как бы мне их обратно выправить?
dec := charmap.Windows1251.NewDecoder()
newBody := make([]byte, len(str)*2)
n, _, _ := dec.Transform(newBody, []byte(str), false)
сделал только хуже

Konstantine
22.07.2017
18:20:54

Aleksandr
22.07.2017
18:23:27

Sasha
22.07.2017
18:23:39
ребят, а кто-нибудь работал с IPFS?

Mikalai
22.07.2017
18:25:22
CreateFormField не прокатит, если я все правильно понял

Konstantine
22.07.2017
18:26:01
То есть без сохранения файла на диск никак получается

Mikalai
22.07.2017
18:26:11
Нет, почему
Оно же writer возвращает
Туда и копируешь из resp.Body

Google

Aleksandr
22.07.2017
18:27:02

Konstantine
22.07.2017
18:54:21

Aleksandr
22.07.2017
18:54:50

Konstantine
22.07.2017
18:54:57

Aleksandr
22.07.2017
18:55:02
абстрактно
у меня пашет

Мерлин
22.07.2017
18:56:33

Sasha
22.07.2017
18:57:55
Я чуть-чуть игрался, а что?
да посмотреть бы на то, что с ним вообще делают, а то не совсем понимаю как и что
вот сделал я ipfs init
через ipfs add положил файлик какой-нибудь
запустил демона и что теперь?
теперь я могу кому-нибудь дать хэш и он через ipfs cat сможет этот файлик получить?

Мерлин
22.07.2017
19:05:21

Sasha
22.07.2017
19:05:30
По идее да
QmSXvG7iwveWQAiPR3pMPV3KGTS8omcyzD1qwBVU5PTJaP - вот эту штуку уже может получить любой?

Мерлин
22.07.2017
19:24:29

F
22.07.2017
19:28:08

Chuvi
22.07.2017
19:31:34
Из болта ты получаешь данные по ключу и только их. Если нужны данные из нескольких ячеек, надо запрашивать их каждый раз.
Из SQLite ты получаешь данные в результате SQL запроса. Данные могут собираться из разных ячеек в одном запросе.
Это если очень кратко.

Анатолий
22.07.2017
20:55:26
k/v vs relational, если кратко, остальное - длинно

Mike
22.07.2017
21:56:46
Is sqlite faster than bolt?

Chuvi
22.07.2017
21:58:18

Konstantine
22.07.2017
22:41:52
Нормальная ли практика забацать переменную DEBUG и по коду раскидать
if DEBUG {
log.Println("Logloglog")
}
Или есть варианты получше из коробки?

Daniel
22.07.2017
22:44:34
лучше взять логгер с поддержкой уровней
logrus или structlog