
Olzhas
16.02.2018
09:56:34
как то так

Subbotin
16.02.2018
09:57:41
не. я понимаю как type assertion пользоваться
но мне кажется этот вариант уродским
или это нормально и все так делают?

Google

Olzhas
16.02.2018
09:58:29
ждать го 2 и дженериков

John
16.02.2018
09:58:54

Subbotin
16.02.2018
09:59:10

Olzhas
16.02.2018
09:59:53
одно из двух

Roman
16.02.2018
10:10:53

Alexander
16.02.2018
10:11:52

Roman
16.02.2018
10:12:31

Alexander
16.02.2018
10:12:41
Это будет прописано в доках и тд

Roman
16.02.2018
10:17:41

Arch
16.02.2018
10:23:59
Народ подскажите, не получается получить слайс указателей на структуры, через итерфес, который должен по идее имплементировать эти самые структуры, но он что-то вредничает
интерфейс простой только один метод String() string и этот метод есть в структуре

Google

Roman
16.02.2018
10:25:36
Это как бы не всегда проблема )))
когда начнёшь писать валидацию данных (input/output)...
когда в медленных сетях наткнёшься на высокую латентность в следствии n+1 roundtrip'ов...
когда будешь документировать...
когда клиентов много а API один и каждому нужны разные данные и высокая производительность...
в любом из этих случаев стоит перейти с REST на GraphQL, ибо иначе будешь изобретать свой GraphQL со всеми вытекающими из этого последствиями
ладно, нет ни времени ни желания учить тому, что млжно прочитать в доках, лишь пожелаю удачи

Daniel
16.02.2018
10:27:30

Alexander
16.02.2018
10:51:23

Roman
16.02.2018
10:52:05

Alexander
16.02.2018
10:52:27

Roman
16.02.2018
10:53:14

Alexander
16.02.2018
10:54:49

Roman
16.02.2018
10:55:00

Alexander
16.02.2018
11:07:41

Roman
16.02.2018
11:09:07
удачи тебе

Alexander
16.02.2018
11:09:31
Зачем сравниваешь мягкое с горячим?)
Сам gql не всем хорош, чтобы бездумно все на нем делать...
удачи тебе
Я уже по твоим пожеланиям самый удачливый человек)))

Arch
16.02.2018
11:14:29

Google

Alexandr
16.02.2018
11:14:29
всем привет, подскажите пожалуйста по структуре кода:
package db
import (
"database/sql"
_ "github.com/lib/pq"
"fmt"
"go.uber.org/zap"
)
var (
log *zap.SugaredLogger
result float64
err error
)
type DB struct {
*sql.DB
}
func Initdb() (*DB, error) {
logger, _ := zap.NewProduction()
log = logger.Sugar()
defer log.Sync()
dbinfo := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME)
db, err := sql.Open("postgres", dbinfo)
if err != nil {
return nil, err
}
return &DB{db}, nil
}
func (db *DB) SumQuantity(time_from string, time_to string) (float64) {
err = db.QueryRow("SELECT sum(row) from table where tradetime BETWEEN $1 AND $2", time_from, time_to).Scan(&result)
if err != nil {
log.Fatalf("Error query: ", err)
}
return result
}
стоит ли выносить структуру DB из пакеты в отдельное место? обработку лучше делать в методе или выносить в основную программу?

Roman
16.02.2018
11:15:24

Arch
16.02.2018
11:16:05
а вопрос?
почему не имплементируется интерфейс?

Roman
16.02.2018
11:16:15


Alexander
16.02.2018
11:16:22
всем привет, подскажите пожалуйста по структуре кода:
package db
import (
"database/sql"
_ "github.com/lib/pq"
"fmt"
"go.uber.org/zap"
)
var (
log *zap.SugaredLogger
result float64
err error
)
type DB struct {
*sql.DB
}
func Initdb() (*DB, error) {
logger, _ := zap.NewProduction()
log = logger.Sugar()
defer log.Sync()
dbinfo := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME)
db, err := sql.Open("postgres", dbinfo)
if err != nil {
return nil, err
}
return &DB{db}, nil
}
func (db *DB) SumQuantity(time_from string, time_to string) (float64) {
err = db.QueryRow("SELECT sum(row) from table where tradetime BETWEEN $1 AND $2", time_from, time_to).Scan(&result)
if err != nil {
log.Fatalf("Error query: ", err)
}
return result
}
стоит ли выносить структуру DB из пакеты в отдельное место? обработку лучше делать в методе или выносить в основную программу?
Как то неприятно на вид


Alexandr
16.02.2018
11:16:59
есть какой best practices?
или примеры

Alexander
16.02.2018
11:17:48
Мне ORM больше импонирует

Mykyta
16.02.2018
11:17:58

Alexandr
16.02.2018
11:18:13

Arch
16.02.2018
11:20:22
поправил там должен быть интерфейс IB но все равно не работает

Roman
16.02.2018
11:20:56

Mykyta
16.02.2018
11:21:38

Arch
16.02.2018
11:22:12

Mykyta
16.02.2018
11:23:35

Arch
16.02.2018
11:23:51
?

Mykyta
16.02.2018
11:26:13
?
Ты пытаешься обобщить Test() *B как Test() IB, предполагая что *B = IB, но даже если *B = IB, для го Test() *B != Test() IB

Google

Arch
16.02.2018
11:28:13

Mykyta
16.02.2018
11:28:34

Arch
16.02.2018
11:29:59
получить из пакета X какую-то структуру
как - то так и живем)

Mykyta
16.02.2018
11:35:03

Vlad
16.02.2018
11:37:27

Admin
ERROR: S client not available

Alexandr
16.02.2018
11:44:28

Vlad
16.02.2018
11:44:49
мы так ушли от GORMa

Alexandr
16.02.2018
11:45:32
ну вот, поэтому пытаюсь без orm, но не знаю как правильно все это оформить

Olzhas
16.02.2018
11:45:47
с другой стороны, рано или поздно начинаешь делать обертки для запросов

Vlad
16.02.2018
11:46:01

Olzhas
16.02.2018
11:47:18
goqu
о, спасибо за информацию

Eldar
16.02.2018
11:48:09
гоку какие-то не те кавычки рисует, мускуль ругается

Moth
16.02.2018
11:49:28
Всем привет. Глупейший вопрос, но вот хочется узнать, как Go, как язык для бэка? Я сейчас в распутье между Node.js, Scala и Go, как язык для бэка. Опыт в бэке есть, но на джаве, большой соблазн написать что-нибудь именно на Go. Как с работой сейчас?

Daniel
16.02.2018
11:50:03
Прям сейчас очень хорошо

Vlad
16.02.2018
11:51:06
Всем привет. Глупейший вопрос, но вот хочется узнать, как Go, как язык для бэка? Я сейчас в распутье между Node.js, Scala и Go, как язык для бэка. Опыт в бэке есть, но на джаве, большой соблазн написать что-нибудь именно на Go. Как с работой сейчас?
В штатах/Европке хайп на Go (и React Native), с работой сильно лучше, чем год назад
Бери Го, Скала - ад

Google

Mykyta
16.02.2018
11:52:05

Moth
16.02.2018
11:52:54

Olzhas
16.02.2018
11:56:08

Alexander
16.02.2018
12:05:51

Alexandr
16.02.2018
12:06:48
Почему?)
говорят меньше гибкости предоставляет и время на то чтобы обучиться определенной orm уйдет больше чем писать чистый sql

Mykyta
16.02.2018
12:08:07

Alexandr
16.02.2018
12:08:42

Mykyta
16.02.2018
12:09:05

Alexander
16.02.2018
12:09:08

Mykyta
16.02.2018
12:10:05

Alexander
16.02.2018
12:10:24
Если потом бд поменяется в последствии, то хреново все переписывать... миграции и тд
Я про голый sql

Mykyta
16.02.2018
12:11:09

Alexander
16.02.2018
12:11:58

Alexandr
16.02.2018
12:11:58

Alexander
16.02.2018
12:12:17
А так с qb уже проще

Vlad
16.02.2018
12:13:04
гайз, нужно, чтобы один файлик xxx_test.go не ранился
что там в go test указать?

Mykyta
16.02.2018
12:13:06

Alexander
16.02.2018
12:13:33