ООП в веб-разработке
по высоконагруженной - есть разные мнения, pianist, например, считает - что лишняя
ps
в целом, мое мнение, что при web-разработке для мелких редко меняющихся вспомогательных сущностей - объекты очень удобны, для более крупных меняющихся сущностей уже эффективнее получается использовать, что-то среднее между ФЯ и ООП
А еще вопрос по теме же. Какие сущности делаются объектами как правило? Применяется ли для них наследование?
> Какие сущности делаются объектами как правило?
те, про которые ты можешь сразу четко сказать, что они из себя представляют.
Объекты в таком программировании нужны, т.к. большинство программистов по-другому думать не умеют.
Вообще говоря веб-программирование это написание смотрелок БДбред сивой кобылы
Вам устное замечание. Флуд в тематическом разделе. аргументы где?
1. современное веб-программирование подразумевает под собой не только смотрелки, но также обновлялки, добавлялки и удалялки.
2. всегда считал что 95% приложений можно разделить на звенья - хранение данных, обработака данных, представление данных(пункты можно разделять и объединять в зависимости от задачи). собственно, веб и настольные приложения отличает только последний пункт. после правильного построения архитектуры для хранения, обработки данных и логики - мы можем ваять веб или десктоп-приложения в любом количестве без особых усилий и особых отличий.
собственно, итог - ооп одинаково полезно для разработки как десктоп, так и веб приложений.
усе. судите строго.
обработка данных тоже обычно сбоку(из базы берет и в базу засовывает а не в самом вебе
вот в итоге и получается, что высказывание No (про то, что веб - это чисто смотрелки) близко к реальности.
мы можем ваять веб или десктоп-приложения в любом количестве без особых усилий и особых отличий.примеры такого можешь привести? чтобы был приличный и desktop, и web интерфейс
1. современное веб-программирование подразумевает под собой не только смотрелки, но также обновлялки, добавлялки и удалялки.
Это перевод sql2html и html2sql. Ни то ни другое не объектно-ориентированное. Так и следует мое высказывание понимать.
2. всегда считал что 95% приложений можно разделить на звенья - хранение данных, обработака данных, представление данных(пункты можно разделять и объединять в зависимости от задачи). собственно, веб и настольные приложения отличает только последний пункт. после правильного построения архитектуры для хранения, обработки данных и логики - мы можем ваять веб или десктоп-приложения в любом количестве без особых усилий и особых отличий.
собственно, итог - ооп одинаково полезно для разработки как десктоп, так и веб приложений.
Программисту который запихивает бизнес-логику между пользователем и бд надо что-нибудь оторвать
Программисту который запихивает бизнес-логику между пользователем и бд надо что-нибудь оторватьчто ты под этим понимаешь?
слабо могу представить себе задачу, чтобы между БД и пользователем не было бы бизнес-логики.
что ты под этим понимаешь?
Я говорю что веб-приложение ничего не _считает_. Оно берет числа из БД и подставляет их в нужные html-места. (Для удобства в sql есть грязные хаки типа min/max/sum и прочего, но они все-таки "хаки".) Можно назвать знание "в какое место какую чиселку подставить" бизнес-логикой, но я не ее имел в виду.
Все сколько-нибудь вычислительные задачи должны делаться демоном за БД стоящим. Так в идеале должно быть устроено веб-приложение.
Тогда оно будет больше читать чем писать, будет масштабируемым и будет укладываться в http.
(Для удобства в sql есть грязные хаки типа min/max/sum и прочего, но они все-таки "хаки".а тем, кто кладет логик в скл, надо оторвать все, что попадет под руку
Все сколько-нибудь вычислительные задачи должны делаться демоном за БД стоящим. Так в идеале должно быть устроено веб-приложение.т.е. результат бизнес-логики тоже запихивать в базу?
т.е. результат бизнес-логики тоже запихивать в базу?
Ну да, а результат разве не "данные"?
Ну да, а результат разве не "данные"?данные, но они часто плохо ложатся на реляционку.
мне кажется, просто слишком радикально называет
тривиальную логику преобразования перед шаблонизацией отсутствием оной.
Это перевод sql2html и html2sql. Ни то ни другое не объектно-ориентированное.имхо, например, на gmal html не генерится, а вроде как web-приложение
По поводу того, что "программистам везде бы впихнуть ООП, раз по-другому не умеют", скажу, что раз так для программистов легче, значит, это оправдано и в результате оправдано для клиента. Вопрос - а в самом ли деле оправдано?
И поэтому меня интересует чисто практический вопрос: объекты помогают эту сложность уменьшить или нет?рассуждать об объектах это как раз не практично, практично сравнивать конкретные вещи, например, языки.
рассуждать об объектах это как раз не практично, практично сравнивать конкретные вещи, например, языки.языки щас такие пошли, что они как правило дело вкуса и традиции. jcript по сути объектный (хотя надо быть хакером, чтобы умело этой объектностью оперировать).
Сервлеты и дот нет приложения принуждают к использованию объектов, так же как и Ruby. Если эти технологии сравнивать, то можно разве что подраться (повторяюсь, дело вкуса и традиции). Но а вот если посмотреть на "рабочие лошадки" веба php и perl? Оба имеют возможность оперировать объектами, но не все с этой возможностью работают.
jcript по сути объектный (хотя надо быть хакером, чтобы умело этой объектностью оперировать).что тут имеется ввиду?
Сервлеты и дот нет приложения принуждают к использованию объектов, так же как и Ruby.глупости
ничего они не принуждают
как хошь так и пиши
Программисту который запихивает бизнес-логику между пользователем и бд надо что-нибудь оторвать
Куда нужно запихнуть бизнес-логику, если ты, например, разрабатываешь интернет-магазин?
мы можем ваять веб или десктоп-приложения в любом количестве без особых усилий и особых отличий.примеры такого можешь привести? чтобы был приличный и desktop, и web интерфейс
Outlook Web Acess, мне кажется, неплохой пример.
(Для удобства в sql есть грязные хаки типа min/max/sum и прочего, но они все-таки "хаки".)нда, интересные у тебя представления о БД ты работал с чем нибудь серьезнее, чем mysql?
Все сколько-нибудь вычислительные задачи должны делаться демоном за БД стоящим.ты имеешь в виду серчи, репорты? или задачи помельче? как ты себе представляешь работу этого демона? асинхронно?
Это перевод sql2html и html2sql. Ни то ни другое не объектно-ориентированное. Так и следует мое высказывание понимать.ну если из html сразу в sql, то и правда никакой бизнес логики и не нужно!
кстати, а для кого придумали такие технологии, как EJB? для криворуких программеров?
кстати, а для кого придумали такие технологии, как EJB? для криворуких программеров?тож интересен ответ на этот вопрос
ни разу EJB не встречал в вебе
ни разу EJB не встречал в вебе?
weblogic, websphere?
Монстроидально (особенно тяжко до появления Java EE 5) и дорого. Интересно, применяет это кто нибудь для веб сайтов осознанно, а не вследствие откатов/идиотских корп. стандартов и т п?
"по сути объектный" - JS разрешает использовать объекты и активно работает с объеками - элементами страницы в объкетном стиле.jcript по сути объектный (хотя надо быть хакером, чтобы умело этой объектностью оперировать).что тут имеется ввиду?
"надо быть хакером" - ну, к примеру, на днях узнал, как реализовать наследование собсвенных классов; варварство, на мой взгляд (способ описан в книге Закаса)
Хакером быть не надо, надо просто понимать, что ООП в JS отличается от ООП, скажем, в Java. Например, в JS не бывает классов!
ты имеешь в виду серчи, репорты?
Нет. Реляционная алгебра это то чем занимается БД.
как ты себе представляешь работу этого демона?
Все гораздо хуже: я такие демоны писал :-(
Интересно, применяет это кто нибудь для веб сайтов осознанно, а не вследствие откатов/идиотских корп. стандартов и т п?ты какие сайты имеешь в виду? насколько я понял из первых сообщений, топик про веб приложения в целом, а не только про сайты типа хоумпейдж
Все гораздо хуже: я такие демоны писал :-(так расскажи о своем опыте! а то обсуждение получается бессмысленным
По моему мнению ниша Java - это в основном корпоративные веб-приложения. Они как правило недоступны широкой публике, работают в интранет сети компании, внешне они часто мимикрируют под GUI толстого клиента. Корпоративных пользователей особо не спрашивают, удобно им работать в приложении или нет, часто бывает, что в составе команды разработчиков нет специалистов по дизайну интерфейсов, юзабилити. Поэтому корпоративные веб-приложения на Java славятся своим неудобством.
Больших публичных сайтов, построенных на Java, я почти не знаю, вот разве что одноклассники и hh.ru с ходу вспоминаются. И то в одноклассниках, от j2ee одни JSP да сервлеты вроде.
про использование J2EE как прерогатива корпоративных сайтов - довольно очевидное наблюдение. не будет же Вася пупкин покупать application server, oracle, тратить кучу денег на java и oracle разработчиков (которые вроде как одни из самых дорогих в отрасли он пойдет другим путем - наймет php программера, который быстро соберет сайт, "отлично" работающий на любом хостинге. это ты имел в виду под монстроидальностью? какие цели, такие и методы. но уровень "хоумпейджей" (утрировано) довольно забавно смотрится с высоты корпоративных сайтов (я имею в виду задачи, которые приходится решать). как и спор про применимость ООП
Однако, программисты старой закалки, пронаблюдавшие смену не одного уже поколения технологий, утверждают, что технологии - это тоже своего рода индустрия. И возможно в чем-то они правы
Расскажи зачем Oracle и Application Server корпоративному сайту :-)
Расскажи зачем Oracle и Application Server корпоративному сайту :-)допустим ради масштабируемости, и возможности применять готовые решения
из твоих двух постов прямо напрашивается вывод - "монстроидальность" эквивалентно "плохой юзабилити"Нет конечно, я не имел этого в виду. Просто поздно уже, поэтому я несколько сумбурно излагаю, увы.
не будет же Вася пупкин покупать application server, oracle, тратить кучу денег на java и oracle разработчиковВася Пупкин тут не при чем. Я же уже сказал, что странички "я и моя собака" я не рассматриваю. Тут речь о том, что для создания больших, посещаемых сайтов, люди почему-то редко выбирают j2ee. Люди делают весьма серьезные вещи на (PHP|python|ruby)/(mysql|postresql)/memcached/(apache|nginx без всяких вебсфер и оракла. Проблема с тяжестью JEE аппсерверов реально существует, она давно осознана самим Java-сообществом. По этому поводу написаны книги, например J2EE Development without EJB, придуманы и получили большую популярность Hibernate/Spring и подобное. Презрение к PHP совершенно непонятно, дело ведь совсем не в нем. Там куча технических проблем возникает при большой посещаемости, которые не очень зависят от используемого языка/стека технологий. И еще, да, джавщики дороги нынче, но и пхпешник, способный заставить нагруженный сайт "взлететь" тоже дорого стоит, подороже многих джавщиков, я бы сказал.
З. Ы Я тут выступаю адвокатом дьявола, при том, что профессионально (= за деньги) занимаюсь именно явой/орацле, теми самыми корпоративными приложениями.
Расскажи зачем Oracle и Application Server корпоративному сайту :-)у меня серьезное подозрение, что твое понятие "корпоративный сайт" я классифицировал как хоумпейдж =)
я тебе могу аналогичный по свойству вопрос задать "зачем вообще нужна БД?"
Люди делают весьма серьезные вещи на (PHP|python|ruby)/(mysql|postresql)/memcached/(apache|nginx без всяких вебсфер и ораклаимхо, это потому, что серьезные вещи - они нестандартные, поэтому понятно, что никаких преимуществ от использования стандартных кубиков они не получают.
корпоративные же порталы - обычно довольно стандартная вещь, и как раз удобно использовать стандартный конструктор.
Какая такая особенная масштабируемость у Оракла по сравнению с PostgreSQL? Какая реальная нагрузка у корпоративных сайтов? Чего умеет такого особенного этот сервер и чем не устраивают человеческие фрэймворки? Тот же джанго, например?
и понятно, что у них есть и желание, и деньги - взять и сделать решение, которое максимально подходит под их задачи, только из-за того, что если они на 10% лучше сделают сайт, то они же на эти 10% получат больше денег.
или возьмем какую-нибудь аптечную сеть: у них есть задача как-то автоматизировать их бизнес-процессы, под которые они разрабатывают корпоративный портал.
и здесь желание обратное, взять по максимуму стандартное, и по фигу на оптимимальность решения задачи, т.к. улучшение оптимальности сайта на 10% в лучшем случае принесет улучшение на 0.1% прибыли.
а вот стандартность наоборот окупается, т.к. уменьшаются риски и стоимость решения задач.
Какая такая особенная масштабируемость у Оракла по сравнению с PostgreSQL?Глупый вопрос. Поставь какую-нибудь банковскую систему на Постгрес - сразу узнаешь.
Какая такая особенная масштабируемость у Оракла по сравнению с PostgreSQL?кластер я из postgresql могу сделать? что мне для этого надо сделать?
или другими словами, что надо будет сделать, если перестанет справляться существующая железка при использовании PostgreSql?
Глупый ответ
Какой банк разрешит такие эксперименты для удовольствия?
Какая такая особенная масштабируемость у Оракла по сравнению с PostgreSQL? Какая реальная нагрузка у корпоративных сайтов?за это уже можно банить по понятным причинам
ты хочешь техническое сравнение Oracle и Postgres? А ты просто попробуй продать корпорации решение на Postgres и ты сразу поймешь разницу
1. Вообще разговор про мегасайты это реакция на пост vdv, содержащий фразу про домашнюю страничку. Т. е я хотел сказать, что аргумент "не нужна Java => наверное это домашняя страничка" не прокатывает, т. к множество крупных нагруженных сайтов обходятся без Java прекрасно.
2. Про сборку из готовых кубиков я все понимаю, как никак мне примерно за это зарплату платят. Т. е я согласен с тем, что где есть польза от сборки из кубиков, надо их использовать. Я только хотел сказать, что кубики "взрослых" аппсерверов зачастую совершенно неадекванты решаемой задаче, а их (сервера) по разным нетехническим причинам все равно применяют, несмотря на наличие более легких вариантов.
кластер я из postgresql могу сделать? что мне для этого надо сделать?
Можешь, надо доки почитать.
или другими словами, что надо будет сделать, если перестанет справляться существующая железка при использовании PostgreSql?
Почитать доки.
Я правильно понимаю что жаберы на РИТ и HighLoad не ходят, и при этом всё знают про Oracle и нагрузки?
В общем, я понял, что тут получается, в треде присутствуют люди из двух миров. Мир корпоративных приложений, это наверное , , ну и я так примажусь. И мир веба, это как минимум и наверное еще найдется кто-то. "Запад есть Запад, Восток есть Восток<...>" (С).
их (сервера) по разным нетехническим причинам все равно применяют, несмотря на наличие более легких вариантов.так, да, потому что изучение этого более легкого варианта может быть и является оптимальным выбором, но риски, риски.
т.е. опять же ты говоришь, что стоило использовать более легкое и менее стандартные кубики ради оптимальности.
так вроде я как раз до этого убеждал, что корпоративным заказчикам не нужна оптимальность как таковая, им важнее надежность, прогнозируемость, безрисковость и т.д.
ты хочешь техническое сравнение Oracle и Postgres? А ты просто попробуй продать корпорации решение на Postgres и ты сразу поймешь разницуОтличное "техническое" сравнение
им важнее надежность, прогнозируемость, безрисковость и т.д.Угу, я же сказал уже, что понимаю тебя. Nobody ever got fired for buying IBM.
Можешь, надо доки почитать.вот видишь, надо какие-то доки читать, а про оракл мне все бесплатно на семинаре рассказали
разницу чуешь?
т.е. опять же ты предлагаешь рисковать, что-то где-то читать при этом без всяких гарантий, что я там найду ответ на тот вопрос который у меня был.
и всё это ради чего?
а про оракл мне все бесплатно на семинаре рассказалиНе ну ты б до абсурда не доводил все же. Или тебе на семинаре рассказали как RAC, к примеру настраивать и сопровождать? Бесплатно. Oracle это все же очень большая штука, так что ценность одного бесплатного семинара лично мне представляется сомнительной. Вспоминается абсолютно бестолковый доклад представителя Oracle на прошлогоднем хайлоаде.
Nobody ever got fired for buying IBM.Ещё ипотечные CDO с рейтингом ААА до определённого момента все покупали.
Не ну ты б до абсурда не доводил все же.я, конечно, утрирую.
но смысл в том, что если мне надо будет сделать кластер на оракле, то я, во-первых, знаю как примерно это делается, что оно умеет, что оно не умеет (да-да это мне на семинаре, в форуме, в журнале, в книжке рассказали и знаю где мне найти человека и сколько он стоит - который мне это сделает.
апологет же PostgreSql мне советует идти куда-то и где-то там самому читать документацию.
меня лично напрягает такая разница, и бизнес почему-то тоже.
и всё это ради чего?
Чтобы показать что корпоративные сайты строятся на Oracle и всяких EJB не из-за масштабируемости или скорости, а из-за требований бизнеса и низкой квалификации разработчиков =)
Как пример: последние полтора месяца собеседую я значится всяких челов. Если человек учит Java или C# его основной мотив "бабламало", если питон или ruby — "прогать интересно" ;-)
Отличное "техническое" сравнениене хочется спорить, сравнивая верхнюю часть айсберга и снежный холмик
в Postgres есть аналог PLSQL хотя бы? в postgres нету даже оператора connect by (правда, он доступен в кастрированом виде как расширение, но это уже о многом говорит)
сравни еще по фичам Oracle RAC и PgPool. "Это есть и в Postgres" - слишком оптимистичное высказывание
Ну PL/SQL - это же пипец! Там все типы данных с таким же названием, как типы полей в БД, специально сделали отличающимися? А в остальном - тот же Паскаль.
Ну PL/SQL - это же пипец! Там все типы данных с таким же названием, как типы полей в БД, специально сделали отличающимися? А в остальном - тот же Паскаль.можешь писать пэкиджы на жаве
я так и не разобрался в этой хренотне, на ней hello world слишком много места занимал
Я правильно понимаю что жаберы на РИТ и HighLoad не ходят, и при этом всё знают про Oracle и нагрузки?Бугога. Вообще-то я делал доклад на Highload-е, причем про Oracle. Большую часть конференции я откровенно ржал.
А на каком, на последнем или 2007?
в этом сентябре, называлось кажется РИТ:Высокие нагрузки
ты хочешь техническое сравнение Oracle и Postgres? А ты просто попробуй продать корпорации решение на Postgres и ты сразу поймешь разницуТут лучше не техническое, а эволюционное сравнение - PostgreS это Oracle где-то на уровне 80-х годов прошлого века MySQL, имхо, где-то ближе к 70-м годам
Если человек учит Java или C# его основной мотив "бабламало", если питон или ruby — "прогать интересно" ;-)И какой из этого можно сделать вывод? Лично я отвечаю "бабламало", потому что мало какая компания сможет предложить мне действительно интересную работу в области программирования. А сайты мастерить у нас каждый второй горазд.
Лично я отвечаю "бабламало", потому что мало какая компания сможет предложить мне действительно интересную работу в области программирования.Какой хитрый! Я вот отвечаю "эта работа мне не интересна". Чего-то я не понимаю в этой жизни
Я щас получаю 70 т.р. , ООП вообще не использую в вебе .
Будет инетерсено послушщать мнения тех кто, значет как увеличить свой доход, заюзав ООП.
Я щас получаю 70 т.р. , ООП вообще не использую в вебе .язык какой?
PHP5 AS2.0 JavaScript и пр х-ня
PHP5 AS2.0 JavaScript и пр х-няу меня есть пример перед глазами, что .net-чики больше получают (ООП используют)
Да человек вообще фигню сказал, по-моему. Перед глазами туча примеров не зависимо от технологий или языка. Но там и ООП не краеугольный камень. Надо - применяют. Не надо - не применяют. И все в вебе. А говорить, я вот ООП не использую и поэтому у меня такая большая писька - это инфантилизм.
Александр Горный не использует ООП и дослужился до технического директора!
Например, Я какбы тоже не вижу особого смысла в ООП в вебе, просто приводить в пример горнала - это странно. Давай тогда также проповедовать костыли и доводить системы до полного пиздеца - может до техдиров дослужимся (клёвое слово кстати).
А ты считаешь его адекватным ?Я какбы тоже не вижу особого смысла в ООП в вебе, просто приводить в пример горнала - это странно. Давай тогда также проповедовать костыли и доводить системы до полного пиздеца - может до техдиров дослужимся (клёвое слово кстати).да он иронизирует.
— это вроде инфернальный java-программист, автор тысяч строк энтерпрайз ооп быдлокода!
тысяч строк энтерпрайз ооп быдлокода!тысяча строк энтерпрайз ооп быдлокода - это мало, надо хотя бы миллион
мы же не обо всех java-энтерпрайз-быдлокодерах сейчас говорим.
Кстати, на заметку всем нам, java-быдло-неудачникам - Горный закончил ВМК с красным дипломом
Горный закончил ВМК с красным дипломомА я то думал ... отчего ж он так на пидорка то похож
у тебя типично мехматовские нахальные замашки. : DD
Оставить комментарий
IPlayImbaRace
Выскажите, пожалуйста, свои мысли по поводу объктно-ориентированного подхода при создании веб-приложений и просто сайтов. Где она оправдана, а где нет и почему? У кого какой опыт?