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

Java *

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

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

Вышло долгожданное обновление Velocity: шаблонить стало немного проще

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

Обзор новых возможностей шаблонного движка


Первого декабря 2008 г. Apache объявила о выпуске новой версии давно не обновлявшегося шаблонного движка Velocity, за номером 1.6, а еще двумя неделями позже появился апдейт со свежими фиксами, Velocity Engine 1.6.1. Те, кто используют Velocity в своих проектах, будут рады узнать о новых возможностях, появившихся в новой версии. Те же, кто Velocity не используют, возможно, откроют для себя новый полезный инструмент.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии12

JavaFX — «пластилиновая ворона»

Время на прочтение2 мин
Количество просмотров3.4K
Как уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии34

Processing

Время на прочтение1 мин
Количество просмотров3.3K
Sun недавно выпустила JavaFX, от которого я далеко не под впечатлением, ведь я видел, на что в действительности способна Java в плане визуализации. А видели ли вы?
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии8

Официальный релиз JavaFX

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


Всем привет! Как-то тут на хабре мимо прошла новость, что 4 декабря вышел долгожданный официальный релиз JavaFX. Напомню, что JavaFX — это семейство продуктов для разработки многофункциональных Интернет приложений (rich internet applications) с мощной поддержкой для мультимедиа и разнообразного информационного наполнения. JavaFX является прямым конкурентом таких технологий как Flash и Silverlight.

Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии44

Истории

Основы портлетов

Время на прочтение24 мин
Количество просмотров31K
Привет хабралюди! Сегодня я хочу рассказать об одной интересной технологии, с которой познакомился совсем недавно — это технология портлетов. Хотя на хабре уже есть пара упоминаний о портлетах, но там ничего внятного я не нашел. Поэтому решил написать свою статью, где хочу показать на практике как программировать портлеты. При этом попутно вставляя какие-то теоретические сведения. А принимая во внимание, то, что документации на русском крайне мало, то рассказать об этом хочется вдвойне :)
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии70

TeamCity 4.0 released

Время на прочтение2 мин
Количество просмотров11K
Что такое TeamCity? TeamCity — это, говоря научно-занудным языком, интегрированная среда, которая повышает эффективность групповой разработки, беря на себя такие рутинные действия как сборка билдов, запуск и анализ тестов, а так же анализ исходного кода (инспекции, поиск дубликатов и т.д.) Посмотрев на картинку многое станет понятным:
image
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии37

Работа с get-запросами в JSF

Время на прочтение4 мин
Количество просмотров3.7K
Как известно JSF умеет работать только с post-запросами, однако существет метод, который позволяет разбирать и get.

Делается это примерно так:
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

В обход J2EE или обзор Tapestry 5 фреймворка на примере блога

Время на прочтение2 мин
Количество просмотров5.4K
Здесь публикую только вступление к статье (скорее мини-книги). Остальная часть доступна здесь.

Два года назад (2006 год) искал альтернативу PHP и своим MVC велосипедам. В то время на PHP только-только начинали появляться профессиональные фреймворки (например, релиза Zend Framework так и не дождался), пришла мода на RubyOnRails, что-то слышал о Django. Подавшись моде изучил пару книжек по RoR, но в итоге не стал связываться с Ruby, видимо остановило отличие синтаксиса от С подобных языков. Как вариант, рассматривал создание веба на С++, но посмотрев имеющиеся фреймворки — передумал. Выбирать было нечего, поэтому выбор пал на Java — технологией где-то между PHP и С++.

J2EE оказалась слишком запутанной для новичка. PHP программисту в новинку было столкнуться с десятком фреймворков, которые навязывают для создания веба на J2EE. Сервлеты, портлеты, JMS, RMI, EJB, JSP, JSF — чего там только не было! Но затем узнал об альтернативах J2EE типа Spring.

До Spring так и не дошел, почему-то показалось, что по сложности он был на уровне J2EE. Остановился на Tapestry4. Этот фреймворк сравнивали с JSF — одной из технологий J2EE для представления веба. Через Tapestry4 впервые узнал об IoC движках (в моём случае был HiveMind). Попозже узнал о Wicket позволяющий делать представление веба не хуже, чем в Tapestry4. Но затем вышла альфа версия Tapestry5, на которой окончательно остановился.

В Tapestry5 понравилось множество вещей. Во-первых, конфигурация фреймворка выполняется через аннотации — XML конфигурация сведена к минимуму. Во-вторых, динамически подхватываются изменения в шаблонах и коде, без перезагрузки контейнера сервлетов — основная проблема J2EE и других Java фреймворков. Правда работает это только для кода, про который знает Tapestry5 (компонеты, страницы и еще кое-что), но и это не плохо. И в-третьих, грамотный ООП подход, простота и наличие собственного IoC движка.

Для работы с базой данных решил использовать ORM Hibernate. Думаю это самая мощная opensource ORM из существующих в настоящее время, поэтому выбор был очевиден. А появление HibernateSearch, HibernateValidator, HibernateAnnotations — окончательно укрепили решение продолжать работать с Java без оглядки в сторону Python с Django.

За 2007-2008 года Tapestry5 была в альфе и API разработчика постоянно менялось, поэтому приходилось изучать код. С одной стороны потерял время, но с другой изучил лучше фреймворк. Накопился опыт, которым есть желание поделиться на примере разработки небольшого блога.

Исходники проекта доступны здесь. В работе можно посмотреть здесь. Для входа в панель управления логин admin и пароль admin.
Всего голосов 33: ↑23 и ↓10+13
Комментарии66

Технология JavaFX RIA почти готова к выпуску

Время на прочтение2 мин
Количество просмотров1.6K
Технология компании Sun Microsystems JavaFX RIA (rich Internet application) почти готова к выходу.
Демонстрируя платформу для приложений, основанной на Java (компоненты на основе скриптов и runtime-система для десктопов и мобильных устройств) – JavaFX, Sun официально заявила что это дает компании возможность входа на рынок, представленный Adobe Systems с Flash и Microsoft с Silverlight. Поставки базовой JavaFX-платформы для десктопов запланированы на конец этого года.

«Мы можем показать JavaFX в действии уже сегодня и мы весьма близки к поставкам конечного продукта», сказал Eric Klein, Sun vice president for Java marketing.

Sun официально продемонстрировала запуск JavaFX на примере работы с видео, где была показана возможность осуществления drag'n'drop видео за пределы браузера, на десктоп. С JavaFX пользовали получат единую платформу, связывая возможности браузеров и десктопов воедино, в отличие от Adobe, которая предоставляет Flash для браузеров и AIR (Adobe Integrated Runtime) для десктопов.

«Здесь, в одном environment мы сохраним время, усилия и деньги разработчиков, потому что им не нужно будет учить допольнительный environment в процессе девелопмента», отметил Param Singh, Sun director of Java marketing.

К концу года будет представлены первые версии JavaFX Desktop и JavaFX Script. Также должны быть выпущены SDK и JavaFX Production Suite, которые позволят разработчикам и дизайнерам работать вместе. Планируется выпуск и эмулятора для мобильных устройств. Официальный релиз JavaFX Mobile последует немного позже. В планах и JavaFX runtime для телевидения.

JavaFX-технологии, как и основная часть Java-продуктов, будут бесплатны. Но Sun делала и будет делать деньги на том, что связано с Java и скоро ожидает значительное увеличение прибыли. Но некоторые ставят эту стратегию под сомнение.
Всего голосов 24: ↑22 и ↓2+20
Комментарии39

SpringSource покупает G2One (the Groovy/Grails company)

Время на прочтение1 мин
Количество просмотров1.1K
GL пишет, что
1) улучшат плагин для эклипса
2) у SS большой опыт в развитии community-led проектов
3) лицензию никто менять не будет (ASL2)
4) «энтерпрайзность» повысится

Подробности на сайте SpringSource: www.springsource.com/g2one
Официальный пресс-релиз: www.springsource.com/node/836
Вот что пишет Грем Роше (Graeme Rocher, главный по grails): graemerocher.blogspot.com/2008/11/groovy-and-grails-join-spring-family.html
И Гийом Лафорж (Guillaume Laforge, главный по groovy): glaforge.free.fr/weblog/index.php?itemid=259
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

IntelliJ IDEA 8 — Pocket the Eight!

Время на прочтение1 мин
Количество просмотров2.5K
Сегодня состоялся релиз IDE, очень знакомой многим Java разработчикам. Хотел бы рассказать о новшевствах и фичах восьмерки.
image
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии66

Задачи для начинающих Java программистов

Время на прочтение4 мин
Количество просмотров393K
В продолжение моего поста "Начинающим Java программистам" публикую очередную свою шпаргалку, а именно список задач, которые я обычно даю новичкам. Опытным разработчикам они покажутся тривиальными, а только начинающим изучать Java, причём самостоятельно, надеюсь будут в самый раз. Так же если Вы используете какие-то ещё задачи для обучения, то поделитесь ими, пожалуйста.:) Так как мне, иногда, как-то не по себе в ...-цатый раз рассказывать стажёрам одну и ту же задачу — пусть даже они её слышат впервые:)
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии50

Как я заново открыл для себя инкапсуляцию в java.

Время на прочтение2 мин
Количество просмотров19K
Я всегда считал, что Java — лаконичный и красивый (в плане концепции) язык с четкой структурой, позволяющей расширять эту структуру и на всевозможные фреймворки, там самым помогающая привнести порядок и в код конечного программиста. И, прежде всего, я считал, что java — это 100% ОО язык! Но недавно мне попался код, после которого я вечер ходил возмущался. Код совершенно несложный для понимания даже людей несведующий в java.
Читать дальше →
Всего голосов 87: ↑50 и ↓37+13
Комментарии68

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Java @ CERN

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

На фото Дерек Матейсон из ЦЕРН получает премию от Джеймса Гослинга. Java активно используется учёными в качестве основного инструмента для работы с Большим Адронным Колайдером: их система ATLAS в которой количество столкновений протонов достигает 600 в секунду, генерируя 15 петабайт информации управляется с помощью Java. Java так же используется как основное средство для мониторинга всех систем и 3D-визуализаций.

Подробнее на сайтах SUN & CERN.
Всего голосов 14: ↑12 и ↓2+10
Комментарии5

Начинающим Java программистам

Время на прочтение2 мин
Количество просмотров1.2M
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →
Всего голосов 120: ↑113 и ↓7+106
Комментарии58

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

Время на прочтение3 мин
Количество просмотров768
Этой весной 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 мин
Количество просмотров1.9K
Т.З. примерно следующее — необходимо иметь некоторый «быстрый старт» для приложений с стандартным функционалом. Дополнительным (и самым «заковыристым») условием является то, что этот стандартный функционал необходимо иметь возможность изменять самым невероятным образом, вплоть до полного отключения и замены своим (специфичным для данного приложения) кодом.

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

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

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

Класс Money

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

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

Работа

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