Anonymous
Откуда инфа про ни одного? Он ж селект делает
Andrey
Я же говорю, можно и селект не делать. Но это про другое. Вопрос сейчас не в этом.
Anonymous
Да и что значит ни одного? Состояние то ток в базе актуально, не?
Anonymous
Распределённый кэш тащить для юзеров или что?
Anonymous
Откуда инфа то будет, что юзер уже есть?
Anonymous
Или есть функция с ванга модом?
Andrey
Да какая разница?) Человек мучается с тем, что Scan не может сделать и я пытаюсь ванговать что он там написал и почему не работает
🎉
Вам компилятор сообщает где у вас ошибка
Да, он грит: sql: Scan error on column index 3: converting driver.Value type <nil> ("<nil>") to a int64: invalid syntax то есть, при создании новой структуры, я заполняю её, кроме Balance и пишу в базу. А когда второй раз пользователь читается из базы, он там есть, но Balance там nil. Ошибку я понимаю, я не понимаю почему если Balance sql.NullInt64 я эту ошибку получаю?
Andrey
Какая-то разница? Ты мне какую-то дичь сказал и мне стало интересно
Это не имеет значения - потому, что мы с тобой говорим о некой абстрактной "архитектуре", которую можно сделать миллионом всяких разных вариантов и до посинения спорить как правильно)
Anonymous
Понятно
Andrey
Какая-то разница? Ты мне какую-то дичь сказал и мне стало интересно
Я не говорю, что ты не прав. Я говорю, что есть варианты)
Anonymous
Я все понял
🎉
type DATA struct { ID int64 ChatID sql.NullInt64 ElsID sql.NullInt64 Balance sql.NullInt64 MessageID int StateWhat sql.NullString PathWhere sql.NullString DateTime *time.Time } Читаю из базы func ReturnUser(db *sql.DB, ChatID int64) (p *DATA, err error) {} Если пользователя нет, пишу в неё. p := new(DATA) p.ChatID.Int64 = ChatID p.ElsID.Int64 = ElsID p.MessageID = MessageID p.StateWhat.String = "start" p.PathWhere.String = "main" InsertUser(db, p) func InsertUser(db *sql.DB, p *DATA) (lastID int64, err error) {} Так как Balance не заполняю в структуре, то в базу идёт nil. При последующем чтении из базы, я получаю эту ошибку.
Andrey
🙈
Andrey
Ладно) Надоело в вангу играть
Andrey
По вашим отрывкам вообще ничего не понятно
🎉
Ладно, спасибо за помощь, сам поковыряюсь.
Michael
а... не получится
🎉
Что?
Michael
p := &Data{ChatID, ElsID, 0, MessageID, "start", "main", &time.TIme{}}
Michael
Что?
и лучше показывать код, чтобы советы были адекватнее
🎉
Единственное что базу так создаю sqlite3 data.db < data.sql
🎉
используйте пакет "github.com/jmoiron/sqlx" вместо "sql", это де факто дефолтный инструмент для коммуникаций с БД в Го
Спасибо, посмотрю, а то что-то вообще бяда, я даже пока с растройства забросил))
Pawel
Ох уж прям)) орм наше все)
готов поучавствовать в пердметной дисскуссии на эту тему)) предметная - это когда есть пример решения одной и той же ПРАКТИЧЕСКОЙ задачи с орм и без, при этом последний хуже или сложнее. Я лично таких не видел пока что
Timur
готов поучавствовать в пердметной дисскуссии на эту тему)) предметная - это когда есть пример решения одной и той же ПРАКТИЧЕСКОЙ задачи с орм и без, при этом последний хуже или сложнее. Я лично таких не видел пока что
А как она может быть предметной, если вы вводите качественные субьективные оценки - "хуже или сложнее". Тут вы сами намекаете на то, что предметной дисскуссии не получится. Задачу любую можно решить без орм - это похоже на факт.
Timur
это не говорит о качестве или сложности
🎉
А можно как-то извернуться и не рендерить шаблоны, а прописать их в коде?
🎉
Там всего то одна страничка, для шаблонов чото круто.
Slava
В строку можно сохранить
Pawel
это не говорит о качестве или сложности
то есть может оказаться, что с ОРМ столько же кода, но это всё равно хорошо?
Timur
количество кода совсем не о чем не говорит. В такой концепции, asm - говнище редкостное
Pawel
если тоже самое что на асме можно записать короче но на сишечке, то очевидно да
Timur
ну очевидно, что для вас. на этом можно остановиться))
🎉
В строку можно сохранить
Ну я понимаю, что в переменную можно, а вот как это дело распарсить, как шаблон обычный? Ладно, спасибо, поковыряюсь ещё.
Pawel
ну очевидно, что для вас. на этом можно остановиться))
очевидно что для всех, иначе бы писали бы на асме - а пишут на сях
Timur
Пишут и на том и на другом
Pawel
на асме пишут то, что не могут написать на сях. ну так, на всякий случай.
Timur
и?
Timur
как это влияет на "хуже или сложнее"?
Pawel
это был риторический вопрос ?
Timur
Ну нет конечно же
Timur
на асме писать дольше
Timur
это можно померить
Timur
хотя тоже достаточно субьективная метрика
Timur
но про "хуже или сложнее" пока непонятно
aadz
Простите, но немножко оффтопа вчесть выходных https://www.youtube.com/watch?v=CdM5FAesu6o
Roman
Поясните ньюфагу за специфику языка в отличии от C++. В каких задачах чаще всего используется, какая ситуация языка на российском рынке, как обстоят дела на фрилансе, перспективно ли вкатываться, с какими технологиями/языками требуется на работе?
aadz
https://golang.org/doc/faq#What_is_the_purpose_of_the_project
.
Поясните ньюфагу за специфику языка в отличии от C++. В каких задачах чаще всего используется, какая ситуация языка на российском рынке, как обстоят дела на фрилансе, перспективно ли вкатываться, с какими технологиями/языками требуется на работе?
веб и микро сервисы, в принципе, основная область, но язык общего назначения Не знаю как на российском рынке, на украинском как то не густо, в Киеве 20-30 заявок, но требований не много, основное - желание учить этот ЯП, так как спрос есть и растет
Timur
https://www.infoworld.com/article/2843821/application-development/10-open-source-projects-google-go.html#slide2
aadz
да для всех он адаптирован. Но просто библиотек под UI до сих пор нормальных нет, вот оно и е идет. А так, если на сервере, все множно - от скриптов за 5-10 минут работы, до серьезных сайтов
Timur
kuber, docker, бд, cv, mq
Timur
etc
Timur
что хотите
Timur
всего огромный выбор
Ivan
Всем привет. Изучаю go. Подскажите можно ли тут поспрашивать про тонкости ?
Roman
Большое спасибо
aadz
конечно, нельзя!
Roman
прекрасно
Timur
Roman https://github.com/golang/go/wiki/Projects
aadz
Всем привет. Изучаю go. Подскажите можно ли тут поспрашивать про тонкости ?
Как ты мог подумать, что на этом канале можно поспрашивать про тогкости Go? ай-ай!
Ivan
в общем у меня есть json [{ "binary": 0, "channel": «test_ch», "data": { «mph»: [ ["0.11236881", "2.6"], ["0.10267318", "0"] ], «kph»: [ ["0.10234811", "0"], ["0.1023067", "0.097"] ], "timestamp": 1517772484297 } }] я его пытаюсь парсить : type speed struct { time float64 json:"string," Quantity float64 json:",string" } type Data struct { mph []speed json:»mph» kph []speed json:»kph» Timestamp int64 json:"timestamp" } type State struct { binary int64 json:"binary" channel string json:"channel" data Data json:"data" } msg := State{} err = json.Unmarshal(message, &msg)
Ivan
json: cannot unmarshal array into Go value of type main.State
Ivan
вот что возвращает
Ivan
уверен что гдето мелкая ошибка - но где - уже второй час бьюсь