Глубины Indy



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

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

Понятие баз данных. Степень детализации информации в базе данных
К сожалению, в существующей литературе о Delphi некоторые вопросы построения приложений баз данных изложены достаточно эклектично. Поэтому при изучении различных тонкостей приходится одновременно копаться в различных источниках. Осознавая насколько это неудобно, автор попытался собрать воедино информацию о возможностях, которые предоставляет Delphi для построения приложений баз данных.

Реляционные базы данных
Понятие первичного ключа
Реляционные отношения между таблицами
Отношение "один-ко-многим"
Отношение "один-к-одному"
Отношение "многие-ко-многим"
Связь между записями одной таблицы
Ссылочная целостность и воздействия
Понятие внешнего ключа
Индексы и методы доступа

Формируемые запросы
Часто один компонент TQuery используют для выполнения различных отстоящих друг от друга во времени запросов. Такой подход уменьшает число используемых компонентов, но может привести к возрастанию программного кода.

Понятие столбцов TDBGrid
TDBGrid и динамические свойства столбцов
Постоянные и динамические столбцы
Работа с редактором столбцов
Изменение свойств постоянных столбцов
Другие свойства TDBGridColumns
"Пустые" постоянные столбцы
Формирование списка возможных значений
Управление видом и поведением TDBGrid
Редактирование наборов данных из TDBGrid

Предложение WHERE : задание сложных условий поиска
Ранее были рассмотрены простые варианты задания условия поиска в предложении WHERE (сравнение столбца с константой и внутреннее соединение). Однако условия поиска могут быть достаточно сложными, чему способствует и сам синтаксис оператора SELECT. Рассмотрим основные конструкции для построения сложных условий поиска.

Использование логических выражений
Сравнение столбца с результатом вычисления
Использование BETWEEN
Tovar
Использование IN (список значений)
Использование STARTING
Использование CONTAINING
Использование функции UPPER
Использование LIKE
Использование функции CAST

Принудительная запись на диск
Записи таблиц при добавлении или изменении их в БД могут помещаться в буфер или немедленно физически записываться на диск В первом случае записи из буфера физически записываются на диск после заполнения буфера

Восстановление транзакций
Регистрация новых пользователей
Установка привилегий доступа
Привилегии доступа по умолчанию
Виды привилегий
Предоставление привилегий доступа к таблице БД
Предоставление нескольких привилегий
Привилегии нескольким пользователям
Назначение привилегий всем пользователям
Установка привилегий к столбцам таблицы

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

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

Психология программирования
Психология программирования - 2
Групповая разработка и организация
Организация коллектива разработчиков
Групповая разработка и организация
Организация коллектива разработчиков
Организация коллектива разработчиков - 2
Групповая разработка
Групповая организация
Групповая разработка, управление версиями

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

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

Информационные структуры и алгоритмы
Когда приступаешь к изучению сложной и большой системы, в такой трудной предметной области, как банковская, очень полезно уже сразу представлять (хотя бы в общих чертах) основные виды входной информации. В самом первом приближении, можно выделить два вида входной информации: Информация из оперативных банковских систем, поступающая (загрузка/модификация) с заданной периодичностью в финансовое хранилище данных FDM

Что такое OFSA, определение.
Входная информация.
Финансовые Инструменты.
Финансовые Инструменты. - 2
Иерархические структуры.
Планы счетов.
Финансовые элементы.
Кэш-флоу колонки и финансовые элементы
Кэш-флоу колонки и финансовые элементы - 2
"Новый бизнес".

OFSA Основные принципы
Центральное место в системе занимают т.н. "Финансовые Инструменты" (или просто Инструменты), под которыми понимаются юридически обеспеченные соглашения (договора) находящихся в обращении типов финансовых активов. Каждому Финансовому Инструменту в FDM соответствует отдельная таблица, используемая для хранения информации на уровне договора/лицевого счета

"Ставки разные важны, ставки разные нужны"
Утилита Rate Manager
Утилита Rate Manager - 2
Использование IRC в расчетах
Методы сглаживания кривой доходности
Дисконтные ставки
Прогнозирование процентных ставок
Процентные ставки, не свободные от риска
Использование ID при моделировании
Вычисление Value-at-Risk

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

Ограничения системы
Начало работы
Профиль заказчика
Закупочная документация
Закупочная документация - 2
Результаты
Мои категории
Реквизиты
Пароль
Профиль менеджера

Архитектуры ООСУБД. Анализ реализаций
Когда началось коммерческое использование ООСУБД, реляционная технология уже была хорошо укоренившейся, и, хотя о ней все еще продолжали спорить, все основные поставщики РСУБД заняли свое место на рынке баз данных. В то время компании переходили из стадии принятия решений относительно инфраструктурной технологии баз данных в стадию принятия решений о применении этой технологии для повышения эффективности бизнеса.

Основные факторы
Базовая архитектура
Архитектура, основанная на контейнерах
Архитектура, основанная на страницах
Архитектура, основанная на объектах
Модель параллельности
Параллельность в архитектуре на контейнерах
Параллельность в архитектуре на страницах
Параллельность в архитектуре на объектах
Следствия модели параллельности

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

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

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

Глубины Indy

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

Методология Indy
Клиент – это процесс, который инициализирует соединение. Обычно, клиенты общаются с одним сервером за раз. Если процессу требуется общаться с несколькими серверами, то создаются несколько клиентов.

Winsock
Обзор
Стек протоколов TCP/IP
Клиент
Сервер
IP адрес
Порт
Протокол
Сокет
Имя узла

Прозрачные прокси
Прозрачные прокси – это прокси, которые не требуют вмешательства в протокол обмена. О наличии прозрачного прокси часто не догадываются разработчики или пользователи (на то они и прозрачные и их нельзя обойти).
Хотя прозрачные прокси не оказывают влияния на клиента, они оказывают влияние на сервера. В большинстве случаев, серверы позади таких прокси скрыты от остального мира. Это позволяет иметь доступ к серверу с другой стороны прокси через его порты и эти порты туннелируются снаружи внутрь.

Туннелирование IP / Трансляция сетевого адреса
Маппирование портов / Туннели
FTP User@Site прокси
Непрозрачные прокси
SOCKS прокси
HTTP (CERN) прокси
Обработчики ввода/вывода (IOHandlers)
Компонент TIdIOHandlerSocket
Компонент TIdIOHandlerStream
Компонент TIdSSLIOHandlerSocket

Небезопасный код
Небезопасный код включает следующее: Абсолютные переменные (Absolute) Функции Addr(), Ptr(), Hi(), Lo(), Swap() Процедуры BlockRead(), and BlockWrite() Процедура Fail() Процедуры GetMem(), FreeMem(), ReallocMem() Ассемблерный код Операторы работы с указателями

Небезопасные приведения (Casts)
Откидываемая функциональность
Изменения
Разрушение (Destruction)
Явное разрушение. (Deterministic Destruction)
Не явное разрушение
Сборка мусора (Garbage Collection)
Шаги по переносу
Удаление предупреждений (Unsafe Warnings)
Модули и пространство имен

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

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

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

Централизованные организации - перейти
Стоимость основных производственных фондов - перейти
Потребности общества и экономика - перейти
Экономические законы - перейти
Экономическая теория как наука - перейти
Экономическая теория как наука - перейти
Принципы экономической науки - перейти
Некоторые экономические теории - перейти
Microsoft Project 2003 для менеджеров - перейти
Общие сведения - перейти
Интерфейс - перейти
Главное меню - перейти
Дополнительные окна - перейти
Окна вставки и поиска - перейти
Консультант и система помощи - перейти





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий