Обновить
393.15

Java *

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

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

Выпуск №77 — The Art Of Programming [ Java Learning ] JRebel

Время на прочтение1 мин
Охват и читатели2.8K

Code Review Open Source проектов

Время на прочтение1 мин
Охват и читатели2.4K
Анонсирую собственный эксперимент — сборник обзоров исходного кода Open Source проектов. В первом приближении, проекты ограничиваются JVM платформой. Формат обзоров — цикл сухих статей, объединенных рассматриваемым проектом. В обзор попадают архитектурные особенности, ошибки разработчиков и другие интересные детали реализации.
Читать дальше →

RichFaces 3.0, Формирование и выгрузка файла, jQuery и Костыли

Время на прочтение4 мин
Охват и читатели1.2K


Приветствую, дорогой читатель! В данной статье я хотел изложить одну проблему, с которой я столкнулся при разработке, а также способ ее решения. Решение конечно не самое безупречное, но имеет место быть. Если вам что-то не понравиться, или вы знаете решение лучше, прошу большими огурцами меня не бить, так как я еще мал и зелен. Бейте маленькими с комментариями и поучениями.

Задача в следующем: у нас есть система, в которой есть страница на которой отображена некоторая отчетность. Там необходимо реализовать формирование Excel файла и выгрузку его для пользователя.
Читать дальше →

Поднимаем собственный Maven репозиторий Nexus на OpenShift

Время на прочтение5 мин
Охват и читатели15K
image


Последнее время на Хабре стали появляться статьи про OpenShift, что привлекло моё внимание, ведь платформа действительно интересна и грех в ней не поковыряться, да и так совпало, что я начал задумываться найти альтернативу моему уютному Dropbox-репозиторию Maven в связи с отменой возможности иметь прямые ссылки и папки Public в целом ( пруф: habrahabr.ru/post/145864 ).

Итак, сегодня мы с Вами будем устанавливать Maven-репозиторий под управлением Nexus под собственные нужды, а Ваш покорный слуга поделится костылями знаниями, приобретёнными будучи первопроходцем в этом деле.

Читать дальше →

Крадущийся тигр, затаившийся дракон

Время на прочтение8 мин
Охват и читатели39K
Java vs. C#… Что может быть лучше вечного спора? Нет, данная статья не посвящена очередному бенчмарку, и даже не является holy war, не стоит даже вопрос: «кто круче».

Для каждой задачи существует свой инструмент. Сравнивать C# и Ruby, например, не имеет смысла, т.к. их целевое предназначение совершенно разное, да и природа также. Однако именно C# и Java являются наиболее близкими по своей философии.

Очень часто коллеги, пишущие на Java, даже не подозревают о многих (!!!) вещах, которые предоставляет (или, наоборот не предоставляет) C#.

Если Вам интересно посмотреть на C# и Java без субъективизма, а также узнать внутреннее устройство той или иной возможности, тогда вперед.
Читать дальше →

OpenShift: «hello, cloud!»

Время на прочтение13 мин
Охват и читатели13K
Это продолжение заметки про использование OpenShift в качестве java-хостинга.
В прошлый раз мы разобрались как создавать приложения в облаке OpenShift. В наше распоряжение предоставлен бесплатный хостинг с сервером JBoss AS 7.1 и репозиторием git. Теперь попробуем написать что-нибудь чуть сложнее, чем обычный «hello, world», и использующее возможности JBoss AS и средств разработки JBoss Tools.


Одна из распространенных задач: разрешить доступ к определенным ресурсам только авторизованным пользователям, с разделением в соответствии с присвоенными ролями. Предлагается сделать это с использованием встроенного в jboss логин-модуля, а именно реализацией org.jboss.security.auth.spi.DatabaseServerLoginModule. Как не трудно догадаться, в этом случае пользователи и их роли будут храниться в базе данных.

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

Читать дальше →

Взаимодействие Java и… Ассемблера?

Время на прочтение2 мин
Охват и читатели17K
В Java существует возможность использования программного кода, реализованного на других языках программирования, так называемый JNI. Можно написать динамически линкуемую библиотеку, затем загрузить ее в Java-коде и использовать функции оттуда, объявив их как native методы загрузившего ее класса. JNI создавался в первую очередь для того, чтобы выполнять машинно-зависимые действия (а также, возможно, улучшить производительность критических по скорости частей приложения) на C/C++, но никто не мешает нам написать библиотеку и на ассемблере.
Читать дальше →

Java: Тестирование алгоритмов компрессии – 16 файлов, 5 типов

Время на прочтение4 мин
Охват и читатели6.8K
Здравствуй «ХабраСообщество»!
Выкладываю небольшой обзор и результаты тестирования основных алгоритмов сжатия с Java.
Кому интересно прошу под кат, кому нет — просьба не минусовать и сказать, что тема не достойна хабра – уберу в черновики.
Читать дальше →

ObjectDB — система управления базами данных для Java приложений

Время на прочтение4 мин
Охват и читатели4.2K
ObjectDB является объектно-ориентированной, написанной на Java СУБД, которая при всех своих впечатляющих тестах на скорость и используемая (как следует из рекламы на официальном сайте) такими организациями как HP и Novell малознакома для многих программистов (Сам я об этой базе узнал буквально месяц назад, и использовал ее только один раз в рамках учебного проекта, да и мой препод узнал о ней как раз из моего проекта). За продолжением прошу под кат.
Читать дальше →

UI для Firebird на Java

Время на прочтение9 мин
Охват и читатели4.5K

Вступление


Год назад потребовалось написать БД в рамках курсовой работы. Особого труда это не вызвало. Выбрал тему, начертил ER-диаграмму, определился с полями таблиц и начал написание. Язык долго не выбирал, на тот момент начинал работать на Java в Eclipse. Выбрал СУБД, мой выбор пал на Firebird. Добавил таблиц через IBExpert и был всем доволен, как только написал UI для пары таблиц понял что можно создавать остальные с помощью копипаста. Код получился ужасный(ООП? не не слышал, так можно это было охарактеризовать), но на тот момент меня все радовало. Прошел год и по воле случая пришлось пересматривать свой код. Это было нечто страшное с непонятной структурой.

Перед собой решил поставить несколько целей:
— простое добавление таблиц
— применить, наконец, ООП
— применить шаблоны проектирования(для обучения)

Также сейчас непонятно почему людям в институте сложно писать простые БД (или лень), в любом случае, хочу показать простоту написания БД и познакомить со своим видением приложения (на мой взгляд очень простым).
Читать дальше →

Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка

Время на прочтение4 мин
Охват и читатели33K


Как и обещали в топике-анонсе нашей игры, выкладываем отчёт о хабраэффекте и детали игрового движка.
Читать дальше →

Запускаем Tomcat на OpenShift

Время на прочтение3 мин
Охват и читатели12K
image

Прочитав статью на Хабре про OpenShift,
мне сразу захотелось подружиться с этой платформой. Все-таки халявный удаленный комп с 512MB оперативки и 1GB места лишним в хозяйстве точно не будет. ;) Тем более, что можно запустить не только предлагаемые самой платформой веб-сервера, но и что-нибудь свое. Выбор пал на Tomcat с небольшим личным проектом.

Далее опишу алгоритм реализации этой идеи:

Читать дальше →

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

Создание игры на Java без сторонних библиотек, часть первая

Время на прочтение4 мин
Охват и читатели283K


Введение и подготовка



Привет хаброжители. Данный пост является «рерайтом» моего поста для песочницы. На этот раз я постараюсь охватить больше тем, чем тогда.

Почему Java?

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

IDE

Начнем с выбора IDE. Я являюсь фанатом Eclipse и посоветую вам его.
Если же почему-то вам он не понравился, вы можете использовать NetBeans, Intellij IDEA или командную строку и ваш любимый редактор.

JDK

И скачаем JDK последней версии: JDK 7u4

Скорее всего проблем с установкой IDE у вас не возникнет, а если у вас 64-битная система, все же посоветую устанавливать 32-битный Eclipse, так как иногда бывают ошибки и Eclipse у вас просто не запустится.

Под катом мы приступим к созданию игры.
Читать дальше →

Все информационные технологии в кратком изложении

Время на прочтение1 мин
Охват и читатели8K
Основная проблема разработчика, да и любого IT-специалиста, в том что надо постоянно изучать что-то новое (вот тут про это хорошо написано), а времени нет. Причём для каждой технологии есть Толстая Книга, излагающая на тысяче страниц то, что можно изложить на десяти. Складывается ощущение, что издатели платят авторам за количество страниц.
Читать дальше →

Groovy как лучшая Java

Время на прочтение1 мин
Охват и читатели20K
Groovy можно использовать по разному — для скриптов, для Grails, для быстрого написания прототипов, для DSL и т.д.

Меня же Groovy всегда привлекал как улучшенная Java. В самом деле — почти любой Java код будет валидным кодом Groovy — т.е. если не помнишь как что то делать в Groovy-way, можно всегда писать так, как принято в Java, а если помнишь — вот тебе и Closures, и удобные списки, и много других замечательных вещей.

Единственное, что мешало использовать Groovy для разработки production кода — отсутствие ошибок компиляции в большом числе случаев. Например если вызываешь несуществующий метод, обращаешься к несуществующей переменной и т.д.

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

Так вот, наконец в Groovy 2.0 появилась возможность сказать — проверяй в этом классе типы, существование методов и переменных!

Возьмем, например, такой класс:

Топологии серверов приложений WebSphere Application Server для обеспечения высокой доступности

Время на прочтение4 мин
Охват и читатели23K
Здравствуй, Хабр!

В этой статье я хочу рассказать какие есть подходы для обеспечения отказоустойчивости и масштабирования инфраструктуры серверов приложений WebSphere Application Server 7 компании IBM.
Читать дальше →

Генерация случайных чисел с помощью Random.org

Время на прочтение3 мин
Охват и читатели146K
Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе.
— Джон фон Нейман

Есть такой хороший сервис random.org, который уже не раз упоминался на хабре. Основная задача сайта — генерация случайных чисел с использованием атмосферных шумов. На том же сайте можно найти результаты тестов и сравнения случайных и псевдослучайных генераторов с объяснениями что лучше и почему. В данной статье описывается простенькая библиотека для использования API сайта.

Читать дальше →

Обход бинарных деревьев: рекурсия, итерации и указатель на родителя

Время на прочтение5 мин
Охват и читатели203K
Основы о бинарных деревьях представлены, в том числе, здесь . Добавлю свои «5 копеек» и данным постом систематизирую материалы, связанные с обходом бинарных деревьев, а именно сравнений возможностей рекурсии и итераций, а также обсуждение возможностей использования указателя на родительский узел.
Читать дальше →

Groovy как скриптовый язык и DSL для Java

Время на прочтение8 мин
Охват и читатели33K

Зачем?


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

Наверное, самыми простыми примерами таких сценариев, с которыми все сталкивались в том или ином виде, могут служить обычные пакетные файлы — bat или sh.
Читать дальше →