30 янв. 2009 г.

Firefox как Chrome

На данный момент мое мнение такое:

IE+Chrome+Opera < Firefox

Не по количеству пользователей. а по заявленному функционалу, включая модули расширений.
С выходом браузера Chrome у пользователей складовались с ним самые разные отношения. Насколько мне удалось понять, то в основном из-за аскетизма и простоты и перегруженности и некоторой топорности стандартной темы Firefox.

Сегодня я покажу как переодеть Firefox в одежду Chrome :-)

План такой:

  • Установить тему аля Google Chrome(Chromifox 1.0)

  • Убрать главное менюHide Menubar

  • Кнопка с выпадающим меню,
    куда будут перенесены нужные нам пункты из главногоPersonal Menubar



Да вот, собственно, и все. Ставите расширения и тем, выносите кнопку меню на тулбар и настраиваете по словему вкусу.

Странно, что меню у меня исчезло только когда я поставил галочку в меню Вид/Панель главного меню.
Тоесть все немного шиворот-навиворот.

Аналогично нереодевается под IE.


20 янв. 2009 г.

CMS. Каша из топора.

Сразу к сути. Зачем нужны CMS? Хранить данные и управлять контентом.
Тут как бы все просто. Но...

Возьмем Ruby on Rails и RadiantCMS.

1. Tags vs Helpers(собственная библиотека тэгов которую надо изучать и расширять, против стандартных хелперов)
2. Snippets vs Partials(на деле снипеты это те-же париталы. кстати в коробочных снипетах параметры не предусмотрены, надо ставить экстеншен)
3. Extensions vs Wrapped Rails Plugins(практически каждый екстеншен базируется на плагине рельсовом, доработанном напильником, так как система плагинов рельс остаялетя желать лучшего(Engines например))
4. Храним шаблоны в БД, а потом все таки пишем расширение которое позволяет использовать файлы в качестве шаблонов.
5. Перенос такой системы? Что-бы перенести надо сначала пол системы извечь из базы.

Вывод:
CMS полезна:

  • когда она есть и существующий функционал удовлетворяет поставленным задачам;

  • когда задача сводится к настройке, хотя настройка может дороже обойтись, чем написание нового функционала;

  • если функции CMS дублируют функционал каркаса(RoR);

  • у CMS небыло альтернатив до появления програмных каркасов + система плагинов(RoR, Merb, Symphony, CakePHP)

17 янв. 2009 г.

Связь belongs_to и ключ :through


class Country
has_many :cities
end

class City
belongs_to :coutry
end


class Person
belongs_to :city
has_one :country, through => :city # NOT belongs_to :country, through => :city
end


Для того, чтобы использовать belongs_to надо иметь в модели внешний ключ на владельца.
В данной случае нужно использовать has_one