Обсуждаем нюансы реализации функций в программе (для тех.спе

Обсуждение функционала программы
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Обсуждаем нюансы реализации функций в программе (для тех.спе

Post by guru »

Администратор:
Вынесено в отдельную тему, чтобы не засорять глаза обычных пользователей.
В этой теме предлагается обсуждать некоторые моменты по внутренней реализации тех или иных функций в программе.
Тема, как вы понимаете, для программистов и сочувствующих.
MetalFan wrote:Просьба потестить функцию удаленного закрытия запущенных копий.Логика следующая: при запуске программы, если была включена данная опция, создается ранее называнный файл... затем загрузка программы "тормозиться" на 5сек, затем файл удаляется и программа продолжает загрузку.Возможно 5с будет маловато...
Завтра проверю. Но по моим прошлым наблюдениям, хватало меньше секунды, чтобы всех убить :)
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru, ну типа если с каконить дропбокса запущено, то могут быть лаги какиенить...
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan, я могу проверить только по локалке. Если у кого будут проблемы с дропбоксами всякими, то могу посоветовать добавить в опции настройку времени задержки (1-10 сек).
И еще, а почему нельзя, чтобы прога не ждала, а сразу запускалась? А старые копии уже пусть умирают там постепенно.
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru, старые версии (в идеале - только одна), умирая, сохраняют данные...
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan wrote:Просьба потестить функцию удаленного закрытия запущенных копий.
Как и ожидалось, по локалке достаточно одной секунды.
MetalFan wrote:старые версии (в идеале - только одна), умирая, сохраняют данные...
Думаешь это сильно помешает? Данные обычно уже сохранены к тому времени, если включено автосохранение. И мало кто будет пользоваться одновременно и новой и старой версией на разных компах.
Что если сделать, чтобы прога при запуске загружала данные, запускалась в нормальном режиме, потом в фоне 10 сек убивала копии, затем сохраняла свою текущую базу и переходила в режим ожидания убийства?
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru wrote:обычно уже сохранены к тому времени, если включено автосохранение
Какая разница? а если нет? у меня автосохранение, к примеру, делается раз в 10мин. А у кого-то оно вообще может быть отключено.
guru wrote:прога при запуске загружала данные, запускалась в нормальном режиме, потом в фоне 10 сек убивала копии, затем сохраняла свою текущую базу и переходила в режим ожидания убийства
бррр... ничо-не-понял. запускаемый экземпляр программы (в идеале) не должен начинать работу с файлом данных до тех пор, пока есть кто-то, кто может эти данные еще досохранить.
Просто может статься так, что при запуске очередной копии она попытается прочитать записываемый в данный момент другой копией файл... обломается, ничего не загрузит. а потом и сохранит пустой файл поверх...
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan wrote:Просто может статься так, что при запуске очередной копии она попытается прочитать записываемый в данный момент другой копией файл... обломается, ничего не загрузит. а потом и сохранит пустой файл поверх...
Обычно файл базы сохраняется рядом, затем удаляется(или бэкапится) старый и новый переименовывается в его имя. Переименование требует во много раз меньше времени, чем создание файла и запись данных в него. А уж если новая копия программы моментом чтения и в этот мизерный промежуток попадет, то при чтении пустого или некорректного файла базы еще делают повторную проверку наличия корректного файла с паузой 200-500мс, можно раза 3-5 подряд. В конце концов, есть же еще бэкап файла базы (не путать с рез.копиями в папке backup), из которого программа может восстановить базу, если основная испорчена.
MetalFan wrote:у меня автосохранение, к примеру, делается раз в 10мин. А у кого-то оно вообще может быть отключено.
Насколько я понял, новая версия (и какие-то другие тоже) не сохраняют данные при tc_close, а просто умирают и всё. Тогда какой смысл ждать пока старая копия закроется? Просто создаем tc_close. Загружаем базу (с проверкой целостности). Начинаем работать, а в фоне ждём 10 сек., и затем удаляем tc_close.
Last edited by guru on Mon Apr 01, 2013 3:53 pm, edited 2 times in total.
MetalFan, спасибо за TrackChecker!
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

Я всё же не совсем понимаю, зачем сохранять каждую минуту (или 10 мин., не важно) базу, которая не изменилась?
Почему не сделать сохранение после изменения данных? Появились изменения - сразу сохранились, это нормально.
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru wrote:просто умирают и всё
нет, не умирают. А пытаются сохранить данные (если были изменения). Посему не стоит запускать с одним файлом данных больше одного экземпляра программы.
guru wrote:которая не изменилась?
Если изменений нет, то ничего не сохраняется.
guru wrote:Появились изменения - сразу сохранились, это нормально.
Обновляется 40 треков, появляется 20 событий подряд. Все 20 раз подряд сохранять?
В общем предлагаю или вынести дискуссию по способам сохранения данных в отдельную тему или закрыть ее совсем.
Сделано так, как сделано. И так, на мой взгляд, наиболее логично.
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan wrote:Если изменений нет, то ничего не сохраняется.
Тогда как объяснить, что у меня теряются(терялись) треки, когда на другом компе копия остается работать? Автопроверкой треков я не пользуюсь. Автосохранение раз в минуту.
Добавляю трек на втором компе, закрываю прогу. Через некоторое время открываю, трека нет. Затерт автосохранением первой запущенной копии, не смотря на то, что ее база не обновлялась. Значит автосохранение срабатывает и когда изменений нет, когда прога просто висит в фоне. И это не единичный случай, такое было уже несколько раз.
MetalFan wrote:Все 20 раз подряд сохранять?
Нет, конечно :D Сохранение происходит после окончания обновления последнего трека или отмены обновления, если были изменения в базе :)
Так же, если выделено 7 событий и пользователь их удаляет, то сохранение произходит не 7 раз, а только один, в конце.
Это же всё логично ;)
MetalFan wrote:В общем, предлагаю или вынести дискуссию по способам сохранения данных в отдельную тему или закрыть ее совсем.
Не вижу смысла в отдельной теме, так как вопрос узкоспециализированный и большинству пользователей просто не интересен.
Я не настаиваю. Просто не пойму, почему так не сделать, ведь это очень просто реализуется и результат хороший (я не раз проверял).
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru wrote:Просто не пойму, почему так не сделать, ведь это очень просто реализуется и результат хороший
Я просто не пойму, зачем переделывать то, что и так работает.
guru wrote:Затерт автосохранением первой запущенной копии, не смотря на то, что ее база не обновлялась.
Не факт, что не обновлялась. Возможно изменилась какая-то служебная инфа.

В общем потру я этот флуд, раз нет желания в отдельной теме продолжить обсуждение.
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan wrote:Я просто не пойму, зачем переделывать то, что и так работает.
Ну, ты же собираешся всё к чертям переписать :) Вот я идею и подкидываю, что можно будет еще поменять. В будующем :)
MetalFan wrote:В общем потру я этот флуд
Мочи, мы всё стерпим :crazy:
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by MetalFan »

guru, по скольку на форуме пристуствуют тех.спецы, и даже программисты ;) то я думаю, а не завести ли отдельную ветку форума, где обсуждать подобные технические моменты... ибо "большинству" конечно они не интересны, но мне вот было-бы интересно узнать мнения коллег по поводу тех или иных вопросов
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: [Win32] Анонс TrackChecker 1.0.7 b310

Post by guru »

MetalFan, ну типа ещё один повод лясы почесать это гуд :thumbup: Заводи!
MetalFan, спасибо за TrackChecker!
User avatar
impulse
Posts: 276
Joined: Wed Feb 06, 2013 5:59 pm
Location: Labinsk
Has thanked: 1 time
Been thanked: 8 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by impulse »

Товарищи....

Code: Select all

<!-- <p>e_result2.jsp, RC093828004HK,REGISTERED, IMAIL, RC093828004HK||RC093828004HK||REGISTERED||REGISTERED||O||20130326||20130404||#||C||N||20130405||||HK||RU||||C3||20130405||, Y</p> -->
Получено от http://app3.hongkongpost.com/CGI/mt/mtr ... bmit=Enter
Может это как то можно использовать? Еще парочка...

Code: Select all

<!-- <p>e_result2.jsp, RT173169115HK,REGISTERED, IMAIL, RT173169115HK||RT173169115HK||REGISTERED||BRAM||O||20130315||20130319||#||C||N||20130405||||HK||RU||||C3||20130319||, Y</p> -->
<!-- <p>e_result2.jsp, RB966578553HK,REGISTERED, EC-SHIP, RB966578553HK||RB966578553HK||REGISTERED||EC-SHIP||O||20130307||20130401||#||F||N||20130405||||HK||RU||||||||, N</p> -->
<!-- <p>e_result2.jsp, RA970292676HK,REGISTERED, IMAIL, RA970292676HK||RA970292676HK||REGISTERED||REGISTERED||O||20130227||20130308||#||C||N||20130405||||HK||RU||||C3||20130310||, Y</p> -->
RA970292676HK
27.02.2013 Поступило на почту Гонконга
1.03.2013 Готовится к отправке из Гонконга
8.03.2013 Будет отправлено из Гонконга
8.03.2013 Вылетело из Гонконга в страну назначения

Небольшой разбор:
Это очень похоже на ответ из БД, 17 полей разделенные "||".
BRAM = Bulk Registered Air Mail service
User avatar
rig
Posts: 497
Joined: Wed Dec 05, 2012 5:47 pm
Location: Екатеринбург
Has thanked: 13 times
Been thanked: 22 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by rig »

почему файл data.xml все время открыт, полез я в облачные технологии, туча ругается на этот файл, не может его обновить.
User avatar
rig
Posts: 497
Joined: Wed Dec 05, 2012 5:47 pm
Location: Екатеринбург
Has thanked: 13 times
Been thanked: 22 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by rig »

ну и удаленка скорее всего не закроется т.к. синхронизация с облаком за 1 сек не успеет пройти.
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by MetalFan »

rig wrote: файл data.xml все время открыт
Ничо подобного. В него пишется только в моменты автосохранения, либо при закрытии программы.
Видимо кривое облако у вас)
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by guru »

MetalFan wrote:Видимо кривое облако у вас)
Ага, наверно ЯД? :)
MetalFan, спасибо за TrackChecker!
User avatar
rig
Posts: 497
Joined: Wed Dec 05, 2012 5:47 pm
Location: Екатеринбург
Has thanked: 13 times
Been thanked: 22 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by rig »

он самый, но как трекер закрываю так сразу шевелится и все заканчивается.
там еще 3 файла тоже на синхронизацию просятся, сразу не писал, а после закрыл открыл уже все синхронизиловалось.
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by guru »

rig, я его сильно мучил. Ничего не помогло. Глючит по черному.
В итоге в роутер флешку воткнул и расшарил. Если извне доступ понадобится, возьму в аренду внешний IP.
MetalFan, спасибо за TrackChecker!
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by MetalFan »

guru, dyndns какойнить? не?)
wbw, MetalFan
User avatar
guru
Moderator
Posts: 2848
Joined: Mon Dec 10, 2012 3:56 pm
Has thanked: 141 times
Been thanked: 182 times

Re: Обсуждаем нюансы реализации функций в программе (для тех

Post by guru »

MetalFan wrote:dyndns какойнить? не?)
Зачем? Можно же просто арендовать статический внешний ip за 100 р. в мес. А на нем организовать свой личный облачный сервис) Очень удобно, особенно если дома есть постоянно работающий сервак.


Модератор: продолжение обсуждения: viewtopic.php?p=4292#p4292
MetalFan, спасибо за TrackChecker!