C4 always sleepy

25Jan/100

Rails I18n – презентация

Неплохая и самое главное познавательная презентация.

25Jan/103

Примеры rails-приложений

Решил составить список open-source приложений на Rails, который как я надеюсь поможет начинающим (и не очень начинающим) программистам в написании красивого и функционального кода.

Redmine - система управления проектами

TeamBox - еще одна система для проджект-менеджмента, twitter-like

FatFreeCRM - CRM

Video App - аналог YouTube на Rails

Panda - еще одно приложение для стриминга видео

GemCutter - репозитарий gem'ов

CommunityEngine - Социальная сеть

LovdByLess - и еще одна социальная сеть :)

RailsCasts - ну кто не знает Ryan Bates и его RailsCast-ы? Это - исходники его блогового движка

Tracks - система GTD, управление задачами

Retrospectiva - снова проджект-менеджмент :)

Restful Authentication Tutorial - отличный туториал по реализации системы аутентификации, recaptcha, логгирование неудачных попытов аутентификации и многое другое :)

Shapado - аналог stackoverflow.net с использованием MongoMapper (thx 2 undr)

Open Source Rails - много различных приложений (thx 2 Alexey Osipenko)

Если у вас есть чем поделиться - присылайте, буду обновлять список :)

2Dec/092

JQuery plugins. part 2

Еще немного плагинов для JQuery и туториалов по их ипользованию

JQzoom - "лупа" для картинок.
prettySociable - еще один достаточно интересный аналог addthis-ов :)

JQuery powered tag cloud - ну это в пояснении не требуется :)
Apple-like search suggestion - урок как сделать красивое выпадающее меню для search-бокса
jquery tabbed interface - очень красивая навигация
digg-style signup form
twitter-like follow/unfollow
jQuery Thumbnail with Zooming Image and Fading Caption Tutorial
Making A Cool Login System With PHP, MySQL & jQuery
Dynamic Drag’n Drop With jQuery And PHP

Tagged as: 2 Comments
10Aug/092

Используем braid для RoR-приложения

Еще одним полезным инструментом для RoR-разработчика можно назвать braid. С помощью этой утилиты можно сильно облегчить свою жизнь, контроллируя внешние git- и svn-репозитарии, которыми могут например являться плагины и edge rails. Все внешние репозитарии также прописываются в git-конфиге как submodules.
Все необходимое для работы детально описано в wiki проекта, поэтому я вкратце пробегусь по основным командам:

$ braid add git://github.com/rails/rails.git vendor/rails

- cтавим edge rails

$ braid add -p git://github.com/mbleigh/seed-fu.git

- добавление rails-плагина

$ braid add -p http://xss-shield.googlecode.com/svn/trunk/xss-shield/

- добавление плагина из svn-репозитария

$ braid add -p --type svn http://xss-shield.googlecode.com/svn/trunk/xss-shield/

- добавление плагина из svn-репозитария, но уже с прямым указанием, что это svn-репозитарий

$ braid update

- обновляем все установленные submodules

$ braid update vendor/plugins/cache_fu

- обновляем cache_fu

$ braid diff vendor/rails 

- просмотр локально сделанных изменений

Если вами внесены изменения в код и вы пытаетесь сделать update - процесс обновления остановится, чтобы вы могли разрешить конфликт между локальным и удаленным репозитариями. Далее просто делаем

$ git commit

Чтобы откатить изменения

$ git reset --hard

В принципе на первое время этого достаточно :) Если вым чего-то не будет хватать для работы - добро пожаловать в wiki.

PS: не забывайте, что файл .gitignore не должен содержать в себе записей типа .*, которые запрещали бы отслеживание файла .braids

1Jul/090

Sun Cloud Computing book

Для чтения на ночь - основы Cloud Computing от Sun.

2Mar/090

Системы аутентификации

Недавно ко мне обратился один из коллег проконсультироваться по поводу аутентификации пользователей и я бы хотел узнать у читателей блога - а что вы используете? Какие системы, какие библиотеки, ваши про и контра?

От себя скажу, что использовал пока что только самописные системы, но используя Spring Security для java-приложений и before-filter для рельсов :)

Tagged as: No Comments
11Feb/09Off

TuneUp

"Социализация" проникает во все сферы нашей деятельности. Однокласники, вКонтакте, linkedIN и еще куча социальных сетей. И вот теперь еще - социальный сервис для Ruby on Rails и Merb разработчиков под названием TuneUp, помогающий произвести анализ производительности и похвастаться своим приложением и возможно получить рекомендации от других специалистов.

tuneup

8Dec/080

Backbase on Rails. Part 1 – simple Hello World application.

Начиная с этого поста я постараюсь познакомить читателей блога с нюансами интеграции популярного AJAX-фреймворка BackBase и Ruby on Rails.

Первым делом подготовим скелетон нашего приложения

# rails backbase-on-rails
# cd backbase-on-rails/

Скачиваем Backbase Client Edition с оффсайта и копируем директорию web/backbase из архива в public/javascripts. Далее - подготовим layout нашего приложения

# cd app/views/layouts/
# touch main.html.erb

В файле main.html.erb прописываем namespaces и загрузчик для BackBase. Например так:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:b="http://www.backbase.com/2006/btl"
xmlns:e="http://www.backbase.com/2006/xel"
xmlns:c="http://www.backbase.com/2006/command"
xmlns:smil="http://www.w3.org/2005/SMIL21/">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<%= javascript_include_tag "backbase/4_3_1/engine/boot" %>
<title>Backbase on Rails</title>
</head>
<body>
<%= yield %>
</body>
</html>

Теперь нам необходимо создать контроллер и вьюшку для него.

# ruby script/generate controller HelloWorld hw

В принципе на данном этапе у нас нет необходимости что-то писать в контроллере, поэтому идем срузу во вьюшку, в которую добавляем следующий код

<script type="application/backbase+xml">
<xi:include href="/javascripts/backbase/4_3_1/bindings/config.xml" />
<div>
<e:handler event="click" type="text/javascript">
alert('Backbase says hello!');
</e:handler>
Click me
</div>
</script>

Давайте рассмотрим поподробнее что же такое мы добавили. Когда мы делаем какое-либо backbase-приложение мы должны все используемые элементы заключать в

<script type="application/backbase+xml">
</script>

Чтобы использовать Backbase Tag Library (BTL) необходимо подгружать config.xml с помощью директивы

<xi:include href="/javascripts/backbase/4_3_1/bindings/config.xml" />

Теперь, запустив наше приложение

# ruby script/server

и обратившись на http://localhost:3000/helloworld/hw мы можем увидеть наше первое приложение :)

25Nov/086

Антон Попов “Блоги. Новая сфера влияния” и немного про блоги

Впервые я познакомился с блоггингом в феврале 2003 года, когда один из моих друзей, the best chibis, прислал мне инвайт в livejournal.com. С тех пор много всего было - сменялись аккаунты и френды, интересы и аватары, но смысл оставался одним и тем же - я рассматривал блоггинг как способ отвлечься от насущных дел, получить моральную и интеллектуальную разрядку, написав какой-либо несерьезный пост, пообщаться с единомышленниками и найти компанию попить пива в ближайшие выходные. Это продолжалось до сравнительно недавнего времени, пока мне Костя Ковалев (aka Constantiner) не посоветовал завести standalone blog, который вы сейчас читаете, а любимая супруга не предложила почитать книгу Антона Попова.
Первый раз, когда я увидел эту книгу - она на меня впечатления не произвела, казалось что это очередное творение из серии "ЖЖ для чайников", или "ЛИ для клинических идиотов" :) Признаюсь - я ошибался :) Информации для размышления оказалось очень много - использование блога как инструмента public relations, проведение кампаний вирусного маркетинга с использованием блогов, что дают компании ведение корпоративных блогов итд. Как приложение к книге есть "блог в помощь" - блог автора, где время от времени можно почитать интересные статьи по теме профессионального блоггинга. Вынося вердикт о полезности книги - полезна на 120%, must have и must read.

PS: Прочитав биографию автора - порадовался. Он закончил один университет со мной (СГУ) и учился в здании напротив. :)

11Nov/080

Link Shot #3

Development in general
Ода редактору vi

Java
Создание pluggable решений при помощи Java.

Blogging
SEO-оптимизация блога на базе Wordpress

System Administration
Управление сессиями Windows Server из коммандной строки

5Nov/080

Dopplr

Продолжаю обзор заинтересовавших меня web 2.0 проектов. На этот раз мне на глаза попался сервис для бизнес-путешественников под названием Dopplr, который позволяет держать своих друзей/клиентов/партнеров/читателей_блога в курсе своих перемещений по миру. То есть - разместив на своем блоге соответствующий widget вы сможете сообщить читателям о том, что например в ближайшую пятницу вы будете на конференции в Торонто, где они смогут подойти и задать вам лично интересующие их вопросы.

Tagged as: , No Comments
29Oct/081

Effective Customer Feedback – Web 2.0 style

Сегодня на одном из блогов столкнулся с довольно интересным сервисом - Reformal.ru и недолго думая решил воспользоваться им и на своем блоге (см. widget справа :) ). Смысл данного сервиса заключается в предоставлении пользователям возможности оперативно делиться своими идеями по поводу вашего сайта и голосовать за уже существующие, а вы уже со своей стороны можете уточнять подробности и принимать решение - воплощать эту идею или нет. Кстати - аналогичный сервис CrowdSound существует и за пределами Рунета.

Tagged as: , 1 Comment