- •Оглавление Введение
- •1. Теоретическая часть
- •1.1. Теория поиска информации
- •1.2. Язык программирования ruby
- •1.3. Язык упрощённой разметки haml
- •1.4. Язык метаразметки sass
- •1.4. Дополнительные модули языка Ruby
- •2. Практическая часть
- •2.1. Постановка задачи
- •2.2. Разработка веб-приложения
- •2.3. Отладка веб-приложения
- •Заключение
- •Список литературы
1.2. Язык программирования ruby
Ruby – динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Lisp, Dylan и Клу. На сегодняшний день интерпретатор Ruby реализован практически для всех платформ( Unix, Win32, OS X). Создателем языка является Юкихиро Мацумото.
Ruby – полностью объектно-ориентированный язык программирования. Всё является объектами, а функции — методами этих объектов [3].
Основные свойства Ruby:
Интерпретируемый язык:
Возможность прямых системных вызовов.
Мощная поддержка операций со строками и правилами (регулярными выражениями).
Мгновенное проявление изменений во время разработки.
Отсутствие стадии компиляции.
Простое и быстрое программирование:
Не надо объявлять переменные.
Переменные динамически типизированы.
Простой и последовательный синтаксис.
Автоматическое управление оперативной памятью.
Объектно-ориентированное программирование:
Всё есть объект. Даже имя класса есть экземпляр класса Class.
Классы, методы, наследование, полиморфизм, инкапсуляция и так далее.
Методы-одиночки.
Примеси при помощи модулей (возможность расширить класс без наследования);
Итераторы и замыкания.
Широкие возможности метапрограммирования.
Удобства:
Неограниченный диапазон значений целых чисел.
Модель обработки исключений.
Все операторы возвращают значения, даже управляющие структуры.
Динамическая загрузка.
Механизм перехвата исключений.
Поддержка потоков; как собственных, так и систем семейства UNIX.
Недостатки:
Неуправляемость некоторых процессов (таких, как выделение памяти), невозможность задания низкоуровневых структур данных или подпрограмм;
Невозможность компиляции и сопутствующей ей оптимизации программы;
Открытость исходного кода даже в готовой программе
Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ [4].
Также стоит отметить, что для Ruby существует множество модулей (дополнений) практически для любого вида задач (программирование интерфейсов, сложные математические вычисления, работа с аудио, видео, 3D и т.п). Поэтому этот язык программирования был выбран в качестве основного для написания практической части.
1.3. Язык упрощённой разметки haml
Haml - язык разметки для упрощённой генерации XHTML. HAML компилируется в HTML. Haml намного проще Html'`а так, как позволяет упростить и ускорить написание веб-приложений.
Например, данный кусок кода на Haml'е
!!!
%html{ html_attrs('ru') }
%head
%title Мой блог
%meta(http-equiv="Content-Type" content="text/html; charset=utf-8")
= stylesheet_link_tag "main"
%body
#header
%h1 Мой блог
%h2 Записи
#content
- @entries.each do |entry|
.entry
%h3.title= entry.title
%p.date= entry.posted.strftime("%A, %B %d, %Y")
%p.body= entry.body
#footer
%p.copyright
Все права защищены © Иван
трансформируется Html-код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='ru' xml:lang='ru' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Мой блог</title>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
<link href="/stylesheets/main.css?" media="screen" rel="Stylesheet" type="text/css" />
</head>
<body>
<div id='header'>
<h1>Мой блог</h1>
<h2>Записи</h2>
</div>
<div id='content'>
<div class='entry'>
<h3 class='title'>Хеллоуин</h3>
<p class='date'>Четверг, 31 октября, 2006</p>
<p class='body'>
Ох уже эти американские праздники.
</p>
</div>
<div class='entry'>
<h3 class='title'>Новый язык шаблонов для Rails</h3>
<p class='date'>Пятница, 11 августа, 2006</p>
<p class='body'>
Haml — супер круто и жутко удобен. Моя Rails-душа наполнена счастьем. Это что?
</p>
</div>
</div>
<div id='footer'>
<p class='copyright'>
Все права защищены © Иван ???
</p>
</div>
</body>
</html>
[5]
Видно, что 19 строк кода трансформируются в 35.
Реализация Haml'а существует для множества языков программирования.