Как установить ruby 2.0.0-p0

Сегодня вышел ruby 2.0.0 и я думаю скоро выйдет rails 4.

Если у вас возникли следующие ошибки, то установка простой коммандой rvm install ruby-2.0.0-p0 не получится:

Error running 'env CFLAGS=-O3 -march=corei7 -O2 -pipe ./configure --disable-install-doc --prefix=/Users/stamm/.rvm/rubies/ruby-2.0.0-p0 --with-opt-dir=/usr/local/opt/libyaml:/usr/local/opt/readline:/usr/local/opt/libxml2:/usr/local/opt/libxslt:/usr/local/opt/libksba:/usr/local/opt/openssl:/usr/local/opt/curl-ca-bundle:/usr/local/opt/sqlite --disable-shared', please read /Users/stamm/.rvm/log/ruby-2.0.0-p0/configure.log 
There has been an error while running configure. Halting the installation. 

Читать далее

Парад ссылок №2

Yii Вышел плагин для phpstorm, поддерживающий yii. Надеюсь автор не забросит его, и из этого получиться что-то более функциональное. Тестирование Функиональное тестирования как сервис - поддерживаются почти все популярные языки, все актуальные браузеры. Сам не пробовал, но судя по фичам у сервиса будут свои пользователи. Процент покрытие тестами в ruby on rails. Работает в связке с travis ci. Сейчас процедура такая: пушим на github, travis-ci выполняет тесты, coveralls показывает как изменилось покрытие кода и показывает красивые отчёты об изменениях.

Читать далее

Парад ссылок №1

Новая рубрика в блоге: парад ссылок. Это что-то наподобие линк-блога, но ориентированного на веб-разработчиков: php, js, администрирование и всё больше о ruby и рельсах. Короче всего, что мне интересно.

Надеюсь, каждый найдёт что-то интересное.

Читать далее

Ускорение скорости работы grep в Mac OS X

На монитор попала статья о том, что grep от gnu быстрее стандартного маковского grep’а в 10 раз Решил проверить у себя. На файле, размером в 720 Мб grep стал быстрей в 36 раз! Неплохо. $ brew install grep $ time /usr/bin/grep "GET /out" nginx-access_log.2 | wc -l 140858 /usr/bin/grep "GET /out" nginx-access_log.2 26.49s user 0.28s system 97% cpu 27.443 total wc -l 0.03s user 0.02s system 0% cpu 27.443 total $ tmp time grep "GET /out" nginx-access_log.

Читать далее

Ограничение прав пользователей в git

Бывали ситуации, когда сделали какой-то внерелизный автономный функционал или просто быстрый хотфикс, а в мастере один из коллег уже успел чего изменить, что ещё не протестировано. А это нарушает одно из правил — в мастере должен быть только стабильный код. Поэтому код в мастер не должен попадать непротестированным.

Почему он это сделал — это другой вопрос: просто не переключил ветку или намеряно. Или к джуниору подбежал директор или менеджер и сказал, что нужно быстро исправить. Тут нужно бить такого программиста по рукам, но лучше предупредить болезнь, чем лечить её =)

Читать далее

Удаление данных из коллекции в Mongodb без блокировки

Задача: удалять устаревшие данные из большой коллекции монги. Можно пойти в лоб и удалять так:

var time = new Date().getTime() - 2*24*60*60;
db.data.remove({updating_time: {$lte: time}})

В этом случае возникнет блокировка, и запросы на чтение будут очень долго выполняется. А система устроена таким образом, что постоянно вставлять и обновлять данные из этой коллекции.

Читать далее

Яндекс.танк — инструмент нагрузочного тестирования

28 июля на я.субботнике был представлен новый инструмент для нагрузочного тестирования Яндекс.танк. Это внутреняя разработка яндекса, которая наконец-то вышла в свет. Видел я этот танк ещё на YaC 2011, когда были соревнования по конфигурированию nginx.

Это консольный инструмент, пока не имеющий графического интерфейса, но дающий довольно полную картину в этой самой консоли.

Читать далее

Yii: рецепты №2

Продолжаю делится интересным о Yii

Шифрование данных

Иногда требуется зашировать данные с возможностью последующей обратной дешифровкой.

В yii есть отличная обёртка для такого рода операций: CSecurityManager::encrypt() и CSecurityManager::decrypt()

Настраиваем алгоритм, режим и ключ шифрования.

Читать далее

Yii: рецепты №1

Пакетирование js и css-файлов и использование зависимостей между этими пакетами.

Есть замечательный инструмент для рисования графиков на js — highcharts, но он использует фреймворк jQuery и сам jQuery не подключает. Соответственно, мы создаём наш пакет, где указываем js и css файлы из highcharts и прописываем зависимость от jQuery.

Читать далее

Редирект при вставки сайта через iframe

Довольно долго бился c запрещением вставки сайта в iframe с указанием белого списка сайтов, которые могу это сделать if (top != self) { var white_list = ['yandex.ru', 'google.com']; var isFriend = false; var hostname = document.referrer.split("/")[2].split(":")[0]; for (var i=0; i < white_list.length; i++) { if (hostname == white_list[i] || hostname == "www." + white_list[i]) { isFriend = true; break; } } if ( ! isFriend ) { window.top.location = window.location.href; } }

Читать далее