Kirill
Alexander
Мне конечно очень стыдно, но я не могу ответить на этот вопрос
Kirill
да забей на "стыдно", пойди погугли и выбери
Alexander
Чисто из интереса, какие решения вы смотрели?
badger, buntdb
badger - не нужные мне MVCC, + кажется очень громоздким и тяжелым, быстро работает на многопоточности
buntdb - тоже отличная база, очень быстрая на запись, не нравится что ключ-значение только строки, и надо конвертить в строка-слайс-байт и обратно при хранении, + медленно работает на многопоточности. На одном потоке работает сильно быстрее чем badger по моим тестам. Куча индексов, которые мне не нужны
Alexander
Alexander
Dmitry
Alexander
Заур
А как на счёт leveldb?
Заур
Alexander
Danylo
Здравствуйте, как можно выделить память через kernel32.NewProc("VirtualAlloc"), я просто в сисколах не разбераюсь и не знаю какие нужны аргументы для сискола
Kirill
Danylo
Kirill
Это запрещено делать на вин10 uwp
alowave#~
все можно сделать
Kirill
можно, но на uwp нет virtualalloc
Kirill
вопрос - -н-а-х- зачем?
Danylo
вопрос - -н-а-х- зачем?
не знаю, сначала думал быстро увеличить allocation для повышения производительности хоть в golang стоит garbage collector
Anonymous
если я буду из нескольких горутин работать с мапой без мьютекса - будет плохо?
Vadim
alowave#~
Посоветуйте материал для обучения
Антон
Да, может быть плохо
Эх, если бы только был язык, который предотвращал подобные ошибки на этапе компиляции. Но это только мечты...
Антон
Daniel
Антон
Danylo
Кстати насчет ошибок чтоб 100500 раз не компилировать вроде бы в Visual Studio есть плагин который отслеживет ошибки, как только ты сохраняешь файл ctrl+s у тебя подствечиваетася зеленым или красным (красным там где ошибка) оооочень полезный плагин
Daniel
В первой яве все структуры данных были обложены мутексами. К 1.2 пришлось написать параллельные реализации, без мутексов. Очень тормозило...
Антон
Alexander
alowave#~
Alexander
Alexander
я начинал с https://tour.golang.org/, немного полистал Донована, и понял, что без реальной интересной задачи толку будет 0
Vasily
...)
https://www.coursera.org/learn/golang-webservices-1
https://www.coursera.org/learn/golang-webservices-2
alowave#~
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
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
Всем привет! Помогите пожалуйста решить следующу. проблему:
Пробую использовать пакет 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 (?,?,?,?,?,?,?)
Вроде бы всё стандартно. Где я допустил ошибку?
посгрес?
Alexey
Aleksandr
Да
биндинг вот такой в db/sql $1, $2, $3
Aleksandr
но я не знаю, может squirell под капотом что-то делает дополнительно
Aleksandr
Aleksandr
Alexey
да
Осталось только разобраться как это сделать для squirel, документация конечно скудновата)) Попробую почитать исходдники
Alexey
Aleksandr
Aleksandr
ищи в ридми
Alexey
ищи в ридми
Да, всё супер! Порешалось установкой формата заполнителя. Ещё раз спасибо за помощь
Damian
народ кто нить работал с url.query? как сложить в структуру данные полученные в гет запросе, притом некоторые параметры могут быть пустыми
Aleksandr
Алексей
как мне нужно назвать структуру если она динамическая"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