• Ruby & Ccsv. FasterCSV не такой уж и faster

      Предстала задача вытащить инфу с большого csv-файла (50 Мб).
      Всегда пользовался FasterCSV, но так как он открывал этот файл больше минуты, начал поиски настоящего faster-а.
      Без помощи гугла не обошлось.
      Ccsv — быстрая и легкая либа для работы с Csv-файлами.

      Ccsv реализован на C и подточен под Ruby. Как видите и разница во времени выполнения большая:
      читать далее
    • Простой переводчик на Ruby

        С помощью mechanize и hpricot написал класс очень полезного переводчика.

        На даный момент доступно 3 сервера для перевода translate.meta.ua, translate.google.com и pereklad.online.ua

        Пример кода:

        def initialize(url=:meta)
        Hpricot.buffer_size = 2621444

        @agent = WWW::Mechanize.new
        @url = url || :meta
        @url = :meta unless BASE_URL.keys.include?(url)
        @page = @agent.get BASE_URL[url]
        end

        def ru_to_ua(text)
        translate(@url, :ru, :ua, text)
        end
        Читать дальше →
      • Как я поднимал посещаемость своего сайта

          Проект Продажа автомобилей был написан в 2007 году на рейсах (Ruby-on-Rails).
          Тогда я был еще на 3-тем курсе, не знал про REST и кучу всяких штучек-дрючек, короче проект написан немного трешняково. Сейчас мы его понемногу переписываем и скоро запустим с новым дизайном.

          Сперва проект пробыл в спячке целых полгода — посещаемость не превышала даже 100 уников.
          Попробовали включить контекст на гугле — дало 150-200, сайт немного ожил. Но, после того как стипуха закончилась, АвтоЛого опять ушел дремать на целых 3 месяца.

          В сентябре 2008-го перевалили за 100 и уверенно поднимались к 200. Но так как такая статистика не грела душу, да и времени особо не было, оставили проект на произвол судьбы. Иногда заглядывали, пописывали… В январе получилась уверенная 250-тка, иногда доходило до 300-сот!

          В феврале случайно нашел на картах meta.ua метки с камерами ГАИ. Появилась идея. Погуглил, нашел файл IGO этих камер, примерно 800 штук. Разместил их всех у себя на карте, использовал API Mapia.ua, так как работал там на то время. Написал на трех форумах сообщения о камерах, оставил ссылки. Что получилось:
          • первый день — 680
          • второй день — 5400
          • третий день — 4350

          График посещений за все время:
          image

          Как видно на графику, сперва был камеро-бум, так как инфа интересная и новая, притом я сделал что бы пользователи сами добавляли камеры, могли голосовать за правдивость их присутствия в данном месте и оставлять комментарии как ко всем объектам, так и по отдельности. Через месяц вышли ровно на 1500 уников в день, потом 1000, сейчас держится на 650-800. Последний месяц мы совсем затихли — писали диплом для универа.

          image

          Сейчас основной трафик идет с поисковиков (нас хорошенько обсудили на всех автомобильных форумах). В общем все получилось спонтанно и очень хорошо повлияло на будущее развитие ресурса в качестве автомобильного портала.

          Но были и проблемы. Сначала завалился сервак от такой нагрузки, админу звонить было стремновато так как задолжали ему за год пользования хостингом. Потом, когда наскребли деньжат, у нас начали воровать идею, а что еще хуже — добавленые объекты именно на нашем ресурсе. И это такие большие порталы как autocentre.ua, zavodi.ua и mapia.ua.
          Наиболее обидно за mapia.ua, после того как я от туда ушел развивать свои личные проекты, они взяли безо всякого стыда все 800 первоначальных и 500 добавленых пользователями меток. Просил поставить ссылку на первоисточник — получил жесточайший отмороженый ответ "Мы их разместили в тестовом режиме, что бы просто посмотреть как они будут выглядеть на карте".

          Вот так вот. Не судите только строго, я только начинаю писать посты. Обычно я пишу код Ruby.
          Если понравится, буду писать еще :)