Как стать автором
Обновить
202.21

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Как Sun спонсирует open source, часть вторая. NetBeans Innovators grant

Время на прочтение3 мин
Количество просмотров769
Этой весной Sun вложил 1.000.000$ в развитие open-sourсe. Наша команда так же выставила на суд жюри свой проект.
image image
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии15

Как Sun спонсирует open source, часть первая

Время на прочтение3 мин
Количество просмотров945
Этой весной Sun вложилась в open source. Было выделено 1.000.000 долларов США на стимуляцию оупенсорсной активности. Несмотря на относительную (легкая ирония) свежесть новости, я, как непосредственный участник событий, освещу несправедливо обделенную вниманием тему.




Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии68

тиражируемые решения

Время на прочтение3 мин
Количество просмотров2K
Т.З. примерно следующее — необходимо иметь некоторый «быстрый старт» для приложений с стандартным функционалом. Дополнительным (и самым «заковыристым») условием является то, что этот стандартный функционал необходимо иметь возможность изменять самым невероятным образом, вплоть до полного отключения и замены своим (специфичным для данного приложения) кодом.

Приведу жизненный пример: есть необходимость делать ОЧЕНЬ похожие приложения. Например интернет-магазины, которые построены на примерно одинаковых схемах данных, бизнес-процессах и тп. Т.е. функционал любого из магазинов примерно идентичен, различается только view слой.

Однако в одном из магазинов цена формируется не из таблицы Prices, а получается по более сложной схеме из хранимой процедуры.

Собственно задача такая — как уменьшить «повторяемость кода» (т.е. отойти от monkey-patching-а) и при этом не потерять полный контроль над кодом.
Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии52

Класс Money

Время на прочтение7 мин
Количество просмотров19K
Множество приложений оперирует деньгами, но в большинстве языков программирования, в том числе и в Java, нет стандартного класса Money. Многие просто хранят денежные величины в переменный с плавающей точкой, но это плохое решение, так как всегда возникают проблемы с округлением, которые приходится каждый раз решать по-разному. Кроме того, деньги могут измеряться в разных величинах (рублях, долларах, евро и других). Нельзя складывать или сравнивать евро с рублями — это неминуемо вызовет ошибку в результате.
Читать дальше →
Всего голосов 40: ↑27 и ↓13+14
Комментарии50

Истории

Java — это просто! Java и SNMP

Время на прочтение3 мин
Количество просмотров21K
Посмотрел я на не слишком объемный блог JAVA и решил, что нужно поднимать его рейтинг. К тому же многие хабрики жалуются, что «хабр уже не тот». Возникла идея написать серию статей, продвигающих идею, что JAVA — это легко! Работаю я в среде интеграторов (берем готовые «жирные» системы, связываем в единый комплекс и продаем), и частенько возникает ситуация, когда что-то невозможно решить средствами интегрируемых систем. Тогда коллеги напрявляют прожектор в ночное небо и я иду им на помощь :). Поэтому частенько приходится использовать java в разных аспектах. Начнем с работы с SNMP. Протокол SNMP используется для управления сетью.
подробности
Всего голосов 11: ↑9 и ↓2+7
Комментарии7

Caucho Resin — сервер приложений Java/PHP

Время на прочтение6 мин
Количество просмотров6.5K
Для приложений Java, я имею ввиду, веб-приложений, существует уже достаточное количество серверов, которые уже давно разрабатываются и давно вышли на уровень, достаточный для того, чтобы применять их в самых сложных и ответственных случаях. Думаю, всем знают Apache Tomcat и Jetty — самые известные сервера из списка открытых разработок. Но к этому списку нужно добавить теперь еще и Caucho Resin. В ряде тестов его Pro версия превосходит в производительности Tomcat 6, обладая при этом рядом возможностей «из коробки», которых нет в других серверах или они реализуются при помощи сторонних средств.

И так, Resin — высокопроизводительный HTTP и сервер приложений для Java/PHP приложений, с возможностью масштабироваться и кластеризироваться в начальной конфигурации. Кстати, именно в этом состоит различие между обычной, open-source версией и Pro. В этой версии есть функции автоматического детектирования остановившихся или зависших сессий и рестарта сервера, а также средства мониторинга состояния JVM и потребления памяти. Кластеризация позволяет распределить нагрузку на несколько серверов, при этом сессии будут привязаны к конкретному серверу и мигрируют в фоновом режиме при крахе обслуживающей его ноды. Об этом стоит как то поговорить отдельно, возможно, в отдельной статье — я собираюсь плотно занятся изучением этого сервера и его возможностей, а результат буду публиковать в виде статей.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии8

JavaFX -> дипломная работа забугорного студента. Сравнение JavaFX и конкурентов

Время на прочтение1 мин
Количество просмотров5K
Rich Internet Applications (RIA): A Convergence of User Interface Paradigms of Web and Desktop — Exemplified by JavaFX

Занятная работа, автор сравнивает AJAX, SilverLight, JavaFX, Flash, вполне адекватно оценивая минусы и плюсы технологий. Основной упор работы делается на JavaFX. Я буду писать диссер, моим основным инструментом как раз будет новая плюшка Сана.

Если вы не знакомы с JavaFX, эта работа введет вас в курс дела (4ая и 5ая главы), если вы уже познакомились — неплохая пища для ума. С весны, когда был первый анонс JavaFX, я слежу за развитием проекта, с первого превью релиза для разработчиков, я стал плотно изучать JavaFX.
Вещь, конечно, толковая. Кодить анимацию (моя первостепенная задача) — сплошное удовольствие. Триггеры и бинды в сто раз удобнее, чем листенеры и евенты, живущие в конексте Джавы. Кода в разы меньше, хотя он не такой читаемый (мое мнение), как Джава-код. Отсутствие Джавадока расстраивает. Бесспорно, JavaFX, основанный на Java2D и Swing'e, ничего нового не несет, т.к. триггеры и бинды — это интерпретация евентов и листенеров. основная задача — выделить в отдельный поток работу с гуями и графикой. По правде говоря, у Джавы богатые возможности в этих областях, но кода приходится писать столько, что пальцы начинают ныть еще до создания проекта.
Больше всего меня смущает очередная попытка Сана пропихнуть свои апплеты. Если деcктопные приложения на Джаве работают очень-очень неплохо, я бы не сказал, что они в чем-то уступают .NET'овским приложениям в скорости работы, то апплеты это тихий ужас. Видел я как-то мега-гига апплет к IBM WCM, у меня на глаза навернулись слезы.
Если есть какие-то комменты-вопросы, давайте их обсудим.
Рекомендую не оставить без внимания работу Флориана (см ссылку выше) и ознакомиться с ней.
Всего голосов 13: ↑10 и ↓3+7
Комментарии26

Склонение существительных с числительными

Время на прочтение3 мин
Количество просмотров35K
В английском языке все просто: 1 year, 2 years ,… N years
«Русская языка» такая сложная, что в ней существительные после числительных иногда бывают в причудливых формах. Например, 0 лет, 1 год, 2 года, 3 года, 4 года, 5 лет, ..., 11 лет, 12 лет, .., 21 год.

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии20

JSF + DynamicFaces = AJAX

Время на прочтение3 мин
Количество просмотров5.7K
Кратко о JSF

JSF — компонентный MVC фреймворк для веб-приложений на java. Основная его задача — упростить разработку интерфейса и связывание его с серверной частью. JSF содержит валидаторы и конвертеры, также вы можете добавить свои компоненты и изменять существующие.
О JSF подробнее здесь (на русском) и здесь (на английском).

Так что же такое Dynamic Faces? Это библиотека для добавления динамики в jsf-приложения. Самое большое преимущество этой библиотеки в том, что DF не требует модифицировать компоненты или переписывать что-то в приложении, чтобы добавить Ajax.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Copy/paste функциональность между Swing's JTables и Excel

Время на прочтение9 мин
Количество просмотров3.6K
От переводчика: данный перевод просто проба пера. Буду очень благодарен за все замечания. Надеюсь на вашу помощь в приведении этой статьи к литературному виду. Вот только небольшой список того, чтобы я хотел исправить в данной статье:
  • сделать статью более «русской», а не просто набором переведённых слов.


Многие бизнес приложения разрабатываются с использованием Java. Большинство из них отображают данные в виде таблиц используя Swing JTable. Было бы очень удобно иметь возможность копировать и вставлять данные из данного приложения в Microsoft Excel и обратно. Таким образом пользователи смогли бы воспользоваться всей мощью этой вездесущей программы.

Данный Java совет поможет понять принцип формируемой Excel строки, помещаемой в системный буфера обмена, позволит добиться copy/paste функциональности при взаимодействии JTable и Excel. Как вы увидите далее, этот совет законченный и позволяет добиться желаемого результата буквально дописав одну строчку кода.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии2

Java World

Время на прочтение5 мин
Количество просмотров4.6K


Недавно на Хабре был топик про спонсирование Apache компанией Microsoft. Но то ли автор не доконца разобрался в теме, то ли новостной ресурс, ссылка на который была представленна: в общем, сложилось впечатление, что MS спонсирует разработку Web-сервера Apache. На самом же деле Microsoft спонсировал Apache Software Foundation, которая состоит из многих проектов, и как стало известно из блога Microsoft, спонсируют и используют они не только, и не сколько Web-сервер:

«It is a strong endorsement of The Apache Way, and opens a new chapter in our relationship with the ASF. We have worked with Apache POI, Apache Axis2, Jakarta, and other projects in the last year, and we will continue our technical support and interoperability testing work for this open source software.»

К сожалению, на Хабре не так много постов о Java, поэтому в этом я постораюсь рассказать о многих важных и интересных уголках Java мира, а заодно расскажу что же это за загадачные Apache POI & Axis2.

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии20

Основы Hibernate

Время на прочтение17 мин
Количество просмотров434K


Хочу начать со слов благодарности тому человеку, который мне вчера накинул кармы, позволив этим писать мне в персональный блог.

Долго думал, о чем же написать свой «первый» топик… Слово первый не зря взял в кавычки, так как первый топик на самом деле уже был, опыт был к сожалению неудачный — дело закончилось баном.  Решил больше не копипастить. Уверенности тому, что надо написать что-то свое, придал вот этот топик. Решил твердо — пусть это будет и редко, но буду писать сам.

Ну, едем дальше!

Совсем недавно, по роду свой деятельности, мне пришлось столкнуться с таким понятием как ORM — (англ. Object-relational mapping). В двух словах ORM — это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Именно объектов, таких, какие они есть, со всеми полями, значениями, отношениями м/у друг другом.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии112

Множественные критические уязвимости в Sun Java JDK / JRE

Время на прочтение2 мин
Количество просмотров2K
Несколько критических уязвимостей были зарегистрированы в Sun Java, которые могут быть использованы в злоумышленных целях, для обхода определенных ограничений безопасности, раскрытия информации о системе или потенциально секретной информации, вызвать DoS (отказ в обслуживании) или компрометировать уязвимую систему.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии22

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Java разработчикам стоит учить Ruby

Время на прочтение3 мин
Количество просмотров11K
Хорошо, это может быть не Ruby. Выберите какой-нибудь другой язык. Выберите Erlang или даже Javascript.
Не важно — главное, чтобы он отличался от Java, и его изучение потребовало бы некоторых усилий.
Это поможет вам быть готовым к усвоению нового.

Зачем? Потому что изучение других языков сделает вас лучше, как Java разработчика. Серьезно.
Читать дальше →
Всего голосов 43: ↑35 и ↓8+27
Комментарии119

Создаем портлетное приложение по JSR286, часть первая

Время на прочтение9 мин
Количество просмотров2.6K

Цель

Приобщиться к портальным технологиям, исследовать возможности, которые дает спецификация JSR286

План работ

1. Создать проект
2. Создать настройки портлета, вывести их на страницу портала

3. Сохранить настройки, проверять настройки валидатором
4. Создать режим просмотра, зависящий от настроек портлета
5. Генерировать и обрабатывать события в рамках одного портлетного приложения.

Я уже писал раньше о том, как активно развивается спецификация JSR286, как Sun один за одним клепает версии порталов, пичкая их разными вкусностями. После выхода в свободное плавание GlassFish, являющегося прямым родственником Sun Java system Server, стоит ожидать, что свободному сообществу отдадут ветку портала, который, как я писал раньше, сейчас мало чем уступает порталу от IBM. Надо внимательно присмотреться к портлетам и тем бонусам, которые появляются при их использовании. О ложках дёгтя тоже збаыать не будем.
И так, приступим
Всего голосов 6: ↑6 и ↓0+6
Комментарии5

JBoss представил очередные версии JBoss Tools и JBoss Developer Studio

Время на прочтение2 мин
Количество просмотров4.1K
По просьбе MichaelSorokin.

Компания JBoss, подразделение Red Hat, сообщила о выпуске двух продуктов, ориентированных на разработку J2EE приложений: коммерческую JBoss Developer Studio и open source JBoss Tools.

Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Недокументированная возможность в WebSphere Portal 5.1 (общая сессия для портлета и сервлета)

Время на прочтение2 мин
Количество просмотров1.2K

Была следующая задача:

написать портлет, который отображает график отчета, хранящегося в Когносе. Отчет Когноса может строиться очень и очень долго, от нескольких секунд до 20.
Заставлять ждать пользователя столько времени — ужасное решение.
Что же делать?
Всего голосов 2: ↑2 и ↓0+2
Комментарии5

Что умеет и имеет Sun Java System Portal 7.1

Время на прочтение6 мин
Количество просмотров2.1K
Это статья является переводом — компиляцией нескольких доков по порталу. Я добавил сравнение в самым крутым портальным сервером — IBM WebSphere Portal
Посмотрим, что там есть!
Всего голосов 3: ↑3 и ↓0+3
Комментарии10

Установка Sun System Portal Server 7.1 update 1 на Windows 2003

Время на прочтение2 мин
Количество просмотров1.4K
По просьбам трудящихся, пишу как установить портал на винду. К сожалению, я не осилил следующую проблему — как продеплоить сэмплы на портал, как запустить болг-портлет, вики-портлет и т.д. Исходя из логов, я пришел к выводу, что хардкод путей к файлам в билдовых скриптах не позволяет установить примеры и развернуть существующий функционал.
Тем не менее, портал ставится и работает.
Как я и обещал, через несколько дней будут готовы примеры портлетиков (через неделю диплом сдаю, пришлось отложить написание портлетов на «последипломие»). Затем поставлю портал 7.2 на линух и начну его ковырять.
И все-таки он встает
Всего голосов 4: ↑2 и ↓20
Комментарии4

Как я сходил на семинар по JSF

Время на прочтение5 мин
Количество просмотров3.3K
Семинар Ajax и Java Server Faces — новые уровни технологий Java.
Краткий отчет.
Небольшой опус, повествующий о событиях 24 апреля, 2008 года. Прочитав опус, вы узнаете о том, как подружились Java SE версии 6 и веб-сервисы, прочете пару строчек про JSF, капелюшечку про JAX, и просто мои мысли вслух.

24 апреля мне посчастливилось попасть на семинар, посвященный JSF в целом и JSF+AJAX в частности.
Скажу сразу: по техническим причинам мне не удалось полностью прослушать лекции.
А что же там такое было?
Всего голосов 6: ↑4 и ↓2+2
Комментарии5

Вклад авторов

Работа

Java разработчик
395 вакансий