Главная » Статьи для тега "только"

Иллюстрация к обработке ошибок: sv

Добавлено Дата: 22 August, 2012 категория: Программирование для UNIX

Теперь  напишем программу под названием  sv (похожую на cp), которая  копирует набор  файлов в  каталог, но  при  этом  перезаписывает файл назначения, только если  он не  существует  или  является  более

старым, чем исходный файл. Название sv происходит от английского слова save (сохранить) – идея  в том, что sv не перезаписывает более новые версии файлов. Команда sv учитывает больше информации из индексного дескриптора, чем checkmail.

Читать »

СРАВНЕНИЕ ПОНЯТИЙ ПРАВИЛЬНОСТИ И НЕПРОТИВОРЕЧИВОСТИ

Добавлено Дата: 20 August, 2012 категория: SQL, Базы данных

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

Читать »

Препроцессоры tbl и eqn

Добавлено Дата: 20 August, 2012 категория: Программирование для UNIX

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

Читать »

Команда news: служебные сообщения

Добавлено Дата: 19 August, 2012 категория: Программирование для UNIX

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

Читать »

Какие команды мы выполняем, или команда which

Добавлено Дата: 16 August, 2012 категория: Программирование для UNIX

Создание персональных версий программ, подобных cal, создает неко торые  трудности.  Наиболее явная из  них  формулируется  следующим образом: если  вы  работаете вместе  с Мэри  и вводите cal, будучи зарегистрированным как mary, отработает стандартная, а не новая версия команды (если только в каталоге /bin, принадлежащем Мэри, нет ссылки на соответствующий файл). Это не очень  удобно (вспомните, например, что сообщения об ошибках, выдаваемые исходной программой cal, не очень-то полезны), но это всего  лишь одно из  проявлений одной  большой  проблемы. Поскольку оболочка ищет команды  в  каталогах, ука занных в переменной PATH, всегда  есть шанс  получить не ту версию команды, которая ожидается. Например, если ввести команду echo, то путем к файлу, который исполнится, может быть ./echo  или /bin/echo, или

Читать »

Транзитивное замыкание (базы данных)

Добавлено Дата: 15 August, 2012 категория: SQL, Базы данных

Операция транзитивного замыкания обозначается как “Tclose” (transitive  closure). Здесь она упоминается в основном для полноты изложения; ее подробное описание выходит за рамки данной главы. Но в этом разделе будет по меньшей мере дано определение этой операции. Предположим, что а — бинарное отношение с атрибутами X и Y, из которых оба принадлежат к одному и тому же типу т. В таком случае транзитивное замыкание а, TCLOSE а, представляет собой отношение а+ с таким же заголовком, как и у отношения а, и телом, представляющим собой надмножество отношения а, которое имеет приведенное ниже определение.
Читать »

Разработка программ в системе UNIX

Добавлено Дата: 13 August, 2012 категория: Программирование для UNIX
 

Система UNIX  была  задумана как среда для  разработки программ. В этой  главе будут  рассмотрены наиболее полезные инструменты раз работки. В качестве  примера возьмем реальную программу –  интерпретатор языка программирования, подобного Бейсику. Этот пример хорошо иллюстрирует,  какие  проблемы возникают  при  разработке больших программ. Кроме того, многие программы могут  быть  представлены как трансляторы, интерпретирующие язык входных данных в некоторую последовательность действий, и поэтому полезно рассказать о средствах разработки языков.

Читать »

Команда pick: пробелы и аргументы

Добавлено Дата: 13 August, 2012 категория: Программирование для UNIX

Практически все,  что потребуется для написания команды pick в оболочке, уже  было описано ранее. Единственное, с чем вы еще не знакомы,  –  это  механизм чтения  пользовательского ввода. Встроенная в оболочку функция read считывает только одну строку текста с устройства стандартного ввода и присваивает полученный текст (без символа новой строки) указанной переменной:

Читать »

Наследование типов

Добавлено Дата: 10 August, 2012 категория: SQL, Базы данных

■  Тип — это именованное множество значений (под этим подразумеваются все возможные значения рассматриваемого типа), наряду со связанным с ним множеством операторов, которые могут применяться к значениям и переменным рассматриваемого типа.

Читать »

ПРЕИМУЩЕСТВА ПОДЛИННОГО СБЛИЖЕНИЯ ТЕХНОЛОГИЙ

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

В [26.41] Стоунбрейкер (Stonebraker) представил матрицу классификации для СУБД (рис. 26.4). Квадрант 1 этой матрицы представляет приложения, в которых применяются только относительно простые данные и не предъявляются  требования по выполнению произвольных  запросов  (хорошим  примером  подобного  приложения  может  служить обычный текстовой процессор). Такие  приложения в действительности вообще нельзя назвать приложениями базы данных в обычном смысле этого термина; так сказать,

Читать »

Другие фильтры UNIX

Добавлено Дата: 9 August, 2012 категория: Программирование для UNIX

Цель этого раздела – познакомить читателя с богатым набором фильтров,  поставляемых  с  системой, и показать на  примерах, как они  используются. Этот список ни в коем случае не претендует на полноту – в составе  седьмой версии есть  много  других фильтров, а в каждой уста новленной системе со временем появляются собственные реализации. Все стандартные фильтры описаны в первом разделе руководства.

Читать »

ОПРЕДЕЛЕНИЕ ЗНАЧЕНИЙ И ПЕРЕМЕННЫХ

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

Прежде всего, необходимо подчеркнуть, что между значениями и переменными есть важное и фундаментальное логическое различие1 (достойно удивления то, насколько часто в литературе встречаются ошибочные взгляды по этому вопросу).  Автор следует трактовке, изложенной в [5.1], и принимает за основу приведенные ниже определения.

Читать »

ПЕРЕМЕННЫЕ И ИМЕНА

Добавлено Дата: 4 August, 2012 категория: Basic

До  сих  пор  мы  обсуждали  переменные,  помеченные  однобуквенным именем.  Эти  переменные являются основными  элементами, которыми  манипулируют  команды  программы;  они  получают данные, предоставляют данные для обработки и получают измененные данные в  ходе исполнения программы.

Читать »

ОБЪЕКТЫ, КЛАССЫ, МЕТОДЫ И СООБЩЕНИЯ

Добавлено Дата: 4 August, 2012 категория: SQL, Базы данных

Ниже представлены некоторые основные термины и концепции объектного подхода, а именно — сами объекты (естественно), объектные классы, методы и сообщения. Там, где это возможно и уместно, данные понятия сравниваются с более знакомыми понятиями. Фактически в весьма приблизительной форме объектную терминологию вполне можно соотнести с терминологией традиционного программирования (рис. 25.3).

Читать »

ПРЕОБРАЗОВАНИЕ ВЫРАЖЕНИЙ

Добавлено Дата: 1 August, 2012 категория: SQL, Базы данных

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

Читать »