воскресенье, 13 апреля 2014 г.

Многоликий NULL, часть I

Дыра это просто ничто, но вы можете в ней сломать шею.

Остин О'Мэлли

В этой статье я хочу с разных сторон посмотреть на NULL - явление в мире SQL фундаментальное. Все приведенные ниже примеры выполнены в СУБД Oracle 11gR2.

воскресенье, 30 марта 2014 г.

Шахматная доска с рисом

Наверное, всем известна легенда о мудреце, который попросил у правителя в качестве награды за изобретение шахмат немного риса. Мудрец пожелал, чтобы на первую клетку шахматной доски положили одно зернышко риса, на вторую - в два раза больше, чем на предыдущую (два зернышка), и так далее, пока не будет заполнена вся доска. Обрадовавшись вначале, вскоре правитель понял, что попал впросак...

Что общего между этой легендой и двоичной системой счисления?

среда, 19 марта 2014 г.

Let's have a REST, часть III

В части I рассказано о том, что такое REST и что значит для приложения быть RESTful. На несложном примере проиллюстрирован процесс проектирования RESTful приложения. В части II рассмотрены некоторые детали протокола HTTP в связи с реализацией на его основе RESTful приложений. В частности, рассказано, в чем разница между HTTP-методами POST и PUT, что такое идемпотентность, как обойти ограничения языка HTML и сделать браузерное HTML-приложение RESTful (ну, почти RESTful).

В данной, заключительной части, будут рассмотрены два RESTful приложения, написанные на Python с использованием микрофреймворка Flask. Оба приложения позволяют вести список книг, то есть, просматривать, добавлять, изменять и удалять книги из списка.

воскресенье, 9 марта 2014 г.

Let's have a REST, часть II

Теоретически, RESTful приложение может использовать любой stateless протокол для обмена сообщениями между клиентом и сервером. Практически, RESTful приложения базируются на протоколе HTTP, среди методов которого есть методы GET, POST, PUT и DELETE.

пятница, 28 февраля 2014 г.

Let's have a REST, часть I

За аббревиатурой REST (REpresentational State Transfer) стоит модель клиент-серверного приложения, в котором клиент и сервер общаются по stateless протоколу, и программный интерфейс между ними построен с учетом нескольких архитектурных требований.

REST не является технологией, в отличие от SOAP или HTTP. Поэтому нельзя сказать, что приложение использует REST. Приложение может соответствовать модели REST, и тогда говорят, что оно RESTful.

Среди требований к архитектуре RESTful приложения следующие:

  1. идентификация серверных ресурсов,
  2. манипуляция ресурсами с помощью представлений (representations),
  3. самоописательность клиентских запросов,
  4. гиперсcылки в представлениях для перехода к новым состояниям приложения.

Рассмотрим эти требования одно за другим.