Глубины Indy

Delphi 3 и создание приложений баз данных

Без баз данных сегодня невозможно представить работу большинства финансовых, промышленных, торговых и прочих организации. Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Не будь баз данных, мы давно захлебнулись бы в информационной лавине. Базы данных позволяют информацию структурировать, хранить и извлекать оптимальным для пользователя образом.
Поскольку использование баз данных является одним из краеугольных камней, на которых построено существование различных организаций, пристальное внимание разработчиков приложений баз данных вызывают инструменты, при помощи которых такие приложения можно было бы создавать. Выдвигаемые к ним требования в общем виде можно сформулировать как: "быстрота, простота, эффективность, надежность".
В основе такой общепризнанной популярности Delphi лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

Понятие баз данных. Степень детализации информации в базе данных
Формируемые запросы
Предложение WHERE : задание сложных условий поиска
Принудительная запись на диск

Групповая разработка и организация коллектива

В первый раз я столкнулся со специалистами по инженерной психологии в 1968 году. На мат-мехе была установлена польская ЭВМ ODRA 1204 с хорошей операционной системой и достаточно полной реализацией Алгола 60. На этой ЭВМ мы впервые получили возможность посимвольного ввода/вывода информации, используя телетайп или перфоленту. До этого мы могли работать только с целой колодой перфокарт или с целой перфолентой. Мы реализовали один из первых в СССР (и уж точно – первый в нашем университете) диалоговый корректор текстов (программа dico ). Г.С. Цейтин придумал идею и показал примеры основных операций, я написал на Алголе 60 почти все программы, а С.Н. Баранов подготовил хорошую документацию. Программа быстро стала популярной, после чего Александр Марьяненко (сотрудник института комплексных социальных исследований) попросил разрешения провести некоторые психологические исследования проблем диалогового редактора. Мы, разумеется, согласились, хотя совершенно не верили, что это принесет пользу.

Продолжение

OFSA. Основные принципы

В настоящее время найти информацию об OFSA в отечественных СМИ (включая конечно и электроные) несложно, но практически вся эта информация носит формальный характер. Сначала идет формально-рекламное определение, потом список функциональных модулей и далее в телеграфном стиле обзор модулей. Отсутствие информации о принципах работы системы часто приводит к ситуации, когда читатель позиционирует OFSA как просто аналитическую систему, в ряду нескольких имеющихся на рынке, а это точка зрения далека от истины.
В настоящей статье деляется попытка выделить отличительные особенности OFSA и дать самое первое приближение (насколько позволяюют рамки статьи) основных принципов работы системы. С этой позиции неформальное определение может выглядеть следующим образом:
OFSA является банковской аналитической системой имитационного моделирования, построенной на основе дисконтированного кэш-флоу; система предназначена для поддержки принятия управленческих решений, оценки финансового состояния банка и прогнозирования.

Информационные структуры и алгоритмы
OFSA Основные принципы
Общее описание системы
Архитектуры ООСУБД. Анализ реализаций

Архитектура среды тестирования на основе моделей

Представлен подход к построению архитектуры инструментария для тестирования на основе моделей, использующего современные компонентные технологии. Одна из основных идей, лежащих в его основе — применение техник неинвазивной композиции, позволяющих с минимальными затратами интегрировать множество независимо разработанных компонентов в сложную систему и переконфигурировать ее, не изменяя кода компонентов. Также описывается прототипная реализации предложенного подхода на базе свободно доступных библиотек и пример ее использования для построения тестов.

Введение
Тестирование на основе моделей и инструменты тестирования
Архитектурный каркас для тестирования на основе моделей
Пример построения теста
Литература

В глубь языка Python

Эта книга не предназначена для новичков. Подразумевается, что:
Вы уже знакомы хотябы с одним объектно-ориентированным языком, таким как Java, C++, или Delphi.
Вы знаете хотя бы один скриптовой язык, например, Perl, Visual Basic, или JavaScript.
Вы уже установили Python версии 2.0 или выше (рекомендуется Python 2.2)
Если вы только начали изучать программирование, это не значит, что вы не можете изучать Python. Python — один из самых простых языков для обучения, но для начинающих предназначены совсем другие книги.

Предисловие
Объединяем все вместе
GNU Free Documentation License
Словари

Глубины Indy

Indy отличается от других сокетных компонент, с которыми вы возможно уже знакомы. Если вы никогда не работали с другими сокетными компонентами, возможно, вы найдете, что Indy очень прост, так как Indy работает так как вы ожидали. Если вы уже работали с другими сокетными компонентами, то просто забудьте все, что вы знали. Это будет вам только мешать и вы будете делать ложные предпосылки.
Почти все другие компоненты работают в неблокирующем режиме, асинхронно. Они требуют от вас реагировать на события, создавать машину состояний и часто исполнять циклы ожидания. Например, с другими компонентами, когда вы делаете соединения, то вы должны ожидать событие соединения или крутить цикл ожидания, пока свойство, ухаживающие факт соединение не будет установлено. С Indy, вы просто вызываете метод Connect и просто ждете возврата из него. Если соединение будет успешное, то будет возврат из метода по окончанию соединения. Если же соединение не произойдет, то будет возбуждено исключение.
Работа с Indy аналогична работе с файлами. Indy позволяет поместить весь код в одно место, вместо создания различных разработчиков событий. В дополнение, многие находят Indy более простым в использовании. Indy также разработан на работу с потоками. Если вы имеет проблемы с реализацией чего-либо в Indy, то вернитесь назад и реализуйте это как для файлов.

Методология Indy
Прозрачные прокси
Небезопасный код
Статьи

*