Yii кэширование схемы DB

Как-то я упустил в руководстве по созданию блога на yii такой замечательный момент, как финальная настройка приложения. Может потому, что я его и не читал полностью :) Так вот. ActiveRecord в своей работе полагается на метаданные получение из БД для определения столбцов таблицы. Но на продакшен сервере нам это не нужно в силу того, что структура базы там меняется ооочень редко, если вообще меняется. И вот для этого в yii есть такой волшебный параметр настройки компонента ‘db’ – как schemaCaching. Он позволяет, на некоторых базах сократить количество запросов в двое, а то и больше.

Вот как им пользоваться:

  1. Настраиваем компонент ‘cache’.
  2. Добавляем в настройку БД следующее:
'schemaCachingDuration'=>3600,

Получаем примерно:

'db'=>array(
   'connectionString' => 'mysql:host=localhost;dbname=db',
   'emulatePrepare' => true,
   'username' => 'db_user',
   'password' => 'db_password',
   'charset' => 'utf8',
   'enableProfiling'=>true,
   'schemaCachingDuration'=>3600,
),

У меня с 40 запросов сократило до 16, думаю результат говорит сам за себя.

Плагин всплывающих подсказок для jQuery — Hottips

Этот плагин моя первая попытка разработки расширений для jQuery. Мне давно нужен был простой и в то же время сильно кастумизируемый плагин для всплывающих подсказок, то что я находил было либо слишком тяжеловесным, либо в некоторых моментах подсказки появлялись в непредсказуемых местах. А мне же хотелось иметь полный контроль над поведением подсказки, удобный способ смены шаблона и выбора позиционирования самой подсказки относительно элемента. Так и появился — Hottips.

Подробнее

Static Beats – Ultraviolet Remake

Решил заняться продажей своих инструменталов. Купить можно тут.

А тут послушать:

Ultraviolet Remake – Project 67(110bpm) by s7at1c

Шаблон всплывающей подсказки (PSD)

Хочу поделится с вами шаблоном для всплывающей подсказки в стиле программы mail.app из стандартной поставки Mac OSX. Нарисовал для одного проекта. Пользуйтесь!

Всплывающая подсказка
читать далее »

9 способов писать код быстрей

Оригинал: http://net.tutsplus.com/articles/general/9-ways-to-instantly-code-faster

Существует огромное количество инструментов и методов, которые могут существенно повысить скорость написания кода. Даже настройки, которые могу сэкономить всего несколько секунд на одну итерацию, в течение месяца в итоге сэкономят не мало времени. Я покажу вам девять моих любимых методов в этой статье.
читать далее »

PHP

MVC для нубов

Оригинал http://net.tutsplus.com/tutorials/other/mvc-for-noobs/

Модель-Представление-Контроллер (MVC – Model-View-Controller) вероятно один из самых упоминаемых паттернов в веб-программирование в этом году. Наверняка каждый, кто хоть немного связан с веб-разработкой читал ну или хотя бы слышал это сокращение. Сегодня мы поговорим, что же такое MVC и почему он стал таким популярным.

читать далее »

BDD с Cucumber

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

Behavior Driven Development (разработка движимая поведением), его принцип заключается в том, что тестирование проходит по списку функций (фич), который написанн простым человечиским языком.

Cucumber – инструмент для BDD с применением которого цикл разработки принимает следующий вид:

  1. Описание функционала (фич), описание может быть на любом из поддерживаемых языков, в том числе и на русском
  2. Написание сценария, то как должна работать фича. Определение шагов (step defenition)
  3. Проверка фич кукбером
  4. Реализация не прошедших тестирование фич.

И так по кругу пока проект не будет готов.

Для примера давайте разработаем небольшую фичу, такую, например, как добавление вывод списка категорий на каком-то сайте. Оговорюсь сразу писать будем на ruby + rails 3 и в примере я буду писать описание на английском языке, а он у меня жуткий, так что будьте готовы к этому :) . И так приступим.
читать далее »

Установка RVM + Ruby 1.9.2 + Rails 3 на Mac OS

С недавних пор я стал обладателем Macbook Pro и после некоторой начальной настройки пришло время заняться средой для разработки. И тут поднялся вопрос, как обновить ruby, уже установленный в системе (версия 1.8.7), до версии 1.9.2, а так же неплохо было бы иметь возможность управлять наборами гемов (Gemset). Этим сегодня и займемся.
читать далее »

20 лучших практик html которым вы должны следовать

html

Оригинал: http://sixrevisions.com/web-standards/20-html-best-practices-you-should-follow/

Большинство веб-страниц с которыми вы сталкивались представлены вам по средствами языка разметки HTML. В этой статье я поделюсь с вами 20-ью лучшими практиками, которые приведут вас к чистой и правильной разметке.
читать далее »

Работа с utf-8 в ruby – или берем напильник в руки

ruby+utf8

И так, а в чем же собственно проблема? А проблема заключается в том, что руби не корректно работает со строками в кодировке utf-8.

Это особенно отчетливо проявляется при работе с такими методами как downcase, upcase и capitalize – они просто игнорируют эти строки.

Для примера возьмем строку “ТЕСТ” и попробуем привести ее к нижнему регистру:

“ТЕСТ”.downcase
“ТЕСТ” # полученный результат

Что же, попробуем решить эту досадную проблемку.

читать далее »