четверг, 31 октября 2013 г.

создание конвертирование электронных книг в в ubuntu

для работы с читалкой не всегда можно подобрать подходящий формат. Иногда просто требуется сохранить несколько html страниц с картинками

я для себя нашел следующий выход во первых для чтения на компе и конвертации calibre

(установить sudo apt-get install calibre)
для преобразования веб страниц
сервис http://readlists.com/  (можно скачать например это http://readlists.com/1b39c067/)

пятница, 18 октября 2013 г.

сделать обязательным поле назначена в redmine

в файле
{redmine}/app/models/issue.rb
поправить  строчку (67)
 validates_presence_of :subject, :priority, :project, :tracker, :author, :status
на 
 validates_presence_of :subject, :priority, :project, :tracker, :author, :status, :assigned_to

и в 
redmine/app/views/issues/_attributes.html.erb
(18)
<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => @issue.required_attribute?('assigned_to_id') %></p>

на

<p><%= f.select :assigned_to_id, principals_options_for_select(@issue.assignable_users, @issue.assigned_to), :include_blank => true, :required => true %></p>

среда, 16 октября 2013 г.

четверг, 10 октября 2013 г.

Получение списка файлов на ruby

 
Dir.open('.').each do |file|
 puts file if file.split(".").pop == 'png'
end
Получение списка файлов на ruby с расширением png Элегантно правда

среда, 21 августа 2013 г.

изменить количество задач в redmine в виджетах на главной

переходим в папку /usr/share/redmine/app/views/my/blocks
в которой правим файлы
_issuesassignedtome.html.erb  _issuesreportedbyme.html.erb

<% reported_issues = Issue.visible.find(:all,
                                :conditions => { :author_id => User.current.id },
                                :limit => 10,
                                :include => [ :status, :project, :tracker ],
                                :order => "#{Issue.table_name}.updated_on DESC") %>

Заменяем limit с 10 на 25

среда, 31 июля 2013 г.

совершенный парсинг сайтов

подчас требования к парсингу сайтов переходит все приделы и просто получить html код
бывает не достаточно.
итак

  1. нужно чтобы код можно было выполнять на удаленном сервере (варианты с плагинами для браузеров отпадают)
  2. получать и хранить куки 
  3. необходимо выполнять js в полном объеме и получать DOM измененный js (речь идет о парсинге ajax сайтов)
  4. получать скриншоты страниц

и т.д. и т.п.
понятно что идеальным выбором будет браузер
поэтому внимательно смотрим на phantomjs(http://phantomjs.org/) и его документацию на github
(https://github.com/ariya/phantomjs/wiki)

запихиваем бинарник (на ubuntu) в /bin даем нужные права
создаем js файл с инструкциями для phantomjs а дальше можно расстраивать архитектуру как хочешь например использовать очереди для передачи асинхронных задач phantomjs


PHP: The Right Way блог програмышки
Яндекс.Метрика