@proGO

Страница 1231 из 1674
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
ждать го 2 и дженериков
некогда - сегодня вечером в продакшен

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

Alexander
16.02.2018
10:11:52
каких параметров?
Которые я принимаю в url, multipart-form, да хоть в headers

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

Roman
16.02.2018
10:17:41
Которые я принимаю в url, multipart-form, да хоть в headers
"строго регламентировано" и "могу запихать туда, сюда, и даже туда, и сервер всё обяз уметь, а типизации нет совсем" .... тогда не понятно в чём заключается "строгость"

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 со всеми вытекающими из этого последствиями ладно, нет ни времени ни желания учить тому, что млжно прочитать в доках, лишь пожелаю удачи

Alexander
16.02.2018
10:51:23
Alexander
16.02.2018
10:54:49
http://graphql.org/users/
Это те кто пользуется, но не те кто испытал проблему перенасыщения разнотипными клиентами

Roman
16.02.2018
10:55:00
Marshal/unmarshal не на уровне rest)
в этом то и проблема, что тебе всё это ручками пилить, и валидацию, и документацию, и error reporting... всё всё всё самому

Это те кто пользуется, но не те кто испытал проблему перенасыщения разнотипными клиентами
я вижу ты в каждой из этих компаний работал и знаешь все случаи с которыми они столкнулись раз за всех говоришь)

Alexander
16.02.2018
11:07:41
я вижу ты в каждой из этих компаний работал и знаешь все случаи с которыми они столкнулись раз за всех говоришь)
С этим конкретно столкнулся fb раз придумал себе ql))) остальные тупо на хайпе

в этом то и проблема, что тебе всё это ручками пилить, и валидацию, и документацию, и error reporting... всё всё всё самому
Не все, только доку... но красивую и понятную доку все равно ручками делать ;)

Roman
16.02.2018
11:09:07
С этим конкретно столкнулся fb раз придумал себе ql))) остальные тупо на хайпе
ну да, во всём хайп виноват, а REST это наше святое, его не трогай))))

удачи тебе

Alexander
16.02.2018
11:09:31
Зачем сравниваешь мягкое с горячим?)

Сам gql не всем хорош, чтобы бездумно все на нем делать...

удачи тебе
Я уже по твоим пожеланиям самый удачливый человек)))

Arch
16.02.2018
11:14:29
playground ссылку в студию
https://play.golang.org/p/KvcJVFutrr-

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 из пакеты в отдельное место? обработку лучше делать в методе или выносить в основную программу?

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

Roman
16.02.2018
11:16:15
Alexandr
16.02.2018
11:16:59
Как то неприятно на вид
вот как можно было бы сделать лучше

есть какой best practices?

или примеры

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

Mykyta
16.02.2018
11:17:58
есть какой best practices?
До этого писал на пхп или питоне?

Alexandr
16.02.2018
11:18:13
Arch
16.02.2018
11:20:22
будь здоров))
https://play.golang.org/p/6OEDO_FjlRx

поправил там должен быть интерфейс IB но все равно не работает

Roman
16.02.2018
11:20:56
https://play.golang.org/p/6OEDO_FjlRx
перефразируй свой вопрос, он был довольно непонятен

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
Mykyta
16.02.2018
11:28:34
и как тогда передавать структуры между пакетами?
Концептуально какую проблему ты хочешь решить?

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

Концептуально какую проблему ты хочешь решить?
Как тогда в го реализовывать слабое связывание между пакетами, если не овер интерфейс?

как - то так и живем)

Mykyta
16.02.2018
11:35:03
Как тогда в го реализовывать слабое связывание между пакетами, если не овер интерфейс?
создаем приватную структуру, дальше создаем для нее функцию типа конструктора, а пакет экспозит только интерфейс, т.е. все потроха реализации мы спрятали

Admin
ERROR: S client not available

Alexandr
16.02.2018
11:44:28
Мне ORM больше импонирует
ну orm я так понимаю вообще самое последнее дело использовать

Vlad
16.02.2018
11:44:49
ну orm я так понимаю вообще самое последнее дело использовать
Если упретесь в какой-то средней сложности запрос - будет бо-бо

мы так ушли от GORMa

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

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

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
Прям сейчас очень хорошо

Google
Moth
16.02.2018
11:52:54
В штатах/Европке хайп на Go (и React Native), с работой сильно лучше, чем год назад Бери Го, Скала - ад
Спасибо за ответ. Да не, скала тоже няшная. А фуллстеки актуальны, например React+Redux/Go?

Год уйдет, только чтобы ту скалу выучить
Ну это уж субъективно слишком :) Смотря как учить

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

Alexandr
16.02.2018
12:08:42
На го все равно нет орм, так что придется учить sql
они то есть по факту, просто вникать не хочется)

Mykyta
16.02.2018
12:09:05
они то есть по факту, просто вникать не хочется)
По факту они ничего не умеют, тот же горм, в нем только примитивные прелоады есть и все

Alexander
16.02.2018
12:09:08
На го все равно нет орм, так что придется учить sql
Не в том понимании как в php да, в основном кросс. Query builder

Mykyta
16.02.2018
12:10:05
Не в том понимании как в php да, в основном кросс. Query builder
Ну я так и делаю, сначала в датагрипе пишу запрос, а потом просто переделываю его на горм

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

Я про голый sql

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
бизнес потребует, поменяешь
Я с монги проект переделывал на постгрес, но тут никакая орм не спасла бы ситуацию

Страница 1231 из 1674