Создание программы - MySQL DatabaseBrowser. Часть 1
Сейчас использование баз данных, в то числе и удаленных стало обычной и повседневной практикой. Очень часто используется и СУБД MySQL – свободной распространяемая система управления базами данных. В основном она используется для малых и средних предприятий, где успешно решает многие задачи. Ее бесплатность, доступность, стабильность в работе и прочие характеристики позволяет говорить об это СУБД как о массовой альтернативе таких баз как InterBase или SyBase. Последние версии этой программы, существенно расширяющие ее возможности предлагают решение многих проблем, с которым сталкиваются как администратор баз данных, так и обычный пользователь.
Однако, существуют так же и проблемы при работе с Windows, как обязательное наличие драйверов ODBC для MySQL, если СУБД работает в этой среде. Стандартный клиент для MySQL не является удобным в настоящее время, так как является консольной программой. Опять же, требуется как минимум наличие установленной копии программы MySQL сервер на компьютере пользователя. Просмотр данных и простое редактирование также в стандартном клиенте не отвечает современным требованиям к интерфейсу. Решение целого ряда повседневных задач, предполагает стандартизацию пользовательского интерфейса и создание удобного юзабилити.
Поэтому мы пришли к необходимости создания собственного клиентского приложения Целью данного проекта является создание программы, которая бы позволяла выполнять наиболее общие операции с СУБД MySQL в операционной системе Windows, и при это не требовала наличия и настройки ODBC драйвера. Обычно это не умеет делать средний пользователь, и следовательно здесь требуется помощь администратора, что создает дополнительные трудности и самое главное, потерю рабочего времени. Кроме того, эта программа должна уметь соединяться и работать с удаленным MySQL сервером. Сам проект на данном этапе не является окончательной версией программы, поэтому реализуется с наиболее общими возможностями.
Далее будет описано шаг за шагом процесс создания проекта и с примерами исходного кода.
Создание системы аутентификации в Ruby on Rails с помощью pluginа acts_as_authenticated
Практически любое современное более менее крупное Web приложение, использует систему аутентификации. Здесь мы научимся создавать такого рода вещи самостоятельно в проектах Ruby on Rails. Для этого воспользуемся pluginом acts_as_authenticated. Во фреймворке Ruby on Rails plugin – это расширения или дополнения возможностей Ruby on Rails. То бишь это некий код, который можно установить и использовать в проекте, чтобы получить доступ к некоторому количеству дополнительных возможностей. Далее описываем последовательность действий пошагово.
Создание файлов PDF файлов в приложениях Ruby on Rails
Динамическая генерация PDF файлов очень полезна, когда нужно создать файл отчета илисохранить данные в удобном виде. Для этого существует такой плагин в Ruby on Rails «pdf-writer». Итак, разберемся как с ним работать. 1. Установим его в приложение. Для этого нужно ввести команду «gem install pdf-writer» C:\myproject>gem install pdf-writer Successfully installed pdf-writer-1.1.8 1 gem installed Installing ri documentation for pdf-writer-1.1.8... Installing RDoc documentation for pdf-writer-1.1.8... 2. После установки, необходимо отредактировать файл «environment.rb»
И поместить в него такие строки:
require 'pdf/writer'
Mime::Type.register 'application/pdf', :pdf
Первая подключает этот плагин к нашему приложению, а вторая устанавливает новый тип данных Mime, с которыми оно будет работать. 3. На конец, самое главное,- собственно генератор PDF файлов в приложении. В файле app/controllers/application.rb пишем вспомогательный метод:
def render_to_pdf(options = nil) data = render_to_string(options) pdf = PDF::HTMLDoc.new pdf.set_option :bodycolor, :white pdf.set_option :toc, false pdf.set_option :portrait, true pdf.set_option :links, false pdf.set_option :webpage, true pdf.set_option :left, '2cm' pdf.set_option :right, '2cm' pdf << data pdf.generate end
Этот метод будет использоваться при генерировании PDF файл. Он принимает данные и превращает их в файл.
4. Затем мы редактируем стандартный метод «index» нашего приложения:
def index @goods = Good.find(:all) respond_to do |format| format.html format.xml { head :ok } format.pdf { send_data render_to_pdf({ :action => 'index.rpdf', :layout => 'pdf_report' }) } end end
Здесь мы организуем форматирование данных, получаемых из базы и перенапрваляем выход во вновь созданный вспомогательный метод «render_to_pdf».
5. Далее изменим файл вида «index» и вставим в него следующее:
<%= link_to 'PDF', formatted_goods_path(:pdf) %>
Линк вызывает метод контроллера для генерирования PDF документа.
Это все. Теперь, когда пользователь нажмет на вышеуказанный линк, то он получит PDF файл.
Использование поискового движка Ferret в проектах Ruby on Rails.
Практически любом webпроекте сейчас используется поиск как стандартная опция. Мы научимся использовать механизм полнотекстового поиска, который реализован в RubyonRails в плагине Ferret. Это делается очень просто и быстро. Итак, наши дальнейшие шаги будут такие:
1.1. Устанавливаем в проект движок с помощью такой команды в командной строке :
gem install ferret
2.2. Добавляем в классмодели ActiveRecord, в которой и будет производиться поиск следующий код :
class News < ActiveRecord::Base
acts_as_ferret :fields => ['title','body']
end
Этот код активизирует установленный плагин и указывает поля в базе данных, которыебуду использоваться для индексирования.
Использование FileColumn plugin для организации загрузки файлов на сервер в приложении Ruby on Rails
Многие веб приложения предоставляют пользователям возможность загрузки файлов. В RubyonRailsс помощью архитектуры плагинов это можно организовать очень просто и быстро.
Допустим, у нас есть SugarCRMтакая проблема: существует 2 инсталляции SugarCRM,одна из которых старая, а другая новая версии. Нам необходимо перенести данные из старой базы данных MySQLв новую версию и сделать это аккуратно. Нет ничего проще.
1.Создаем копию нужной нам базы данной, с помощью экспорта базы в SQLфайл.
2.В новой инсталляции делаем новую базу данных.
3.Импортируем туда все данные из полученного ранее дампа. Можно использовать любую работаю с MySQLпрограмму или команду «source» в командной строке.
4.Редактируем PHPфайл «/config.php» : меняем имя базы данных, это переменная 'db_name ' в массиве 'dbconfig'.
5.Далее открываем базу данных, находим там таблицу «config»,поле «sugar_version» и вводим туда номер версии новой инсталляции. Например, если там стояло значение «5.0.0», то ставим «5.2.0h».
Это все. Как видите, проблема решается очень просто и быстро.
Установка и использование will_paginate в проектах Ruby on Rails.
До появления версии Ruby on Rails 2.0, объект Paginator был частью фреймворка. (См. http://wiki.rubyonrails.org/rails/pages/PaginationHelper ).
Но по каким-то причинам разработчики решили от него отказаться. Поэтому сейчас для организации постраничного вывода используется плагин «will_paginate» .
При разработке разного рода блогов или CMSв качестве важного элементаиспользуется он-лайн редакторы. Одним из лучших и наиболее распространенных является я TinyMCE . Он давно адаптирован для РНР, JSP, ASP.NET, Coldfusion.Сейчас он доступен и для Ruby on Rails. Установить и активировать его в проект данного фреймворка очень просто. Существует3 основных варианта установки:посредством svn, установка в качестве Ruby on Rails pluginа и копированием из файла архива. Рассмотримздесь все способы.
Для интеграции с помощью svnнужно в командной строке выполнить следующее:
На конец, последний способ, тоже достаточно простой.Нужно скачать исходный код редактора с сайта программы - http://tinymce.moxiecode.com/download.phpв виде файла архива. Затем полученный файл нужно открыть и поместить в уже знакомую нам папку “/public/javascripts“
Далее, в не зависимости от способа установки редактора,нужно обязательно добавитьлибо в файл “ application.rhtml“ либо в файл типа “view”, в котором вы намереваетесь использовать редактор, следующий код:
<%= javascript_include_tag "tiny_mce/tiny_mce" %>
Это подключит необходимые библиотеки для работы редактора в RubyonRailsпроекте.Затем вводим в необходимыйфайл типа типа “view”, к примеру,“messager.rhtml”такие строки кода:
<script type="text/javascript" >
tinyMCE.init({
mode:"textareas", editor_selector : "tiny_mce",
theme_advanced_toolbar_location : "top",
theme : "advanced",
convert_urls : false,
plugins : "emotions,preview"});
</script>
Затем там же помещаем ссылку на класс “tiny_mce” в веб форму , чтобы получитьполностью работающий редактор:
Это все. Минимальная конфигурация данного редактора готова к использованию. Конечно, можно активировать другие возможности редактора, как тоthemes,дополнительные языки,браузер картинок и т.д. Для этого есть очень качественная документация на сайте программы. Но это все уже по желанию или по потребности.
Пишем собственный screencapturer для Windows. Часть 1
В повседневной работе с Windows иногда , однако, все же возникает потребность в получений копий снимков с текущего рабочего стола
Windows. Для этого есть масса свободных или платных программ, а мы напишем свою. Тем боле, займет это очень мало времени. Для этого нам
нужно только работающий компьютер с установленной операционной системой Windows, MicrosoftVisualStudio 2003иконечно,MSDN. Сама процедура разработка будет описана пошагово,там жебудутте части программногокода, которые будут нами созданы.
Как обычно, создаем шаблон программы. Для этого запускаем MicrosoftVisualStudio 2003 , выбираем “NewProject…”, затем “VisualC++”. В этом меню выбираем “MFCApplication”. Выбираем путь где будет расположен наш проект и вводим название “screencapture”. (Хотя каждый может ввести любое название J ) Жмем «ОК». Дальше мы выбираем «ApplicationType» - “Dialogbased”. Если кто желает подарить другу или подруге свою программу, то нужно выбрать “UseMFCinstaticlibrary”. Все остальные настройки можно оставить без изменений.