
Alexander
30.08.2017
05:29:44

Andrew
30.08.2017
05:31:59

Alexander
30.08.2017
05:32:30
Наверное и работать будет быстрее

Andrew
30.08.2017
05:33:36
И с помощью всяких ORM можно будет красиво вставлять сразу целиком записи

Google

Alexander
30.08.2017
06:05:47
не люблю я орм. Описать там джоины - сума сойдёшь

Alexey
30.08.2017
06:35:24
JOIN'ы можно и на SQL'е писать
Вообще, ORM'ы, как правило, не забирают возможность использовать SQL

Andrey
30.08.2017
06:36:09
Куплю билет на автобус и поеду на такси

Alexey
30.08.2017
06:36:34
Но убирают необходимость делать повторяющиеся действия руками каждый раз, типа rows.Scan(…правильное количество аргументов в нужном порядке…) или defer rows.Close()

Igor
30.08.2017
06:40:05
Orm есть хорошо

Паша
30.08.2017
06:59:28


Dmitryi
30.08.2017
07:43:06
Все доброго времени суток. У меня вопрос следующего характера. Возникла проблема с отпрвкой data.json на web api. В data я передаю user пароль и дальше как бы получаю всю нужную информацию, на питоне у меня все четка работает с urllib, на go отдает ошибку о неправильной auth-id или пароле пользователя. Возможно я что то делаю не так.
package main
import (
"fmt"
"net/http"
"bytes"
"io/ioutil"
"encoding/json"
)
type som struct{
Aut int json:"auth-id"
P string json:"auth-password"
RO int json:"rows-per-page"
}
func main(){
url := "https://api.cloudns.net/dns/get-pages-count.json"
fmt.Println("URL:>", url)
data := som{123,"password",10}
jsonStr,err := json.Marshal(data)
req, err := http.Post(url,"application/json", bytes.NewBuffer(jsonStr))
if err != nil {
panic(err)
}
defer req.Body.Close()
fmt.Println("response Status:", req.Status)
fmt.Println("response Headers:", req.Header)
body, _ := ioutil.ReadAll(req.Body)
fmt.Println("response Body:", string(body))
}


Mush
30.08.2017
08:17:48
какой json посылается? надо вывести и все станет ясно

Dmitryi
30.08.2017
08:20:11
{"auth-id":123,"auth-password":"password","rows-per-page":10}

Ivan
30.08.2017
08:20:58
После rows запятой нет

Dmitryi
30.08.2017
08:25:35

Ivan
30.08.2017
08:26:00
Ой, и не могло помочь

Google

Ivan
30.08.2017
08:26:05
Я глупость сказал

Dmitryi
30.08.2017
08:26:29
Ну я попробовал... малоли;)

anton
30.08.2017
09:01:09
а покажи код на ру?

Dmitryi
30.08.2017
09:02:15
def listPageClouDNS():
data = {"auth-id" : authId,
"auth-password" : authPassword,
"rows-per-page" : 100,
}
enc_data = urllib.parse.urlencode(data).encode('utf-8')
page = urllib.request.urlopen("https://api.cloudns.net/dns/get-pages-count.json", enc_data)
x = eval(page.read())
s = json.dumps(x)
#print(x['status'], '! ', x['statusDescription'], sep='')
return(s)

anton
30.08.2017
09:02:58
urlencode != json в post body

Anton
30.08.2017
09:03:27
и код бы обрамлять в трех "`"

Ilya
30.08.2017
09:04:01
x = eval(page.read())

Anton
30.08.2017
09:04:04
из раздела: не знаешь как помочь - дое*ись до текста)

Ilya
30.08.2017
09:04:15
Б - безопасность

anton
30.08.2017
09:05:02
в варианте на ру ты получаешь что-то типа:
GET: https://api.cloudns.net/dns/get-pages-count.json?auth-id=0&auth-password=password&rows-per-page=10
а в варианте на го у тебя:
POST: https://api.cloudns.net/dns/get-pages-count.json где ты в request body кидаешь свой json

Dmitryi
30.08.2017
09:07:38

anton
30.08.2017
09:11:29
смотри в сторону https://golang.org/pkg/net/url/#Values.Encode

Dmitriy
30.08.2017
09:13:24
Dmitryi
type som struct{
Aut int `"json":"auth-id"`
P string `"json":"auth-password"`
RO int `"json":"rows-per-page"`
}
Так пробовали ?

anton
30.08.2017
09:15:52

Dmitryi
30.08.2017
09:17:47

anton
30.08.2017
09:20:31
и не пугайся, в песочнице сам запрос nil возвращает, потому что там http наружку делать нельзя

Monday Begins on Saturday
30.08.2017
13:26:13
а может кто порекомендует хорошую тулзу для стресс тестирования? не обязательно на Go, но обязательна поддержка websocket протокола
artillery.io уже пробовал, но там вообще почти нифига нет

Ilya
30.08.2017
13:26:52

Ivan
30.08.2017
14:14:49
Yandex.Tank?

Google

anton
30.08.2017
14:17:07
gatling

Vladimir
30.08.2017
14:17:40
yandex.tank, pandora, gatling, jmeter, vegeta
еще кто-то был
я все время забываю

Anton
30.08.2017
16:30:12
Apache benchmark
Простите, оно не факт что в веб сокеты умеет. Я вопросы читать не умею

Alex
30.08.2017
16:58:35
Привет народ, кто может мой код на гитхабе глянуть. Пишу недавно, хочется услышать критику и может где-что подсказать как лучше сделать

Aleksandr
30.08.2017
17:06:34
ссылку кидай - кто-то обязательно глянет

Mush
30.08.2017
17:08:50

Мерлин
30.08.2017
17:13:44
#подкаст
http://golangshow.com/online/

DimenSi
30.08.2017
17:43:02

Yura
30.08.2017
18:19:30
Dratuti

Valentin
30.08.2017
18:20:40
я бы не отказался от ссылки на саундклауд
а, тунец есть -)

/dev/null
31.08.2017
00:48:27
Вопрос тем кто использует GIN
// Upload the file to specific dst.
Имеется ввиду директория для сохранения?

Nikolay
31.08.2017
00:50:45
Да

/dev/null
31.08.2017
00:55:12

Nikolay
31.08.2017
00:57:57
Ошибки пишет?
Путь в каком виде указал?

Google

/dev/null
31.08.2017
01:15:58
Подскажите пожалуйста, как еще можно расширения файла убрать
Например имеем name.zip как привести его к виду name

Andrew
31.08.2017
03:28:25

/dev/null
31.08.2017
03:28:38

Andrew
31.08.2017
03:30:08
Интересно, что будет, если кинуть гуглу PR с добавлением функции получения имени файла. Возьмут или нет?

Admin
ERROR: S client not available

Slava
31.08.2017
04:43:41
ммм
но зачем?

/dev/null
31.08.2017
05:05:42
Еще один немного странный вопрос, как вы ищете проекты на github, например хочу посмотреть на репозитории людей которые пишут на go

Diasko
31.08.2017
05:14:27
Подскажите может кто нибудь встречал для го плагены на подобии Yii2-debug и laravel-debugbar

/dev/m
31.08.2017
05:20:42

Diasko
31.08.2017
05:24:26
а лог в консоле не удобно просматривать

/dev/null
31.08.2017
05:30:24

Ivan
31.08.2017
07:00:47
/dev/meme?

Andrew
31.08.2017
07:04:50
/dev/mimimi?

Michael
31.08.2017
07:05:16
/dev/mumu

Andrew
31.08.2017
07:09:14
/dev/meme?
При считывании выдаёт свежие мемесы, а при записи позволяет делиться мемесами с остальными? Полезный модуль ядра, я бы сказал must have. ?

Ilya
31.08.2017
07:16:26
/dev/facepalm

Google

Daniel
31.08.2017
07:18:37
я дукмаю, /proc/facepalm логичнее

Alex
31.08.2017
07:23:22
Привет. Есть бд с где связь один-ко-многим. Подскажите как сделать, чтобы при удалении одной записи удалялись и записи со связью. Я думаю нужно две ф-ции или есть еще варианты.
func DeleteRecipe(db *sql.DB, id int) (int64, error) {
sql := "DELETE FROM recipe WHERE ID = ?"
stmt, err := db.Prepare(sql)

Daniel
31.08.2017
07:25:04
а что за бд?
в реляционной можно просто правильно определеть форин ключ

Alex
31.08.2017
07:27:21

Irek
31.08.2017
07:28:04
через каскады
ON UPDATE/DELETE CASCADE
и да, чтобы FK работал в sqlite надо установить настойку на БД: PRAGMA foreign_keys = ON;

Alex
31.08.2017
07:34:17
CREATE TABLE flavor (
name TEXT,
drops INTEGER,
recipeid INTEGER REFERENCES recipe (id) ON DELETE CASCADE
ON UPDATE CASCADE
);

Daniel
31.08.2017
07:35:53
тогда должно быть само

Irek
31.08.2017
07:36:31
сейчас кину в личку