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

Задачки на подумать

1090  1 2 3 4 5 все
Murr_0002 постоялец07.06.17 23:57
Murr_0002
NEW 07.06.17 23:57 
в ответ AlexNek 07.06.17 23:12

твой не должен работать

-----

Хи-хи... работает, однако...

Просто аппу с либами в одну папку, а плугины - отдельно.


лицензия на использование ИЛМерге.ехе

-----

На использование она у тебя со Студией. На поставку клиенту - не знаю.

#61 
AlexNek патриот08.06.17 01:13
AlexNek
NEW 08.06.17 01:13 
в ответ Murr_0002 07.06.17 23:57
Хи-хи... работает, однако...

Млм я чего не заметил или делаешь по другому.

Пример:

Результаты бильда

*Кат пл1*

пл1.длл

соммон.длл

а1.длл


*Кат пл2*

пл2.длл

соммон.длл

а2.длл


*Кат ехе*

апп.ехе

соммон.длл

б1.длл

---

Что у пользователя

*Кат пл1*

пл1.длл

а1.длл

*Кат пл2*

пл2.длл

а2.длл

*Кат ехе*

апп.ехе

соммон.длл

б1.длл


На использование она у тебя со Студией.

И где она у тебя в 2015 сидит? у меня нет.


И проект не компилируется

https://github.com/Microsoft/ILMerge

#62 
Murr_0002 постоялец08.06.17 12:01
Murr_0002
NEW 08.06.17 12:01 
в ответ AlexNek 08.06.17 01:13

Млм я чего не заметил или делаешь по другому.

-----

Делаю - обычно.

Бизнес-объекты лежат в папке с программой.

Плугины лежат в другой папке.

Связка определяется как папочка в проекте куда помещаются линки на дллки плугинов и "копи иф нювер". Она же указывается как место хранения в загрузчике.

Могу скинуть полный проект - подебажишь.

Вроде все.


И где она у тебя в 2015 сидит? у меня нет.

-----

Посмотрел - действительно - отдельной тулузы в Студии не нашлось.

Вроде была со Студией 2005, но это было давно, не помню.

Зато она точно идет с Рхино.Моск с гитхаба. Лицензию не смотрел.


#63 
AlexNek патриот08.06.17 18:36
AlexNek
NEW 08.06.17 18:36 
в ответ Murr_0002 08.06.17 12:01

Так и установчное MSI есть, пока проблема именно в лицензии - можно ли его на работе пользовать (официально).

#64 
AlexNek патриот08.06.17 23:53
AlexNek
NEW 08.06.17 23:53 
в ответ AlexNek 08.06.17 18:36

Еще вот интересное нашел - Fody.Costura. Может кому понадобится

https://github.com/Fody/Fody/

http://www.manuelmeyer.net/2016/01/net-power-tip-10-mergin...

#65 
AlexNek патриот23.06.17 23:28
AlexNek
NEW 23.06.17 23:28 
в ответ AlexNek 08.06.17 23:53, Последний раз изменено 25.06.17 13:22 (AlexNek)
/********************/
/**   ЗАДАЧКА      **/
/********************/

Вот еще задачка появилась.

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

Требуется иметь Одну (базовую) версию проги с какими-то клиентскими вариантами отдельно.

Варианты решений тоже давно существуют, но хочется найти наиболее удобный.

Что можете предложить?

#66 
LifeRider постоялец24.06.17 11:42
LifeRider
NEW 24.06.17 11:42 
в ответ AlexNek 23.06.17 23:28
Требуется иметь Одну (базовую) версию проги с какими-то клиентскими вариантами отдельно.
Варианты решений тоже давно существуют, но хочется найти наиболее удобный.

По опыту оптимально иметь "прокладку", в которой реализованы все возможные запросы к серверам и базам данных. Работа "прокладки" с клиентами ведется по TCP (нужно еще универсальный и легко расширяемый протокол к нему сваять), неважно, локально клиент исполняется, или удаленно. При добавлении новой базы данных интерфейс работы с ней реализуется только в "прокладке", ну и трансляция запросов туда-сюда в/из своего протокола добавляется. Клиентских версий на такую архитектуру можно вешать немеряно, "базовая версия проги" - это реализация клиента для сервера-"прокладки" с поддержкой протокола обмена данными, ну и GUI там базовый ко всему этому.

#67 
AlexNek патриот24.06.17 13:32
AlexNek
NEW 24.06.17 13:32 
в ответ LifeRider 24.06.17 11:42
"базовая версия проги" - это реализация клиента для сервера-"прокладки"

Как я понял предлагется сделать 5 слоев: ядро приложения, абстрактный слой коммуникации, конкретный слой коммуникации к которому подключен ГУЙ и слой удаленного доступа.


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


Работа "прокладки" с клиентами ведется по TCP

А вот это уже не обязательно. Клиент сам устанавливает протокол подключения.


нужно еще универсальный и легко расширяемый протокол к нему сваять

Слой коммуникации остался еще с тех времен когда нужно было устройство подключать или по СОМ порту или по блутусу или еще как.

#68 
LifeRider постоялец24.06.17 19:57
LifeRider
NEW 24.06.17 19:57 
в ответ AlexNek 24.06.17 13:32
Как я понял предлагется сделать 5 слоев...

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

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

Не понимаю суть проблемы. Если эта пара полей модифицирует запрос, то "прокладка" должна уметь это обрабатывать, если нет, то это проблема обвески базовой версии клиента, #ifdef в помощь :))

А вот это уже не обязательно. Клиент сам устанавливает протокол подключения.

TCP (ну или named pipe) - это как пример соединения, при котором похрен, локально ли запускается клиент, или удаленно... А так можно реализовать что угодно, у меня, например, некоторые интерфейсы по shared memory данные получают, иначе пропускной способности каналов не хватает :))

#69 
AlexNek патриот24.06.17 21:22
AlexNek
NEW 24.06.17 21:22 
в ответ LifeRider 24.06.17 19:57
самое главное с самого начала правильную и достаточно гибкую архитектуру заложить

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

И многие части должны быть общими (библиотечными).


Не понимаю суть проблемы.

В Вашем предложении GUI есть отдельный слой. Что в принципе вырождается в начальную проблему только не относительно приложения, а относительно GUI.

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


это как пример соединения, при котором похрен, локально ли запускается клиент, или удаленно

То есть "внутри" и "снаружи" могут быть разные типы соединений? Еще один слой?

А что shared memory можно пользовать удалённо?

#70 
LifeRider постоялец24.06.17 21:50
LifeRider
NEW 24.06.17 21:50 
в ответ AlexNek 24.06.17 21:22
А что shared memory можно пользовать удалённо?

Нет конечно. Просто когда запрашивается удаленный доступ к высокопроизводительной системе, то приходится дополнительно отделять только GUI, и связывать его по TCP с основной системой, в которой есть еще разделение компонент в пределах одного сервера, там и пользуется иногда shared memory для связывания. Но один хрен в итоге удаленный доступ GUI практически не используется, все исполняется на одном сервере (TCP связывание GUI осталось, изврат конечно, но не переделывать же), а удаленный доступ к серверу реализуется через Radmin/Dameware/mstsc-rdp.

#71 
LifeRider постоялец24.06.17 22:37
LifeRider
NEW 24.06.17 22:37 
в ответ AlexNek 24.06.17 21:22
Копировать всё не вариант, изменения в "базовой версии" "проецируемые напрямую" в новую должны появлятся автоматом.

Можно сделать, например, так, чтобы часть GUI/клиентской программы (тип и расположение полей, а также связанные с ними действия, и т.д.) считывались сначала с конфигурационного файла (для упрощения разработки), а не жестко кодировались, и GUI формировался on-the-fly. Затем вместо файла передавать эти конфигурационные данные с сервера сразу после подключения клиента. Тогда и получится

изменения в "базовой версии" "проецируемые напрямую" в новую должны появлятся автоматом.
#72 
AlexNek патриот24.06.17 23:06
AlexNek
NEW 24.06.17 23:06 
в ответ LifeRider 24.06.17 21:50, Последний раз изменено 25.06.17 00:04 (AlexNek)
а удаленный доступ к серверу реализуется через Radmin/Dameware/mstsc-rdp.

А чем они лучше TeamViewer?

#73 
AlexNek патриот24.06.17 23:16
AlexNek
NEW 24.06.17 23:16 
в ответ LifeRider 24.06.17 22:37
считывались сначала с конфигурационного файла (для упрощения разработки), а не жестко кодировались, и GUI формировался on-the-fly.

Вместо дизайнера всё писать ручками и изобретать свой хамл для винформс, а для впф хамл на кусочки делить? шок

А данные как паралельно менять?

Есть у нас одна система "on-the-fly". Слышал только матюки когда её пользовали. Есть и другая система которая меняет свою работу в зависимости от файлов конфигурации - так только один человек знает как их правильно менять (разработчик).

#74 
LifeRider постоялец24.06.17 23:54
LifeRider
NEW 24.06.17 23:54 
в ответ AlexNek 24.06.17 23:16
А они лучше TeamViewer?

Понятия не имею, что есть, то и пользуем. Для mstsc-RDP не надо ставить графическую карту на сервер, но если надо несколько view получить, то RDS-Shadow mode - полная задница. Раньше Dameware пользовали, несколько лет назад IT на Radmin перешел, чем он лучше/хуже чем TeamViewer - х.з., но Radmin вроде намного быстрее и качество картинки у него выше, чем у TeamViever, но лично я TeamViever не пользовал, сравнить ощущения не могу...

Вместо дизайнера всё писать ручками и изобретать свой хамл для винформс, а для впф хамл на кусочки делить?

Ну я же не знаю специфики ваших задач, но на плюсах с GUI на winapi нерешаемых проблем не вижу.

Есть у нас одна система "on-the-fly". Слышал только матюки когда её пользовали.

Идеальных систем нет, если удается нормально реализовать что-нибудь, то появляются ништяки, а иначе - мат, страдания, ну и творческий поиск... :))

...так только один человек знает как их правильно менять (разработчик).

Нормально, это лучший Kündigungsschutz, так сказать. :))

#75 
AlexNek патриот25.06.17 00:15
AlexNek
NEW 25.06.17 00:15 
в ответ LifeRider 24.06.17 23:54
GUI на winapi

Да даже и на плюсах енто редко пользовали, ну разве если что самое простое надо было.Непонятно только нахрена GUI руками описывать, хотя может садомазохистам и понравится.

Ну и конечно у нас не формочки для ввода формуляров.

#76 
LifeRider постоялец25.06.17 11:10
LifeRider
NEW 25.06.17 11:10 
в ответ AlexNek 25.06.17 00:15
нахрена GUI руками описывать

Так сложилась жизнь. (с) Управляющие GUI не слишком сложные, бОльшая часть софта используется in-house, а шефу все время хочется ну ооочень нестандартного поведения от "стандартных" элементов GUI. Но я, в общем-то, и не жалуюсь. :))

#77 
AlexNek патриот25.06.17 13:19
AlexNek
NEW 25.06.17 13:19 
в ответ LifeRider 25.06.17 11:10

Ах так это у вас так. хммм Бедненькие.

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

#78 
LifeRider постоялец25.06.17 15:39
LifeRider
NEW 25.06.17 15:39 
в ответ AlexNek 25.06.17 13:19
А проперти грид не подходит? Удобная штука когда неизвестно, что показывать.

Может и подходит, но давно уже свое такое есть, проверенное временем так сказать, и без использования сторонних библиотек... :))

#79 
  moose свой человек25.06.17 21:44
NEW 25.06.17 21:44 
в ответ LifeRider 25.06.17 15:39

Ребята, какие вы все здесь крутые! Можно, я буду всем говорить, что я - ваш знакомый?

#80 
1 2 3 4 5 все