
Vladimir
11.10.2018
08:45:04
conn.Do("HMSET", key, "Field1", value1, "Field2", value2)

Darwin
11.10.2018
08:46:32
https://godoc.org/github.com/go-redis/redis#Client.HMSet

Vladimir
11.10.2018
08:48:29
https://godoc.org/github.com/gomodule/redigo/redis

Google

Darwin
11.10.2018
08:48:43
используйте этот)))

Vladimir
11.10.2018
08:48:47
да вроде разобрался уже

Daniel
11.10.2018
08:49:18
А нет такого, что "прочесть-обновить-записать"?

Евгений
11.10.2018
08:49:44

Daniel
11.10.2018
08:50:59
Засылайте, да
Админы, обратите внимание - я согласовал

Denis
11.10.2018
08:51:31

Vladimir
11.10.2018
08:51:32

Denis
11.10.2018
08:51:32

Vladimir
11.10.2018
08:52:16
в роттердаме и делфте красиво )

Denis
11.10.2018
08:54:42
Registration links:
https://lnkd.in/gsEVkRq
https://www.neo.camp/
https://lnkd.in/gydWJAN

Google

Zver
11.10.2018
08:55:59

Daniel
11.10.2018
08:56:50
Нет, так не бывает.

Александр
11.10.2018
09:12:31
Добрый день
var result []anyModelStruct
findAll(&result)
а внутри findAll условно цикл по источнику, вот думаю как заполнить такой слайс
по идеи мы должны делать
{
result := append(result, anyModelStruct{
any: value
})
}
но если функция "универсальная" тогда не получится ?
что-то у меня нет идей как красиво без рефлекта заполнить
можно конечно вернуть какой нить map[string]interface{}
и сделать на уровень выше логику преобразования, но я хотел сразу скормить слайс

Daniel
11.10.2018
09:15:01
Где вы такие задачи находите?!

Mykyta
11.10.2018
09:15:24

Александр
11.10.2018
09:15:45

John
11.10.2018
09:15:47

Александр
11.10.2018
09:15:55
думал что реализацию можно отделить от моделей как то
тоесть как это обычно бывает, слоеный пирог

Mykyta
11.10.2018
09:16:34

Александр
11.10.2018
09:16:52
это не актив рекорд
это репозиторий получается

Mykyta
11.10.2018
09:17:45
тогда ты хочешь сделать generic repository, что тоже считается вредным

Александр
11.10.2018
09:17:57
ранее использовал для запросов https://github.com/leesper/couchdb-golang
там на https://github.com/leesper/couchdb-golang/blob/master/database.go просто возращают map[string]interface{}
на любой запрос

Google

Artem
11.10.2018
09:18:40
а кто-нибудь использует клиент к реббиту? Я как-то не очень понял. Поверх него надо пул коннектов наворачивать?

Александр
11.10.2018
09:18:46
можно конечно и так сделать
но я думал выпедриться и сразу сэкономить
ну хз как делать ?

John
11.10.2018
09:21:21

Michael
11.10.2018
09:24:02
пул коннектов раббиту не нужен
асинхронно диспатчить сообщения надо

Artem
11.10.2018
09:25:45
ну вот я тоже думаю. Накидать данных потом confirmation ждать

John
11.10.2018
09:26:27

Artem
11.10.2018
09:27:16
а что такое “несколько сессий” ?

Vladimir
11.10.2018
09:30:58
топовый ник

John
11.10.2018
09:31:17

Artem
11.10.2018
09:37:33

Mike
11.10.2018
09:42:30

Artem
11.10.2018
09:43:31
сук, где такие ники раздают?)
При советской власти по блату. В комитете никнеймов. Было дело в москву за никами ездили. А у меня у знакомого дядя ездил заграницу. Такие классные ники привозил, чехословацкие

Mike
11.10.2018
09:43:52

Vadim
11.10.2018
09:44:46

Darwin
11.10.2018
09:45:04
в электричках из москвы всегда никами пахло
все за никами ездили

Pawel
11.10.2018
09:45:17
использовать sync.Pool в качестве стека - это вообще норм?

Google

Daniel
11.10.2018
09:45:48
Вроде, нет

Мерлин
11.10.2018
09:46:13

John
11.10.2018
09:46:34

Ilya
11.10.2018
09:46:34

Marlik
11.10.2018
09:47:02
а так http.Handle и http.HandleFunc полностью взаимозаменемы
https://play.golang.org/p/c9h4-lEn1tR
Вот посмотрел в доку, и по моему ничего не взаимозаменяемо:
func main() {
r := mux.NewRouter()
r.HandleFunc("/", HomeHandler)
r.HandleFunc("/products", ProductsHandler)
r.HandleFunc("/articles", ArticlesHandler)
http.Handle("/", r)
}
Вот в этом примере HomeHandler это:
func HomeHandler (w http.ResponseWriter, r *http.Request) {
...
}
Напрямую сделать например так:
r.Handle("/", HomeHandler(m))
func HomeHandler(m *Xwz) http.Handler {
...
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
...
})
...
}
не получится. Может я чего-то не допонимаю.

Pawel
11.10.2018
09:47:08
Оо
Каким образом?
ну типа в одной горутине положил в пул таск например, из другой взял и выполнил

John
11.10.2018
09:47:18

Мерлин
11.10.2018
09:47:48

Admin
ERROR: S client not available

Pawel
11.10.2018
09:47:50
скажем, порядок не важен

Мерлин
11.10.2018
09:48:02
ты описал ровно то, для чего нужен канал

Daniel
11.10.2018
09:48:16

John
11.10.2018
09:48:40
Канал?!
ну, их тоже можно так использовать )))

Pawel
11.10.2018
09:48:40
я понял

Subbotin
11.10.2018
09:51:57
народ, а вроде был какой-то код http который говорил что типа я тут делаю запрос в какую-то внешнюю подсистему и она не работает

Artem
11.10.2018
09:52:30

Subbotin
11.10.2018
09:53:04
а че модно использовать? пятисотить?

Ilya
11.10.2018
09:53:08

Subbotin
11.10.2018
09:54:01
523?
это какие-то фантазии клаудфары или они таки внесли в стандарт?

Artem
11.10.2018
09:54:23

Google

Subbotin
11.10.2018
09:54:33
а код при этом какой?
без кода ошибку не положено

Ilya
11.10.2018
09:54:50
Написано нестандартный

Мерлин
11.10.2018
09:55:43

Artem
11.10.2018
09:56:42

Pawel
11.10.2018
09:56:51
ты описал ровно то, для чего нужен канал
а если например выполнение таска - не быстрая операция, которая не должна блочить вставку в канал? в этом случае логика "взял таск- выполнил - жду следующий" не работает и хотелось бы иметь именно стек потокобезопасный

Subbotin
11.10.2018
09:57:05

Daniel
11.10.2018
09:57:19

Мерлин
11.10.2018
09:58:13

Marlik
11.10.2018
09:58:41
почеу не получится?
Всё получилось, но это очень для меня странно, и не знаю насколько криво.
import (
"net"
"net/http"
"time"
h "MyApp/handler"
"MyApp/model"
"github.com/gorilla/mux"
)
// Start ...
func Start(m *model.Model, listener net.Listener) {
r := mux.NewRouter()
server := &http.Server{
Handler: r,
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
r.Handle("/", h.Index(m))
r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
http.Handle("/", r)
go server.Serve(listener)
}

Мерлин
11.10.2018
09:58:51

Artem
11.10.2018
09:59:29

Daniel
11.10.2018
09:59:51
А он размерами не ограничен. Можно OOM килера сумонить невозбранно

Pawel
11.10.2018
10:00:50

Artem
11.10.2018
10:00:50

Artem
11.10.2018
10:00:54
о! и вот тут уже можно будет навернуть пул

Pawel
11.10.2018
10:02:54

John
11.10.2018
10:03:09

Мерлин
11.10.2018
10:03:39

John
11.10.2018
10:04:45