четверг, 29 июля 2010 г.

MySQL: как добавить микро/миллисекунды в current_timestmap

Еще в далеком 2005 году возник вопрос о необходимости представления текущей даты и времени с указанием миллисекунд и микросекунд. Одним из объяснений использования только секунд было: MySQL базируется на SQL92, а согласно этого стандарта функции now(), current_timestamp() должны возвращать время с указанием секунд. Но что делать, если наличие микро или хотя бы миллисекунд все-таки необходимо? Вариантов решений было предложено много. Наверное самым правильным и интересным было решением с использованием С-функции now_msec(). Но недостатком данного решения является необходимость компиляции и добавлении бинарного кода в основной пакет mysql. Если говорить о Windows платформах, то выполнить компиляцию кода не всегда удобно, а порой и невозможно. Если говорить о Unix системах, то данное решение применимо, только когда ваш mysql сервер установлен на выделенном сервере и у вас есть к нему административные права. Но что делать, когда такой возможности нет?

среда, 28 июля 2010 г.

Ticket сервер на flickr.com

Просматривая различные решения создания уникальных записей натолкнулся на интересную статью на блоге разработчиков Flickr. В данной статье достаточно интересно освящена проблема генерации уникальных ключей для случая использования нескольких серверов баз данных.

воскресенье, 25 июля 2010 г.

Способы генерации уникальных ID в python

Разбираясь с freebase, а в частности с генерацией machine ID. Задался вопросом: какие методы генерации уникальный ID существуют в python. Данный пост является кратким обзором методов.

вторник, 13 июля 2010 г.

Маленький Торнадо или асинхронный HTTP сервер

Несколько месяцев назад я писал о простом сервере приложений. Существенным недостатком этого сервера на мой взгляд является относительно медленная работа - у меня никогда не получалось получить более 400 запросов в секунду. Это и стало причиной поиска более быстрого и легкого сервера для приложений. Основные требования к серверу:
- написан на pure python
- ориентирован на работу в доверительном окружении
- обработка порядка 1000 простых запросов в секунду и выше
- отсутствие большого числа зависимостей с другими библиотеками
- работа как в Linux так и Windows окружении
- поддержка HTTP запросов: GET,PUT,POST,DELETE

понедельник, 12 июля 2010 г.

cURL для тестирования RESTful приложений

При разработке REST-приложений часто возникает необходимость в симуляции и тестировании отработки запросов с помощью различных HTTP методов. Для этих целей удобно использовать cURL http://curl.haxx.se/.

пятница, 2 июля 2010 г.

Простой пример простой защиты сервера на python

В сети можно найти достаточно много примеров построения простых серверов на базе python. Но вот как их защитить - редкость. С одной стороны причина этому заключается в том, что зачем его защищать, если задачи он выполняется простые, да и вряд ли кому-то из вне будут интересны. Или, а кто знает, что у меня запущен такой сервер? Каждый решает для себя стоит ли защищать свой сервер или нет. Если же ответ - все-таки стоит, приведу простой пример как можно защитить свой сервер.