В очередь, сукины дети!

24.04.2014 в 16:00 ruby gem queue workers

В одном из моих проектов понадобилась простая, быстрая и надёжная очередь сообщений. Сразу оговорюсь - проект не на Rails. Sinatra + PostgreSQL = API-сервер. Первое, что приходит в голову - Sidekiq и Resque. Ничего не могу про них сказать плохого или хорошего - никогда не использовал... и не планирую пока. Эти продукты мне не подходили. Нужно было что-то простое и понятное. Мне не хотелось поднимать дополнительные сущности вроде Redis'а, RabbitMQ и прочих. У меня уже был PostgreSQL - простой и надёжный как топор. И тут, впрочем как всегда, помог Google - я нашел его - простой провайдер и обработчик очереди сообщений с PostgreSQL в качестве бэкэнда.

Настраивай это

13.10.2013 в 16:00 ruby rails gem

Когда у любого проекта появляются пользователи, это приносит первые радости и первые же головные боли. Одному нужно то, второму чтобы тоже самое, но не как у всех и прочие "прелести". Именно тут помогают индивидуальные настройки пользователей. Разумеется они не решают всех вышеописанных проблем, но очень помогают в их решении. Тут главное не переусерсотвовать с количеством пользовательских настроек и не запутаться самому. Хочу расказать про свой опыт в этом вопросе. Я расскажу про gem store_configurable. Это очень простой и понятный в использовании gem.

Делу - время, потехе - час

09.10.2013 в 18:00 ruby gem develop

Время самое ценное, что у нас есть и его учет - это очень важно! Немного пафосно, но от реальности не убежишь. :) Так вот... В одном из проектов мне понадобился учет рабочего времени. Т.е. не просто "пришел-ушел-прогулял", а в плане планирования рабочего времени на выполнение той или иной задачи. Например: на выполнение очень важной задачи нам отвели 10 часов, а рабочий день у многих из нас, скажем, 8 часов и еще бывают выходные (что это?!). Хотя многие "руководители" и "очень важные начальники" считают, что 24 часа, а то и 36! И никаких выходных! :) Как нам выставить конечный срок выполнения задачи, если она поступила к нам, скажем, в пятницу (ура!) в 16:45 (троекратное ура!)? Можно, конечно, изобрести велосипед и написать функцию с кучей условий (обед? вечер? ночь? выходные?), которая будет высчитывать конечный срок исполнения из полученных начала выполнения и времени на выполнение (в часах или минутах). Я, признаться, собирался именно так и поступить. И тут, совершенно случайно, в ленте твиттера проскочил пост от @rubygems о том, что он рад мне помочь в этом - есть (оказывается) такой gem workpattern. Он умеет все это делать в лучшем виде!

И так, приступим-с!

08.10.2013 в 22:00 jekyll bootstrap blog

Случилось так, что однажды я захотел попробовать Bootstrap 3.0 в деле, тем более с версией 2.3 я был уже давно на "ты". Почитав в Сети про "дальше, выше, сильнее, прямее, логичнее", я начал думать над тем к чему его можно "прикрутить". И тут мой уставший взгляд упал на интересный gem Jekyll. Это движек для создания статический сайтов, например блогов. Самая главная его прелесть в том, что его "из коробки" понимает GitHub Pages.