четверг, 6 декабря 2007 г.

Заметки о Hibernate. Атрибут inverse

Hibernate - один из самых распространенных средств для использования модели ORM в java-приложениях. Но у него есть один существенный недостаток - довольно мало документации, где бы описывались именно тонкости применения Hibernate в тех или иных случаях. Я уж молчу про то, что на русском языке документации практически нет.

Данной публикацией я открываю серию статей о данной ORM системе. Я здесь не собираюсь цитировать книги про хибернейт, ORM и т.д., а буду делиться своими наблюдениями, результатами экспериментов и т.д. Дело в том, что по роду деятельности мне приходится чуть ли не каждый день с ним работать и кое-какой опыт имеется.

Очень важными для меня будут Ваши коментарии, указания на ошибки и неточности, вопросы и предложения.

Первая статья будет про такой интересный, многими используемый но не всегда понятный параметр как inverse.

среда, 21 ноября 2007 г.

Рынок труда программистов в Челябинске. Ноябрь 2007.

Рынок труда в Челябинске терпит изменения по сравнению с летним периодом. В том числе и рынок труда программистов. Так как предыдущие 2 недели я занимался активным поиском работы, то могу сделать некоторые выводы и поделиться впечатлениями.

Вообще ИМХО рынок труда программистов в городе "Ч" не развивается, а скорее даже наоборот, как бы печально это не было. Впрочем, давайте смотреть подробнее, начиная с самых высоких зарплат (радует только то, что высокую зарплату платят за интересную работу).

понедельник, 19 ноября 2007 г.

Конструирование объектов в Java


Как создаются объекты в Java - тема не лишенная некоторых нюансов. Проблема в том, что детальное рассмотрение данного процесса во многих учебниках опущено. Однако, зачастую неправильное или неполное понимание алгоритма создания объекта может привести к ошибкам в программе, в том числе и уровня компиляции.

Рассмотрим процесс конструирования объекта в Java по шагам, двигаясь от простого к сложному - от создания одного класса до создания иерархии:

1 Создание одиночного объекта

     1.1 Конструктор по умолчанию
     1.2 Константы
     1.3 Инициализированные поля
     1.4 Исключения в конструкторах
     1.5 Блок статической инициализации

2 Отцы и дети

3 Общий алгоритм создания объекта

воскресенье, 18 ноября 2007 г.

Собеседование программистов в Челябинске. Что собственно надо знать.

Так получилось, что предыдущие две недели я был занят активным поиском нового рабочего места. Естественно, что наиболее интересны мне были вакансии Java-разработчика. В Челябинске, кстати, с этим весьма туго, но несколько вакансий есть. Здесь я хочу написать о том, какие вопросы задают потенциальным Java-программистам в городе Че.

Начнем, пожалуй, с того, что у каждой фирмы свое представление о том, какими навыками и знаниями должен владеть Ява-программист и, возможно, вас никогда не спросят что-либо упомянутое в данном посте, но следует быть во всеоружии.

Особенность платформы Java – ее многоликость и многообразие. Знать назубок всю платформу невозможно, да и не нужно. Поэтому я думаю, будет полезно перечисление тем, которым отдается предпочтение в Челябинске. И как всегда – мои комментарии.

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

среда, 14 ноября 2007 г.

Знакомимся: xstream - сериализуем Java-класс в XML


Существует множество способов сериализовать Java-объект в xml и, соответственно, десериализовать. В Java SDK входят Java Architecture for XML Binding (JAXB) и связка XMLEncoder - XMLDecoder. Существует так же ряд сторонних библиотек, предназначенных для решения данной задачи.

Одной из таких библиотек является xstream (скачать можно отсюда). Понравилась она мне своей простотой изучения и довольно приличными возможностями, которые при этом широко расширяемы и кастомизируемы. Впрочем, обо всем по-порядку.