Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите определиться с технологиями для проекта, Социальная сеть 
V
    Опции темы
serger
Дата 26.9.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Не множко рад, куда пошла тема - стало как-то добрее и меньше понтов, уж простите..
Просто БД всё-таки - это только часть системы, как бы она ни была важна, отсюда надо и плясать, и всё-таки не забывать основные принципы программирования и не пытаться объять необъятное..

Цитата

1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.

Это лишь говорит, что хорошо бы объединить два подхода, чтоб каждый, вмеру своих сил занимался своим делом )

Цитата

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

Мне кажется банально: когда НУЖНО! те есть необходимость.

JDBC и ORM я не сравниваю, жаль если я не смог донести мысль..


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
serger
Дата 26.9.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(CaligoSpiritus @ 26.9.2008,  16:49)

Цитата(mbasil @  26.9.2008,  11:54 Найти цитируемый пост)
Вообще говоря имеется две психологии разработчиков:

1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.

Честно говоря, больше принадлежу ко второй - но это не моя идеология. Просто так получилось. Но пихать ВСЮ бизнес-логику в СУБД я тоже не хочу. Мне более по душе средний вариант. Да и люблю я программировать "обычные" приложения (не СУБД).

Если у вас в команде есть хороший специалист по Oracle, то остаётся стать специалистом по JEE  smile  и всё будет  smile.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
CaligoSpiritus
Дата 26.9.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: 1
Всего: 2



Знаете, DimW, можно сделать вывод, что у Вас проблемы с общением. Может быть, хватит обвинений в непрофессинализме, отсутсвии здравого смысла? Я говорил, что у меня есть опыт работы "с" Оракл, а не "в". И те небольшие приложения, в которых в одном месте делается  rollback, а в другом commit, я не могу назвать сколь-либо серьёзными, более того, в этих случаях можно было вообще обойтись без этого механизма. Серьёзная же система, использующая транзакции - совсем другое дело.
Цитата(DimW @  26.9.2008,  18:33 Найти цитируемый пост)
любое ПО написаное вами использующее СУБД оракл без таковых процессов работать не может

А если оно Read-only - только запрашивает информацию из БД?

Цитата(DimW @  26.9.2008,  18:33 Найти цитируемый пост)
почитайте определение транзакции и сами поймете, mbasil скорее всего в терминах проявил неосторожность.

Ключевые слова выделил. Вы сами допустили возможность, что он не оговорился, поэтому мне и интересно.

Цитата(serger @  26.9.2008,  20:24 Найти цитируемый пост)
Если у вас в команде есть хороший специалист по Oracle, то остаётся стать специалистом по JEE   smile   и всё будет   smile . 

Мы не спецы, мы пока только учимся  smile 
PM WWW Skype GTalk   Вверх
polosatij
Дата 26.9.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



Цитата(CaligoSpiritus @  26.9.2008,  20:36 Найти цитируемый пост)
Мы не спецы, мы пока только учимся  smile  


возьмите то, что хотели.. даже, если ваш проект загнётся, каждый из вас получит опыт для "продолжения" жизни  smile опыт с Hibernate, Spring, Velocity, Oracle не могут не пригодится по определению  smile только пишите слоями -> например, логика и web-презентация вместе не допустимы. попытайтесь всё сразу распределять на "уровни" и будет вам счастье   smile трах-тибидох-тибидах  smile 

пы.сы. мой совет также взять checkstyle, если у вас разные стили написания кода, иначе будете друг-другу мозги вставлять, а не код писать  smile 



--------------------
PM   Вверх
v2v
Дата 26.9.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(polosatij @  26.9.2008,  18:01 Найти цитируемый пост)

ага.. программирование - это не искусство.. это тупая быстрая работа без энтузиазма для денег чужому дяде..

Почему чужому дяде ? Почему не искусство ? Главное выбрать нужный подход. А при правильном подходе программирование для вас будет искусством - источником получения удовольствия , да ещё и приносящее вам бабло. smile

Цитата(serger @  26.9.2008,  18:49 Найти цитируемый пост)

Цитата
1. Идти от базы, считая приложение (отчасти) вторичным.
2. Идти от приложения, считая базу свалкой таблиц.
Это лишь говорит, что хорошо бы объединить два подхода(*), чтоб каждый, вмеру своих сил занимался своим делом )

Для этого в разработке ПО и существует этап проектирования. А перед этапом проектирование есть этап разработки Технического Задание. Так вот руководствоваться при выборе подхода надо на основе ТЗ . 
Так что идти надо от цели , а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

Цитата(CaligoSpiritus @  26.9.2008,  20:36 Найти цитируемый пост)
Серьёзная же система, использующая транзакции - совсем другое дело.

транзакции - это первостепенная задача в вашем приложении?



--------------------
PM   Вверх
CaligoSpiritus
Дата 26.9.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: 1
Всего: 2



polosatij, по поводу слоёв хорошо написано в документации по Spring, да и в множестве других источников, именно так мы и строим проект. Что до стиля - да здравствует Java и рекомендованный Sun стиль написания кода на ней ;)

Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
транзакции - это первостепенная задача в вашем приложении?

Транзакции, это не задача, тем более, не первичная, - это средство.

Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
Так что идти надо от цели , а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

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

Это сообщение отредактировал(а) CaligoSpiritus - 26.9.2008, 23:20
PM WWW Skype GTalk   Вверх
v2v
Дата 26.9.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)

Транзакции, это не задача  - это средство.

переозвучу фразу: 
"научиться работать с транзакциями в контексте текущего приложения" - не первичная задача? 
это риторический вопрос, мне кажется, на данном этапе не стоит этому уделять внимание.

Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)

Речь не о более или менее тщательной разработке какого-либо слоя, а о дизайне приложения. 

я тоже говорил о дизайне.
Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
Так что идти надо от цели 

Или вы что то другое подразумевали под словом дизайн?

Это сообщение отредактировал(а) v2v - 26.9.2008, 23:44


--------------------
PM   Вверх
CaligoSpiritus
Дата 26.9.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: 1
Всего: 2



Цитата(v2v @  27.9.2008,  00:01 Найти цитируемый пост)
а субд , (gui/web)приложение должны разрабатываться с тщательностью в равной степени.

Я об этом.
В общем, я с Вами согласен smile

Цитата(v2v @  27.9.2008,  00:43 Найти цитируемый пост)
мне кажется, на данном этапе не стоит этому уделять внимание.

Этому нельзя не уделять внимание, потому что многие операции соц. сети обязаны быть транзакционными. В этом проекте довольно большая часть логики, в том числе и транзакционной, будет в СУБД, но и на App. Server кое-что придётся. Именно поэтому меня заинтересовало, как инструменты ORM framework-ов могут помочь. Хотя, в принципе, транзакционный механизм неплохо реализован в Spring и никаких особых трудностей не предвидится, этот мой вопрос больше из любопытства.
PM WWW Skype GTalk   Вверх
polosatij
Дата 27.9.2008, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
Почему чужому дяде ? Почему не искусство ? Главное выбрать нужный подход. А при правильном подходе программирование для вас будет искусством - источником получения удовольствия 


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

Цитата(v2v @  26.9.2008,  23:01 Найти цитируемый пост)
да ещё и приносящее вам бабло. smile


серьёзна?

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

Цитата(CaligoSpiritus @  26.9.2008,  23:19 Найти цитируемый пост)
Что до стиля - да здравствует Java и рекомендованный Sun стиль написания кода на ней ;)


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


Это сообщение отредактировал(а) polosatij - 27.9.2008, 11:55


--------------------
PM   Вверх
v2v
Дата 27.9.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

серьёзна?

мне не понятен сарказм.
Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

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

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

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

Цитата(polosatij @  27.9.2008,  11:19 Найти цитируемый пост)

1). моё бабло прямо пропорционально зависит от просиженных часов, т.к. оплата по часовая.

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

Это сообщение отредактировал(а) v2v - 27.9.2008, 12:07


--------------------
PM   Вверх
polosatij
Дата 27.9.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



Цитата(v2v @  27.9.2008,  12:04 Найти цитируемый пост)
Но если это не так , тогда вам никто не мешает "резко поменять свою жизнь" , а для этого можно начать с изменения работы или хотя бы проекта, слава Богу, на программистов пока спрос есть ...


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


Цитата(v2v @  27.9.2008,  12:04 Найти цитируемый пост)
хотя, вижу ещё один вариант : если вам считают количество просиженных за компьютером часов,а не количество написанного кода, но вам никто не мешает часть из этих часов заниматься чем то интересным для себя smile.



я так и делаю  smile однако всё равно, сроки есть.. и по 14 часов в день в коде приходится копаться  smile 

Это сообщение отредактировал(а) polosatij - 27.9.2008, 12:16


--------------------
PM   Вверх
mbasil
Дата 27.9.2008, 15:56 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



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

Когда я говорил об управлении транзакциями, я имел в виду обеспечение выполнения множества семантически связанных SQL операций, когда атомарные операции собраны в достаточно репрезентативную группу (право стыдно об этом говорить), а вовсе не написание команд COMMIT или ROLBACK, как это кое-кто подозревает и, упаси боже, вовсе не попытку как то изменить в этой части поведение СУБД. При этом я имел в виду не только наборы DML операций, но и транзакции на чтение.

Если речь идет о  DML операциях, при их выполнении более или менее сложной группой у вас есть два выхода:
1.    Вручную писать специализированные методы, которые будут выполнять группы операций INSERT, UPDATE, DELETE при этом вам приходится «плодить» горы исходного текста.  
2.    Попытаться написать универсальный механизм, а это означает попытку смоделировать мини ORM систему собственными силами.

В случае транзакций на чтение вопрос обстоит еще хуже, когда требуется извлекать много связанных объектов. В зависимости от ситуации вы должны писать или один запрос соединяя множество таблиц, а затем разбирать результирующий набор на части, либо писать несколько запросов и совместное выполнение их обеспечивать программным образом. И здесъ имеется та же самая альтернатива, либо писать много специализированного кода, либо писать нечто универсальное (ORM систему?).

Hibernate обкатана тысячами разработчиков за много лет. Пойдите и реализуйте своми руками автоматическое «лениевое» извлечение связанных объектов или кэш второго уровня.  То есть в случае мало-мальски сложной системы  у вас имеется альтернатива - либо писать и отлаживать много специализированного кода, либо писать свою ORM систему. Если она окажется лучше Hibernate, честно обещаю использовать ее в собственных разработках. Извините за многословность – не хочется выглядеть дураком, которым меня пытаются представить.
PM MAIL   Вверх
mbasil
Дата 27.9.2008, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



И последнее моё добавление, чтобы избавиться от недомолвок. Объектно реляционное отображение требуется не от хорошей жизни, а от нестыковки реляционного хранения с ООП (это все знают). Однако некоторые, решая эту проблему, вновь и вновь пишут специализированный код, а другие берут универсальное решение (готовую ORM систему). За универсализм всегда приходится платить некоторым снижением эффективности работы.  Однако, как сегодня никому в голову не приходит писать системы на Ассемблере, так сегодня использование ORM системы для взаимодействия с базой данных становится общим местом.

И Sun  и  Oracle окончательно сняли свои курсы по JDBC, которые раньше у них были. Сначала я посокрушался по этому поводу, а потом понял это симптом. 
PM MAIL   Вверх
Shaggie
Дата 28.9.2008, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

Репутация: 2
Всего: 72



Цитата(DimW @  26.9.2008,  18:33 Найти цитируемый пост)
CaligoSpiritus, управление транзакциями СУБД обеспечивает самостоятельно, повлиять можно только на уровень изоляции настройкой на уровне СУБД.

Имеются в виду, очевидно, транзакции бизнес уровня, а не каждого отдельного SQL-запроса.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
mbasil
Дата 28.9.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 9
Всего: 13



Shaggie, так точно. Однако, согласитесь - в конечном итоге, транзакции бизнес уровня плавно перетекают в транзакции СУБД. 

Например, при использовании EJB вы можете в цепочке вызова методов, для каждого из методов описать открытие и, соответственно закрытие транзакции, однако в конечном итоге вся цепочка приводит к завершению или откату транзакции в контексте постоянства, а значит и в СУБД. С учётом возможности использования для каждого метода декларативной авторизации мы получаем довольно мощный инструмент. Хотя надо честно сказать для относительно простых приложений достаточно ORM. Однако при этом все остальное надо писать вручную.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1390 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.