пятница, 26 ноября 2010 г.

четверг, 18 ноября 2010 г.

Как работает Array.prototype.slice.call

Для того, чтобы из аргументов JavaScript функции "отрезать" первые Х значений, используется метод slice:

Array.prototype.slice.call(arguments, X);

Например такая функция вернет "3,4":

(function(){
  var args = Array.prototype.slice.call(arguments, 2);
  alert(args); // Returns: 3,4
})(1, 2, 3, 4);


Используется вызов через Array.prototype.call(array, params)  потому, что arguments - псевдо-массив и не содержит методов прототипа массива. С помощью call мы явно вызываем нужный метод из прототипа Array с контекстом arguments.

Таким образом, такой подход используется когда нужно срезать входящие параметры функции JavaScript.

среда, 17 ноября 2010 г.

Установить значения счетчика для auto increment поля таблицы mysql

Для того чтобы установить значение ключевого автоинкрементного поля таблицы (auto increment), используется запрос (значение может быть любое, если равно 1 - значит сбрасывается счетчик):

ALTER TABLE `tablename` AUTO_INCREMENT=1


суббота, 13 ноября 2010 г.

jQuery autocomplete combobox установить высоту списка и полосы прокрутки

В предыдущем посте Combobox на основе jquery autocomplete  я давал ссылки на плагин автокомплитита, который умеет отображаться как выпадающий список.

На форумах часто задают вопрос - "Как ограничить высоту выпадающего списка и добавить полосу прокрутки?"

Ответ очень простой. Достаточно добавить кусочек CSS на страницу или в файл со стилями. Высоту укажите свою:

.ui-autocomplete { height: 300px; overflow-y: scroll; overflow-x: hidden;}


среда, 10 ноября 2010 г.

Использование карты VISA Electron от УкрСоцБанка для онлайн платежей

Недавно столкнулся с проблемой - хотел оплатить лот на Amazon своей гривневой картой VISA от УкрСоцБанка. Я получил ответ, суть которого сводилась к тому, что мой банк заблокировал транзакцию по соображениям безопасности.

В банке удалось выяснить, что по-умолчанию, на картах стоит ограничение в $20 на исходящие платежи. С помощью консультанта удалось ограничение снять. Теперь переведу на карту деньги и попробую оплатить снова. 

Результаты опишу как только получу товар.



Combobox на основе jquery autocomplete

Иногда бывает необходимо создать выпадающий список с использованием autocomplete. Таким образом, мы получаем некий гибрид: с одной стороны - мы имеем выпадающий список с определенным набором элементов, с другой стороны - мы можем вводить в это поле символы и тогда будет срабатывать стандартный autocomplete.

Детальную информацию и пример можно посмотреть здесь: http://jqueryui.com/demos/autocomplete/#combobox

jQuery.autocomplete уже умеет это делать, просто его нужно немного кастомизировать. Большим плюсом использования компонента jQuery UI являеться то, что уже есть большой набор готовых скинов(тем) и их очень легко установить у себя на сайте.

вторник, 9 ноября 2010 г.

Запуск rake задач для production версии сайта

Когда мы запускаем таски на сайте в режиме продашина, то должны помнить - нужно обязательно указывать явным образом значение  RAILS_ENV="production". 

Например:
rake db:migrate RAILS_ENV="production"

Перезапустить crontab

Если crontab был модифицирован, то для принятия изменений необходимо его перезапустить:

sudo /etc/init.d/cron restart

понедельник, 8 ноября 2010 г.

Thinking Sphinx документация

Самая подробная документация по Thinking Sphinx находиться на сайте Thinking Sphinx
Для быстрого старта, неплохо бы посмотреть видео-урок на railscasts: Thinking Sphinx (Railscasts)
Немного русской доки можно почерпнуть на форуме: http://rubyclub.com.ua/

Самая простая и быстрая установка php5+apache2+mysql

Хочу поделиться очень простым способом настройки связкии php5+apache2+mysql на linux.

Все гениальное просто:

sudo apt-get install phpmyadmin

Теперь только нажимать "Yes" когда попросят :) и ввести пароль и логин пользователя mysql. Данный трюк возможен из-за того, что установщик пакетов автоматически устанавливает необходимые программы, которые нужны для работы phpmyadmin (либо же любой программы которую надо установить)

Книга по рельсе 3. Ruby on Rails Tutorial. Learn Rails by Example

Недавно случайно нашел неплохую онлайн-книгу с примерами по Rails 3. PDF и ScreenCasts платные, но с сайта можно читать сколько угодно. Впечатлениями от прочтения поделюсь позже.

Знакомтесь - Ruby on Rails Tutorial: Learn Rails by Example by Michael Hartl.

пятница, 5 ноября 2010 г.

Rails. Загрузить данные в таблицы из YAML файлов

Пусть у нас есть папка, в которой находяться yaml файли с данными для таблиц. Название таблицы и соответствующего yaml файла должны совпадать.

Создадим простой rake-task, который поможет нам наполнить таблицы данными из yaml файлов.

"Path to Yaml directory" - путь к директории с Yaml файлам
table1,table2,table3 - название таблиц в БД.

Реализация таска: