Сообщения

Сообщения за октябрь, 2012

Android - второй опыт

Изображение
Написал вторую программку под Android - сборник цитат и афоризмов. В этот раз столкнулся только с двумя проблемами: SimpleAdapter и проверка состояния сетевого подключения. SimpleAdapter Есть список авторов цитат, который загружается с удаленного сайта в формате xml:  <authors>   <author>     <id/>      <name/>     <link_to_image/>     <quote/>   </author> </authors> т.е. имя автора, ссылка на аватар и его последняя (новая) цитата. Все это надо отобразить в ListView так, чтобы в каждой строке были и имя автора и его аватар и цитата.  Разбираем данные из xml (ради экономии места обработку исключений пропускаем): HttpResponse resp = client.execute(request); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(resp.getEntity().getContent()); doc.getDocumentElement().normalize(); Author.AUTHORS = new ArrayList<HashMap<String, Object>

ActionMailer - медленное обновление страницы после отправки сообщения

Изображение
Есть два способа, как уменьшить задержку обновления страницы сайта, после нажатия на кнопку "отправить сообщение". Первый - настроить на сервере, где находится сайт, почтовый сервер, через который будут отправляться почта. Второй - использовать асинхронную отправку сообщений, чем сейчас и займемся. Самый простой способ реализации асинхронной отправки почты - использование плагина delayed_job. Добавляем в Gemfile:  gem 'delayed_job_active_record' и выполняем из директории проекта: bundle install rails g delayed_job:active_record rake db:migrate   Открываем контроллер и изменяем: AdminMailer.alert_message().deliver на AdminMailer.delay.alert_message() Осталось только выполнить в консоли: rake jobs:work Теперь обновление страницы будет происходит практически мгновенно, а в консоли можно будет отслеживать состояние отложенных заданий. 

RubyOnRails и Paperclip

Изображение
Шпаргалка по использованию Paperclip (плагин для работы с изображениями) в проектах RubyOnRails. Установка Прежде всего необходимо установить библиотеку ImageMagic, которая используется Paperclip для масштабирования изображений: sudo apt-get install libmagick9-dev После чего устанавливаем Paperclip: прописываем в Gemfile "gem 'paperclip'" и выполняем bundle install. Использование Модель с одним изображением. В качестве примера добавим аватар к модели User: rails g paperclip User avatar rake db:migrate Открываем User.rb и пишем: attr_accessible :avatar has_attached_file :avatar, :styles => { :small => '28x28#', :medium => '48x48#' } Т.е. мы сделали аватар доступным для редактирования и задали два стиля: "small" и "medium". Добавляем в форму редактирования профиля пользователя поле для выбора изображения: <%= f.file_field :avatar %> и - для отображения аватара пользователя - прописываем наприм