Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
История создания: Все началось с того, что когда я пришел на эту работу, мне в наследство досталось пара десятков программ, очень криво на писанных, на Delphi и C++Builder. В них, например, могли селектами вида select * from sometable - на клиента выбирать несколько таблиц с сервера, далее раскручивать рекордсеты в цикле, добиваясь функциональности джойнов. В результате задание отрабатывало иногда по несколько суток. Комп тупо включали на 3 дня для получения отчета. Первое, что я начал делать - переносить эти фееричные джойны таблиц - в хранимки на SQL сервере. Так, постепенно, я вынес бизнес-логику в хранимки. Затем пришла пора разобраться с авторизацией - она была прошита прямо в коде программ: Если юзер такой-то то выполняем блок кода такой, иначе пишем сообщение "нет права доступа." Понятно, что это бред - перекомпилировать каждый раз кучу программ для настройки доступа. Так я пришел к авторизации средствами SQL сервера , а там (на сервере) уже рулим правами на таблицы и хранимки. Попутно возникла идея постепенно отказаться от покупки MS офиса для тех машин, для которых он не критично необходим. А это означает отказ от вывода печатных форм в ворд и эксел. А что тогда ? Delphi и C++Builder для этого предполагают использование отчетных систем типа fastreport, crystalreport. Но я решил отказаться от такого способа и стал делать все печатные формы в HTML . Далее напишу - почему. (Чуть позже появился OpenOffice - и сейчас он тоже поддерживается моей системой. Разумеется, функционал системы поддерживает вывод и в Word и в Excel, но я стараюсь избегать их использования.) Набор программ на Delphi и C++Builder имеет несколько недостатков: 1 - разные языки программирования, очевидно, что нужно привести все к одному ЯП. 2 - авторизация в каждой программе отдельно (плюс то, что в коде прошиты права доступа). 3 - нужно выгонять всех из программ , в случае если нужно подложить перекомпиленный exe 4 - Где найти исходники ?!! Нужно ли говорить, что никакой version control system небыло ? Была о-о-о-чень большая проблема найти актуальные исходники. Ну что, нашел ? А теперь пройди следующий уровень квеста: попробуй найти среду разработки ! 5 - Настройка среды разработки под каждую программу - установка "той самой" версии среды разработки и каких-нибудь экзотических компонент. Да, отпортировать проект в единую среду зачастую нельзя из-за отсутствия компонент. Я решил так: Пусть исходники бекапятся вместе с базой. Всегда будем иметь под рукой актуальную версию. Доступ к оперативной правке исходников не должен зависеть от среды разработки. Т.е. "Минимум миниморум" - блокнот. Изменения в программе должны вступать в силу без необходимости "всем выйти из программы". Из этого следует: Что нужно обеспечить динамическую подгрузку форм и программного кода. Я делал динамическую подгрузку форм Delphi и C++Builder (dfm) я умею собирать dll и динамически их подгружать. Здесь, кстати, на форуме у кого-то есть такой проект, и его тоже пытались обливать помоями. (Религия - страшная вещь.) Но в своем проекте я все-же решил сделать ставку на HTML + VBS Как работает: Проект сначала загружает стартовую страницу, на которой есть пункты меню, появление которых зависит от прав пользователя. При клике на пункт меню - из БД подгружается HTML форма (напр. параметры отчета за период по типам показателей) и VBS код формы. Пользователь работает с контролами формы, и в результате его действий на сервере отрабатывают хранимые процедуры. Если по результатам работы нужно что-то распечатать, то печатная форма - как HTML может быть отображена в нередактируемом варианте (HTML-страничка) или может быть выведена в CKEditor для правки. Прототип: Изначально проект был создан как HTA-приложение (К этому у аудитории претензий нет ? Все законно ?) Затем я захотел скрыть от конечного пользователя внутренние механизмы программы. Так появился IE с расширенными правами для локального сайта и усиленной защитой. Т.е. формы и скрипты загружаются по ssl в спец. скомпиленый браузер (IE), который не позволяет видеть исходник. Мне самому тоже не очень нравится так "возиться" с IE и его правами. Но оглядываясь назад - следует признать, что это все-же лучше, чтем то, что было раньше: - Решена проблема исходников (+) - Отказ от покупки дорогих сред разработки и компонентов ($+) - Нет потери рабочего времени на разворачивание сред разработки, установку компонентов (+) - Нет потери рабочего времени на компиляцию программ (а она достигала 30 - 40 минут по некоторым программам) (+) - Отказ от покупки офиса для тех машин, где он не завязан на другие программы ($+) - Никого теперь не выгоняют из программ каждый час - нет потери рабочего времени других сотрудников (+) - Централизованная раздача прав доступа через User Role на сервере. (+) Теперь ,зайдя на сервер через Pl-sql developer я вижу и редактирую и данные и хранимки и HTML-формы с контролами и VBS скрипты и печатные HTML-формы. Все это не переключаясь межу разными средами разработки (!) - как было раньше. Удобно, быстро, гибко. PROFIT От чего отказался: - от выделенного сервера приложений т.е. от посредника между клиентом и БД Во-первых - чтобы не было двойной авторизации: сначала клиенту нужно как-то авторизоваться на сервере приложений, затем сервер приложений должен будет авторизоваться в БД от имени клиента. Зачем этот огород ? Выкинул за ненадобностью. Во-вторых бизнес логика вся в хранимках - и чем вообще, тогда, заниматься серверу приложений, если в нем нет бизнес-логики. Добавлять путаницы с авторизацией ? (см. пункт выше ). Что дальше ? Дальше думаю как избавиться от проблем с настройкой безопсности IE одно из возможных решений - написание собственного браузера и собственного интерпретатора кода VBS. В результате такой браузер будет работать вне контекста безопсности IE . что и есть в данном случае PROFIT Например, так уже сделали в Unisab - там тоже можно писать расширения системы на VBS, но он исполняется их собственным интерпретатором, а не wscript.exe Вот к этому, вероятно, я тоже приду постепенно. _______________________ Извините, много букв :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 10:41 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
ART-CODE, авторНикого теперь не выгоняют из программ каждый час а зачем выгонять каждый час? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 11:12 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
Где-то в степи, Ну, я образно выразился. Не каждый час по расписанию, конечно, но часто :) Выгогяли по много раз в день по каждому "чиху". То нового сотрудника приняли - нужно перекомпилить программу, чтобы дать права доступа, то печатную форму подравить - нашл орфографическую ошибку, то логику рассчета попросил кто-то подправить. то сам разработчик спохватился, найдя в коде явную ошибку. Короче, целый день так и летали по сети мессаги всем срочно выйти их программы ХХХ затем из программы YYY и т.д. Затем ждали когда "отпустят" старый exe чтобы подложить новый. Ну я для этого спецом батник написал, который ждать умеет и подменяет, когда освободится. Но иногда "тупо ждать" было нельзя: и админы грохали процессы, которые держат файл. А иногда вообще-хохма: Винда кешировала сетевую папку и запускала старую версию EXE когда в сети давно уже новая версия лежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 11:25 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
ART-CODE, да бред какой то... мезозой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 12:04 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
ART-CODEЯ, как главный разработчик ПО, даю указание админам обеспечить на машинах наличие всего Вот это да, целый главный разработчик! ART-CODEДа, кое-кого здесь учить нужно, причем сначала культуре общения, а затем методам разработки. Про культуру общения можешь своим "подчиненным админам" рассказать, а по делу - тут. Так шта вытирай сопли и не ной, надавали по заднице, значит за дело. Трепи. ART-CODEС одной стороны, на весах у нас есть реально работающая система, с другой стороны - ее критика с аргумантами на интеллетктуальном уровне школоты. M-m-m... что же выбрать ? С одной стороны - выбрана не верно платформа разработки (читай, архитектора на кол вместе с главным разработчиком). С другой стороны - сделано это чрезвычайно отвратительно. Я бы еще понял, если бы в качестве утолщения приложения со стороны клиента использовался флеш или сильверлайт со своим безопасным изолированным хранилищем . Но то, что предлагаешь ты - истинный показатель твоей убогой "компетенции" по вопросу. ART-CODEНу, здесь есть небольшой косяк в организации бизнес-процесса. В идеале - никакого файла экселя быть не должно. Редактировать все данные нужно прямо в интерфейсе системы. Но, так уж пожелал заказчик. Небольшая поправочка, небольшой косяк не в организации бизнес-процесса, а в голове того, кто предлагает использовать vb скрипты в браузере. Испытай радость с петлей на шее (с) ART-CODEВ целом, система работает, и хорошо себя зарекомендовала. А из каких соображений она разрабатывалась именно в таком виде Я не озвучивал, поэтому судить поверхностно то, чего не знаете - не умно. Аккуратно минируем себя взрывчаткой и с уверенностью знатной codemonkey успокаиваем общество, приводя в аргументы факт того, что безопасность на высоте, всё настроено должным образом, я "профи" - и вот вам по бронежилету в подарок. Не нервничайте, люди. Зачёт, чё. ART-CODEУ меня есть опыт разработки на разных языках. И клиентов и серверов. В частности, с загрузкой данных из excel работал в delphi, c++, php, vbs, плюс загрузка самим сервером : t-sql, pl-sql. Да ты просто монстр, дружище! Твоя мощь и величие не знает предела, разреши пасть ниц и поцеловать твои ступни, учитель? ART-CODEЖаль, что приходится это обьяснять кому-то там в интернет, кто не желает думать прежде чем писать такие слова. Такие слова тебе пишет интернет по одной простой причине - заканчивай писать бред сивой кобылы, мне даже отчасти тебя жалко и смысл дискуссии сводится на нет. Просто страшно дискутировать с человеком, который пишет о том, что vb-скрипт - это хорошее решение. Если нужен толстый клиент - есть отдельные рекомендованные безопасные нечерезжопные пряморукие технологии, с помощью которых можно выкатить реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 12:13 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
ART-CODEИстория создания Прочитал со слезами на глазах... На лицо дезориентация пациента в пространстве и времени. На лицо отсутствующий напрочь процесс разработки. Я даже не заикаюсь про правильно поставленный процесс, так как там и ставить нечего. На лицо полное отсутствие навыков построения масштабируемых, надежных, отказоустойчивых систем. Разработка вида каких-то залипушек и нашлепок для единственной цели "чтобы хоть работало" обычно смывается в унитаз. Диагноз: пациент нуждается в срочном амбулаторном лечении с постепенным выведением его из мезозоя средствами иглоукалываний и шоковой терапии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 12:24 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
МСУ, Да ладно те уж, научится со временем, а в общем то прально, у нас ведь как - с начало кодят, а потом думают.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 12:38 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
Где-то в степиМСУ, Да ладно те уж, научится со временем Я думаю случится это не скоро... Где-то в степиа в общем то прально, у нас ведь как - с начало кодят, а потом думают.. Инопланетянен знатный забрел в форум ASP.NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 12:40 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
ART-CODE- Отказ от покупки дорогих сред разработки и компонентов ($+) звучит так, как будто выделенные деньги компании на покупку "дорогих сред разработки и компонентов" пошли лично вам в карман на самом деле, что можно хорошего сказать о компании, которая не может даже раскошелится на нормальных вменяемых специалистов ? не говоря уже о чём-то большем. вот так и получается. одни уходят, оставляя после себя тонны не сопровождаемого мусора. другие приходят, начинают разгребать эту кучу и в итоге создают новую кучу мусора (на костях старой), но уже совершенно другой, уникальной и неповторимой формы. и так далее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 14:46 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
hVostt, так он наверное у Милонова работает, там пойдет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2013, 15:31 |
|
||
|
открыть файл на машине клиента
|
|||
|---|---|---|---|
|
#18+
предлагаю всем вернуться от обсуждения личностей к обсуждению технологий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 13:12 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38442481&tid=1357999]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 444ms |

| 0 / 0 |
