Alexander
Мне конечно очень стыдно, но я не могу ответить на этот вопрос
Kirill
да забей на "стыдно", пойди погугли и выбери
Dmitry
существующие решения какой-то оверхед
Чисто из интереса, какие решения вы смотрели?
Alexander
Чисто из интереса, какие решения вы смотрели?
badger, buntdb badger - не нужные мне MVCC, + кажется очень громоздким и тяжелым, быстро работает на многопоточности buntdb - тоже отличная база, очень быстрая на запись, не нравится что ключ-значение только строки, и надо конвертить в строка-слайс-байт и обратно при хранении, + медленно работает на многопоточности. На одном потоке работает сильно быстрее чем badger по моим тестам. Куча индексов, которые мне не нужны
Alexander
Не знаю, может вам что то приглянется из готового https://www.g2crowd.com/categories/key-value-stores
хотелось бы именно embedded решение, boltdb не пробовал, но по отзывам может запросто покалечить данные и вроде как исправлять не собираются
Заур
А как на счёт leveldb?
Alexander
А как на счёт leveldb?
посмотрю, спасибо
Danylo
Здравствуйте, как можно выделить память через kernel32.NewProc("VirtualAlloc"), я просто в сисколах не разбераюсь и не знаю какие нужны аргументы для сискола
Danylo
если ты не разбираешься в сисколлах, зачем тебе такая аллокация?
Не важно зачем, я просто хочу узнать как это можно сделать
Kirill
Это запрещено делать на вин10 uwp
alowave#~
все можно сделать
Kirill
можно, но на uwp нет virtualalloc
Kirill
вопрос - -н-а-х- зачем?
Danylo
вопрос - -н-а-х- зачем?
не знаю, сначала думал быстро увеличить allocation для повышения производительности хоть в golang стоит garbage collector
Anonymous
если я буду из нескольких горутин работать с мапой без мьютекса - будет плохо?
Daniel
А как на счёт leveldb?
Это не база, а движок хранилища, и его, вроде, нет на go нативного
alowave#~
Посоветуйте материал для обучения
Антон
Да, может быть плохо
Эх, если бы только был язык, который предотвращал подобные ошибки на этапе компиляции. Но это только мечты...
Daniel
если я буду из нескольких горутин работать с мапой без мьютекса - будет плохо?
Смотря что называть работой. Читать можешь невозбранно. Но если рантайм обнаружит одновременные чтение и запись - он бросит панику
Антон
если я буду из нескольких горутин работать с мапой без мьютекса - будет плохо?
Если модифицировать — то да. Если все только читают — то норм
Антон
Первая ява.
То есть?
Danylo
Кстати насчет ошибок чтоб 100500 раз не компилировать вроде бы в Visual Studio есть плагин который отслеживет ошибки, как только ты сохраняешь файл ctrl+s у тебя подствечиваетася зеленым или красным (красным там где ошибка) оооочень полезный плагин
Daniel
В первой яве все структуры данных были обложены мутексами. К 1.2 пришлось написать параллельные реализации, без мутексов. Очень тормозило...
Alexander
я начинал с https://tour.golang.org/, немного полистал Донована, и понял, что без реальной интересной задачи толку будет 0
Vasily
...)
https://www.coursera.org/learn/golang-webservices-1 https://www.coursera.org/learn/golang-webservices-2
Denis
Подскажите, пожалуйста, почему я не могу так кастить: type UserBase struct { UserId uint64 Name string } type User struct { UserBase InvitedBy *UserBase } func getUser(userId uint64) *User {...} user := getUser(123) userBase := UserBase(user) // хочу извлечь только UserBase-составляющую
Aleksandr
так user не userbase
Denis
так user не userbase
Но ведь UserBase включается в User
Aleksandr
ничего страшного
Denis
Внутри любого User точно имеется UserBase
Aleksandr
кастинг что такое?
Denis
Попытка интерпретировать кусок памяти не так, как задекларировано прежде, а по-новому
Aliaksandr
ub := &user.UserBase
Denis
Нее, мне не достать св-во нужно, а интерпретировать User как UserBase
Aleksandr
нельзя
Aleksandr
user не userbase
Denis
Оке. Если это номальное поведение, и я тут не опечатался, то прошу подсказку. Как организовать что-то типа наследования в этом случае?
Aleksandr
нет наследования. есть встраивание
Aleksandr
и интерфейсы
Denis
Суть такая. Есть юзеры. Некоторых из них пригласили другие юзеры. Мне это нужно хранить. Глубина вложенности >1 не интересует. Я бы сделал даже так: type User struct { UserId uint64 Name string InvitedBy *User } Но получается цикличная ссылка
Aleksandr
почему цикличная? сам себя пригласил?
Denis
В структуре User есть свойство типа User
Alexey
Всем привет! Помогите пожалуйста решить следующу. проблему: Пробую использовать пакет https://github.com/Masterminds/squirrel Формирую запрос следующим образом: query := sq.Insert("exchanges_data"). Columns("exchange_name", "left_coin", "right_coin", "bid", "ask", "min_trade_volume", "created_at") for _, dataItem := range data { query = query.Values( exchangeName, dataItem.LeftCoin, dataItem.RightCoin, dataItem.Bid, dataItem.Ask, dataItem.MinTradeVolume, timeOfGetData) } res, err := query.RunWith(db.DB()).Exec() if err != nil { fmt.Println("Error: " + err.Error()) } В итоге получаю следующюю ошибку Error: pq: syntax error at or near "," Вывел запрос через fmt.Println(query.ToSql()) Получаю вот такую строку INSERT INTO exchanges_data (exchange_name,left_coin,right_coin,bid,ask,min_trade_volume,created_at) VALUES (?,?,?,?,?,?,?) Вроде бы всё стандартно. Где я допустил ошибку?
Aleksandr
В структуре User есть свойство типа User
ну ничего страшного в этом нет. это даже нормально, и часто бывает
Denis
ну ничего страшного в этом нет. это даже нормально, и часто бывает
Компилятор ругается. К сожалению, не могу сейчас ошибку привести. Если нормально, то может я что-то напутал. Спасибо, попробую ещё разок
Aleksandr
Да
биндинг вот такой в db/sql $1, $2, $3
Aleksandr
но я не знаю, может squirell под капотом что-то делает дополнительно
Alexey
биндинг вот такой в db/sql $1, $2, $3
Это получается вместо "?,?,?" ?
Alexey
да
Осталось только разобраться как это сделать для squirel, документация конечно скудновата)) Попробую почитать исходдники
Alexey
да
Спасибо за подсказку
Aleksandr
ищи в ридми
Alexey
ищи в ридми
Понял, спасибо)
Alexey
ищи в ридми
Да, всё супер! Порешалось установкой формата заполнителя. Ещё раз спасибо за помощь
Denis
ub := &user.UserBase
Я сначала неправильно прочёл. Спасибо за наводку, это, похоже, то что нужно
Damian
народ кто нить работал с url.query? как сложить в структуру данные полученные в гет запросе, притом некоторые параметры могут быть пустыми
Алексей
как мне нужно назвать структуру если она динамическая"1219": { "order": 25300, "name": "бла бла", "type_site": 2, "is_dop_stat": 0, "data": { "97511568": { "blocks": { "T": { "Tm": {
Алексей
"1219": { "order": 25300, "name": "Тотал по картам", "type_site": 2, "is_dop_stat": 0, "data": { "97511568": { "blocks": { "T": { "Tm": {
Kirill
var crazyshit map[string]interface{}
Алексей
Crazy map[int]Crazy`json:"crazy"`
Алексей
sps ogromnoe