Главная
...

Мы в эту реку входим только раз.

Чем дальше берег, тем быстрей теченье.

Всего лишь имя остается после нас,

И звездный свет в холодном отраженье.

 
Создание программы - 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 проекте сейчас используется поиск как стандартная опция. Мы научимся использовать механизм  полнотекстового поиска, который реализован в  Ruby on Rails в  плагине Ferret. Это делается очень просто и быстро. Итак, наши дальнейшие шаги будут такие:

 

1.       1. Устанавливаем в проект движок  с помощью такой команды в командной строке :

               gem install ferret

 

2.       2. Добавляем в класс  модели ActiveRecord , в которой и будет производиться поиск следующий код :

             class News < ActiveRecord::Base

            acts_as_ferret :fields => ['title','body']

            end

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

 

3.       3. Создаем простую форму поиска:

<%= start_form_tag({:action=> "search"}) %>

<b>Search:</b>

<%= text_field_tag :search  %>

<%= submit_tag (value = "Search", options = {}) %>

<%= end_form_tag%>

 

4.       4. В  классе контроллера создаем новый метод  «search»:

 

     class NewsController < ApplicationController

           def search

          query = params[:search]

          @results = News.find_by_contents(query)

          end

         end

 

5.       5. И на конец, еще один заключительный штрих – вывод результатов поиска:

 

        <h1>Search Results</h1>

        <% if @results %>

        <p>Your search:

 

         <p><%= params[:query] %></p>

     <%= @results.size %> Results:</p>

     <ul>

     <% @results.each { |result| %>

    <li><%= link_to result.title, :action => 'show', :id => result %></li>

    <% } %>

   </ul>

     <% end %>

 

Как видите, реализация поиска не отняла у нас слишком много времени. Подмигиваю

 
Использование FileColumn plugin для организации загрузки файлов на сервер в приложении Ruby on Rails

Многие веб приложения предоставляют пользователям возможность загрузки файлов. В Ruby on Rails с помощью архитектуры плагинов это можно организовать очень просто и быстро.

Итак, описываем наши дальнейшие шаги:

 
Перенос дампа базы данных в Sugar CRM.

Допустим, у нас есть   Sugar CRM  такая проблема: существует 2 инсталляции Sugar CRM,одна из которых старая, а другая новая версии. Нам необходимо перенести данные из старой базы данных 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» .
 Как это делается? Сейчас увидим, как это просто.
 
Использование в Ruby on Rails редактора TinyMCE

 

 

             При разработке разного рода блогов  или CMS в качестве важного элемента  используется он-лайн редакторы. Одним из лучших и наиболее распространенных является я TinyMCE . Он давно адаптирован для РНР, JSP, ASP.NET, Coldfusion.  Сейчас он доступен и для Ruby on Rails.  Установить и активировать его в проект данного фреймворка  очень просто. Существует  3 основных варианта установки:  посредством svn,  установка в качестве Ruby on Rails pluginа и копированием из файла архива. Рассмотрим  здесь все способы.

     Для интеграции с помощью svn нужно в командной строке  выполнить следующее:

svn export https://secure.near-time.com/svn/plugins/trunk/tiny_mce

Затем нужно  обязательно  запустить  такую команду:

rake tinymce:scripts:install

  Она поместит в директорию  Ruby on Rails  проекта  /public/javascripts необходимые для работы редактора библиотеки.

Другой способ установки – использование  plugina TinyMCE . Опять же, в командной строке запускаем :

ruby script/plugin install -x  https://secure.near-time.com/svn/plugins/trunk/tiny_mce

На конец, последний способ, тоже достаточно простой.  Нужно скачать  исходный код редактора с сайта программы - http://tinymce.moxiecode.com/download.php  в виде файла архива. Затем полученный файл нужно открыть и поместить в  уже знакомую нам папку  “/public/javascripts

Далее, в не зависимости от способа установки редактора,  нужно обязательно добавить  либо в файл “ application.rhtml “ либо в файл типа “view”, в котором вы намереваетесь использовать редактор, следующий код:

<%= javascript_include_tag "tiny_mce/tiny_mce" %>

Это подключит необходимые библиотеки для работы редактора в Ruby on Rails проекте.  Затем вводим в необходимый  файл типа   типа “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” в веб  форму , чтобы получить  полностью работающий редактор:

 

<p><label for="author_message">Message</label><br/>

 

<%= text_area 'author', 'message', :cols => "50", :class => 'tiny_mce'%></p>

 

 Это все. Минимальная конфигурация данного  редактора готова к использованию. Конечно, можно активировать  другие возможности редактора, как то  themes,  дополнительные языки,  браузер картинок и т.д.  Для этого есть очень качественная документация на сайте программы.  Но это все уже по желанию или по потребности.  

 

 

 
Пишем собственный screencapturer для Windows. Часть 1

В повседневной работе с Windows иногда , однако, все же возникает потребность в получений копий снимков с текущего рабочего стола

Windows. Для этого есть масса свободных или платных программ, а мы напишем свою. Тем боле, займет это очень мало времени. Для этого нам

нужно только работающий компьютер с установленной операционной системой Windows, Microsoft Visual Studio 2003  и  конечно,  MSDN . Сама процедура разработка будет описана пошагово,  там же  будут  те части программного  кода, которые будут нами созданы.

 

  1. Как обычно, создаем шаблон программы. Для этого запускаем Microsoft Visual Studio 2003 , выбираем “New Project…”, затем “Visual C++”. В этом меню выбираем “MFC Application”. Выбираем путь где будет расположен наш проект и вводим название “screencapture”. (Хотя каждый может ввести любое название J )  Жмем «ОК». Дальше мы выбираем «Application Type» - “Dialog based”. Если кто желает подарить другу или подруге свою программу, то нужно выбрать  Use MFC in static library”. Все остальные настройки можно оставить без изменений.
 


© www.aurov.com - Личный сайт Александра Юрова 2008 All rights reserved
Tags
nested stop sethotimagelist onceclass initialization lbytesstreamed сообщение Вводим ignored Если ifndef класс ccmdui toolbare updatedata params schema компилируем 58e6318e generated afxgetapp undef path качестве constructors hpalette valid мыши форму yoursite

Joomla Modul

Главная
Статьи
Творчество
Галерея
Кто он-лайн
Jx Random Quote
"The most important job is not to be governor, or first lady in my case." -- George W. Bush