14
October
2006

Генератор случайных чисел (java.util.Random)

Posted in: Java technologies, J2SE | 6 Comments

Как говорится: случайность - частный случай закономерности. Поэтому наверняка вы используете случайные числа в некоторых своих разработках.
В Java есть класс для работы со случайными (точнее псевдослучайными) числами - java.util.Random. Тем не менее, некоторые люди пользуются им не совсем так, как надо.
Пример:
(more…)

6
October
2006

Игра “Меморина” (Java Swing GUI Game) и проблема с ImageIcon

Posted in: Java GUI, Swing, AWT, SWT, Java technologies, J2SE | 7 Comments

Ну прямо гейм-девелопер какой-то.
Попросили меня написать маленькую игру�?ечку с использованием графической библиотеки Java Swing. �?гра всем знакома и называется “Меморина”.
Думаю, заказчик не будет сильно зол за то, что я выложу игру на всеобщее обозрение…
Еще столкнулся с такой проблемой: при загрузке картинок из jar-файла возникает исключительная ситуация ImageFormatException, хотя при запуске из IDE все проходит без о�?ибок.
(more…)

27
September
2006

Если MP3-плеер не понимает русский язык (mp3-player java-utility)

Posted in: Java technologies, J2SE, Полезные программы | 19 Comments

MP3 плеер вещь хоро?ая и полезная…
К сожалению, иногда он “расставляет все точки над i”, равно как и над e, и над о, и так далее, в названиях песен. А все потому, что не понимает русский (и/или украинский) язык.
Хоро?о, если на сайте производителя есть множество софта, в частности для перепро?ивки и загрузки ?рифтов. А если нет?
Тогда вы попали туда, куда нужно.
(more…)

26
August
2006

Object-Oriented Design: решение задачи по проектированию

Posted in: Паттерны проектирования | 5 Comments

Есть такой сайт - http://www.topcoder.com.
Здесь проводятся онлайн и оффлайн соревнования по объектно-ориентированному проектированию и программированию (.NET и Java).
Более года назад мне тоже довелось участвовать в соревнованиях по проектированию. Результат довольно неплохой - четвертое место из более чем 30 участников. Это был мой первый опыт в ОО проектировании (OOD) и написании спецификаций (specification). А опытом нужно делиться…
(more…)

27
July
2006

Plugin для Wordpress - WP Shortstat + RSS

Posted in: Полезные программы | 11 Comments

Не так давно на блоге Intruder’s Register появилась статья о том, стоит ли переходить на Feed Burner. Среди пунктов “за” был следующий - отображение статистики читателей фида.
Мне кажется, информация о том, через какой RSS-reader вас читают, - изли?няя роско?ь. А вот отображение количества уникальных читателей фида за текущий день очень даже не поме?ает (скорее всего вы уже обратили внимание на “STATS” в сайдбаре).
Вместо поиска всевозможных плагинов для Wordpress, я принял ре?ение модифицировать существующий plug-in WP Shortstat.
(more…)

22
June
2006

Регулярные выражения в Java (regexp)

Posted in: Java technologies, J2SE | 16 Comments

Регулярные выражения (Regular Expressions) позволяют сопоставлять текст с указанным ?аблоном, а также выполнять замену текста. Эти операции осуществляются с помощью универсальных символов, которые специальным образом интерпретируются.
Регулярные выражения используются в боль?ом количестве языков программирования.
В Java тоже есть пакет, который позволяет работать с ними - java.util.regex.
(more…)

12
June
2006

Oracle DBMS Metadata (DDL)

Posted in: Java technologies (translated), Базы данных, SQL, Oracle | 2 Comments

The Russian version of this article can be found here.
All SQL statements are devided into two main categories:
DDL - data definition language;
DML - data manipulation languauge.
DML is used to change the data in the database tables. Instructions of DML are well-known for everyone: insert, update, delete. In order to save changes to database (so, the other users will see them), you need to execute commit operator. To discard all of your changes you have to execute rollback operator.
All database objects (triggers, tables, indices, etc.) have their definitions. DDL-expressions (metadata) of these objects can be extracted from the database schema. DDL-expressions will help you during database analysis and optimization.
This article will teach you, how objects’ definitions can be extracted from the Oracle database instance.
(more…)

29
May
2006

Тестирование и внутренние классы (inner class)

Posted in: Тестирование кода, Java technologies, J2SE | 5 Comments

При тестировании отдельных классов Java-приложения, многие используют метод main или создают дополнительный тестовый класс. Отдельный класс луч?е использовать при интегральных тестах, а метод main после выпуска новой версии класса/пакета чаще всего нужно удалять.

В этой статье я вновь возвращаюсь к внутренним классам (inner class) для ре?ения описанной вы?е проблемы. На этот раз мы рассмотрим статические внутренние классы.
Статический внутренний класс описывается с модификатором static внутри декларации другого (обрамляющего) класса. Вот пример такого класса:
(more…)

26
May
2006

Метаданные Oracle (DBMS_METADATA)

Posted in: Базы данных, SQL, Oracle | 4 Comments

Все выражения в SQL делятся на две основные категории:
DDL - data definition language - язык определения данных;
DML - data manipulation languauge - язык манипулирования данными.
Язык DML необходим для изменения содержимого таблиц. Его операторы - это всем известные insert, update, delete. Для того, чтобы изменения стали видны всем пользователям базы данных, требуется выполнение оператора commit, а для отката изменений - оператора rollback.
DDL-выражения (метаданные) можно получить из уже существующей схемы. Они очень полезны при оптимизации и анализе баз данных. О том, как получить метаданные из Oracle и будет эта статья.
(more…)

29
April
2006

JUnit and Test Cases (Unit Testing)

Posted in: Java technologies (translated), Тестирование кода | No Comments

The Russian version of this article can be found here.
Testing is not a very interesting thing sometimes. Some developers use standard output or debugger in order to test their classes. But there is another way… In this article you’ll find the introduction into JUnit library. JUnit framework makes the process of test-writing much easier.
To show you the power of JUnit let me create the small class in Java and write some test cases for it. Consider the following code:
(more…)