LINUX.ORG.RU

Написано однажды - работает везде


0

0

Уязвимость в плагинах фирмы Sun для запуска Java в большинстве браузеров и операционных системах могла позволить вирусу легко проникнуть на компьютеры под управлением Microsoft Windows and Linux.

Дыра была найдена финским специалистом по безопасности Jouko Pynnonen в июне, пропатчена в прошлом месяце, но детали не были опубликованы до сегодняшнего дня.

>>> Подробности

★★★★★

Проверено: Demetrio ()

Ответ на: комментарий от anonymous

>Не смешите. Вы хоть посмотрели что такое Hibernate?

С удовольствием выслушаю, что же это такое. Ответы типа круто и сам дурак не катят.

chucha ★★★☆
()
Ответ на: комментарий от chucha

>С удовольствием выслушаю, что же это такое. Ответы типа круто и сам дурак не катят.

http://www.hibernate.org

Вкратце, это средство ORM-mapping-а. Довольно шустрое, пользует (посредство сторонней библиотеки CGLIB) генерацию байт-кода в рантайме. Позволяет реализовать уровень сохранения данных практически прозрачно для бизнес-сущности (в отличие от, например, EJB Entity), поскольку использует компонентную модель POJO (Plain Old Java Object). Поддерживает довольно сложные механизмы соответствия объектов и таблиц. Напиимер: наследование, суб-объекты (вольный перевод, в оригинале components, но в другом смысле, чем в компонентно-ориентированном программировании), коллекции, ленивая загрузка полей и коллекций, генерация ключей (в том числе и с применением механизмов СУБД), и.т.д.

С технической точки зрения это выглядит очень просто. Пишется набор бизнес-сущностей, со всеми необходимыми связями. Без всякого упоминания о том как и где они будут сохранятся (но с соблюдением некоторых простых условий - в этом смысле сохраняемость не полностью прозрачная, но практически). Пишется код, использующий эти объекты. Пишутся отображения объектов на таблицы и код загрузки объектов с помощью Hibernate. Причем уровни бизнес-логики, бизнес-сущностей и сервис сохраняемости получаются по максимуму независимыми друг от друга.

P.S. Это на мой ламерский взгляд, я в общем-то не большой специалист :)

WFrag ★★★★
()
Ответ на: комментарий от Anode

>java на мой взгляд перехватила хлеб у Ada, которая захирела как раз в конце 90-х когда казалось бы должна была бы занять нишу энтерпрайз,

А вот с Ada - в лужу пернул приятель! нет ни одной хуйни, которая была бы сделана на Ada и из соображений "надёжности и верефикации" (даже смешно применять эти слова по отношению к жабе!) была переделана на жабе! Ada как применялась для разработки критически важных систем ( военных, авиации, систем с требованием повышенной надежности), систем реального времени и т.п. ( к стати для верификации в Ada есть стандартная муйня - ASIS - The Ada Semantic Interface Specification) а уж про realtime приложения под жабой можно вообще былобы слагать песни - ( типа поставили ляпню на жабе управлять атомным реактором - больше в деревне никто не живет ... )слава богу их НЕТ.

>но тут ещё вопрос цены разработки.

ЦЕНА НАДЕЖНОСТИ ВЫШЕ ЦЕНЫ РАЗРАБОТКИ В +БЕСКОНЕЧНОСТЬ РАЗ. Слава богу ДРУГИЕ люди (не фанатики) это пока понимают. А еще говорят - цена разработки на VB еще ниже ... а самая низкая на смолтоке. Хотя на VB народа сидит раз в 100...000 больше чем на последнем.

Жаба популярна по 3 причинам.

1) Очень легко сляпать очень дерьмовый код, который будет делать все что угодно (memory leak, неверно работать и т.п.) и тем неменее не упадет в корку. (это преподносится как "надежность" хе-хе меня прикалывает это слово особенно когда некоторые продвинутые жабисты типа жбосовцев активно применяют технологии, где считается нормальным МОДИФИЦИРОВАТЬ БАЙТ КОД В КЛАССЛЭУДЕРЕ ПРИ ЗАГРУЗКЕ КЛАССА Wow! шик!)

2) Хорошая и обширная библиотека. (так же не без дерьма внутри. к примеру взгляните как у них сортируется список - копируется в массив, который затем сортируется и затем все это заливается опять в список. ха-ха-ха. или итераторы, которые становятся невалидными при удалении элемента списка или map-а - в отличие от тогоже stl).

4) Активная рекламная компания, фришные средства разработки, куча хреновых сторонних библиотек и ОГРОМНАЯ КУЧА религиозных фанатов.

>Да, поводу J2EE:

Это несомненно плюс жабе. Самый простой стандарт для разработки многоуровневых приложений. ( среди CORBA и DCOM ) Однако последние существенно гибче, быстрее и менее ресурсоемки.

anonymous
()
Ответ на: комментарий от anonymous

>>Да, поводу J2EE:
>Это несомненно плюс жабе. Самый простой стандарт для разработки многоуровневых приложений. ( среди CORBA и DCOM ) Однако последние существенно гибче, быстрее и менее ресурсоемки.

Мальчик ты из какой дыры вылез ?
CORBA и DCOM - это РАСПРЕДЕЛЕННЫЕ приложения, и не обязательно многоуровневые ;-)
Можно с RMI сравнить, но не с J2EE...
А J2EE - это много чего.

ed ★★
()
Ответ на: комментарий от ed

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

я портировал жабу на одну платформу и имею представление что это такое и для чего. и какая скорость разработки. в общем то жаба годится только скорее для уровня мелких, суб-средних предприятий, это примерно то же чем был вижлбэйсик в 90е. никаких сильных сторон ни для какой области применения у жабы кроме простоты и уродливости языка я назвать не могу - кто нить может назвать ?
а вот про перл можно сказать, что это:
1) скорость разработки
2) скорость работы
3) высочайшая автоматизация обработки информации
4) удобная работа с нечёткими данными
возможно минусы это
1) уродливый синтаксис
2) скалабилити низкая
3) неоднозначности кода - тяжело читать большие коды
4) плохая интерактивность

vm ★★
()
Ответ на: комментарий от vm

>1) скорость разработки

За счет чего?

>2) скорость работы

Опять за, счет какого рода Dark Voodoo Magic? Интересуют места, где тормозит Java (и где не тормозит Perl). Устроит ответ типа: тормозит GC, вот тесты, вот время сборки мусора на крупном приложении, столько-то процентов, в случае с Perl это решено таким-то образом, и.т.д. А пока это треп.

WFrag ★★★★
()
Ответ на: комментарий от anonymous

>ЦЕНА НАДЕЖНОСТИ ВЫШЕ ЦЕНЫ РАЗРАБОТКИ В +БЕСКОНЕЧНОСТЬ РАЗ. Слава богу ДРУГИЕ люди (не фанатики) это пока понимают. А еще говорят - цена разработки на VB еще ниже ... а самая низкая на смолтоке. Хотя на VB народа сидит раз в 100...000 больше чем на последнем.

Упал, что ли? Даю шанс оправдаться - уточни круг задач. Не надо этого максимализма, пожайлуста. У каждого человека есть определенный кругозор. Когда он настолько мал, что сжимается в точку, человек с гордостью заявляет - "Это моя точка зрения!"

>Жаба популярна по 3 причинам.

>1) Очень легко сляпать очень дерьмовый код, который будет делать все что угодно (memory leak, неверно работать и т.п.) и тем неменее не упадет в корку. ...

Ну и что? Дерьмовых программистов везде хватает. Да, в случае с C++ их приложение даже не имело бы шанса быть запущенным, если бы постоянно валилось. В случае с Java - имеет такой шанс (покакивая stack trace-ами). Чем это плохо? Чем плохо, что кучка дятлов (под грамотным командованием) сможет за краткий срок и с сжатым бюджетом сделать хоть что-то работающее? Тебя это как-то задевает? Более того, самоуверенно скажу, что по моему скромному мнению, 95% программистов - именно эти самые дерьмовые программисты. И что, повеситься, что-ли? Приходится с этим считаться, этот мир к сожалению (или к счастью) не покрашен в черно-белый цвет.

>...(это преподносится как "надежность" хе-хе меня прикалывает это слово особенно когда некоторые продвинутые жабисты типа жбосовцев активно применяют технологии, где считается нормальным МОДИФИЦИРОВАТЬ БАЙТ КОД В КЛАССЛЭУДЕРЕ ПРИ ЗАГРУЗКЕ КЛАССА Wow! шик!)

Видишь ли, не знаю, что там модифицируют jboss-овцы, но в целом что ты имеешь против этого? Чем плоха модификация байт-кода при загрузке? Советую ознакомиться с основами АОП (если вдруг не знаком) и помедитировать, как это может быть использовано для связывания сервисов друг с другом (связывание сквозной функциональности). Вполне себе подход - если, конечно, грамотно реализован.

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

>2) Хорошая и обширная библиотека. (так же не без дерьма внутри. к примеру взгляните как у них сортируется список - копируется в массив, который затем сортируется и затем все это заливается опять в список. ха-ха-ха. или итераторы, которые становятся невалидными при удалении элемента списка или map-а - в отличие от тогоже stl).

К тому же, есть куча критериев по которым можно оценивать качество языка/платформы, и оценка по способу сортировки массива - лишь один их них. Ты просто не глядишь выше уровня сортировки массивов. Я не говорю, что это плохо, это просто твой взгляд. А мне похрен как она там сортируется, меня интересует насколько удобный у библиотеки контракт и насколько хорошо библиотека его реализует. Производительность до какой-то степени интересует - но не раньше того момента, когда она перестает меня устраивать.

Я предпочитаю действовать по принципу (возможно, в чем-то похожий на XP программирование) правки того кода, который нуждается в правке. В твоем понимании такой код будет дерьмовым, в моем понимании - код, который выполняет задачу. И если окажется, что завтра код перестанет удовлетворять требованиям (по производительности, по стоимости внесения изменений, и.т.д), я его перепишу. Но не раньше (на самом деле, небольшой обман - все таки, некоторую начальную архитектуру я продумываю заранее). Время юношеского максимализма, когда хотелось писать "идеальный" код, "быстрый" код, оптимизировать на ассемблере, увы, уже прошло (но быть может еще не совсем :) ).

>4) Активная рекламная компания, фришные средства разработки, куча хреновых сторонних библиотек и ОГРОМНАЯ КУЧА религиозных фанатов.

Знаешь, я как-то спокойно к фанатам отношусь. А вот фанатиков - не люблю ;)

Кстати, что мешает для других языков/платформ выпустить ту же кучу библиотек и фришных средств (ну для некоторых все же есть)?

>Это несомненно плюс жабе. Самый простой стандарт для разработки многоуровневых приложений. ( среди CORBA и DCOM ) Однако последние существенно гибче, быстрее и менее ресурсоемки.

Как-то интересно ты CORBA с J2EE сравнил. Если я не ошибаюсь, CORBA используется в стандарте J2EE, как один из способов доступа к EJB.

А вот с тем, что J2EE имеет массу недостатков, я согласен.

P.S. Цель этого топика - дать понять, что существуют и другие взгляды на мир и они, вообще-то, могут быть ничем не хуже твоих. Если Java - не твой выбор, так тому и быть.

WFrag ★★★★
()
Ответ на: комментарий от ed

>Мальчик ты из какой дыры вылез ?

из пизды. а ты из жепы? иди поучись чмо. посмотри хотябы на omg что такое CORBA. ато слышал звон. и про DCOM+ поучи. выпрыгивало мля.

anonymous
()
Ответ на: комментарий от Karapuz

>Эй, согласен быть бета-тестером! Сам хотел бы такую читалку написать, но знаний не хватает.

Пока что нет ничего, чем стоило бы гордиться, так, на уровне Proof Of Concept :)

WFrag ★★★★
()
Ответ на: комментарий от WFrag

>Даю шанс оправдаться -

мания величия?

>В случае с Java - имеет такой шанс (покакивая stack trace-ами). Чем это плохо?

пожоже здесь просто неочем разговаривать...

>CORBA используется в стандарте J2EE, как один из способов доступа к EJB.

спасибо. я долго смеялся.

ps: меня просто поражает лоровский контингент где всегда готовы поговорить о том, в чем ни ухом не рылом.

anonymous
()
Ответ на: комментарий от anonymous

>мания величия?

Ага, есть немного. Это как-то опровергает мое утверждение?

>пожоже здесь просто неочем разговаривать...

Смотри выше. Еще раз повторяю, уточни круг задач. Не надо этого идеализма. Я что, зря тебе про дерьмовых программистов расписывал? Или ты что-то непонял? Так не стесняйся, уточняй. А то, значит, выдрал пару фраз, говна, извиняюсь, накидал в ответ - и доволен. Орел!

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

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

>>CORBA используется в стандарте J2EE, как один из способов доступа к EJB.

>спасибо. я долго смеялся.

Ну я криво выразился. Я имел ввиду, что EJB предлагает маппинг на CORBA протокол. Хотя, это не в тему получается :) В общем, идея была, что CORBA немного меньше предлагает, чем J2EE. Ну хорошо, я в CORBA, как ты уже сказал, не силен. Давай аргументировано, что гибче, где мощнее, и.т.д.

>ps: меня просто поражает лоровский контингент где всегда готовы поговорить о том, в чем ни ухом не рылом.

Ну-ну. В чужом глазу соринку видно, а в своем бревно не замечаешь?

WFrag ★★★★
()
Ответ на: комментарий от anonymous

А что ты так бурно реагируеш ? Я что угадал, ты еще мальчик :)

> ато слышал звон.
Звон у тебя в ушах стоит, ты даже в терминалогии путаешся. CCM и CORBA далеко не одно и тоже, так же как DCOM и DCOM+ (во втором посте откуда то возник "+", хотя раньше его небыло, а правильно это назывется просто COM+).
И даже CCM и COM+ с J2EE сравнивать не корректно, почитай что такое J2EE и может поймеш почему.

Можно сравнивать:
RMI vs CORBA vs DCOM
EJB vs CCM vs COM+ (явно не в ползу последних, учитывая тяжесть CCM и ограниченность COM+)

А сравнить J2EE с CORBA и DCOM мог только большой специалист из дет. сада вроде тебя.

>>CORBA используется в стандарте J2EE, как один из способов доступа к EJB.
>спасибо. я долго смеялся.
над сабой, после прочтения http://java.sun.com/j2ee/corba/ и http://www.jboss.org/developers/projects/jboss/IIOP ;-)

> ps: меня просто поражает лоровский контингент где всегда готовы поговорить о том, в чем ни ухом не рылом
ты яркий пример ;-)










ed ★★
()
Ответ на: комментарий от anonymous

В догонку о надежности:

> ЦЕНА НАДЕЖНОСТИ ВЫШЕ ЦЕНЫ РАЗРАБОТКИ В +БЕСКОНЕЧНОСТЬ РАЗ.
> Очень легко сляпать очень дерьмовый код, который будет делать все что угодно (memory leak, неверно работать и т.п.) и тем неменее не упадет в корку.

Ну допустим есть С++ CCM компонент, работает он в адресном пространстве CCM AS (иначе о какой производительности можно говорить :), компонент пользует некоторую библиотеку для парсинга XML и вот в некоторой сессии, некоторым тредом компонент пытается распарсить, этой библиотекой, кривой XML и падает (ну идеального софта не бывает, спорить глупо), причем падает весь AS целеком с еще парой сотен не в чем не повинных сессий и тредов :(
Знаеш куда тебе закащик 24x7 сервиса эту корку засунит ?)
Про memory-leak сам догадайся.

Угадай что будет в такой "ненадежной" джаве, и еще NullPointerException никто не отменял так что дерьмовый код далеко не уедит.

Что ты там про byte-code бормотал ?

ed ★★
()
Ответ на: комментарий от vm

> я портировал жабу на одну платформу
что вы портировали ? подробней pls...

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

> это примерно то же чем был вижлбэйсик в 90е
:| что то не замечал особой популярности джавы на десктопе, так же как VB на серверах

> никаких сильных сторон ни для какой области применения у жабы кроме простоты и уродливости языка
уродливости ? вам нравится begin/end или обязательные отступы перед блоком ?)

> я назвать не могу - кто нить может назвать ?
1) ООП до мозга кости (включая библиотеки) -- сильно полезно в сожных проектах
2) строгая типизация -- как ни странно экономит больще времени при тестировании, чем добавляет занудства при кодировании
3) грамотная обработка ошибок (включая библиотеки) -- еще долее полезно в сожных проектах
4) отличные бесплатные средства разработки (некоторые с удобным рефакторингом) -- очень полезно в любых проектах
5) огромный выбор библиотек на все случаи жизни
6) скорость -- http://www.shudo.net/jit/perf/
Со всем этим, исключая пункт 5 у perl-а нелады

> 1) скорость разработки
> 3) неоднозначности кода - тяжело читать большие коды

разве эти пункты не противоречивы ?) хотя небольшие скрипты на перле писать быстро и удобно.

> 2) скорость работы
скорее только скорость запуска

ed ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.