Автор Тема: BlackBox module update.  (Прочитано 16680 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
BlackBox module update.
« : Декабрь 17, 2011, 05:07:22 pm »
Вот предположим есть какой-то модуьл в ББ а может быть даже целая подсистема. Время от времени выходят новые версии, где исправлены некоторые ошибки, убраны несовместимости по форматам и протоколам и так далее. Без обновления пользователю будет реально плохо - может просто все перестать работать.

Внимание вопрос - как в ББ провернуть автообновление модуля или подсистемы? То есть оно должно вытянуть откуда-то из сети (локальной или глобальной) новую версию и. скажем, при следующем запуске ББ загрузить уже новую версию (ну или динамически модуль старый выгрузить, новый загрузить). Для этого есть какие-то готовые средства?

Понятно что эта функциональность должна быть на уровне каркаса, потому что сам процесс обновления системозависим - напримаер в Висте/Win7, если программа поставлена как надо, то есть в потроха Program Files, то у нее нет прав на запись в каталог установки. Нужно у системы испросить разрешение на получение прав суперпользователя. система спросит разрешения у пользователя и уж тогда-а...
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #1 : Декабрь 17, 2011, 05:13:39 pm »
Готовых средств в общедоступном дистрибутиве нет.

Если ББ запустить с особым ключиком, то рабочая папка будет там, куда указывает ключик. А в рабочей папке все модули, которые как хочешь, так и обновляй. Если разработчик приложения ответственно подошёл к своей работе, то в приложении будет кнопочка "поискать обновления".

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #2 : Декабрь 17, 2011, 05:17:17 pm »
Готовых средств в общедоступном дистрибутиве нет.

Если ББ запустить с особым ключиком, то рабочая папка будет там, куда указывает ключик. А в рабочей папке все модули, которые как хочешь, так и обновляй. Если разработчик приложения ответственно подошёл к своей работе, то в приложении будет кнопочка "поискать обновления".

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

PS. А что за ключик? И не будет ли эта директория временной?
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #3 : Декабрь 17, 2011, 05:45:46 pm »
Если разработчик приложения ответственно подошёл к своей работе, то в приложении будет кнопочка "поискать обновления".
На самом деле в ряде случаев такая кнопочка суть архаизм и вредна - обновления должны полностью автоматически искаться и устанавливаться.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #4 : Декабрь 17, 2011, 06:24:59 pm »
Ситуация такова, что нельзя заставить пользователя ставить ББ тем образом, каким нам удобно - у него уже стоит ББ и он привык каким-то образом его запускать. Подсистема/модуль реализует лишь часть функционала который пользователь использует в ББ.

PS. А что за ключик? И не будет ли эта директория временной?
Переставлять ничего не надо.
Директория не временная с точки зрения винды. То есть, будет существовать, пока пользователь сознательно её не удалит.

Нужно ему только прислать директорию с минимально допустимым набором подсистем (включая модули с программой). В директории будет ярлык на ББ. В ярлыке будет прописана команда
"C:\Program Files\BlackBox Component Builder 1.6\BlackBox.exe" /Use "D:\Work"Ну и рабочую директорию в ярлыке ту же, что и в ключике указать надо.

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #5 : Декабрь 17, 2011, 06:27:40 pm »
На самом деле в ряде случаев такая кнопочка суть архаизм и вредна - обновления должны полностью автоматически искаться и устанавливаться.
Ну, в маке от неё пока не отказались. Понимаю, что, допустим, при запуске программа проверит доступность обновлений, но сама скачивать и ставить... Так и отгрести можно от пользователя через интерфейс антивируса или фаервола.

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #6 : Декабрь 17, 2011, 06:28:28 pm »
В ББ версии 1.6 не utf-8. Так, на всякий случай говорю.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #7 : Декабрь 17, 2011, 08:01:36 pm »
В ББ версии 1.6 не utf-8. Так, на всякий случай говорю.

Ну, ББ суть виндовозное поделие, следовательно там какой-нибудь ucs-16, то есть по 16 бит на символ вне завиимости от его природы. Точнее поскольку это юникод виндовый, то там на самом деле совсем древняя версия ucs16 скорее всего.

Но вопрос был в другом - есть ли в ББ либы/модули для работы с UTF8 ? То есть для парсинга, валидации и конвертации в другие кодировки/представления. В тот же ucs-16 например. Например в D есть в стандартной либе модуль std.utf, где все это есть.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #8 : Декабрь 17, 2011, 08:04:57 pm »
Да, и понятное дело, что UTF8 внутри программы нафиг не нужен. Ибо операция индексации у UTF8 строки занимает O(n). Внутри программы для обработки текст лучше хранить в чем-то имеющем фиксированный размер символа. Например в ucs-32.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #9 : Декабрь 17, 2011, 08:32:35 pm »
На самом деле в ряде случаев такая кнопочка суть архаизм и вредна - обновления должны полностью автоматически искаться и устанавливаться.
Ну, в маке от неё пока не отказались. Понимаю, что, допустим, при запуске программа проверит доступность обновлений, но сама скачивать и ставить... Так и отгрести можно от пользователя через интерфейс антивируса или фаервола.
По сути отказались. То есть я каждый день пользуюсь маком и не помню где эта кнопка вообще есть. Оно апдейты проверяет само. И предлагает поставить (понятное дело, ведь для этого нужны права суперпользователя). При этом часть приложений само следит за обновлениями и некоторые, вроде хрома, молча обновляются (им суперпользователь не нужен). И это не раздажает и проблем не вызывает.

Более того - повальное увлечение веб-приложениями по большей части обусловленно именно тем, что у таких приложений by design нет проблем с обновлетями - у пользователя всегда актуальная версия, что сильно все упрощает. В частности не нужно поддерживать и заботиться о совместимости с миллионом старых версий. Следовательно код становится чище и с меньшим числом костылей. Разработка дешевле. Даже если ради такого клиент приходится писать на таком уг как js.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #10 : Декабрь 17, 2011, 08:36:23 pm »
А за ключик спабо.

Вообще такое ощущение. что ББ нужна подсистема для апдейтов подсистем.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #11 : Декабрь 17, 2011, 08:49:50 pm »
По сути отказались. То есть я каждый день пользуюсь маком и не помню где эта кнопка вообще есть. Оно апдейты проверяет само. И предлагает поставить (понятное дело, ведь для этого нужны права суперпользователя). При этом часть приложений само следит за обновлениями и некоторые, вроде хрома, молча обновляются (им суперпользователь не нужен). И это не раздажает и проблем не вызывает.
Так хром-то не эпл писал...

Ну не знаю, может, на нашем буке кто-то это отключил, но пока я сам на яблоко вверху не нажму и не выберу получение обновлений, то я и не узнаю что уже скоро год как новый xcode вышел, которому для инсталляции нужны два гига обновлений  с версии 10.6.6 на 10.6.8.

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #12 : Декабрь 17, 2011, 08:51:03 pm »
В частности не нужно поддерживать и заботиться о совместимости с миллионом старых версий.
Миллионом старых версий браузеров? : )

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #13 : Декабрь 17, 2011, 08:57:18 pm »
Вообще такое ощущение. что ББ нужна подсистема для апдейтов подсистем.
С одной стороны, она определённо не помешает. По крайней мере, в части уведомлений о новых обновлениях. С другой стороны - подсистемы не являются конечными приложениями. Если твой линух обновит автоматом glibc без твоего ведома, то такая веселуха начнётся...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox module update.
« Ответ #14 : Декабрь 17, 2011, 08:59:18 pm »
В частности не нужно поддерживать и заботиться о совместимости с миллионом старых версий.
Миллионом старых версий браузеров? : )

Старых версий клиентов.
А вот что бы и о версии платформы не заботиться, гугл и стал разрабатывать свой браузер, который обновляется молча.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"