Maxim
суть набодности записи в бинарь уже где-то предопределяет способы разделения
Maxim
ну например, по длине :)
Anonymous
ну например, по длине :)
То есть записывать длину перед самими данными?
Maxim
еще раз - надо сначала понять, что за данные пишутся и с какой целью, потом уже искать оптимальные способы
Maxim
любые данные? разные по типам? много писать/мало?
Maxim
как считывать потом?
Maxim
то есть все сразу, выборочно по номеру и т.п.? - тут масса вариантов
Maxim
универсальный вариант - вписывать сначала длину, а потом байтовый блок
Maxim
Но, опять-таки, важно правильно определить исходную задачу - может оказаться, что данные вообще не надо или нельзя никуда записывать.
Maxim
Или, скажем, у них внутри указатели есть друг на друга - это отдельная история.
Anonymous
Писать много. Доставать структуру нужно из файла по её порядковому номеру.
Anonymous
Никаких ссылок и прочих сложностей. Только массив структур.
Maxim
Читать часто? Размеры структура разные?
Anonymous
Размеры разные. Читать часто.
Maxim
простейший случай - при записи строим индекс (смещения в файле), его пишет отдельно
Maxim
без индекса доступаться до произвольной структуры будет медленновато
Anonymous
Я сначала думал, что можно использовать какой-нибудь байт-разделитель. В вики даже нашёл, что это коды от 28 до 31. Но если в структуре самой есть такой байт, всё ломается.
Maxim
более того, надо будет сканировать весь файл, чтобы найти нужный кусок
Anonymous
Попробую вариант с 1. Индексами в начале файла 2. Перед данными записывать длину блока
Maxim
про "длина+байты" я уже писал, про индексы тоже
Maxim
чтобы писать индексы в начале файлв надо знать сколько их (максимально)
Anonymous
Хм, а не функции сдвинуть данные, чтобы дописать индекс в начало файла?
Maxim
Если тема будет интересна дальше, то рекомендую погуглить, как устроен protobuf - там масса интересных решений.
Vladimir
почему яндекс сидел оракле (реляционная субд), а потом влил кучу денег и человеко часов что бы свапнуться на постгре (тоже реляционнаяБД), плохие специалисты?)
Яндекс сидел на оракле только в паре довольно мелких мест, и то по каким то странным причинам в виде "навязано извне"
Evgenii
а что не так с ораклом?
в плане почему ушли? деньги)
Vladimir
в плане почему ушли? деньги)
Скорее сложность поддержки. В отличии от опенсорсных вещей если что то случилось, то фиг что ты сделаешь
Evgenii
Вообще они называли две причины, деньги и проприетарщину. Но вроде акцент именно на деньгах был
Pawel
binary - Это для чисел. У меня структуры.
а какие проблемы сериализовать структуры в binary? https://play.golang.org/p/GEf-0NVVcc
Pawel
Кстати по поводу БД - рекомендую всем кто с ними работает ставить datagrip от jetbrains. Сбережёте много нервов
Anonymous
Лучше уж сразу идею) там тож есть плагин для баз
Vladimir
прожерливость и неповоротливость - не свойство жабы как языка
Vladimir
а свойство кода
Alex
сколько стереотипов
Alex
8 гб, и?
Alex
памяти она ест, эт да, но "неповоротливость" уже клевета
Anonymous
8 гб, и?
На 32 битной ?)
Vladimir
@az09_recommended с тем же успехом можно сказать, что раз продукты от InfluxData такие кривые и тормозные, то и Го как язык кривой и тормозной
Vladimir
и жрет памяти как слон еще
Vladimir
а потом обобщил на всю джаву)
Vladimir
да чушь же
Anonymous
Хм, а что есть продукты лучше jb?
Anonymous
А что не так то с ней?
Alex
Хм, а что есть продукты лучше jb?
подожди, но ведь каждый программист должен писать в собственноручно созданном редакторе кода, желательно без подсветки
Anonymous
У вас не скала ж. Все должно работать )
Alex
Эт ток у нас в чате так
это цитата Пайка :)
Илья
А от комодо кто-то пробовал их go ide?
Anonymous
это цитата Пайка :)
Пайк похоже скалист )
Anonymous
Юзай идею
Anonymous
Там все эти плагины есть. Кроме крестов
Alex
95% фич специализированной иде включены как плагин к ванильной идее
Alex
ну я подключал так го, пол-года назад
Alex
гм, ну мотивация "сломать" понятна, но, если так, то это знатный минус в карму
Alex
а она уже и так котлином на дно загнана
Vladimir
а она уже и так котлином на дно загнана
а для тех кто не в курсе, что там с котлином?
Alex
а для тех кто не в курсе, что там с котлином?
не уверен, что это подходящий чатик для очередного языкосрача) вкратце, я _очень_ не люблю котлин за бесполезное увеличение энтропии
Pawel
кто жалуется на тормознутость продуктов jetbrains, тот никогда не работал в вижуал студии
Alexey 〒.
А нет ли крутых электронных книг на которых pdf можно нормально читать?
надо искать книгу 7" и более. На 6 не удобно читать, только в альбомной с прокруткой приемлемо
Pawel
вот там реально дикие тормоза на пустом месте. и ничего, работают люди, некоторые хвалят даже
Alexey 〒.
Видел, у кобо и 7.8 есть (Kobo Aura ONE)
Alex
Люблю котлин за то, что он не джабка
он "джабка" чистейшего разлива, только что с толстым слоем сахара
Alex
ладно, закрыли оффтоп
Pawel
https://play.golang.org/p/XXGTb9CkI-
какие выводы мне следует сделать из этого примера? что binary не умеет в ссылочные типы? это я знал и так))
Anonymous
какие выводы мне следует сделать из этого примера? что binary не умеет в ссылочные типы? это я знал и так))
В моей постановке задачи под структурами подразумевались не только структуры с цифрами. Буковки тоже хочу ))
Pawel
тогда нужно отдельно записать в поток bytes.Buffer длину строки в байтах, потом содержимое строки в байтах, как-то так
Pawel
или не мучаться, и перегнать всё в жсон
Pawel
На самом деле это был вредный совет, жсон нельзя использовать, ибо на него нет ГОСТа. Поэтому для сериализации используй ТОЛЬКО asn.1 как это делаю я!
Мерль
Зачем нужны эти ваши jsonы и asnы если есть божественный протобуф
Pawel
Тут тоже не ГОСТ. 😄 А какой-то ненашенский стандарт загнивающего запада ITU-T Rec X.690
В России ASN.1 стандартизирован по ГОСТ Р ИСО/МЭК 8824-1-2001 и ГОСТ Р ИСО/МЭК 8825-93