January
2006
Ограничение доступа или защита jsp-страниц
Posted in: Java Web Design, J2EE, Java technologies, J2SE | 7 Comments
В этой статье я приведу неболь?ой пример того, как защитить jsp-страницы ва?его приложения от несанкционированного доступа.
Все, что вам нужно, - это создать неболь?ой Java-класс и наследовать jsp-страницы от него.
А вот и упрощенный пример такого класса (импорт пакетов опущен):
(more…)
January
2006
Кеширование страниц браузерами (FireFox, Opera) действительно полезная вещь. Правда, иногда это только мешает.
При разработке серьезных веб-приложений (в частности с помощью Java) важна актуальность информации на страницах сайта. В этом случае нужно застраховаться от того, что кто-то из пользователей во всю пользуется возможностью браузера кэ�?ировать страницы.
Есть простой способ ре�?ить эту проблему.
(more…)
January
2006
Паттерн Abstract Factory (шаблон Абстрактная Фабрика на Java)
Posted in: Паттерны проектирования | 13 Comments
В предыдущей статье по проектированию был описан паттерн Factory Method. Как и было обещано, на этот раз мы рассмотрим �?аблон проектирования под названием Abstract Factory.
Абстрактная фабрика предоставляет интерфейс для создания целых семейств объектов без указания конкретных классов. Объекты каждого семейства должны быть логически связаны между собой.
Перед тем, как привести пример использования Фабрики на Java, рассмотрим неболь�?ую диаграмму классов (с Paint я творю чудеса :)):
(more…)
January
2006
Четвертое измерение
Posted in: Ваш досуг. Полезные советы | 49 Comments
На?е пространство является трехмерным и все что выходит за грани длины, ?ирины и высоты человек представить не в состоянии. Тем не менее, можно сделать некоторые выводы по поводу выс?их измерений.
Попробуем логически предположить, что же такое четвертое измерение (гиперкуб, гиперсфера).
(more…)
January
2006
У вас не случалось такого: закончили проект, во время активного использования обраружили пару багов, исправили, заодно и пару функций добавили, а потом через некоторое время обнаружили, что код, с которым рань?е не было проблем, нормально не работает?
По достоверным данным кол-во о?ибок после изменения кода (будь-то добавление новой функциональности или же исправление багов) составляет около 50%. Для того, чтобы выявить эти о?ибки, и нужно регрессионное тестирование (regression test).
Перечислю основные виды тестов регрессии в порядке их важности (обычно в таком порядке их и выполняют).
(more…)
January
2006
Небольшой отчет
Posted in: Разное (uncategorized) | 4 Comments
Про�?ел ровно месяц с момента появления в Internet блога Javenue.
Спасибо огромное всем, кто так или иначе помог при его создании и развитии. Ну и конечно же хочется поблагодарить всех посетителей этого сайта: без вас этот ресурс ничего не стоит. Уверен, что многие люди на�?ли здесь именно то, что искали.
Но останавливаться на достигнутом я не собираюсь. С нетерпением жду ва�?их замечаний и предложений по поводу тематики и содержимого ресурса. Каждый комментарий будет рассмотрен и принят к сведению.
Желаю удачи всем, кого я знаю и не знаю.
(more…)
January
2006
Анти-паттерн проектирования (Java): интерфейс для констант
Posted in: Java technologies, J2SE, Паттерны проектирования | 29 Comments
О?ибка, которая будет описана в данной статье, иногда привлекает Java-программистов своей многообещающей простой (я знаю, о чем говорю, так как сам ее допускал).
При программировании очень часто приходится использовать константы. Константа, описанная в некотором классе, иногда может понадобится и в другом классе.
Если описать константу в интерфейсе, назовем его символично Unacceptable, то затем можно декларировать любой класс как реализующий (implements) этот интерфейс (interface) и использовать на?у полезную константу:
(more…)
January
2006
Операторы Inner Join и Outer (left, right, full) Join в SQL (Oracle)
Posted in: Базы данных, SQL, Oracle | 105 Comments
Ключевое слово join в SQL используется при построении select выражений. ?нструкция Join позволяет объединить колонки из нескольких таблиц в одну. Объединение происходит временное и целостность таблиц не нару?ается. Существует три типа join-выражений:
- inner join;
- outer join;
- cross join;
В свою очередь, outer join может быть left, right и full (слово outer обычно опускается).
В качестве примера (DBMS Oracle) создадим две простые таблицы и сконструируем для них SQL-выражения с использованием join.
(more…)
January
2006
Тестирование с помощью JUnit (Test Case)
Posted in: Java open-source проекты, Тестирование кода, Java technologies, J2SE | 25 Comments
English version of this article you can find here.
Тестирование далеко не всегда бывает веселым и интересным. Этот процесс обычно достаточно продолжителен и полон монотонной работы. Боль?инство программистов пользуются стандартным выводом или же дебаггером для тестирования их классов.
В этой статье я опи?у библиотеку JUnit, которая упрощает и во многом автоматизирует процесс написания тестов.
Для демонстрации основных возможностей JUnit Framework, напи?ем примитивный класс на языке Java и будем над ним издеваться. Этот класс будет иметь два метода - нахождение факториала и суммы двух чисел:
(more…)