Главная » Архив автора

Внедрение не-Spring компонентов

Добавлено Дата: 6 July, 2014 категория: Spring

Как рассказывалось в главе 2, одна из главных задач фреймворка Spring – настраивать экземпляры компонентов. Но до сих пор всегда подразумевалось одно обстоятельство: контейнер Spring может на- страивать только компоненты, экземпляры которых он создает сам. На первый взгляд может показаться странным, но это представляет некоторые проблемы. Не все объекты, имеющиеся в приложении, создаются контейнером Spring. Рассмотрим следующие возможные ситуации:

Читать »

Короткие строки Free Pascal

Добавлено Дата: 6 July, 2014 категория: Free Pascal

Для объявления переменных типа "короткая строка" используются служебные слова String с необязательным указанием максимальной длины или ShortString. Объявление глобальных переменных может сопровождаться их инициализацией, т. е. присвоением начального значения:

Читать »

Внешние файлы с настройками свойств Spring

Добавлено Дата: 6 July, 2014 категория: Spring

Практически всегда все настройки приложения можно сосредо- точить в одном XML-файле. Но иногда может оказаться полезным перенести некоторую их часть в отдельный файл. Например, для многих приложений общей частью конфигурации является конфи- гурация источника данных. В Spring источник данных можно на- строить, как показано ниже:

Читать »

OpenGL Free Pascal

Добавлено Дата: 6 July, 2014 категория: Free Pascal
Немного истории

Графический стандарт OpenGL (Open Graphics Library — открытая графическая библиотека) базируется на разработке фирмы Silicon Graphics. В 1992 г. он был принят ведущими  производителями  программного  и  аппаратного  обеспечения. В настоящее время пакет OpenGL включается в состав операционных систем наи- более распространенных средств вычислительной техники.

Читать »

Format — универсальная функция преобразования данных Free Pascal

Добавлено Дата: 5 July, 2014 категория: Free Pascal

Наиболее широкими возможностями по преобразованию данных разного типа в их символьное представление обладает функция Format. Ее идеология заимствова- на из языков C, C++. В упрощенном варианте обращение к функции Format выгля- дит следующим образом:

Читать »

Доступ к службам Hessian/Burlap Spring

Добавлено Дата: 5 July, 2014 категория: Spring

Как было показано в разделе 11.2.2, клиент, пользующийся служ- бой Spitter с применением компонента RmiProxyFactoryBean, не имеет ни малейшего представления, что служба в действительности яв- ляется RMI-службой. На самом деле он вообще никак не связан с фактической реализацией удаленной службы. Единственное, с чем он имеет дело, – интерфейс SpitterService, а конкретные детали ре- ализации RMI-службы скрыты в настройках компонентов в конфи- гурационном файле Spring. Вся прелесть такой организации состоит в том, что из-за отсутствия в клиенте информации о фактической

Читать »

Использование веб-служб Spring-WS

Добавлено Дата: 5 July, 2014 категория: Spring

В главе 11 было показано, как можно использовать компонент JaxWsPortProxyFactoryBean для создания клиентов, взаимодействующих с удаленными веб-службами. Но там удаленные веб-службы интер- претировались как удаленные объекты, чьи методы можно вызывать локально. В этой же главе мы говорим о веб-службах, основанных на обмене сообщениями, когда клиент отправляет веб-службе и при- нимает в ответ XML-сообщения. Иная парадигма на стороне служ- бы требует использования иной парадигмы на стороне клиента. Для этой цели служит класс WebServiceTemplate из фреймворка Spring-WS. WebServiceTemplate  – это основа клиентского API в Spring-WS. Как показано на рис. 15.10, для реализации отправки и приема XML-сообщений он использует шаблон проектирования «Шаблон» (Template). Мы уже встречались с этим шаблоном проектирования в главе 6, когда знакомились с особенностями реализации уровня

Читать »

Аспектно- ориентированный  Spring

Добавлено Дата: 5 July, 2014 категория: Spring

Возможно, для потребителя учет электроэнергии «под честное слово» может выглядеть и неплохо, но для электрических компаний такое положение дел далеко от идеала. Именно поэтому в наших до- мах стоят электросчетчики и раз в месяц к нам приходят учетчики, чтобы снять показания.

Читать »

Экспортирование и использование веб-служб Spring

Добавлено Дата: 5 July, 2014 категория: Spring

Одной из наиболее популярных трехбуквенных аббревиатур в по- следние годы стала аббревиатура SOA (Service-Oriented Architec- ture – сервис-ориентированная архитектура). Для разных людей аббревиатура SOA имеет разное значение. Но в основе SOA лежит идея, заключающаяся в том, что приложения могут и должны раз- рабатываться с уклоном на использование единого набора основных услуг, вместо того чтобы включать их реализацию в каждое при- ложение.

Читать »

Расширенный вызов функций Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Подобно языку С++ в программах на языке Free Pascal допускается вызов функций с игнорированием возвращаемого значения. Такой прием имеет смысл, когда функция помимо вычисления возвращаемого значения производит какие-то полезные дополнительные действия. В листинге 9.16 таким дополнительным дей- ствием в функции f_ex(y) является изменение аргумента y, если его значение от- рицательно.

Читать »

Выделение памяти локальным и глобальным массивам Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Программа matrix_4 демонстрирует тактику выделения памяти для глобальных массивов — статического sa1 и динамического ds1 (листинг 6.8). Массиву sa1 па– мять выделяется сразу и всем его элементам присваиваются нулевые значения. Для массива ds1 сначала выделяется 4-байтовый указатель, в который заносится Nil. После первого обращения к процедуре SetLength массиву ds1 выделяется чистая память. При повторном обращении к процедуре SetLength массиву ds1 выделяет- ся новая память, в которую копируются накопленные ранее данные, а хвост — чистится. Функция SizeOf для статического массива выдает объем занятой памяти в байтах, для динамического — только объем памяти, занятой указателем. Функция Length выдает длину любого массива в количестве элементов.

Читать »

Шаблоны кода Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Шаблоны кода используются для вставки в набираемый текст заранее сформи- рованных заготовок. Каждой заготовке должно быть присвоено уникальное имя. Например, с именем ifthen может быть связан следующий фрагмент кода:

If | Then begin  end

Такой фрагмент может быть вставлен в набираемый текст либо после набора соответствующего имени, либо после клавишной команды <Ctrl>+<J>, если курсор установлен справа от имени шаблона. Если перед курсором отсутствует имя шаб- лона, то появляется всплывающее окно для выбора нужного шаблона. Если в шаб- лоне обнаружен символ |, то курсор останавливается на нем, символ удаляется, освобождая место для набора нестандартной вставки. В приведенном выше приме- ре между словами If и Then должно быть вставлено условное выражение.

Читать »

Создание веб-приложений  с  помощью Spring  MVC

Добавлено Дата: 3 July, 2014 категория: Spring

Будучи разработчиком корпоративных приложений на языке Java, вам наверняка приходилось заниматься разработкой веб-при- ложений. Для многих разработчиков на Java создание веб-прило- жений является основным занятием. Если у вас есть подобный опыт, вы наверняка хорошо осведомлены о характерных проблемах, кото- рые приходится решать в подобных системах, таких как поддержка информации о текущем состоянии или проверка входных данных. И все они усугубляются еще больше независимой природой про- токола HTTP.

Читать »

Числовые данные

Добавлено Дата: 3 July, 2014 категория: Free Pascal

Полный перечень целочисленных типов данных, используемых в программах на языке Free Pascal, приведен в табл. 4.1. По сравнению с языком Object Pascal здесь появился новый тип 8-байтовых чисел без знака (QWord).

Читать »

Построение простейшего трехмерного изображения Free Pascal

Добавлено Дата: 3 July, 2014 категория: Free Pascal

Приведенная в листинге 16.5 программа Cube_1.pas воспроизводит на экране изображение разноцветного куба средствами библиотеки OpenGL. Массив Points задает координаты вершин куба. Каждой вершине присвоен индивидуальный цвет (массив Colors). Вдоль каждого ребра по умолчанию производится линейная ин- терполяция цветовых характеристик смежных вершин, и полученные цвета таким же образом распространяются на внутренние точки граней.

Читать »