
Stanislav
16.02.2018
18:23:42
вторая ссылка гугля

Aleh
16.02.2018
18:24:45
но получается ключи и шифр в памяти ?
и тот кто заберет RAM сможет расшифровать

Google

Stanislav
16.02.2018
18:25:25
?

Antoni
16.02.2018
18:25:34
ну конечно
но RAM электрозависимая
мы не боимся, везде наши люди
если что отключим
это упрошенная схема нескольких микросервайсов
но кеш будет именно тут

The
16.02.2018
20:39:02
sql: Scan error on column index 5: cannot convert [49] to int64
index тут с 0 или с 1?
наверное все-же с 1..

Aleh
16.02.2018
20:41:20
где тут?

Google

The
16.02.2018
20:42:03
в этой ошибке
не могу понять, что драйвер MySQL отдает в TINYINT
раньше стояло Int64 и все сканировало туда
это типо флага
is_admin короче
так вот, cannot convert 1 to int64
сейчас вот такая ошибка. так в какой тип ассерт делать для интерфейса...
Странная хрень, делаю SELECT ... WHERE email = ?, сканируется все супер.
А делаю то-же самое в слайс из юзеров, и уже не сканируется, говорит cannot convert [49] to int64, хотя в таблице все как tinyint хранится (везде 1)

Aleh
16.02.2018
20:50:14
Покажи scan вызов

The
16.02.2018
21:14:49
func (u *User) scanRow(row database.Scannable) error {
return row.Scan(&u.ID, &u.Login, &u.Email, &u.Name, &u.Password, &u.IsAdmin, &u.CreatedAt, &u.UpdatedAt)
}
но я уже переделал на BIT
вместо tinyint

Aleksandr
16.02.2018
21:15:40
Happy Friday, happy weekend! Today the Go team is happy to announce the release of Go 1.10.
https://golang.org/dl/
https://golang.org/doc/go1.10

The
16.02.2018
21:15:41
с базы тогда приходит []uint8, и первый элемент слайса у нас либо 0 либо 1
О, спасибо!
Пойду changelog почитаю

Michael
16.02.2018
21:17:26

Let Eat
16.02.2018
23:39:08
но RAM электрозависимая
Были перцы одни, они перед отключением питания замораживали модули, вырубали питание, переносили их и считывали все что надо :)

Antoni
16.02.2018
23:41:34
у нас есть батареи
не уверен что они справились бы с заморозкой

Google

Aleksey
17.02.2018
10:25:46
Подскажите, а этот чат чем-то отличается от pro.go? Или просто исторически сложилось, что случилось 2 чата в 1.4к человек и никто их не замержил?

Мерлин
17.02.2018
10:32:45

Michael
17.02.2018
10:36:27
мб действительно смёржить?

Aleksey
17.02.2018
10:37:09
Я боюсь, что случатся боль и драка на вопросе в кого мержиться.

Александр
17.02.2018
10:41:32
в третий канал!
щаз создам

Мерлин
17.02.2018
10:43:46

Александр
17.02.2018
10:44:30
на самом деле обсуждать в тг не очень удобно, особенно когда несколько вопросов сразу
такая каша

Michael
17.02.2018
10:44:37
@twentydraft Go Connecting People
dry solid
да и просто звать побухать быстрее будет получаться

Daniel
17.02.2018
11:33:07

Wingman
17.02.2018
11:43:57
Блеть :)
Подскажите, как правильно организовать код с import loop (видимо, это классическая проблема)
Есть пакгейджи А и Б.
А дергает модель из базы, что-то с ней химичит и в зависимости от каких-то там факторов вызывает Б и передает в него модель.
Проблема в том, что и А и Б должны для работы с моделью "import model", что и вызывает циклический импорт.
Как обычно такое обходят?)

Timur
17.02.2018
11:45:33
Правильно пишут код??

Vasily Romanov
17.02.2018
11:45:43
мухи отдельно, котлеты отдельно

Timur
17.02.2018
11:46:01
А вообще модель не должна импортить ничего кроме libs
Stdlib
Vendor
Selflib

Google

Wingman
17.02.2018
11:48:42
модель и не импортит
а вот саму модель - разные пакеты импортят
и друг друга они тоже импортят

Admin
ERROR: S client not available

Michael
17.02.2018
11:49:46
Код в студию голосом Якубовича

Wingman
17.02.2018
11:51:24
там много
ща ещё посоображаю)

Aleksey
17.02.2018
11:54:05
Кстати, Баду раньше по го хорошие митапы устраивало? Был на других темах, было хорошо.

Aleksandr
17.02.2018
11:55:27

Anatoly
17.02.2018
11:56:44

Wingman
17.02.2018
11:59:45

Denis
17.02.2018
12:23:45
Как вы считаете, когда пишу data access layer, на каждую модель есть репозиторий. Как сделать лучше, сделать один общий repo который будет возвращать interface{}, или сделать на каждую реализацию конкретный интерфейс, который возвращает конкретную структуру?

Aleksandr
17.02.2018
12:24:46
второй вариант

Denis
17.02.2018
12:25:53
второй вариант
Можешь пояснить хотя бы ссылкой на ресурс? Даже если это про джаву, пофиг.

Marlik
17.02.2018
12:26:00
Подскажите что это? https://github.com/search?q=topic%3Adependency-injection+org%3Auber-go+fork%3Atrue

Sergey
17.02.2018
12:31:44
Подскажите есть ли сейчас смысл использовать ORM типа gorm,xorm или стоит писать все самому на SQL?

Denis
17.02.2018
12:44:19

Sergey
17.02.2018
12:45:54

Denis
17.02.2018
12:46:51
я использовал только gorm, говорят он лучший, но не type safe. вообще стараюсь не использовать реляционные базы по возможности

Michael
17.02.2018
12:49:57

Denis
17.02.2018
12:50:45
в Го и без орм есть пул и работает ок ок
Ну так за ним следить нужно, обрабатывать все ошибки, ВОВРЕМЯ закрывать.
Например вытащить коллекцию из итератора это не так тривиально как может показаться с первого взгляда.

Google

Michael
17.02.2018
12:52:11


Pawel
17.02.2018
13:37:52
на гошке свои базы данных пишут, стыдно должно быть сиплюсплюсную базу юзать
пусть напишут embedded SQL по образу и подобию sqlite, тогда можно будет пальцы загибать. имхо
пока что по факту из перечисленного
tidb - а зачем ещё один маргинальный SQL сервер?
bolt - годится только для самых простых случаев, а sqlite универсален, практически всегда его можно брать вместо болта без риска что-то потерять
Вообще надо сказать что NoSQL - это в принципе в 95%-ах юзкейсов на практике говно, потому что ни кто толком не понимает когда и как его использовать. NoSQL - строго для упрощения и ускорения рапределённых БД без транзакций, всё остальное - от бесов.
В том числе bolt.
В том числе redis в качестве кеша.


tsov
17.02.2018
14:13:44
я вот думаю, не надо мыслить чужими штампами. каждый инструмент для своих задач. надо хранить массив структур на время uptime - храним его в []struct. надо быстро найти запись - тогда map[key]struct. надо это расшарить с другими - делаем api. надо сохранять между сеансами - горутиной пишем массив в файл. данных стало много - идем в kv storage. надо джойнить таблицы и делать хитрожопые запросы - переходим на sql. надо поискать соседей - идем в graphql. и т.д.

Andrey
17.02.2018
14:17:12
Наверно не в graphql а в neo4j?

tsov
17.02.2018
14:19:13
dgraph
neo4j не по феншую

Timur
17.02.2018
14:19:59
graphql не база

in favor
17.02.2018
14:20:44
+
Graphql это интерфейс к данным

Pawel
17.02.2018
14:23:50
даже простой набор рекордов бех хитрых джойнов разумнее хранить в sqlite, чем в болте:
- для sqlite есть крутой тулинг, не надо саому писать гуй для простых КРУД оперций
- sqlite быстрее раза примерно в два
- хитрые джойны могут понадобиться завтра
А почему все в один голос советуют эту neo4j, когда есть альтернатива orientdb с кучей профитов?