Как стать автором
Обновить
29
0
Дмитрий Смирнов @fantaseour

Пользователь

Отправить сообщение

Ручная установка Ruby 1.8.7 и Rails на Windows XP

Время на прочтение2 мин
Количество просмотров3.7K
Написал однажды для себя, но подумал — «А что, если кому-то тоже пригодится?»

Итак, установим Ruby. Для этого нужно:

  1. скачать бинарники для Ruby 1.8.7 здесь: http://www.ruby-lang.org/en/downloads/. Распаковать их в желаемую директорию (например в c:\ruby).
  2. открыть My Computer → Properties → Advanced → Enviromental Variables, и дописать в переменную Path такую строку "с:\ruby\bin\" (это зависит от того, куда вы распаковали бинарники)
  3. скачать пакет zlib здесь: http://www.zlib.net/zlib123-dll.zip. Из него достать файл zlib1.dll, переименовать его в zlib.dll и поместить по адресу с:\ruby\bin\
  4. скачать пакет iconv здесь: http://sourceforge.net/project/showfiles.php?group_id=25167&package_id=51458. В архиве отыскать файл iconv.dll и скопировать его по адресу с:\ruby\bin\
  5. скачать и установить библиотеку OpenSSL отсюда: http://www.slproweb.com/products/Win32OpenSSL.html
  6. скачать rubygems здесь: http://rubyforge.org/frs/?group_id=126. Распаковать архив, отыскать файл setup.rb и запустить в консоли команду ruby setup.rb
Теперь необходимо установить Rails. Для этого нужно:
  1. в консоли выполнить команду gem install rails
  2. в консоли выполнить команду gem install sqlite3-ruby -v 1.2.3
  3. скачать и библиотеку SQLite3 здесь: http://www.sqlite.org/download.html. Распаковать из скачанного архива файл sqlite3.dll в папку с:\ruby\bin\
Последние два пунка нужны для того, чтобы запустить Rails-приложение «из коробки», где изначально в конфигурации прописано использование базы данных SQLite.

Теперь необходимо проверить, как работает Rails. Для этого нужно:
  1. в консоли выполнить выполнить команду rails my_projects_name_with_path (например: "rails d:/my_blog") – тем самым мы создадим каркас пустого приложения
  2. перейти в папку с созданным каркасом и выполнить в консоли команду ruby script/server – тем самым мы запустим нашу пустую Rails-программу
  3. в браузере перейти по адресу localhost:3000
  4. на открывшейся странице нажать по ссылке "About your application's environment" – тем самым должно быть показано версии установленых компомент Rails

Спасибо добрым людям, однажды ответившим на вопрос об установке Ruby на сайте stackoverflow.com тем самым сподвигнув меня разобраться во всём в деталях и написать это небольшое руководство-памятку.
Всего голосов 25: ↑21 и ↓4+17
Комментарии16

Ломаем капчу

Время на прочтение3 мин
Количество просмотров80K
Гуляя по просторам интернета, зашёл на один высокопосещаемый древний сайт рунета. Для того, чтобы скачать файлик с этого сайта, нужно угадать вот такую капчу:
image
В очередной раз видя картинку с цифрами — решился. В голове уже давно проносились мысли, сломать какую-нибудь капчу :)

Ставлю себе задачу: Написать скрипт, который будет расшифровывать показанную капчу и выплевывать драгоценные циферки.

Название сайта специально не привожу — сами догадаетесь :)

Итак, поехали!

Читать дальше →
Всего голосов 322: ↑302 и ↓20+282
Комментарии144

VirtualBox. Удобное переключение между Host и Guest

Время на прочтение2 мин
Количество просмотров22K
Те, кто работает админом и занимается тех.поддержкой пользователей в крупных конторах, часто сталкиваются с необходимостью держать на рабочей машине Windows наряду с любимой ОС — в данном случае Debian GNU/Linux. Задачи, вынуждающие ставить винду могут быть разными. Средства тоже: кто-то ставит VMWare, кто-то qemu, я пользуюсь VirtualBox. В общем виртуальными машинами сейчас никого не удивить. Я хочу поделиться с людьми небольшим, но очень удобным финтом.
Читать дальше →
Всего голосов 97: ↑96 и ↓1+95
Комментарии62

Контроль версий структуры базы данных

Время на прочтение6 мин
Количество просмотров15K
imageЭта статья — How To, которое поможет вам легко обеспечить миграцию между версиями БД ваших PHP приложений с помощью Phing и dbdeploy.
Читать дальше →
Всего голосов 54: ↑48 и ↓6+42
Комментарии36

Угон JSON

Время на прочтение1 мин
Количество просмотров5.5K
imageВ статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные данные (иначе не спортивно), является валидным JS объектом, отдается по GET запросу. Требования к жертве: браузер поддерживает JavaScript, он включен, поддерживается метод __defineSetter__.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии45

Фильтрация изображений методом свертки

Время на прочтение6 мин
Количество просмотров85K
Автором данного топика является хабраюзер Popik, который сам не может запостить этот топик в силу астральных причин.

Введение.


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

Что же там дальше?
Всего голосов 93: ↑89 и ↓4+85
Комментарии63

Плавающие якоря

Время на прочтение1 мин
Количество просмотров9.2K
Верстал комменты для очередного проекта. Всегда напрягало, что якорь в комментариях опускал экран до нужного комментария «впритык», тогда как с эстетической точки зрения было бы приятно, если бы сверху от границы экрана до самого комментария все же был бы какой-то отступ.
image
Читать дальше →
Всего голосов 144: ↑125 и ↓19+106
Комментарии145

GIT для пользователей subversion (и др scm)

Время на прочтение4 мин
Количество просмотров6.1K
Git это еще одна системы для управления исходным кодом, аналогичная subversion, cvs и другим. Почему аналогичная, а не «новая», «быстрая» и тп? SCM (source code management) прежде всего инструмент, который позволяет выполнять операции необходимые для одного разработчика и команды в целом. При каждый инструмент имеет свои достоинства и недостатки.

В этой статье мы сосредоточимся на основных функциях, без сравнительного анализа (чтобы не повторять миллионы заметок в web). И покажем пример, как применять git при работе с subversion.
Читать дальше →
Всего голосов 76: ↑71 и ↓5+66
Комментарии53

Умные сессии

Время на прочтение2 мин
Количество просмотров3.7K
Решаем проблемы производительности.

Исходные данные.
Транслируем футбольные матчи через интернет. Посетителей: в обычные дни 5 000 — 10 000, в дни матчей 100 000 — 150 000.

В дата-центре
  • 5 веб-серверов с апачем и ПХП, наружу вывешены через аппаратный балансировщик загрузки
  • 2 пула мемкеша: для сессий и данных из веб-сервисов

Проблема
При большом наплыве посетителей происходит перегрузка локальной сети из-за большого количества обращений к мемкешу. Усугублящие факторы: 100Мбит сеть, оба пула на одних и тех же серверах.
Читать дальше →
Всего голосов 79: ↑54 и ↓25+29
Комментарии70

UserJS. Часть 4: libretki framework

Время на прочтение8 мин
Количество просмотров1.7K
libretki — это framework, призванный упростить создание userjs и предоставить уже готовый набор полезных функций.

Другие статьи серии:

Ядро



Ядро системы представлено файлом libretki.core.js, который является развитием loader.js из второй статьи. Ядро также предоставляет некоторые базовые функции. Если все, что Вам нужно — это возможность подключать другие файлы, ядра достаточно.

Типовой скрипт с использованием libretki:
if (! ('libretki' in window)) { libretki = { __scripts: [] }; }
libretki.__scripts.push({
    name: 'habrahabr.example',
    requires: ['libretki.utilities'],

    init: function(unsafe) {
      // some code...

      libretki.core.namespace('habrahabr.example', {
        func: function() { /* ... */ },
      });
    }
});


Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии40

Несколько удобных инструментов для тестирования сайта

Время на прочтение3 мин
Количество просмотров32K
Представляю вашему вниманию обзор нескольких полезных инструментов для всестороннего тестирования сайтов.

Читать дальше →
Всего голосов 95: ↑90 и ↓5+85
Комментарии44

Расширенный сборник CSS-хаков

Время на прочтение4 мин
Количество просмотров37K
Статья является расширенным сборником CSS-хаков в сравнении с аналогичной статьей.
Под хаком подразумевается метод, позволяющий воспринимать CSS только определенному браузеру.
Хаки могут использоваться не только для исправления багов в верстке, но и в случае использования определенных особенностей браузера для ускорения рендеринга web-страницы в нём (к примеру CSS3-свойства)

Подробности под катом
Всего голосов 116: ↑110 и ↓6+104
Комментарии77

Величие шрифтов

Время на прочтение1 мин
Количество просмотров1.5K
Потрясающе видео «Mankind Is No Island», смонтированное из снимков шрифтов и текстов, снятых на мобильный телефон на улицах Сиднея и Нью-Йорка, получило награду на австралийском кинофестивале Tropfest NY 2008.


И Вы действительно много потеряли, если ещё не видели сцены из известных фильмов обыгранных с помощью шрифтов (под хабракатом).

Читать дальше →
Всего голосов 71: ↑61 и ↓10+51
Комментарии16

Версия 1.0.6

Время на прочтение2 мин
Количество просмотров822
7 июня вышла очередная ежемесячная версия фреймворка Yii — 1.0.6. Рассмотрим список и немного деталей самых примечательных изменений.
Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии17

PHPUnit и его Database Extension. Беглый взгляд

Время на прочтение7 мин
Количество просмотров7.2K

Пространное и многословное вступление


Уже чуть более года в проекте где я работаю ходят разговоры о модульном тестировании. Помимо разговоров неоднократно делались попытки превратить эти разговоры в жизнь. Все попытки на данный момент закончились тем, что ни один ранее написанный модульный тест не прогоняется в процессе разработки. Все они лежат мертвым кодом в недрах нашей системы. Представили такой себе постсоветский индастриэл? Торчащие колонны из земли, ржавая арматура на фоне хмурого неба:)

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

Читать дальше
Всего голосов 26: ↑23 и ↓3+20
Комментарии29

Memcached — стратегия кеширования

Время на прочтение6 мин
Количество просмотров17K
Хочу поприветствовать хабросообщество. Из приятных впечатлении при регистрации на Хабре — так это атмосфера сказочности, которая бывает только в старых добрых сказках из советского Кинофильма.
Итак, слезы умиления прошли, приступаем. Ниже топик, который привел к инвайту на Хабр.

Memcached применяется для кеширования данных. Это делается для того, чтобы избежать лишних обращений к базе данных, т.е. в Memcached сохраняют результаты запросов. Это ускоряет работу сайта и уменьшают время выдачи страниц.
Кеш кроме преимуществ имеет свои недостатки. Одна из проблем кеша — это его актуальность. В режиме работы «только чтение» трудностей не возникает. Если же мы имеем дело с данными, которые изменяются, или изменяются часто, то эффективность кеширования резко падает.
Читать дальше →
Всего голосов 59: ↑38 и ↓21+17
Комментарии88

Мощный лазер своими руками за один вечер

Время на прочтение3 мин
Количество просмотров975K
image

Кратко.


Здравствуйте дамы и господа. Сегодня я открываю серию статей, посвященных мощным лазерам, ибо хабрапоиск говорит, что люди ищут подобные статьи. Хочу рассказать, как можно в домашних условиях сделать довольно мощный лазер, а также научить вас использовать эту мощь не просто ради «посветить на облака».

Предупреждение!


В статье описано изготовление мощного лазера (300мВт ~ мощность 500 китайских указок), который может нанести вред вашему здоровью и здоровью окружающих! Будьте предельно осторожны! Используйте специальные защитные очки и не направляйте луч лазера на людей и животных!
Читать дальше →
Всего голосов 499: ↑481 и ↓18+463
Комментарии486

JuffEd 0.7.528 или Что версия 0.8.0 нам готовит

Время на прочтение4 мин
Количество просмотров1.4K
Добрый день.

После довольно удачного (как мне показалось :)) анонса на Хабре редактора JuffEd (см. ссылку в конце статьи) пришла пора отчитаться о проделанной работе. В первую очередь хочу выразить огромную благодарность всем, кто принял участие в тестировании версии 0.6.0, кто оставлял пожелания и сообщения о багах.

Версия 0.8.0 скоро увидит свет, а пока что (для самых смелых и нетерпеливых) представляю превью-версию 0.7.528, в которой реализовано довольно много новых фич, в том числе и тех, о которых просили хабраюзеры в комментариях к анонсу версии 0.6.0. Были учтены многие пожелания, но пока что не все, поэтому если вам чего-то ну очень хочется — не стесняйтесь настоять на этом :)

Итак, что же нового в этой версии?
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии120

Чистый шаблонизатор — PURE

Время на прочтение1 мин
Количество просмотров6.6K
Совсем недавно открыл для себя интересный шаблонизатор под названием PURE.

Им удобно пользоваться, у него хороший сайт, а также поддержка самых разных JavaScript-библиотек (Prototype, jQuery, MooTools, Sizzle, скоро Dojo).
пример использования
Всего голосов 32: ↑17 и ↓15+2
Комментарии42

Небольшой архив значков (пиктограмм)

Время на прочтение1 мин
Количество просмотров2.9K
Доброго времени суток. Хочу представить вашему вниманию мою подборку значков (пиктограмм), размером 16х16. Все значки бесплатны для личного и коммерческого использования.
Архив содержит:
  • SILK ICONS (www.famfamfam.com/ by Mark James)
  • Fugue Icons версия 1.8.1 (www.pinvoke.com/ by Yusuke Kamiyamane)
  • Silk Companion (www.damieng.com by Damien Guard)
  • Xiao (www.ineversay.com by Delacro)
  • Vaga (www.tenbytwenty.com by Ed Merrit)
  • Sizcons (www.randomjabber.com by RandomJabber)
  • Free Web Design Icon Set (www.semlabs.co.uk by SEM Labs)
  • 3 сета бесплатных иконок от IcoJoy (www.icojoy.com)

Посмотреть preview и скачать можно тут или скачать с Народа
Всего голосов 70: ↑48 и ↓22+26
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность