29 февраля 2012 г.

Spring Web Flow и Grails 2

Предположим бизнесс-процесс вашего приложения требует от пользователя последовательности действий, которые он должен совершить. К примеру, в интернет-магазинах мы не можем посмотреть страницу благодарности за покупку не сделав этой самой покупки. Или мы не можем посмотреть какой-либо отчет, не указав критерии данных, которые должны войти в отчет. Для простых действий всё довольно тривиально, но если шагов перед завершением процесса должно быть множество, то мы рискуем превратить наш код в вермишель из хитросплетений вызовов и проверок. Для того чтобы этого избежать существует замечательный фреймворк - Spring Web Flow. И в этой заметке я приведу пример его использования в Grails 2.0.1.

7 февраля 2012 г.

Проксирование запросов БД

Недавно меня попросили написать приложение, которое бы проксировало запросы к БД и возвращало результат выполнения этих запросов клиенту. Не знаю стоял ли за этой просьбой здравый смысл - возможно кто-то хотел скрыть от клиентских приложений параметры БД, а возможно просто не осилил работу с БД в своем языка (странно, да?). Но задача есть задача и вооружившись Java, Spring и Apache CXF за пару часов я набросал простенький веб-сервис для запросов. О том как я это сделал и будет данная статья.

2 февраля 2012 г.

Инициализация double brace

Во всех языках программирования существуют красивые, лаконичные и простые конструкции, составляющие основу языка, а есть "хаки", глядя на которые невольно вспоминаешь собеседования и вопросы вида "вот вам 5 строк кода и 10 минут на то, чтобы объяснить как это вообще работает". Об одной из таких конструкций, а именно об инициализации double brace я и хотел бы сегодня рассказать.