Latest post of the previous page:
Ну и зачем мне это всё знать? На вопросы ответье лучше кто-нибудь. Вместо "ты должен плясать с такими вот бубнами" сказать, зачем эти танцы нужны. Пока эти GUID'ы выглядят, как повод для геноцида тех, кто отказывается плясать "как положено", а почему положено и кем положено, никто не объясняяет, а хотелось бы. GUID не гарантирует, что люди, которым влом заморачиваться с генерацией, не будут писать GUID ручками, а человек. которые понимает, что нужен уникальный ID плагина, уж как-то постарается решить эту проблему. На крайняк возьмёт этот GUID счастливый. Вот форматирование айдишника под специфический формат должно быть технически оправдано. Пусть даже эстетически. Но вот страхи распространять, что "без бубна сертифицированного проклятие накликаешь", ну ё-маё..Far 3.0 & Guids
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Far 3.0 & Guids
Чтобы из-за кривых гуидов не возникло конфликтов впоследствии.
Если выполнение одной простой команды для генерации гуида Вы называете танцем с бубном, то как же Вас вообще занесло в разработку плагинов для Фара?!
Last edited by HaRT on Thu 11 May, 2017 20:15, edited 1 time in total.
Reason: Исправлены опечатки
Reason: Исправлены опечатки
Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Far 3.0 & Guids
ФАР уже сто лет в обед умеет сам генерировать гуиды. И в этой теме это уже было.techie wrote:Я ещё не настолько сектант, чтобы лазить на специальный сайт для того, чтобы сгенерить случайное число, уникальное в пределах всей экосистемы фара с вероятностью > 99.99999%
Разум когда-нибудь победит.
Far 3.0 & Guids
2. Почему Far не чекает плагины на дублицирующиеся GUIDы, и не предупреждает/вываливается, если для него это так важно?
Far 3.0 & Guids
Не буду спорить или доказывать, так как вопрос не выглядит слишком важным или принципиальным.
мне, лично, длинный непонятный номер хоть и нарушает чувство прекрасного, но можно и мирится с этим.
Прочитал все что нашел касательно нужности назначения ГУИДов, так и не понял нужности.
Возможно потому что кругозора не хватает, но тем не менее.
Мне кажется что бОльший смысл имеет автогенерация ГУИДов.
Например:
Для плагинов - берется имя плагина+версия, на них автоматом делается MD5, назначается ГУИДом.
Для диалогов (и меню) берется menu_props + menu_items на них автоматом делается MD5, назначается ГУИДом.
Для пущей красоты в базу для МД5 можно добавлять:
* имя (и путь?) файла (плагина, скрипта) вызвавшего Меню
* то же самое только уже ГУИД плагина/скрипта.
Таким образом ГУИД может начать иметь смысл, как "отпечаток пальцев" для верификации, а не просто какой-то номер с потолка..
PS
вышесказанное не означает что что я против ручного назначения ГУИДов (как сейчас),
это тоже имеет смысл в некоторых понятных и мне сценариях
мне, лично, длинный непонятный номер хоть и нарушает чувство прекрасного, но можно и мирится с этим.
Прочитал все что нашел касательно нужности назначения ГУИДов, так и не понял нужности.
Возможно потому что кругозора не хватает, но тем не менее.
Мне кажется что бОльший смысл имеет автогенерация ГУИДов.
Например:
Для плагинов - берется имя плагина+версия, на них автоматом делается MD5, назначается ГУИДом.
Для диалогов (и меню) берется menu_props + menu_items на них автоматом делается MD5, назначается ГУИДом.
Для пущей красоты в базу для МД5 можно добавлять:
* имя (и путь?) файла (плагина, скрипта) вызвавшего Меню
* то же самое только уже ГУИД плагина/скрипта.
Таким образом ГУИД может начать иметь смысл, как "отпечаток пальцев" для верификации, а не просто какой-то номер с потолка..
PS
вышесказанное не означает что что я против ручного назначения ГУИДов (как сейчас),
это тоже имеет смысл в некоторых понятных и мне сценариях
Last edited by citRiks on Sun 06 Sep, 2020 21:39, edited 1 time in total.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Far 3.0 & Guids
citRiks, Вы, видимо, не поняли смысл ГУИДа. Главное: он (а) уникален и (б) постоянен для некоего плагина. Т.е. не должен зависеть ни от версии, ни от пути к ДЛЛ (как отпечатки пальцев не зависят от возраста и адреса). Именно для идентификации плагина.
Технология генерации ГУИДа такова, что уникальность обеспечивается (во всяком случае, это декларируется авторами). В т.ч. некоторые параметры компа (MAC-адрес)., а также дата-время. Поэтому, якобы он практически уникален.
В то же время генерировать его, как Вы предлагаете, сделает его непостоянным, а значит, использовать для идентификации (как вы сравнили с отпечатками пальцев) станет невозможно.
----
Нет, автор плагина (ну, или сертифицированный распространитель) должен сам сгенерировать ГУИД и присвоить его плагину навсегда.
Сорри, Вы поняли (я не дочитал Ваше сообщение до конца), но сделали странные выводы
Технология генерации ГУИДа такова, что уникальность обеспечивается (во всяком случае, это декларируется авторами). В т.ч. некоторые параметры компа (MAC-адрес)., а также дата-время. Поэтому, якобы он практически уникален.
В то же время генерировать его, как Вы предлагаете, сделает его непостоянным, а значит, использовать для идентификации (как вы сравнили с отпечатками пальцев) станет невозможно.
----
Нет, автор плагина (ну, или сертифицированный распространитель) должен сам сгенерировать ГУИД и присвоить его плагину навсегда.
Сорри, Вы поняли (я не дочитал Ваше сообщение до конца), но сделали странные выводы
Last edited by buniak_a_h on Sun 06 Sep, 2020 21:59, edited 2 times in total.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Far 3.0 & Guids
т.е. вы предлагаете вместо банального
Plugin.SyncCall('9860393A-918D-450F-A3EA-84186F21B0A2',…)
держать список уидов для всех возможных версий и битностей, при помощи far.FindPlugin каждый раз искать, а какая версия плагина есть, и уже только потом вызывать Plugin.SyncCall. а при выходе новой версии плагина обязательно обновлять макрос. я вас правильно понимаю?
Last edited by zg on Sun 06 Sep, 2020 22:14, edited 2 times in total.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Far 3.0 & Guids
да-да, а ещё (у меня, например, только 64-разрядных ФАР-ов штук 5 плюс "переносимая", которая может у юзера быть запущена откуда угодно.)
Last edited by buniak_a_h on Sun 06 Sep, 2020 22:47, edited 1 time in total.
Far 3.0 & Guids
да, это хороший обьясняющий примерzg wrote: ↑Sun 06 Sep, 2020 22:14т.е. вы предлагаете вместо банальногоPlugin.SyncCall('9860393A-918D-450F-A3EA-84186F21B0A2',…)
держать список уидов для всех возможных версий и битностей, при помощи far.FindPlugin каждый раз искать, а какая версия плагина есть, и уже только потом вызывать Plugin.SyncCall. а при выходе новой версии плагина обязательно обновлять макрос. я вас правильно понимаю?