Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

Срыв покровов патриот06.05.22 10:11
NEW 06.05.22 10:11 
в ответ alex445 06.05.22 09:21, Последний раз изменено 06.05.22 10:11 (Срыв покровов)
Вы чужую сигаретку изо рта в рот берёте? А бычки незнакомые поднимаете докурить? Из чужих стаканов пьёте? А зачем?

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




Программист коренной житель06.05.22 10:18
NEW 06.05.22 10:18 
в ответ alex445 06.05.22 09:32
Уже одни подсказки Интеллисенс значительно облегчают работу.

У викса тоже есть интеллисенс. Собственно говоря, это просто схема.


Я не знаю, нахрена был придуман Викс на XML.

А на чем его еще придумывать? Он так и называется (W)indows (i)nstaller (X)ML. Создали его в лохматые годы... Тогда кроме XML ничего и не было :) Да и сейчас врядли есть более подходящий формат.


Т.е. гипотетический "мастер по Викс и XML" всё равно должен уметь кодить - т.е. всё равно инсталлятор будет делать обычный разраб-кодер. Так сделайте сразу всё в коде.

Я много работал с WiX и ни разу не писал расширения :) Ничего особенного эти расширения не делают, это просто сахар. Иногда надо написать кастом экшен, но они расширяют MSI, а не WiX.


По-моему, это было сделано для совместимости с ещё более дремучей и муторной вещью - MSBuild. Так что какие-то сложные инсталляторы народ делал тупо спецприложением (те же Формы или WPF) и делал всё опять в привычном для себя коде.

Ты просто не в курсе :)

Технология MSI была сделана для установки офиса. Потом MSI стал расширяться и на другие продукты MS. Альтернатива MSI - скриптовые инсталляторы типа Wise или InnoSetup. Какой WPF? Все эти технологии появились еще до .Net :D

Программист коренной житель06.05.22 10:27
NEW 06.05.22 10:27 
в ответ alex445 06.05.22 09:42

Как там и что у вас я без понятия.

Однако факт в том, что GAC используется для shared assemblies. Использовать его как-то иначе - стрелять себе в ногу :)

Соответственно, как хранилише сборок GAC имеет смысл использовать только на клиенской машине.

Ну и те сборки, которые идут в GAC должны по особому инсталлироваться. Если ты в 2 разных инсталлятора включишь одну и ту же сборку (для GACa), но с разными component id, то жди беды :)

uscheswoi_82 старожил06.05.22 13:10
NEW 06.05.22 13:10 
в ответ Программист 06.05.22 10:18, Последний раз изменено 06.05.22 13:17 (uscheswoi_82)
Потом MSI стал расширяться и на другие продукты MS

MSI в 2000м году вышел не только для продуктов MS, мы тоже использовали в нашей программе MSI, т.к. Install Shield не было с Visual Basic 6.0, а инстолятор с Visual Basic 6.0 был отстой, Install Shield был только с Visual C++ 6.0 Professional, но у нас был только Visual Basic 6.0. Там была какая-то Visual Studio 2002 что-ли, и там был MSI Installer, но мы её отдельно скачивали с сайта Microsoft.


Альтернатива MSI - скриптовые инсталляторы типа Wise или InnoSetup.

Да не только Wise или InnoSetup, вы забыли упомянуть про NullSoft Installer, который имхо более популярнее выше перечисленных, кстати об этом я тут написал см. https://programming.mybb.ru/viewtopic.php?id=63 и https://programming.mybb.ru/viewtopic.php?id=244

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
Murr патриот06.05.22 14:20
Murr
NEW 06.05.22 14:20 
в ответ Срыв покровов 06.05.22 10:11
не говоря уже о пользовании общественным транспортом

-----

И почему это население предпочитает персональные жоповозки?


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


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

Murr патриот06.05.22 14:24
Murr
NEW 06.05.22 14:24 
в ответ alex445 06.05.22 09:38

Опять же, при билде все либы копировались в bin к экзешнику, а при деплое просто переносились на машину клиента вместе с экзешником.

------

Как все запущено...

Ну да ничего - изучишь MsBuild - будешь понимать что и как там делается...

alex445 коренной житель06.05.22 15:39
NEW 06.05.22 15:39 
в ответ Срыв покровов 06.05.22 10:11

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

Суть не в том, чтобы на 100% отгородиться, а чтобы просто уменьшить вероятность. Ну и у всех свои бзики. Я, например, из чужого стакана пить не буду, а кусочек еды, упавший на колени или на пол у себя дома, могу подобрать и в рот положить. Непоследовательность? - Бзик.

alex445 коренной житель06.05.22 15:42
NEW 06.05.22 15:42 
в ответ Программист 06.05.22 10:18, Последний раз изменено 06.05.22 15:43 (alex445)
Уже одни подсказки Интеллисенс значительно облегчают работу.
У викса тоже есть интеллисенс. Собственно говоря, это просто схема.

Пользовался им где-то лет 7-8 назад. И там с подсказками и автокомплитом XML было туго. Ну и плюс нужно было такое - какие варианты поднодов XML могут быть в этой ноде? Вроде, подсказчик в Виксе такое не даёт - тупо всё перечисляет. А в C# подноды - это свойства объкта, поэтому там уже всё отфильтровано.


Вобщем, с чистым Виксом мне приходилось в разы болше в документацию подглядывать и руками теги набивать, чем в WiX#. И как я сказал, всё равно расширения в Виксе пишутся на каком-то языке программирования. А когда у тебя изначально всё на этом языке, то и переключаться не надо.

alex445 коренной житель06.05.22 15:45
NEW 06.05.22 15:45 
в ответ Программист 06.05.22 10:18
Т.е. гипотетический "мастер по Викс и XML" всё равно должен уметь кодить - т.е. всё равно инсталлятор будет делать обычный разраб-кодер. Так сделайте сразу всё в коде.

Я много работал с WiX и ни разу не писал расширения :) Ничего особенного эти расширения не делают, это просто сахар. Иногда надо написать кастом экшен, но они расширяют MSI, а не WiX.

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

alex445 коренной житель06.05.22 15:47
NEW 06.05.22 15:47 
в ответ Программист 06.05.22 10:18, Последний раз изменено 06.05.22 15:49 (alex445)
Технология MSI была сделана для установки офиса. Потом MSI стал расширяться и на другие продукты MS. Альтернатива MSI - скриптовые инсталляторы типа Wise или InnoSetup. Какой WPF? Все эти технологии появились еще до .Net :D

Я со всеми ими работал. Хоть по разу или по два, но инсталляторы писал. Но лет 12 назад или больше. Я понял, что проще в коде накатать то же копирование файлов и прочее. Всё равно инсталлятор запускается с админскими правами, а значит и твой кастомный экзешник-инсталлятор на формах или WPF тоже будет ничем не хуже Викса, Вайза или там Инносетап. Только тебе не надо будет особенностей каждого продукта изучать, а будет достаточно знать лишь свой язык, свою область.

alex445 коренной житель06.05.22 16:09
NEW 06.05.22 16:09 
в ответ Murr 06.05.22 14:20, Последний раз изменено 06.05.22 16:13 (alex445)
Сравнение - более-менее корректное - в том плане, что имея возможность уменьшить количество возможных источников заражения глупо не пользоваться этой возможностью. Я таки тоже имею свою кружку и свою ложку и мне глубоко насрать на то насколько качественно моется общественное - у меня исключена сама возможность опосредованного инфицирования...

Самое сложное, как это до коллег донести, чтобы не обидились и вообще. Вроде вежливо коротко говоришь, что извините, но я бы хотел пользоваться своим, но потом всё равно видно, что странно на тебя смотрят какое-то время.


И ещё не люблю жать руки. Особенно потные. А итальянцы вообще постоянно целуются.


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

Кто работал в общепитах - готовка, производство полуфабрикатов, склад, официант - хоть отечественных, хоть зарубежных, знает, что всё это туфта и вилами по воде писано. И вообще, тупые немцы.

Программист коренной житель06.05.22 16:32
NEW 06.05.22 16:32 
в ответ alex445 06.05.22 15:42
И там с подсказками и автокомплитом XML было туго.

Не знаю как ты там пользовался. У меня с подсказками все было хорошо :)


Ну и плюс нужно было такое - какие варианты поднодов XML могут быть в этой ноде? Вроде, подсказчик в Виксе такое не даёт - тупо всё перечисляет.

Посказчик в виксе - это просто xsd. И да, там все выдается с поднодами


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

Эту логику тебе придется писать и в WiX#. Т.к. этой логикой ты расширяешь процесс установки. И работает этот код, как не трудно догадаться, на клиенте.


Я понял, что проще в коде накатать то же копирование файлов и прочее.

Значит ты ничерта не понял :) Копирование файлов - это примитивная задача. Инсталлятор должен еще эти файлы удалить и обновить. Вот где все проблемы.


Всё равно инсталлятор запускается с админскими правами

Совсем не обязательно.


Только тебе не надо будет особенностей каждого продукта изучать, а будет достаточно знать лишь свой язык, свою область.

Тебе надо будет написать дополнительную программулину, а значит ты сделаешь 100500 ошибок. И помимо твоего основного продукта тебе придется сопровождать еще и инсталлятор. Как говорится "флаг в руки и крест на могилу" :)

alex445 коренной житель06.05.22 17:39
NEW 06.05.22 17:39 
в ответ Программист 06.05.22 16:32
Ну и плюс нужно было такое - какие варианты поднодов XML могут быть в этой ноде? Вроде, подсказчик в Виксе такое не даёт - тупо всё перечисляет.

Посказчик в виксе - это просто xsd. И да, там все выдается с поднодами

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

alex445 коренной житель06.05.22 17:42
NEW 06.05.22 17:42 
в ответ Программист 06.05.22 16:32, Последний раз изменено 06.05.22 17:54 (alex445)
Тебе надо будет написать дополнительную программулину, а значит ты сделаешь 100500 ошибок. И помимо твоего основного продукта тебе придется сопровождать еще и инсталлятор. Как говорится "флаг в руки и крест на могилу" :)

Вам и так придётся написать "программулину", т.к. инсталлятор на Виксе - та же программулина. Там тоже могут быть ошибки и прочее. И если уж мне нужно процедуры на том же Шарпе добавить, то и вообще весь инсталлятор проще на нём написать - вот что главное. А чтобы вручную обновляторы и удаляторы не писать, WiX# делает это всё автоматом - как и Викс. Только на знакомом языке, а не куче XML-нод.


А как работает переход к определению (F12) в Виксе, в XML? Я имею ввиду типа такое


в одной файле


<PropertyGroup>

<A>...</A>

<PropertyGroup>


а в другом


<PropertyGroup>

<B>$(A)</B>

<PropertyGroup>


Вот если кликнуть во втором случае по А и нажать ф12 - перекинет на определение А в первом файле? У меня переход к определению в другом файле не работает. А в Шарпе всё работает, даже если определение в другом файле, или проекте, или сборке.

AlexNek патриот06.05.22 18:01
AlexNek
NEW 06.05.22 18:01 
в ответ alex445 06.05.22 17:42
весь инсталлятор проще на нём написать

И проще схватить еще море ошибок на системах которых в офисе просто не было.

Пока писать свой инсталлятор, проще штук 10 инсталляторов нагенерить на спец. софте.

https://windowsreport.com/software-package-installer

Срыв покровов патриот06.05.22 18:55
NEW 06.05.22 18:55 
в ответ Murr 06.05.22 14:20
А вот сравнение с общепитом - некорректное - там есть спец.требования по организации процессов направленные на уменьшение вероятности заражения. В частности - мед.книжки у персонала и регулярные мед.осмотры оного. Не панацея, но хоть что-то...

дада

В Biergarten‘ах видел, как они стаканы споласкивают.
Примерно как в совке в автоматах с газировкой.

alex445 коренной житель06.05.22 20:25
NEW 06.05.22 20:25 
в ответ Срыв покровов 06.05.22 18:55
Программист коренной житель07.05.22 00:12
NEW 07.05.22 00:12 
в ответ alex445 06.05.22 17:39
Я имею ввиду, что вот в этой ноде только такие подноды могут быть - ну тупо все возможные из автокомплита. Т.е. подсказчик знает контекст конкретной ноды, и какие подноды в ней могут быть, а какие нет.

Ты же вроде делаешь что-то на WPF... когда ты редактируешь XAML у тебя выпадают все возмоный подноды или только те, которые можно добавить? Так вот в WiX'е все тоже самое.

Программист коренной житель07.05.22 00:20
NEW 07.05.22 00:20 
в ответ alex445 06.05.22 17:42
Вам и так придётся написать "программулину", т.к. инсталлятор на Виксе - та же программулина. Там тоже могут быть ошибки и прочее.

Нет, инсталлятор на виксе - это фактически скрипт. Туда можно добавить код, но код это будет достаточно примитивным и легко (относительно) тестируемым.


А как работает переход к определению (F12) в Виксе, в XML?

А как работает комьюнити? Зайди на stackoverflow и сравни количество топиков под тэгом wix и под тэгом wix#.


WiX# - на данный момент непонятная поделка с неизвестным количеством багов и неясными персппективами.

alex445 коренной житель07.05.22 00:28
NEW 07.05.22 00:28 
в ответ Программист 07.05.22 00:12, Последний раз изменено 07.05.22 00:30 (alex445)

Ну это зависит от накрученности парсера-подсказчика.


Вобщем, чего спорить. Просто мой опыт сравнения Викса и Виск-Шарпа несколько лет назад был в пользу последнего.


WiX# - на данный момент непонятная поделка с неизвестным количеством багов и неясными персппективами.

Это вы говорите после использования того и другого, и на Виксе у вас было меньше проблем, чем на Викс-Шарпе?