Pull to refresh
0
0
Павел Галета @super_p

User

Send message

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

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

Ccsv реализован на C и подточен под Ruby. Как видите и разница во времени выполнения большая:
читать далее
Total votes 7: ↑6 and ↓1+5
Comments0

Простой переводчик на Ruby

Reading time1 min
Views1.2K
С помощью 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
Читать дальше →
Total votes 8: ↑5 and ↓3+2
Comments5

Как я поднимал посещаемость своего сайта

Reading time2 min
Views739
Проект Продажа автомобилей был написан в 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.
Если понравится, буду писать еще :)
Total votes 69: ↑38 and ↓31+7
Comments18

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity