... 2012-09/1347611946_markus-
-global-dj-broadcast ... 2012-09/1347611946_markus-
-global-dj- ...
A new Trance Music songs and mixes in the wonderful global dj broadcast.
If you want this trance music download (markus schulz download) go to the full post (cLick on the picture)
... 2012-09/1347611946_markus-
-global-dj- ... 09/thumbs/1347611946_markus-
-global-dj-broadcast ...
Markus Schulz presents a
new trance music compilation Global DJ Broadcast with guest Rex Mundi
More trance music, tracks, mixes and positive energy
If you wnt this trance download go to the full post by clicking on the picture
... 2012-09/1346966721_markus-
-global-dj-broadcast ... 2012-09/1346966721_markus-
-global-dj- ...
Meet a fresh Global DJ Broadcast from the big dj in the world
Markus Schulz download on your I-Pod, BB, PC and enjoy by playing these wonderful trance music and trance songs mixed by Markus Schulz
To download Markus Schulz go to the full post
... 2012-08/1346416424_markus-
-global-dj- ... Wellenrausch)" title="Markus
- Global DJ Broadcast ...
A new guest Wellenrausch with Markus Schulz are playing awesome Global DJ Broadcast
Download it to enjoy beautiful trance music and songs!
На прошлой неделе на Хабре было целых две статьи о реализации RESTful web-сервисов на Java. Что ж, ...
На прошлой неделе на Хабре было целых две статьи о реализации RESTful web-сервисов на Java. Что ж, не будем отставать и напишем свой вариант на Scala, с монадами и аппликативными функторами. Матёрые разработчики на Scala вряд ли найдут в этой статье что-то новое, а любители Django вообще скажут что у них эта функциональность есть «из-коробки», но я надеюсь что Java-разработчикам и просто любопытствующим будет интересно почитать.
Подготовка
За основу возьмём задачу из предыдущей статьи, но постараемся решить её так, что бы код решения умещался на экран. Хотя бы на 40-дюймовый и пятым шрифтом. В конце концов, в XXI веке должна быть возможность решать простые задачи без мегабайтов xml-конфигов и десятков абстрактных фабрик.
Для тех, кто не хочет ходить по ссылкам уточню: мы собираемся реализовать простейший RESTful сервис для доступа к базе данных клиентов. Из необходимой функциональности — создание и удаление объектов в базе, а также постраничная выдача списка всех клиентов с возможностью сортировки по разным полям.
В качестве кирпичиков, из которых мы будем строить дом, возьмём:
- Scala — даже не кирпичик, а скорее фундамент,
- Unfiltered — отличная библиотека для обработки HTTP-запросов,
- Squeryl — библиотека для запросов к базе данных,
- Jackson — библиотека для работы с JSON, изначально написанная для Java, но на ура справляющаяся и со Scala-типами,
- Scalaz — библиотека, позволяющая писать в коде разные забавные символы типа ⊛, ↦ или ∃, а заодно реализующая такие полезные абстракции, как аппликативные функторы, моноиды, полугруппы и стрелки Клейсли. Последние, правда, мне пока не приходилось использовать, но скорее всего это объясняется тем, что я ещё не достиг нужной степени функционального просветления.
По ходу статьи я постараюсь давать достаточно пояснений, что бы код был понятен людям не знакомым со Scala, но не обещаю что у меня получится.
В бой!