
stixlink
02.08.2018
12:57:05
проблема в том, что если хандел пишеть что то в header то редирект потом не осуществляется
https://play.golang.org/p/F5rqZEjndJf

Vadim
02.08.2018
12:59:39
Кстати, посмотрел qt на го, выглядит интересно

Daniel
02.08.2018
13:00:16
qt или qml?

Google

Vadim
02.08.2018
13:07:07
https://github.com/therecipe/qt

Daniel
02.08.2018
13:07:22
угу

Michael
02.08.2018
13:55:18

Daniel
02.08.2018
13:55:40
к qml, как мне тут рассказали, прилагается js

Michael
02.08.2018
13:55:56

/dev/null
02.08.2018
13:56:31

Michael
02.08.2018
13:56:46

/dev/null
02.08.2018
13:57:23

Aleksandr
02.08.2018
14:05:06

stixlink
02.08.2018
14:09:30
там получается что при записи в хидер несколько раз, хидеры редиректа теряются
и показывается страница с ссылкой которую добавляет http.Redirect, а сам редирект не осуществляется

Google

Илья
02.08.2018
14:12:44
потому что статус уже записан в ответе

Aleksandr
02.08.2018
14:12:47
о том и говорю. статус код будет только первый

Stanislav
02.08.2018
14:23:38

stixlink
02.08.2018
14:41:10
а как избежать двойной записи в хидер, если надо редирект сделать после выполнения хендлера и если он вернул стату ошибки то редиректить на соответствующую страницу?

Илья
02.08.2018
14:42:36
я бы делал так

Michael
02.08.2018
14:58:04

Aleksandr
02.08.2018
15:00:46

Stanislav
02.08.2018
15:13:47

Michael
02.08.2018
15:15:14
Это коммерческая лицензия
Требуйте

Kirill
02.08.2018
15:15:51

Michael
02.08.2018
15:16:03
?

Vadim
02.08.2018
15:16:36
https://github.com/therecipe/qt/wiki/FAQ#what-are-the-system-requirements-
Вот

stixlink
02.08.2018
15:20:09
@di3young @zelenin Спасибо!

Stanislav
02.08.2018
15:40:12
;)
Биндинги то есть

Roman
02.08.2018
15:50:51
Hey guys, it's been a great almost half-a-year experience for me and my colleagues building our websocket abstraction library: github.com/qbeon/webwire-go
And now as its not far away from its final v1.0.0 release I'm looking for open source collaborators to help us improve it even further and spread the word
If there's anyone out there willing to help and get his/her name engraved into it, please don't hesitate to contact me ?
Anyway, thanks for your attention, you're awesome! ?

Google

Roman
02.08.2018
15:51:00
сори за инглиш, лень переводить))

Michael
02.08.2018
15:56:06
Есть $, требуйте дальше

Stanislav
02.08.2018
17:59:53
Есть $, требуйте дальше
кхм, то есть вы серьезно не понимаете разницы между коммерческой лицензией Qt и LGPL в therecipe/qt?
https://github.com/therecipe/qt/wiki/FAQ#what-is-the-implication-from-using-lgpl-library-in-my-go-app- прям разраб (therecipe) написал хорошую пищу для размышлений на тему написания коммерческого ПО на Go + Qt + эти биндинги
даже вот так: https://github.com/therecipe/qt/wiki/FAQ#can-i-make-a-proprietary-app-with-this-binding-

Michael
02.08.2018
18:16:18

Stanislav
02.08.2018
18:19:45
Судя по всему вы не читаете, что вам пишут
я, например, у биндингов (therecipe/qt) не вижу эксепшенов в лицензировании или коммерческой лицензии. Расскажите, как вы кроссплатформенно обошли LGPL и статическую линковку?

Sergey
02.08.2018
18:20:52
фокаешь, меняешь лицензию, сквошаешь

Michael
02.08.2018
18:22:35
Расскажу схему за 1млн длр, даже покажу, то, чего не должен
Требуйте!

Stanislav
02.08.2018
18:23:22

Sergey
02.08.2018
18:27:05

Stanislav
02.08.2018
18:27:08
Расскажу схему за 1млн длр, даже покажу, то, чего не должен
не, мне то не надо, я чужой труд и лицензии уважаю ? просто обращаю внимание, что если вдруг сдетектят использование этих биндингов (или свистнутого кода по предложению Random ) - имеют полное право потребовать объектники или исходники. Так как у Go статическая линковка, то объектников нет - придется дать исходники.
Речь не про Qt сам, а про биндинги. Которые под LGPL.
Это я к тому, чтобы вы в заблуждение не вводили людей. Может в России такое и прокатит, но в остальном мире может и не прокатить ?
или будет как с ирисом

Sergey
02.08.2018
18:27:51

Michael
02.08.2018
18:33:12

Stanislav
02.08.2018
18:36:18

Michael
02.08.2018
18:39:03
А, ну если вы плюете на лицензии - мне вас искренне жаль
Тут стоит вам напомнить слова гражданина Лаврова, потом даже в не любимой вами РФ есть положение о призумности не виновности, а за уши вас вожно притянуть за клевету, и к офтальмологу- чтобы открывали глаза и читали что вам писали несколько раз

Twelfth
02.08.2018
18:39:17

Michael
02.08.2018
18:39:38
Это т9

Google

Michael
02.08.2018
18:39:57
Спасибо

Twelfth
02.08.2018
18:40:43
Кстати, насколько легко из скомпилированного бинарника go получить исходный код программы?

Stanislav
02.08.2018
18:41:05

Sergey
02.08.2018
18:42:49

Michael
02.08.2018
18:42:49
Не,не, жгите, подтверждайте свою)
Мастерство и инструменты - и нет проблем

Sergey
02.08.2018
18:44:00

Stanislav
02.08.2018
18:47:29

Admin
ERROR: S client not available

Michael
02.08.2018
19:12:48
а кто вводил?)
вы уже или договаривайте или дествительно не реагируйте)

Pawel
02.08.2018
19:38:39


Anton
02.08.2018
19:49:13
гоферы ? подскажите такую штуку. хочу сделать методы для получения данных из bolt с сигнатурой вроде той, как это сделано в gorm. у них, например, юзеры получаются таким образом:
user := User{}
users := []User{}
db.First(&user)
db.Find(&users)
соответственно, для получения одного юзера и слайса юзеров. у них там, видимо, используется reflection, мне такого не надо, я сделал простую функцию для получения одного элемента из базы в общем виде и функцию для получения одного элемента конкретного типа, выглядит это как-то так:
// функция в общем виде для
// получения одно элемента
func (d *Database) getBucketEntryByKey(v interface{}, bucketKey, key []byte) error {
return d.DB.View(func(tx *bolt.Tx) error {
b := tx.Bucket(bucketKey)
bytes := b.Get(key)
if bytes == nil {
return nil
}
// тут просто происходит маршаллинг
// в interface{}, ему всё равно, куда
return json.Unmarshal(bytes, &v)
})
}
// функция для получения одного Promotion
func (d *Database) getPromotionByID(v interface{}, id uuid.UUID) error {
return d.getBucketEntryByKey(v, bucketKeyPromotions, id.Bytes())
}
но вот если я хочу сделать функцию для получения всех элементов (слайса), как мне это реализовать? вот так не катит, потому что я не могу анмаршаллить в [][]byte:
func (d *Database) getBucketEntries(v interface{}, bucketKey []byte) error {
return d.DB.View(func(tx *bolt.Tx) error {
var data [][]byte
b := tx.Bucket(bucketKey)
c := b.Cursor()
for k, v := c.First(); k != nil; k, v = c.Next() {
data = append(data, v)
}
return json.Unmarshal(data, &v)
})
}
т.е. получается, что я из базы могу доставать по одной записи (`[]byte`, который соответствует одной записи), я прохожу по ним всем, собираю их и хочу сделать анмаршаллинг всего этого дела в некую переменную, которая является слайсом сущностей.
gist для наглядности https://gist.github.com/egorovli/7ce204ac20be6db406f320f394149d6e


Евгений
02.08.2018
20:28:43

Roman
02.08.2018
20:33:22
А где на практике применяется?
мы применяем её в продакшне в 2 коммерческих проектах на данный момент
использует ли её кто-то кроме нас? буду реалистичен и предположу что пока ещё нет, поскольку последний релиз это release candidate, нежели final release.
в плане стабильности она уже довольно хороша. В плане производительности - не уверен, нужно более точно измерять, в чём собственно и нужна помощь комьюнити

Евгений
02.08.2018
20:42:47

Roman
02.08.2018
20:43:40

$continue$
03.08.2018
07:19:34
всем привет. столкнулся с такой проблемой, что почему то функция возвращает пустые строки. Хотя body не пустой и там json (дебагал в go-resty). Исходя из этого, есть предположение, что не работает декодер json
Второй скрин это callmethod.
Сама либа - https://github.com/urShadow/go-vk-api
https://i.imgur.com/qgrrvIN.png
https://i.imgur.com/W6DWAyy.png
https://i.imgur.com/0LT5YsP.png

Google

$continue$
03.08.2018
07:22:20
В чем может быть проблема?

Zhenja
03.08.2018
07:23:36
ну первая Ваша проблема - это код скриншотами
а вторая - имена полей в структуре маленькими буквами

Alexander
03.08.2018
07:24:09

Kirill
03.08.2018
07:24:52

$continue$
03.08.2018
07:38:21

Zhenja
03.08.2018
07:50:30

Stanislav
03.08.2018
07:51:09

GoodMoodDealler
03.08.2018
08:04:32
Подскажите, в го есть функция чтобы найти минимальный элемент в массиве int64?

Kirill
03.08.2018
08:06:05

Sergey
03.08.2018
08:07:17
"There is no built-in for this."
но, вы можете отсортировать слайс/массив, и потом взять крайний элемент ?

Lesha
03.08.2018
08:09:03

Sergey
03.08.2018
08:09:24
потому что функции сортировки есть в pkg/sort

Lesha
03.08.2018
08:10:04
можно же в одну проходочку найти без сортировки

Sergey
03.08.2018
08:10:19
но придётся писать свою функцию

Lesha
03.08.2018
08:11:01
что там писать?

Vadim
03.08.2018
08:11:14
7 строк

Sergey
03.08.2018
08:13:05
ну а с sort — 2 строки