
Slava
31.07.2018
19:09:44
про net/http не в проде - смешно =) только он везде и в проде

Kirill
31.07.2018
19:15:18
Люблю gin, но это лично мое мнение, не подкреплённое никакими измерениями

Pawel
31.07.2018
20:03:20
go-chi
+1 только это роутер, не фреймворк

Google

Roman
31.07.2018
22:22:31

Oleg
31.07.2018
22:26:21

Kirill
31.07.2018
22:28:37
он от этого менее стабильным не стал

Slava
31.07.2018
22:32:09

Milkiweed
31.07.2018
22:44:03
подскажите пожалуйста
проект лежит по пути /Users/milkiweed/go/src/bolsche
в директории 2 файла , все начинаются со строк package bolsche
прописывал команды go install bolsche, все завершалось без ошибок
но когда ввожу go run и любой файл из моей директории - получаю >
go run: cannot run non-main package
указывал GOPATH, проект уже туда кинул и следовал советам, которые удалось нагуглить; ничего толкового не нашел

Slava
31.07.2018
22:45:45
в го executable только main пакеты

Roman
31.07.2018
22:46:18

Slava
31.07.2018
22:47:35
к чему тогда ваш вопрос?

Roman
31.07.2018
22:48:47

Milkiweed
31.07.2018
22:49:12

Slava
31.07.2018
22:51:18

Google

Slava
31.07.2018
22:51:57

Никита
31.07.2018
22:53:29

Slava
31.07.2018
22:54:40
всё ровно наоборот

Roman
31.07.2018
22:58:53

Никита
31.07.2018
22:59:34

Slava
31.07.2018
23:06:16
потому что он 1) удобнее 2) достаточно быстр для любых задач 3) более функционален 4) поддерживаешься более широким наборот библиотек 5) более стабилен
можно и дальше продложать, вроде поддерживает http2 итд

Roman
31.07.2018
23:32:12

Slava
31.07.2018
23:38:31
какое?

Roman
31.07.2018
23:39:28
какое?
Достаточно быстр для любых задач
Он либо для любых, либо достаточно быстр :)

Slava
31.07.2018
23:47:21
хорошо, 99 процентов любых задач

Dmitri
01.08.2018
05:01:58

Nick
01.08.2018
05:10:57
@CheshireKot я не помню ты или не ты говорил, но qml разве имеет зависимость на js ? К тому же сразу на v8?

Dmitri
01.08.2018
05:24:10
когда ты биндишь что-то из основного приложения, допустим, на C++, в QML-интерфейс, создается соответствующий js-объект, с которым твой интерфейс и работает

Oleg
01.08.2018
05:29:31
Никак. Не работает оно
а чего так? хочу с клинта слать дельту по стандарту https://tools.ietf.org/html/rfc7386. как на сервере лучше всего с этим жить?
Или с https://tools.ietf.org/html/rfc6902

Google

Oleg
01.08.2018
05:44:56
иначе придется слать на сервер всю сущность и на сервере вычислять дельту с вариантами 1) запоминать все версии сущностей, вычислять дельту по сравнению с нужной версией 2) придумывать блокировки на время редактирования 3) не придумывать блокировки и слать клиента лесом если он пытается изменить устаревшую версию.

Nazary
01.08.2018
07:02:57
как можно преобразовать строку типа 20180805213000 +0300 в unix timestamp

The
01.08.2018
07:09:47
почитайте доку к time пакету
там есть Parse и формат по которому парсить

Roman
01.08.2018
07:13:18

The
01.08.2018
07:13:29
в вашем случае parse будет что-то вроде time.Parse("20060102150405 -0700", yourVar), а затем time.Unix()

Oleg
01.08.2018
07:15:17

V
01.08.2018
07:16:12
руками ?

The
01.08.2018
07:17:57
А в чем проблемы то с PATCH?
Можно определить структуру, в неё анмаршалить JSON, и написать метод Merge(entity *YourEntity) в которой сравнить все поля, и по очередно обновить, либо рефлексией.

Roman
01.08.2018
07:19:35

The
01.08.2018
07:21:52
можно кодогенерацией решить такой кейс, если проблема все таки не в http verbs а в лени все это описывать

Oleg
01.08.2018
07:33:38

V
01.08.2018
07:35:31
put заменяет существующую сущность, patch меняет отдельные поля, не?

The
01.08.2018
07:36:27
ну даже если дельту, нужно как-то связывать значение новый старый, например по ID, а дальше кодогенерацией создать if newEntity.Name != "" && newEntity.Name != oldEntity.Name { // добавляем в update значение }
а в чем вообще проблема обновить всю строку?
если уж раз с базой работаете?
https://github.com/imdario/mergo
вот структуры мерджить

Admin
ERROR: S client not available

Google

The
01.08.2018
07:39:38
https://github.com/evanphx/json-patch
а вот и json patch, но я думаю вы это видели

Данила
01.08.2018
08:40:05
После компиляции не удаётся запустить бинарник
./http: line 1: syntax error near unexpected token `newline'
./http: line 1: `!<arch>'
С чем это может быть связано?

Aleksandr
01.08.2018
08:41:11
компилишь на хосте или в докере?

Daniel
01.08.2018
08:41:20
погодите
это ошибка компилятора же

Olzhas
01.08.2018
08:41:27

Данила
01.08.2018
08:42:06

Aleksandr
01.08.2018
08:42:29
На хосте
перекомпиль, покажи лог компиляции

Nazary
01.08.2018
08:42:33

Данила
01.08.2018
08:43:40

Olzhas
01.08.2018
08:44:41

Данила
01.08.2018
08:45:18
Есть
import (
"net/http"
"github.com/gin-gonic/gin"
)

Olzhas
01.08.2018
08:45:48
а сам пакет как называется?

Данила
01.08.2018
08:46:01
khcp

Daniel
01.08.2018
08:46:33

Olzhas
01.08.2018
08:47:12
т.е. код примерно такой
package khcp
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
//blablabla
}?

Данила
01.08.2018
08:48:22

Google

Olzhas
01.08.2018
08:48:48
и собираете командой go build -o http?

Данила
01.08.2018
08:49:12
go build -o http http.go
Вот код:
package khcp
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.New()
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World!")
})
r.GET("/ping", func(c *gin.Context) {
c.String(http.StatusOK, "pong")
})
http.Handle("/", r)
}

Aleksandr
01.08.2018
08:49:38

Olzhas
01.08.2018
08:49:50
а не khcp