Главная
Блог
Кинорецензии
Баннизмы
Обзоры
Рассказы
Похудение
Ликбез
Архив
Форум
 
Блог Алекса Экслера
13.02.14 19:21

Рейтинг: 0 (0)
Рубрика: софт

В программе Clipdiary довольно криво реализована работа с их базой данных, где хранится содержимое буферов. Даже если выставляешь параметр "полностью очищать базу при выходе" - там записи, как это делается в базах, просто помечаются как удаленные, а физически не удаляются. Соответственно, база пухнет. За несколько месяцев она распухает до 20-30 гигов (у меня много больших картинок через буфер копируется), и ее надо чистить, чтобы не забивала место на винте.

Для очистки базы данных там есть специальная кнопочка "Очистить базу данных". И дураку понятно, как должна производиться полная очистка базы: грохаем всю базу, создаем новую, пустую. Эта операция займет полсекунды.

Но криворукие программисты, сделавшие данную программу, легких путей не ищут! Знаете, что они делают? Начинают копировать старую базу в новую, не копируя записи, помеченные как удаленные. Попутно они, вероятно, еще и вычисляют число Пи вплоть до миллионного знака после запятой и обсчитывают сигналы внеземных цивилизаций, потому что я не понимаю, как можно базу в каких-то 15 Гб на очень мощном компьютере с шустрым диском обнулять ДВАДЦАТЬ МИНУТ, шерстя диск так, что он раскаляется.

Двадцать минут они обнуляют базу - этим ребятам надо орден дать с формулировкой "Бездари года".

Впрочем, после того как я в первый раз проделал данную процедуру, то быстро нашел решение. Надо просто собственноручно грохнуть базу, а при запуске программы она, не увидев базу, все-таки создает новую, пустую. Что вообще странно, потому что не очень понятно, как они до такого додумались. Но додумались, ура.

Комментарии
 
← Предыдущая Следующая →
 

Дмитрий_А:

Единственный.

Здра-асте. А Visual Studio,  начиная с VS6 и заканчивая VS2008 (дальше я с нативных языков слез)?
Лучшая IDE для C/C++ всех времен и народов.
При работе в Эклипсе я иногда удивлялся,  как такие выражения вообще могли мне в голову прийти :) Правда, люди работают,  конечно, Juno уже стал достаточно вменяемым. Только вот при отладке зачастую оказывается гораздо более удобным,  вы не поверите,  gdb.

Да,  по теме топика: может я и не прав но,  КМК,  ни одна СУБД не удаляет данные физически,  поскольку это была бы ОЧЕНЬ  дорогая операция. Собственно,  стоимость этой операции каждый может оценить при сжатии БД.

Keeper( 14.02.14 10:56 )

Чувствую что день пройдет под знаком копания в коде пяти летней давности и попытки понять что же это за нафик такой случился, вроде все нормально работало :)

Begemot80( 14.02.14 11:14 )

Алекс, попробуйте ArsClip - шедевральная вещь. Лучшее из того что я пробовал в этой области.

Viewmax( 14.02.14 12:01 )
HawkieRus:

давно я хотел спросить у программистов The Bat! - каким местом им вставлены руки в жопу - но после нескольких попыток ПЛАТНОЙ подписки просто забил. Пока у них не будет адекватной работы по сети и адекватной работы с папками - ни копейки больше.

Я ежедневно сталкиваюсь с проблемами этими. Удалил письмо - оно ПОМЕТИЛОСЬ  и попало в корзину. Удалил из корзины - оно ПОМЕТИЛОСЬ.

Мне приходится (у нас 4 сотрудника и почта постоянно приходит больших объёмов)  РАЗ  В  ТРИ  ДНЯ через "Управление папками"  все сжимать,  удалять, проверять.

А уж про работу с большими письмами (там,  где есть файлы приложенные мегов на 20) по сети (wi-fi b/g) - умереть не встать.

Проблема - нет другого адекватного клиента,  на который перевести тетушек 40-60 лет от роду, раз уже когда-то купил и поставил им этот ужас.

Можно же поставить сжатие папок при выходе. А приложения лучше хранить отдельно от писем. А ещё проще научить тёток пользоваться гмэйлом,  и пусть каждая извращается там как хочет.

olegsan( 14.02.14 12:16 )
olegsan:
HawkieRus:

давно я хотел спросить у программистов The Bat! - каким местом им вставлены руки в жопу - но после нескольких попыток ПЛАТНОЙ подписки просто забил. Пока у них не будет адекватной работы по сети и адекватной работы с папками - ни копейки больше.

Я ежедневно сталкиваюсь с проблемами этими. Удалил письмо - оно ПОМЕТИЛОСЬ  и попало в корзину. Удалил из корзины - оно ПОМЕТИЛОСЬ.

Мне приходится (у нас 4 сотрудника и почта постоянно приходит больших объёмов)  РАЗ  В  ТРИ  ДНЯ через "Управление папками"  все сжимать,  удалять, проверять.

А уж про работу с большими письмами (там,  где есть файлы приложенные мегов на 20) по сети (wi-fi b/g) - умереть не встать.

Проблема - нет другого адекватного клиента,  на который перевести тетушек 40-60 лет от роду, раз уже когда-то купил и поставил им этот ужас.

Можно же поставить сжатие папок при выходе. А приложения лучше хранить отдельно от писем. А ещё проще научить тёток пользоваться гмэйлом,  и пусть каждая извращается там как хочет.

ага. у нас почта на одном компе вся вертится (один общий ящик на всю компанию) - я представляю,  что будет,  если каждый комп при закрывании мыша будет сжимать папки. А там не только сжимать надо, там еще удалять. А еще мыш формирует кучу неких .bck файлов, а также непонятных partXX.bin плюс у него постоянно пропадают все папки и надо недокументированными способами их восстанавливать (Ctrl-Alt-Shoft-Q кажется или типа того).

Про молдавских строителей,  после опыта работы с тхебатом, шутки уже мне не смешны.

HawkieRus( 14.02.14 12:26 )
Erelen: Проблема ровно одна: название "Очистить базу данных" для кнопки неудачно. Это, скорее, "Сжать", а не "Очистить". Если очень захотеть - можно прикопаться ещё к тому, что не предусмотрели отдельную кнопку действительно полного удаления базы.

За исключением этого, всё совершенно нормально.

Собственно, да. Проблема только в 1 (одном) неверно подобранном слове. Вина в этом не программиста, а того надмозга, который английский термин Purge (именно им обозначается чистка базы от записей, помеченных как удаленные) перевел тупо в лоб.

Eraser( 14.02.14 13:59 )
Eraser:
Erelen: Проблема ровно одна: название "Очистить базу данных" для кнопки неудачно. Это, скорее, "Сжать", а не "Очистить". Если очень захотеть - можно прикопаться ещё к тому, что не предусмотрели отдельную кнопку действительно полного удаления базы.

За исключением этого, всё совершенно нормально.

Собственно, да. Проблема только в 1 (одном) неверно подобранном слове. Вина в этом не программиста, а того надмозга, который английский термин Purge (именно им обозначается чистка базы от записей, помеченных как удаленные) перевел тупо в лоб.

Обожаю слушать когда люди авторитетно заявляют что и как есть на самом деле, и кто виноват :))))

Кнопка "Очистить базу данных"  (английский вариант "Empty database", оба варианта писал я и термина Purge там нет) -  делают именно то что написано - очищают базу данных, удаляя всю сохраненую историю, все! - это с точки зрения обычного пользователя. То что там еще происходит сжатие базы - понимает дай бог 10 процентов продвинутых пользователей, но они это и без дополнительных надписей понимают. А для обычного пользователя, повторюсь, это просто очистка бд  от сохраненых данных.
Могу согласится что "Очистка базы данных" не самый правильный вариант с литературной точки зрения, но суть передает верно.

Begemot80( 14.02.14 14:25 )

Begemot80: напишите вместо "Очистка" - "Оптимизация" и придраться будет совершенно не к чему. Про английский вариант ничего не скажу, он для меня в виде "Empty..." звучит слишком искусственно, но если люди не жалуются, то и хрен с ним.

perepelkin( 14.02.14 14:33 )

perepelkin:  вы вообще поняли что я написал - это кнопка УДАЛЯЕТ ВСЕ СОХРАНЕНЫЕ ДАННЫЕ.

Вы мне предлагает назвать ее "Оптимизация"? если у вас в винде будет кнопка "оптимизировать работу жесткого диска", которая при нажатии удалит все ваши файлы - вам это странным не покажется?

Begemot80( 14.02.14 14:36 )
Begemot80: perepelkin: вы вообще поняли что я написал - это кнопка УДАЛЯЕТ ВСЕ СОХРАНЕНЫЕ ДАННЫЕ. Вы мне предлагает назвать ее "Оптимизация"? если у вас в винде будет кнопка "оптимизировать работу жесткого диска", которая при нажатии удалит все ваши файлы - вам это странным не покажется?

О, еще и хамом оказался. Старик Экслер определенно в чем-то прав.

perepelkin( 14.02.14 14:43 )

github.com/hluk/CopyQ  не лучше будет?

SchweinDeBurg( 14.02.14 16:48 )

Alex Exler:  

Я тут поразбирался сегодня. С долгой очисткой базы данных - согласен косяк, очистка идет стандартным средствами SQlite -  "DELETE FROM log;VACUUM;". Как оказалось это действительно не подходит при больших размерах баз. На разумных размерах проблем нету, а таких больших я не предполагал... В следующей версии я этот косяк исправлю, буду просто удалять\создавать новую базу, сейчас это уже можно сделать.

По поводу того что не работает "полностью очищать базу при выходе" - это работает в обычном режиме с маленькой бд (проверил), у вас скорее всего не отрабатывает из за первого пункта - то есть вы выключаете компьютер,  Clipdiary завершается, пытается очистить бд - но так как база уже большая и времени надо много, просто не может это сделать, винда прибивает его раньше. При следующем запуске бд, откатывается в предыдушее состояние. Соответвенно это тоже будет будет исправленно в следующей версии.

На данный момент рекомендую либо очистить базу и установить лимит в 100 \ 200 \ 500, если такой лимит не устраивает установить максимально большой лимит и раз в месяц удалять бд руками. Ну и конечно же обновится как только выйдет новая версия.

Спасибо за репорт :)

Begemot80( 14.02.14 18:07 )

Помнится, после обзора этого менеджера в очередной раз попробовал слезть с CLCL.

Неделю с ней проработал и снёс нафиг. Мне кажется, альтернатив CLCL просто нет. Работает мгновенно. Не тормозит. Ничего лишнего. Никаких глюков и сбоев. У меня настроено на хранение 500 записей в истории и всё это мгновенно открывается по нажатии горячей кнопки. И удобно группируется в меню. Плюс удобно в одном всплывающем окне сделана и история буфера и избранные фрагменты.

Правда я, как програмист, больше работаю с текстом, а не с графикой, но работаю активно.

Кажется, я все возможные программы подобного класса перепробовал уже.

Maestro_NV( 15.02.14 11:32 )

Begemot80:  

sqlite туп, но здесь хороший совет https://developer.appcelerator.com/question/126431/how-to-truncate-a-t...

Однажды мне надо было стереть миллиард записей из таблицы, которые занимали 1.5 тера и оставить пол миллиона, которые занимали 15 гига, не прерывая работу пользователей, которые обращались к этой таблице.

Пришлось писать луп, который тёр порциями по 1000 и работал 3 дня. Но это была нормальная база, а не лайт.

Дмитрий_А( 16.02.14 17:06 )

Дмитрий_А:  

Проблема не как удалить все записи - это занимает время, но относительно небольшое. Проблема в "Vacuum".

Begemot80( 17.02.14 10:59 )

Программа классная, но с базой оно конечно  не очень. Вариант - поставить фильтр на типы файлов (изображения), чтобы они не писались в базу. Мне, например, нужен менеджер буфера обмена в основном для текстовой информации. Вот сейчас глянул - файл ДБ 28 МБ (ему уже больше года точно)

e_mik( 25.02.14 19:27 )

За годы работы с компрьютером, перепробовал десятки подобных программ.

Попробовал и эту.

И всё таки, остаюсь с той, с которой работаю долгие годы.

Clipboard Recorder

Программа старенькая и уже не поддерживается, хотя плату требует (но добрые люди помогли решить эту проблему - гуглите).

Её плюс - максимальный минимализм и главное достоинство - показ записи в буфере по клику на программе в трее.

В отличии от других программ, где вылезает окно на пол экрана, в этой, вылезает маленькое, ниспадающее, окошко. В котором, в кратце (можно настроить по желанию) вылезает список всего сохраннённого в буфере.

Вроде бы такая маленькая фишечка, но настолько полезная, что привыкнув её пользоваться, другие программы (подобного типа) использовать (без этой фишечки) уже не могу.

Alik125( 19.08.16 10:26 )
Для отправки комментария необходимо зарегистрироваться

 
← Предыдущая Следующая →
 
Информация
О разделе
RSS-лента
Блог в ЖЖ
Поиск по сайту
Рубрикатор
coub  (2)
авто  (225)
бытовуха  (899)
видео  (1704)
вино  (162)
выставки  (180)
гаджеты  (793)
гламурье  (13)
деревня  (1)
детишки  (26)
еда  (203)
железо  (220)
животные  (182)
жулики  (90)
забавно  (1049)
игры  (61)
интересно  (128)
Интернет  (980)
искусство  (129)
Испания  (413)
истории  (135)
картинки  (569)
кино  (926)
книги  (138)
кретинизм  (223)
криминал  (4)
культурка  (5)
лытдыбр  (15)
магазины  (1)
маразм  (53)
медицина  (9)
менты  (4)
мне пишут  (14)
мои фото  (137)
музыка  (155)
новости  (20)
о высоком  (107)
о низком  (147)
обновление  (1073)
паноптикум  (15)
пишут  (22)
поездки  (876)
пожар  (6)
понаехали  (2)
попы  (79)
разное  (562)
ребенок  (13)
реклама  (191)
РЩД  (106)
связь  (13)
скорблю  (54)
СМИ  (766)
софт  (535)
социалка  (187)
спорт  (26)
технологии  (14)
тип  (2)
тмп  (10)
трэш  (7)
фотография  (62)
шарлатаны  (31)
Экслер  (808)
юмор  (7)
Моя кнопка
Счетчики
 
Хостинг от «Зенон»Сервера компании «ETegro»
Сделано в