|
|
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Господа, возникают вопросы, на которые у вас найдутся ответы быстрее, чем перечитать еще тучу мануалов и форумов. Хотя это никто не отменял. Заранее извиняюсь за вероятные глупые вопросы))) все мы когда то начинаем... 1. Для взаимодействия с ДБ можно использовать JDBC, Spring, Hibernate. Понятно, что чистый JDBC не в почете. Если мне нужно написать приложение с GUI, клиент сервер. Используются хранимки. Вопрос. Что лучше использовать библиотеки или чистый JDBC. 2. Я понимаю, что придется написать свой класс для коннекта и потом подсовывать ему название хранимки с параметрами и получать обратно рекордсет. Кстати, именно, эти классы, как пример, все называют слоем? Слой взаимодействия с БД? 3. Туговато приходится с проектированием (Access-шник я). Выделить необходимые классы. При нормальной БД (нормализация подразумевается), можно ли говорить о том, что структура классов приблизительно соответствует структуре таблиц? Пример таблиц: ТипыЮзеров - Юзеры. Родит. класс - Юзеры, наследники - по типам юзеров? 4. Правильно ли я понимаю, что Spring, Hibernate используют, пусть и объектную модель, но подключение к каждой таблице индивидуально? Или там есть возможность сборки строки SQL для получения рекордсета. 5. Swing. Читал на форумах, что сначала пишется вся работа с данными (показать, обновить и пр.) и только потом строится GUI. Т.е. по сути, потом в форме поднимается нужный класс нужных данных и работаем с ним, так? 6. То, что в java книжках называется кучей. Есть ли с ней какое то взаимодействие? Или придется писать свои классы (ArrayList как я понял) для хранения поднятых экземпляров форм (AllForms из Access, если кто то вдруг знает) и уже через него работать с экземплярами форм. 7. Будет ли возможность в Swing проекте динамически (в процессе работы приложения) добавлять вкладки (MDI интерфейс) как в главном окне, так и в дочернем. Можно конечно сделать все на простых вкладках (TabbedPane) но хотелось бы масштабируемости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 15:22 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан1. Для взаимодействия с ДБ можно использовать JDBC, Spring, Hibernate. Понятно, что чистый JDBC не в почете. Если мне нужно написать приложение с GUI, клиент сервер. Используются хранимки. Вопрос. Что лучше использовать библиотеки или чистый JDBC. "чистый JDBC" можно использовать. Но количество boilerplate кода, который он требует просто заоблачное. Лучше использовать библиотеки, но помимо перечисленных стоит обратить внимание на myBatis, jOOQ, QueryDSL Игортан2. Я понимаю, что придется написать свой класс для коннекта и потом подсовывать ему название хранимки с параметрами и получать обратно рекордсет. Кстати, именно, эти классы, как пример, все называют слоем? Слой взаимодействия с БД? Abstract Layer это такой паттерн. Можно всё одним слоем, а можно в несколькт слоёв, тут уж как сделаешь. Игортан3. Туговато приходится с проектированием (Access-шник я). Выделить необходимые классы. При нормальной БД (нормализация подразумевается), можно ли говорить о том, что структура классов приблизительно соответствует структуре таблиц? Пример таблиц: ТипыЮзеров - Юзеры. Родит. класс - Юзеры, наследники - по типам юзеров? Да, классы соответствуют таблицам. С наследованием нужно быть осторожным, оно бывает всякое. Нужно ли оно в вашем случае - вопрос открытый. Игортан4. Правильно ли я понимаю, что Spring, Hibernate используют, пусть и объектную модель, но подключение к каждой таблице индивидуально? Или там есть возможность сборки строки SQL для получения рекордсета. Spring не работает с базой данных. Есть Spring Data и есть Spring JdbcTemplate. Общераспространенные базы данных не предоставляют возможности подключения к "индивидуальным таблицам". Подключение происходит к серверу, а само подключение, обычно работает в контексте некой схемы или именованой БД внутри сервера. Либо вы путаете "подключение" и "запрос". В Hibernate нет рекордсетов. Есть маппинг объектов на таблицы. Игортан5. Swing. Читал на форумах, что сначала пишется вся работа с данными (показать, обновить и пр.) и только потом строится GUI. Т.е. по сути, потом в форме поднимается нужный класс нужных данных и работаем с ним, так? Сначала строится модель предметной области из сущностей и процессов. Потом пишется БД для хранения сущностей и реализация процессов, которая оборачивается в некий API. А GUI уже использует API. Swing к вашему вопросу отношения не имеет. Игортан6. То, что в java книжках называется кучей. Есть ли с ней какое то взаимодействие? Или придется писать свои классы (ArrayList как я понял) для хранения поднятых экземпляров форм (AllForms из Access, если кто то вдруг знает) и уже через него работать с экземплярами форм. Кучей в Java называется хранение объектов в памяти. ArrayList это одна из многих "коллекций". К "куче" отношения не имеет. GUI слой работает со слоем модели предметной области. Не нужно пытатьcя натягивать терминолгию и подходы Access вообще на всё. Формы это о вводе данных, а не о модели предметной области. Игортан7. Будет ли возможность в Swing проекте динамически (в процессе работы приложения) добавлять вкладки (MDI интерфейс) как в главном окне, так и в дочернем. Можно конечно сделать все на простых вкладках (TabbedPane) но хотелось бы масштабируемости. В Swing можно вообще всё. Но почти всё в нём делается через одно место. MDI в нём, конечно же, есть. Но вам стоит обратить внимание на JavaFX, как мне кажется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 15:56 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо за разъяснения! Если не затруднит, я потом задам уточняющие вопросы. Сейчас нужно это переварить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 19:04 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанИспользуются хранимки. Вопрос. Что лучше использовать библиотеки или чистый JDBC.используя хранимки библиотеки можно смело выкинуть. ИгортанТуговато приходится с проектированием (Access-шник я).вспомни как работал с данным, хранимками, запросами - всё станет намного понятнее - я тоже вышел из акса, и опыт полученный по работе с базами - говорит, что все прокладки типа хибера, должны идти лесом. хранимки могут подготовить данные намного лучше и быстрее всяких прокладок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 19:45 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя, Проблема, что так java не изучишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 20:15 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Проблема, что так java не изучишьаргумент веский , но спорный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 21:25 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Blazkowicz"чистый JDBC" можно использовать. Но количество boilerplate кода, который он требует просто заоблачное. Лучше использовать библиотеки, но помимо перечисленных стоит обратить внимание на myBatis, jOOQ, QueryDSL Да, понимаю, что это механизм есть, налажен и повсеместно применяется. Единственное уточнение - БД уже есть, работа с данными построена через хранимки. В данном, конкретном, случае - скорее нужно написать класс коннекта к бд и на выход отдавать рекордсет. Я уже пробник сделал по коннекту, кода всего ничего. Добавить гетер для передачи рекордсета. Вот и все взаимодействие с бд. Конечно, могу ошибаться. Думаю еще в сторону пула соединений... BlazkowiczAbstract Layer это такой паттерн. Можно всё одним слоем, а можно в несколькт слоёв, тут уж как сделаешь. Тут я все ми частями тела, за. Лучше привыкать изначально делать правильно... BlazkowiczВ Hibernate нет рекордсетов. Есть маппинг объектов на таблицы. Да, у меня и сложилось впечатление, что там делается объект на каждую таблицу/строку и потому код повторяется много раз. Это скорее для работы с бд без серверной логики, например SQLite. Она вроде хранимки и т.д. не поддерживает. Но для общего понимания картины понадобится, чуть позже. BlazkowiczКучей в Java называется хранение объектов в памяти. ArrayList это одна из многих "коллекций". Тут не понял, можно как то взаимодействовать с кучей или доступ туда закрыт и для работы с объектами нужно использовать только коллекции (не массивы) ? BlazkowiczНо вам стоит обратить внимание на JavaFX, как мне кажется Уже круг навернул. Swing, FX, Web. Вернулся мыслями к Swing. Для остальных придется параллельно еще изучать и эти технологии. Наверное, для первого раза тяжеловато будет поднять несколько технологий одновременно. BlazkowiczС наследованием нужно быть осторожным, оно бывает всякое. Если можно, разъясните, кроме видимости классов. BlazkowiczСначала строится модель предметной области из сущностей и процессов. Потом пишется БД для хранения сущностей и реализация процессов, которая оборачивается в некий API. А GUI уже использует API. Можно ли сказать, что в моем варианте: С БД(таблицы/вьюхи+хранимки) - остается только сделать механизм вызова хранимки и присваивания рекордсета/данных контролам на фреймах. Некий маленький класс по вызову хранимок с параметрами? как можно реализовать такое в java: В Access у меня был модуль "интерфейса", с него дергались основные процессы на разных формах. Читал чуток про классы интерфейсы, но они пишутся для каждого фрейма/слоя? А один "глобальный". Был класс "прослушки событий", подписанные на него(поднявшие его экземпляр) "слушали" события. Если происходило событие для конкретной формы, то выполнялись определенные действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2017, 23:18 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанГоспода, возникают вопросы, на которые у вас найдутся ответы быстрее, чем перечитать еще тучу мануалов и форумов. Хотя это никто не отменял. Заранее извиняюсь за вероятные глупые вопросы))) все мы когда то начинаем... 1. Для взаимодействия с ДБ можно использовать JDBC, Spring, Hibernate. Понятно, что чистый JDBC не в почете. Если мне нужно написать приложение с GUI, клиент сервер. Используются хранимки. Вопрос. Что лучше использовать библиотеки или чистый JDBC. ОРМ и Хранимки - зло Точнее. ОРМ зло - потому что берет все самое худшее из двух моделей (РМД и ОО). ХП зло - потому что через некоторое время это все превращается в не поддерживаемый кусок Г, который работает по принципу "работает не трогай". А так. Если у вас очень простая задача, и работа с БД сводится к элементарным CRUD, то берете Spring data jpa и радуетесь жизни. Если сложность начинает возрастать, то берете что-нибудь "попроще", например JdbcTempalte. В ХП очень желательно никакую сложную БЛ не хранить/реализовывать. Т.к. система управления версиями и проектом там в зачаточном состоянии (читай нет) Игортан2. Я понимаю, что придется написать свой класс для коннекта и потом подсовывать ему название хранимки с параметрами и получать обратно рекордсет. Кстати, именно, эти классы, как пример, все называют слоем? Слой взаимодействия с БД? Нет не надо. Посмотрите в сторону Spring и JdbsTemplate. Можете почитать про DTO... Игортан3. Туговато приходится с проектированием (Access-шник я). Выделить необходимые классы. При нормальной БД (нормализация подразумевается), можно ли говорить о том, что структура классов приблизительно соответствует структуре таблиц? Пример таблиц: ТипыЮзеров - Юзеры. Родит. класс - Юзеры, наследники - по типам юзеров? Забейте. Объектная модель и реляционная модель - это разные модели. Поэтому проектируете модель данных (реляционная модель), объектную модель (ваши классы) и слой DTO, который преобразует одно в другое и обратно. Учтите, что желательно спроектировать модель данных так, чтобы она практически не менялась. А вот объектную модель наоборот, надо проектировать так, чтобы учесть что в будущем она будет меняться очень сильно. Игортан4. Правильно ли я понимаю, что Spring, Hibernate используют, пусть и объектную модель, но подключение к каждой таблице индивидуально? Или там есть возможность сборки строки SQL для получения рекордсета. Hibernate - пытается скрестить "ужа с ежом". Когда объектная модель не слишком сложная (CRUD) это работает. Как только начинается что-то более сложное, то лучше взять что-то менее "интеллектуальное". Игортан5. Swing. Читал на форумах, что сначала пишется вся работа с данными (показать, обновить и пр.) и только потом строится GUI. Т.е. по сути, потом в форме поднимается нужный класс нужных данных и работаем с ним, так? По хорошему до Swing должна доходить объектная модель. А работа с БД должна прятаться где-то в глубоких слоях приложения. Игортан6. То, что в java книжках называется кучей. Есть ли с ней какое то взаимодействие? Или придется писать свои классы (ArrayList как я понял) для хранения поднятых экземпляров форм (AllForms из Access, если кто то вдруг знает) и уже через него работать с экземплярами форм. Пока забейте. Просто помните у JVM есть Garbage Collector, который "тормозит". Точнее иногда начинает "прибирать мусор", т.е. удалять не используемые объекты. Поэтому распределение памяти и работа с ней, в первом приближении, можно отдать на откуп JVM. Игортан7. Будет ли возможность в Swing проекте динамически (в процессе работы приложения) добавлять вкладки (MDI интерфейс) как в главном окне, так и в дочернем. Можно конечно сделать все на простых вкладках (TabbedPane) но хотелось бы масштабируемости. По идее да... Но я бы вам посоветовал, посмотреть в сторону web. Например jsf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 05:43 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulХП зло - потому что через некоторое время это все превращается в не поддерживаемый кусок Г, который работает по принципу "работает не трогай".очень ошибочное мнение. ориентированное на не знающих субд "программистов". хранимки позволяют реализовать очень многое очень быстро и меньшими усилиями и меньшим количеством кода. аналогичное можно реализовать и на jsva, но потребуется в разы больше кода и времени для написания. к тому же ни одна прокладка не сможет автоматически сделать то, что может знающий спец сделает в хранимке. и ещё есть один пункт , про который противники хранимок умалчивают. на примере mysql и dbForge : (если отказаться от хранимок даже для "простых" запросов, а реализовать их в виде запроса , написанного в коде java.) Реальный пример из текущего проекта. есть всего три таблицы, и для построения итоговой таблицы в веб, получается запрос состоящий и "основной" таблицы и 4 подзапросов, и это завёрнуто в подзапрос. В редакторе dbForge это (в отформатированном виде) занимает 120 строк. я эти строки не писал, я просто в гуи мышкой двигал... теперь , если перенести эти строки в код java - нужно сделать кучу действий, чтоб это было правильной строкой для java. запустить код, проверить... Даже если использовать тесты - это ещё и тесты надо написать.... а изменить, что-то ? это ещё та проблема... используя хранимки - dbForge сам отформатирует, подсветит, проверит. Проверить результат - два клика - и данные готовы, изменить нет проблем. при этом код java не меняется . он прост и понятен Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. в java остаётся только распределить подготовленные отформатированные данные . нет такой проблемы как "нередактируемые запросы" - обращение к хранимке и запись туда куда нужно, и в том порядке как нужно, и вывод нужных результатов. - в java простая вставка в нужные места - в результате "полностью редактируемая" результирующая таблица. аналогичное я добивался и в аксе в адп проектах, так же с использованием хранимок. И хранимка мжет вернуть несколько результсетов, что тоже не маловажно. ну про защищённость от инъекций уже было сказано :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:27 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанЕсли мне нужно написать приложение с GUI, клиент серверя рекомендую посмотреть на JWS - java web start. запускается из браузера, но на самом деле - десктоптное приложение, нет проблем с распространением обновлений. а если более правильно -то лучше переход на веб сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:31 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяPetro123вадя, Проблема, что так java не изучишьаргумент веский , но спорный. Дак веский или спорный? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:42 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадякод java - нужно сделать кучу действий,каких? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:45 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Если это прямо в HTML будет еще проще) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:47 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортандля хранения поднятых экземпляров форм (AllForms из Access, если кто то вдруг знает) и уже через него работать с экземплярами форм.javaFX там есть список открытых окон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:54 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанВернулся мыслями к Swing. ещё раз - JavaFX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:55 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяи ещё есть один пункт , про который противники хранимок умалчивают ... он прост и понятен+1, но с оговоркой ) скорее всего это касается тех проектов, где польностью (или частично) реализована бизнес логика средствами конкретной СУБД ы . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:57 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанМожно ли сказать, что в моем варианте: С БД(таблицы/вьюхи+хранимки) - остается только сделать механизм вызова хранимки и присваивания рекордсета/данных контролам на фреймах. Некий маленький класс по вызову хранимок с параметрами?искать слово биндинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 07:58 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Usmanвадяи ещё есть один пункт , про который противники хранимок умалчивают ... он прост и понятен+1, но с оговоркой ) скорее всего это касается тех проектов, где польностью (или частично) реализована бизнес логика средствами конкретной СУБД ы . только при ориентации на одну субд...во многих проетах это достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 08:11 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Usmanвадяи ещё есть один пункт , про который противники хранимок умалчивают ... он прост и понятен+1, но с оговоркой ) скорее всего это касается тех проектов, где польностью (или частично) реализована бизнес логика средствами конкретной СУБД ы . под разные субд можно свои хранимки написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 08:14 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяпод разные субд можно свои хранимки написать Вопрос не в том, что может/не может ХП. А в том как эту "кучу Г" потом поддерживать. Для обычных ЯП сейчас наработаны куча инструментов для разработки, поддержки и версионирования кода. А то что есть на уровне 10-20 летней давности. К тому же проще/дешевле поменять код на ЯП (java), чем менять код в ХП. Кроме того структура данных для хранения должна быть как можно более "статична"/неизменяема. А вот код, наоборот должен меняться часто, в зависимости от потребностей бизнеса. А чтобы не надо было менять полностью весь код/приложение была придумана микросервисная архитектура. P.S. А всякие примочки к ORM по автосозданию/изменению БД тоже зло. Для прототипирования еще норм. Но в продакшене, только тщательно оттестированные скрипты миграции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 12:51 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяпод разные субд можно свои хранимки написатьнужно в стандарт SQL ввести поддержку условной компиляции , как в Си: ифдэф/ифындэфы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 12:54 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulКроме того структура данных для хранения должна быть как можно более "статична"/неизменяема. А вот код, наоборот должен меняться часто, в зависимости от потребностей бизнеса.Хранимая процедура позволяет соблюсти оба требования. Поэтому остаётся только вопрос "привычных средств" той или иной команды разработчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 12:55 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяхранимки позволяют реализовать очень многое очень быстро и меньшими усилиями и меньшим количеством кода. аналогичное можно реализовать и на jsva, но потребуется в разы больше кода и времени для написания. к тому же ни одна прокладка не сможет автоматически сделать то, что может знающий спец сделает в хранимке. бла-бла-бла ни о чем. Всё то же самое правда и в обратном направлении. Есть куча задач, которые хранимками ника не решить, а на Java - в пару строк. Для каждой задачи - свой инструмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 12:56 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulработа с БД сводится к элементарным CRUD нет, там все несколько сложнее... mad_nazgulМожете почитать про DTO... с наскока не совсем понимаю, что то на границе моего понимания пока. Это просто передача туда сюда данных как объектов, без логики? Прокладка между бд и сущностями? mad_nazgulПросто помните у JVM есть Garbage Collector нет нет, я имел ввиду есть ли в java штатный способ работы с поднятыми фреймами, или нужно создавать свои коллекции и, храня в них ссылки на фреймы, находить например конкретный фрейм или его экземпляр/инстанс. Через тот же дискриптор окна. Да про JavaFX прочитал, спасибо. вадя Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Да. Я это все время и имел ввиду.)) Petro123ещё раз - JavaFXвадяя рекомендую посмотреть на JWS - java web start. запускается из браузера, но на самом деле - десктоптное приложениеmad_nazgulНо я бы вам посоветовал, посмотреть в сторону web. Например jsf. )) Упорно все отговаривают от свинга. Раз есть пчелы, значит должен быть мед... будет тяжело поднять сразу несколько технологий. По времени, правда можно сказать, что не ограничен. Но везде есть правила приличия)) Слона хорошо бы есть по частям, большим куском можно подавиться)) ИгортанBlazkowiczС наследованием нужно быть осторожным, оно бывает всякое. Если можно, разъясните, кроме видимости классов. Можно хотя бы направление указать? Игортанкак можно реализовать такое в java: В Access у меня был модуль "интерфейса", с него дергались основные процессы на разных формах. Читал чуток про классы интерфейсы, но они пишутся для каждого фрейма/слоя? А один "глобальный". Был класс "прослушки событий", подписанные на него(поднявшие его экземпляр) "слушали" события. Если происходило событие для конкретной формы, то выполнялись определенные действия. Как это было в Access, сразу не бейтесь))). "Интерфейсный" - Лента меню, контекстное меню, кнопки на формах - вызывали некую паблик функцию, которая перенаправляла вызов в активное окно/форму. Сделано, как прокладка связки кнопок и конт.меню форм с лентой меню (Акс 2007 и выше) "Прослушка" - все открытые формы/инстансы были подписаны на события в классе "прослушки". И если обращение было к ним - как то реагировали. Второе действие как то перекликается с первым. Но на данный момент, ввиду некоторых условий, там ничего хитрее не придумал. Как подобный механизм можно организовать в java? Или здесь принципиально другой подход? Petro123искать слово биндинг. пока сел курить это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:41 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Господа, не разгоняйте холивар, действительно хочется конструктивного диалога. Basil A. Sidorovmad_nazgulКроме того структура данных для хранения должна быть как можно более "статична"/неизменяема. А вот код, наоборот должен меняться часто, в зависимости от потребностей бизнеса.Хранимая процедура позволяет соблюсти оба требования. Поэтому остаётся только вопрос "привычных средств" той или иной команды разработчика. С этим согласен. Есть свои привычки работы и требования проекта. Механизмы реализации где то между ними. Blazkowiczбла-бла-бла ни о чем. Всё то же самое правда и в обратном направлении. Есть куча задач, которые хранимками ника не решить, а на Java - в пару строк. Для каждой задачи - свой инструмент. Можно чуток приоткрыть? не совсем понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:54 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанПрокладка между бд и сущностями?нет. Отправка в веб клиент, сериализация через сети веб. ИгортанМожно хотя бы направление указать? Это ОРМ без хранмок. ИгортанКак подобный механизм можно организовать в java? В пятый раз - javaFX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:57 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанBlazkowiczбла-бла-бла ни о чем. Всё то же самое правда и в обратном направлении. Есть куча задач, которые хранимками ника не решить, а на Java - в пару строк. Для каждой задачи - свой инструмент. Можно чуток приоткрыть? не совсем понял Сам холиваришь. Зачем сейчас тебе многообразие проектов? Через неделю приходи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:59 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123, Думал, для общего понимания картины будет полезно.))) Petro123Сам холиваришь. Зачем сейчас тебе многообразие проектов? Через неделю приходи.Наверное соглашусь. Раз это новый пласт... Тут хоть бы FX более менее быстро подтянуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:11 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Usmanвадяпод разные субд можно свои хранимки написатьнужно в стандарт SQL ввести поддержку условной компиляции , как в Си: ифдэф/ифындэфыхранимки они и хранятся в субд, смысл условной компиляции? при смене субд меняется только строка подключения к субд, а её можно вынести в файл .ini mad_nazgulДля обычных ЯП сейчас наработаны куча инструментов для разработки, поддержки и версионирования кода.для субд счас тоже есть куча инструментов. mad_nazgulК тому же проще/дешевле поменять код на ЯП (java), чем менять код в ХП. код в хп можно поменять проще чем код java, при этом даже не требуется ничего компилировать. просто из тестовой базы скинуть в рабочую и всё. mad_nazgulКроме того структура данных для хранения должна быть как можно более "статична"/неизменяема. А вот код, наоборот должен меняться часто, в зависимости от потребностей бизнеса. ещё раз код в хранимке для смены логики меняется проще чем в java. у клиент даже не потребуется обновление делать - это может произойти между двумя кликами клиента на запрос данных Blazkowiczбла-бла-бла ни о чем. Всё то же самое правда и в обратном направлении. Есть куча задач, которые хранимками ника не решить, а на Java - в пару строк. Для каждой задачи - свой инструмент.это уже зависит от извращённости прогера. Игортан"Прослушка" - все открытые формы/инстансы были подписаны на события в классе "прослушки". И если обращение было к ним - как то реагировали. Второе действие как то перекликается с первым. Но на данный момент, ввиду некоторых условий, там ничего хитрее не придумал. Как подобный механизм можно организовать в java? Или здесь принципиально другой подход?в аксе это двузхвенная архитектура, такое очень просто реализуется в трёхзвенной архитектуре - появляется среднее звено между клиентом и субд - серверное приложение. которое может отправлять клиенту (без запроса с клиента) любую инфу , на которую он подписан. в аксе этого очень не хватало. приходилось опрашивать сервер. и рекомендую использовать веб, это хоть и кажется , сложнее, но на самом деле более перспективно. не надо заботиться о клиенте - он открыл браузер и работает, хоть из окон, хоть из линуксов, хоть из яблок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:30 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанТут хоть бы FX более менее быстро подтянуть.цель ? просто научиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:32 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанТут хоть бы FX более менее быстро подтянуть.сделать нечто подобное как в аксе? в браузере это можно сделать намного проще и изящнее. Ограничений намного меньше - возможностей намного больше. и в формах и в элементах. у меня от акса остался опыт работы с базами- очень помогает, а все остальное очень элементарно реализуется. JavaFX - накладывает ограничения на область применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:38 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяИгортанТут хоть бы FX более менее быстро подтянуть.цель ? просто научиться?кончай холиварить. Да, цель познать новое в десктопе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:41 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя, Говорить что веб лучше десктопа - дурость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:43 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovmad_nazgulКроме того структура данных для хранения должна быть как можно более "статична"/неизменяема. А вот код, наоборот должен меняться часто, в зависимости от потребностей бизнеса.Хранимая процедура позволяет соблюсти оба требования. Поэтому остаётся только вопрос "привычных средств" той или иной команды разработчика. Проблема ХП не в возможностях, а в сопровождении кода. Например для Java есть куча гайдлайнов, как разруливать работу с кучей программистов и в долгом проекте. Та же система контроля версий никак к СУБД не прикручивается. В работе не может быть две разных ветки кода. Т.к. ХП "приколочено гвоздями" к конкретной БД. Да и понимать проект проще когда БЛ сосредоточена только в одном месте, а не размазана тонким слоем между БД и ЯП. Но любителям ХП, это понять трудно. Т.к. они пишут, а не читают. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:44 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПроблема ХП не в возможностях, а в сопровождении кода.Я поскипал ваш бред, т.к. SQL - (текстовый) язык высокого уровня. И к нему применимы ровно те методики разработки и управления, которые применимы ко всем остальным языкам (программирования). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:47 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Говорить что веб лучше десктопа - дурость.по этому поводу уже был многостраничный холивар. :) я же об этом начал тут , что б ТС на старте осознанно выбрал вариант пути. У него есть опыт работы с аксом , поэтому и есть желание повторить что-то подобное. А правильно ли это? Может под его задачу подойдёт другой вариант? Что б потом не было обидно за потраченное время. и если изучать новое, почему не веб? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:53 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортанmad_nazgulработа с БД сводится к элементарным CRUD нет, там все несколько сложнее... mad_nazgulМожете почитать про DTO... с наскока не совсем понимаю, что то на границе моего понимания пока. Это просто передача туда сюда данных как объектов, без логики? Прокладка между бд и сущностями? Да. Хотя логика есть, но она "простая". Т.е. вот этот объект должен лечь в такие таблицы. И наоборот, вот такие запросы создают вот этот объект. Слой DTO, делает практически не нужным ХП. Т.к. ХП обычно решают ограниченность ОРМ. Когда нужна Entity, но она создается по сложной логике. Ну или данные нужно сохранить так же по сложной логике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:54 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulТ.к. ХП обычно решают ограниченность ОРМ.Хранимые процедуры решают проблему "ограничения SQL при обработке данных в СУБД", а совсем не то, о чём вы думаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:56 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovmad_nazgulПроблема ХП не в возможностях, а в сопровождении кода.Я поскипал ваш бред, т.к. SQL - (текстовый) язык высокого уровня. И к нему применимы ровно те методики разработки и управления, которые применимы ко всем остальным языкам (программирования). Нет. Опыт, не только мой, говорит что не применимы. SQL-скрипт != ХП в БД. Т.к. ХП в отрыве от БД и данных не живет. Код, например, на Java вполне живет. Как минимум я не встречал ни одного легаси проекта, в котором в систему контроля версий были бы заведены ХП в актуальном состоянии (если они вообще бы были заведены). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:00 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulКак минимум я не встречал ни одного легаси проекта, в котором в систему контроля версий были бы заведены ХП в актуальном состоянии (если они вообще бы были заведены). в ларьках да, системы контроля нет, а энтерпрайзе pl/sql патчи в субд генерятся из svn, git и прочих. твоя проблема в том что ты из деревенских и просто не видел как взрослые готовят. mad_nazgulТ.к. ХП в отрыве от БД и данных не живет. Код, например, на Java вполне живет. сейчас работаю с жава и бигдата - для человека с бэкграундом оракла выглядит дико, когда код вываливается в прод, потому что схема данных не совпала с ожидаемым. до бигдата был уверен что такое как оспа, сотни лет назад побеждено навсегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:08 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovmad_nazgulТ.к. ХП обычно решают ограниченность ОРМ.Хранимые процедуры решают проблему "ограничения SQL при обработке данных в СУБД", а совсем не то, о чём вы думаете. Согласен, что ХП "ограничения SQL при обработке данных в СУБД". Но это ограничения РМД. Поэтому я и говорю, что ОРМ берет все худшее от РМД и объектной модели. И накладывает ненужные ограничения на обработку данных. Из-за этого приходится где-то эту "обработку данных" делать. Либо на стороне СУБД, чтобы было "удобно" ОРМ (Привет ХП). Либо на стороне ЯП, но тогда "преимущества" ОРМ сходят на нет. По мне современные ЯП более выразительные, поэтому на них удобнее писать "обработку данных". Плюс инструменты для работы с ЯП более продвинутые чем с ХП. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:09 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПо мне современные ЯП более выразительные, поэтому на них удобнее писать "обработку данных". Плюс инструменты для работы с ЯП более продвинутые чем с ХП. :-)просто ты не знаешь такие инструменты. А они есть. Причём возможности у них очень огромны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:17 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulSQL-скрипт != ХП в БД.Разумеется, PL/SQL != SQL, кэп.Т.к. ХП в отрыве от БД и данных не живет.Хранимые процедуры - текст. На вполне конкретном языке программирования. Надеюсь, вас не смущает, что DDL никак не отражает представление объектов схемы внутри БД?Код, например, на Java вполне живет.У пророков есть поддержка Java в СУБД и соответствующая обвязка "у ей внутре".Как минимум я не встречал ни одного легаси проектаИ? Каким боком проблемы организации процесса разработки соотносятся с имеющимися возможностями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:17 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяцель ? просто научиться? Цель - проглотить и не подавиться на данном этапе знаний. вадясделать нечто подобное как в аксе? в браузере это можно сделать намного проще и изящнее. Ограничений намного меньше - возможностей намного больше. и в формах и в элементах. у меня от акса остался опыт работы с базами- очень помогает, а все остальное очень элементарно реализуется. JavaFX - накладывает ограничения на область применения. Согласен. Можно я порассуждаю. FX - изучение Java + JavaFX = 2 области, с ms/my SQL знаком WEB -Java + js + css + HTML + сервер(3 звено, как я понял - Apach) = кроме HTML(начальные знания) все остальное постигать.. Если я не прав, подскажите по различиям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:07 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПо мне современные ЯП более выразительные, поэтому на них удобнее писать "обработку данных". Плюс инструменты для работы с ЯП более продвинутые чем с ХП. :-) +10500 вадяпросто ты не знаешь такие инструменты. А они есть. Причём возможности у них очень огромны. Я тоже не знаю. Можно пример рефакторинга на PL/SQL ? Например как поменять сигнатуру ХП и все ее вызовы из пэкэджей (пусть будет Oracle мне понятней будет) одним тыком типа как в Eclipse (Idea) на методе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:21 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulСогласен, что ХП "ограничения SQL при обработке данных в СУБД". Но это ограничения РМД.Какие конкретно ограничения у модели ?Поэтому я и говорю, что ОРМ берет все худшее от РМД и объектной модели.Вас кто-то обманул. Есть вполне конкретное подмножество задач, которое позволяет автоматизировать написание SQL-запросов, опираясь на схему БД. Побочная плюшка - можно автоматизировать отображение объектов СУБД на объекты приложения, задачу управления транзакциями, кэшами и т.д. и т.п.И накладывает ненужные ограничения на обработку данных.Не более, чем любой частный инструмент. sed, например, тьюринг полный, но реализовывать на нём прикладную систему никто не будет.По мне современные ЯП более выразительные, поэтому на них удобнее писать "обработку данных".Это совершенно другой вопрос. И без конкретизации расплывчатого "обработка данных" - отсутствует предмет обсуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:49 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
sanBezЯ тоже не знаю. Можно пример рефакторинга на PL/SQL ? Например как поменять сигнатуру ХП и все ее вызовы из пэкэджей (пусть будет Oracle мне понятней будет) одним тыком типа как в Eclipse (Idea) на методе? https://www.devart.com/ru/dbforge/oracle/studio/ ИгортанFX - изучение Java + JavaFX = 2 области, с ms/my SQL знаком WEB -Java + js + css + HTML + сервер(3 звено, как я понял - Apach) = кроме HTML(начальные знания) все остальное постигать.. Если я не прав, подскажите по различиям второй вариант не совсем верен web(javascript+html5+css3) - серверное приложение(java+jsp(javascript+html5+css3+??)) - субд причем серверное приложение и формирует веб-клиента сам сервер приложений - кошка Том, стеклянная рыба,... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:07 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя, автори опыт полученный по работе с базами - говорит, что все прокладки типа хибера, должны идти лесом. Вадя) Ну почем так категорично) Не надо тоже топикстартера сбивать с толку) Пусть сам разберётся, что к чему. Почитает разные книжки, поприменяет полученные знания. В ORM есть смысл, они нужны, нужно их умело применять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:02 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, делаете GUI в броузере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:03 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, Spring, JSON, Angular ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:05 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя, кстати Вы правы насчёт использования возможностей SQL сервера. Действительно почему бы не использовать те-же хранимки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:08 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, я тоже как бывший аксессник и человек прошедший длинную дорогу при выборе технологий добавлю: используйте в работе Spring на back-end и например Angular на front-end JavaScript не бойтесь. http://www.jhipster.tech/ Генерируйте проект. Разбирайтесь что к чему. Ничего там сложного нет, хотя материала выше крыши конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:12 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Вадя прав. Веб лучше десктопа. А ничего странного в том, что моё мнение с совпадают иногда с мнением Вади. Работа, постоянное программирование, ентерпрайз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:15 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, front-end, JavaScript - перевернёт всё Ваше представление о GUI после Акса ) Поэтому я и гвоорю, что Вадя прав. Общие выводы у нас не просто так. А из практики. Сразу получите адаптивный дизайн под любой девайс. GUI будет работать так, как Вам нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 01:56 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
[quot Basil A. Sidorov]mad_nazgulСогласен, что ХП "ограничения SQL при обработке данных в СУБД". Но это ограничения РМД.Какие конкретно ограничения у модели ? [quot ] Как у любой модели у РМД есть ограничения по применимости. Например, на РМД очень плохо "ложаться" иерархические и графовые структуры. Изначально вообще никак. В Oracle, есть "костыль" в виде "prior". А если нам еще не известна структура данных, то вообще веселье. [quot Basil A. Sidorov] Поэтому я и говорю, что ОРМ берет все худшее от РМД и объектной модели.Вас кто-то обманул. Есть вполне конкретное подмножество задач, которое позволяет автоматизировать написание SQL-запросов, опираясь на схему БД. Побочная плюшка - можно автоматизировать отображение объектов СУБД на объекты приложения, задачу управления транзакциями, кэшами и т.д. и т.п. [quot ] Да есть, и она полностью покрывается Spring data JPA, например. Но как только что-то нужно сложнее, так как минимум вылазит n+1. Либо то, что не все возможно одним запросом получить интересующий объект. [quot Basil A. Sidorov] И накладывает ненужные ограничения на обработку данных.Не более, чем любой частный инструмент. sed, например, тьюринг полный, но реализовывать на нём прикладную систему никто не будет. [quot ] Правильно, есть более удобные инструменты. Поэтому я и говорю, все что укладывается в РМД, делается в виде запросов и ХП не нужны. А то что нет, то лучше взять инструмент более удобный. Благо сейчас есть выбор из кучи ЯП, не только Java. Basil A. SidorovПо мне современные ЯП более выразительные, поэтому на них удобнее писать "обработку данных".Это совершенно другой вопрос. И без конкретизации расплывчатого "обработка данных" - отсутствует предмет обсуждения. В узком смысле преобразование данных, т.е. из того вида в котором они хранятся, в вид в котором отображаются/редактируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 05:18 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
NeboИгортан, делаете GUI в броузере Еще один. Писать веб проект или дескоп обсуждают не в серьезном Java форуме. А в ветке Программирование (100 сраниц) и Разработка ИС (200 сраниц по фрейду). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 08:20 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
mad_nazgulКак у любой модели у РМД есть ограничения по применимости.Это надо понимать так, что вы знаете истинный путь ?Например, на РМД очень плохо "ложаться" иерархические и графовые структуры. Изначально вообще никак. В Oracle, есть "костыль" в виде "prior".У пророков не костыль, а собственный путь - стандартизирован вариант с рекурсивными запросами. Но дело даже не в этом - иерархические и сетевые СУБД канули в маргинальное нигде не от хорошей жизни.А если нам еще не известна структура данных, то вообще веселье.Я уже предлагал не лазить на шкаф? Накойхер (фамилие такое) вы постоянно пытаетесь применять инструмент не по назначению??? Реляционная модель, на ограниченность которой вы уже пеняли, представляет данные в виде таблиц с фиксированным числом (и типами) колонок. То, что вам хочется удобного DML для неструктурированных данных - ваши проблемы. Хотя и в этом случае прагматики от СУБД приходят на помощь.Либо то, что не все возможно одним запросом получить интересующий объект.Могу предложить два варианта на выбор: 1. Вы просто не умеете их готовить. 2. А точно надо одним запросом? Причём, заметьте, что это не в упрёк, а подсказка.Поэтому я и говорю, все что укладывается в РМД, делается в виде запросов и ХП не нужны.Это мнение догматика. Хранимые процедуры делали прагматики. Слова похожие, но содержание - кардинально разное.В узком смысле преобразование данных, т.е. из того вида в котором они хранятся, в вид в котором отображаются/редактируются.Вы точно не умеете их готовить ... Преобразование "из вида, в котором они храняться" делает сервер, помещающий данные в структуры протокола конкретной СУБД и клиент, извлекающий данные из этих структур. На этом пути и сервер и клиент могут многое по части представления и оформления. Особенно - специально обученный клиент. Остальное - задача приложения. Генераторов отчётности - в том числе. P.S. Кстати, очень характерная вещь - ваше цитирование (в сообщении, на которое я отвечаю). Да, есть предварительный просмотр и можно поправить ошибки, но это время (которое деньги), а настоящие джедаи не ошибаются. Поэтому берём первый вроде нормальный вариант и пилим его, ни на что не оглядываясь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 09:00 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123NeboИгортан, делаете GUI в броузере Еще один. Писать веб проект или дескоп обсуждают не в серьезном Java форуме. А в ветке Программирование (100 сраниц) и Разработка ИС (200 сраниц по фрейду). https://lifehacker.ru/2013/06/27/27-pravil-iz-kodeksa-dzhentlmena-obrazca-1875-goda/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:19 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Господа, хочу немного систематизировать. выделилось 2 ветки рассмотрения. 1. ОРМ - хранимки 2. FX - Web. Если кого не сейчас не вспомню, не обижайтесь. Чес слово)) перечитал всю ветку уже раз раз 5, в виду приходящих мыслей. И всем благодарен. 1. Basil Sidorov, mad_nazgul. Очень похоже на спор прикладника и датабазника. Вы оба правы, но каждый по своему. В Виду советаmad_nazgulПоэтому проектируете модель данных (реляционная модель), объектную модель (ваши классы) и слой DTO, который преобразует одно в другое и обратно. Учтите, что желательно спроектировать модель данных так, чтобы она практически не менялась. А вот объектную модель наоборот, надо проектировать так, чтобы учесть что в будущем она будет меняться очень сильно. решил пересмотреть бд. Она выросла из маленького проектика и там полно денормализованных данных + попытаюсь учесть "будущие хотелки". Т.е. БД будет новая. Для простых выборок попробую ОРМ, с чем не справлюсь - хранимки. Да, плохо размазывать, но на данном этапе мне будет так проще. Да и не понимаю я, если честно, зачем на клиента тянуть 100500 строк, чтобы потом что то сделать с несколькими из них. Есть сервер БД, пусть пашет. А в ОРМ полезу ибо это есть преобладающее направление... Потом буду говорить - "Я Spring и Hibernate видел" ) 2. вадя, Petro123, Nebo. Тоже спор... Понятно, что за web будущее. Плохо это или хорошо, но скорее всего так будет. Для себя +/- определил. Хотел к стати уточнитьвадяweb(javascript+html5+css3) - серверное приложение(java+jsp(javascript+html5+css3+??)) - субд причем серверное приложение и формирует веб-клиента сам сервер приложений - кошка Том, стеклянная рыба,... web(javascript+html5+css3) - будет крутиться в браузере у человека серверное приложение(java+jsp(javascript+html5+css3+??)) - на отдельном системнике субд - еще один системник. Я правильно понимаю, что будет задействовано + 1 комп для серверного приложения? В этом у меня будут ограничения. Что означают вопросы в серверном приложении? "сам сервер приложений - кошка Том, стеклянная рыба,..." - не смог понять а вопрос "кросбраузерности" он же тоже всплывет. Даже у нас с не большим коллективом, используемых браузеров - зоопарк. P.S. Вчера уже ночью, скачал книгу по JavaFX 2 + нашел уроки , там же есть и по JavaFX 8 уже. Но На Netbeans с наскока не получилось по примеру создать и скомпилировать проектик. На Eclips(fx) даже такая есть... - по уроку по ссылке тоже не взлетело. Проблема вроде одинаковая. Мог сам что то затупить. Ночь была глубокая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:35 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
P.S. 2 - вычитал в той книге... "Что касается технологии JavaFX, то один и тот же Java-код, созданный на базе платформы JavaFX, может запускаться как настольное приложение, которое разво- рачивается на клиентском компьютере автономно, или разворачиваться как Java Web Start-приложение, или отображаться в Web-браузере как JavaFX-апплет, встроенный в HTML-страничку. " или я еще ничего не понимаю, или это создание универсального инструмента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:42 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
это описание из Netbeans "В IDE можно настроить проект JavaFX, чтобы он работал как самостоятельное приложение, с помощью Java Web Start или в браузере." Кстати, у меня как раз FX никак себя не проявляет в Netbeans. Не нашел пока, как открыть рисовалку гуи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:47 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанЧто касается технологии JavaFXобязательное требование - на клиентской машине должен быть установлен JRE, без которого приложение не запуститься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:48 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанТ.е. БД будет новая. Для простых выборок попробую ОРМ, с чем не справлюсь - хранимки. Раньше писали что бд с хранимками. Вы уж определитесь. Нельзя Модель делать спагетти. Или ОРМ или хранимки. Так ничему не научитесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:48 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортанили я еще ничего не понимаю, или это создание универсального инструмента?это реклама. Забыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:51 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортанпо уроку по ссылке тоже не взлетело.создавай топик: javaFX hello world не работает. Не делай тут помойку типа: Как я изучаю....дневник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:54 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
ИгортанНе нашел пока, как открыть рисовалку гуиHello World demo это не рисовалка. Не усложняй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:55 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123это реклама. Забыть. не в защиту , где то по средине страницы Petro123Раньше писали что бд с хранимками. Вы уж определитесь. Так и есть, старая БД с хранимками. Пришло понимание, что лучше пересмотреть структуру бд, потому придется как минимум часть ХП переписывать. ХП - быстрее потому что умею. А ОРМ - попытка встать на новые рельсы, хотя бы для опыта. Usmanобязательное требование - на клиентской машине должен быть установлен JRE, без которого приложение не запуститьсяДа, и если Java < 8 нужно отдельно ставить Runtime для FX, если это еще заработает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 14:01 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, всё уже сделано) http://www.jhipster.tech/ Вам только продолжить. Все Ваши вопросы я прошёл) Всё рассматривал) Не надо никакой JavaFX. Весь GUI делайте в броузере. Не игнорируйте JavaScipt. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 14:43 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан не в защиту , где то по средине страницы Да я даже не читаю. Собака за метр чувствует что несъедобно)))) ИгортанТак и есть, старая БД с хранимками. Пришло понимание, что лучше пересмотреть структуру бд, потому придется как минимум часть ХП переписывать. ХП - быстрее потому что умею. А ОРМ - попытка встать на новые рельсы, хотя бы для опыта. И где логика? "Хочу встать на лыжи летом.....потому что .....лето. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 15:03 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортанweb(javascript+html5+css3) - будет крутиться в браузере у человекада Игортансерверное приложение(java+jsp(javascript+html5+css3+??)) - на отдельном системнике субд - еще один системник.это по потребностям можно и на одном системнике, работать будет, все зависит от памяти оперативной в основном. ну и нагрузка .... ИгортанЧто означают вопросы в серверном приложении?это бины и прочие прибамбасы jsp (без них можно обойтись :) ) Игортан"сам сервер приложений - кошка Том, стеклянная рыба,..." - не смог понятьtomcat, glassfish :) ИгортанНа Netbeans с наскока не получилось по примеру создать и скомпилировать проектик.это самое простое , зайди на их сайт там примеры на русском расписано. я на нём и работаю Игортана вопрос "кросбраузерности" он же тоже всплывет. Даже у нас с не большим коллективом, используемых браузеров - зоопарк.если это для корпоративного использования - включается административный рычаг - и всё устаканивается на хроме/ мозиле - аргумент : стоимость разработки/поддержания , ie - можно исключить... всё зависит от парка осей, если есть хр - то несколько затруднено - там хром и мозилла старые, про оперу не могу сказать. тут будут ... но я всё ж скажу - чего не хватало в аксе - это полного дуплекса в обмене данных, тут есть websocket. изучи и поймаешь кайф :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:05 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123И где логика? "Хочу встать на лыжи летом.....потому что .....лето. где то так. Да и на будущее... Посмотришь в запросах на должности - Java, Spring, Hibernate, ets... Что я потом скажу людям, да запилил, но это узкий индивидуальный проект. А так, хочется какие то дивиденды поиметь параллельно. С другой стороны, если бы человек никогда не искал нового, мы бы сейчас дубинками махали, каждый у своего дерева. Neboвсё уже сделано) http://www.jhipster.tech/ Вам только продолжить. или я нуб в гугле или просто не знаю что ищу как вы это находите? Буду посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:10 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Игортан, у тебя мыло действующее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:14 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
Petro123"Хочу встать на лыжи летом.....потому что .....лето.ну для лета тоже есть лыжи - с роликами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:17 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадяу тебя мыло действующее?да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:21 |
|
||
|
Вопросы дилетанта
|
|||
|---|---|---|---|
|
#18+
вадя, спасибо) Сам не люблю длинные ветки... Спасибо за внимание всем, кто принял участие. Пусть мал побродит пару дней в голове, где осадок даст, где в пшик выйдет.... Думаю, дальше буду целевые топики открывать по мере необходимости ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 16:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2122380]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 291ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...