Безопасность и язык Perl

         

Разработка систем безопасности

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

Введение

Что собой представляет политика информационной безопасности
Однажды мне позвонил клиент и попросил прийти к нему в офис. Когда я пришел, он попросил меня установить брандмауэр, чтобы обезопасить свою сеть. Перед тем. как устанавливать брандмауэр, я поинтересовался о политике безопасности компании. Он с любопытством посмотрел на меня и спросил: "А зачем она мне нужна?". В годы повального увлечения Internet такой ответ скорее является правилом, чем исключением. В организациях проводится продуманная политика управления персоналом, документация которой иногда занимает гору бумаги, но нет никакой политики информационной безопасности. Если же такая политика и разрабатывалась, то, в лучшем случае, вам вручат 5 листов бумаги, в которых описаны активы корпорации с многомиллионным оборотом.

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

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

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

Аутентификация и безопасность сети
Безопасность сети охватывает не только Internet, но и любое сетевое подключение или интерфейс. Насколько строго обеспечивается защита любых интерфейсов, зависит от требований, предъявляемых к ним, их функционального назначения и степени доверия между обеими сторонами подсоединения. Правила защиты всей сети и внутрисетевых подключений являются частью программы безопасности сети, которая охватывает такие вопросы, как адресация сети, подсети и средства управления подключениями к сети.

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

Правила безопасности электронной почты
Мы быстро внедряем новые технологии, если они служат улучшению коммуникаций. Бурное развитие электронной почты только подтверждает это. Но электронная почта не является панацеей для всех. Помимо того, что электронная почта облегчает обмен информацией между людьми, ее используют для пересылки конфиденциальной информации, она является источником беспокойства для других пользователей, вовлечения их в нелегальную деятельность, а также ее информация может служить уликами против компании в судебных процессах.

Вирусы, черви и троянские кони
Не проходит и недели без слухов о новых вирусах, "червях" и "троянских конях", которые инфицировали сети или компьютеры. Решение этих проблем не только требует немалых денежных затрат, но и чревато снижением объема производства, который может в дальнейшем и не быть компенсирован. Несмотря на то, что эти проблемы в первую очередь влияют на определенный тип операционной системы и программное обеспечение определенного поставщика, не существует операционных систем, которые давали бы полную гарантию защищенности от вирусов. Следует помнить, что первый известный "червь" был запущен в 1988 году и предназначался для атаки систем Digital VAX и Sun System, работавших под управлением одной из версий UNIX.

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

Правила разработки программного обеспечения
Разработка программного обеспечения представляет собой искусство компилирования закодированных инструкций таким образом, чтобы преобразовать их в понятную программу для запуска на компьютере. Подобно иным видам искусства, базирующимся на научных теориях, ошибки и другие упущения могут привести к катастрофическим результатам. С развитием Internet недоработки в программном обеспечении, обеспечивающем функционирование Web-страниц, пересылку электронной почты или доступ к другим серверам, делают системы уязвимыми для атак извне.

Правила надежной работы
Тем читателям, кто следует указаниям настоящей книги, необходимо еще провести большую работу, чтобы завершить разработку правил информационной безопасности. Закончив эту массу работы, следует обратить свое внимание на итоговую версию документа, называемую Правилами надежной работы (Acceptable Use Policy — AUP). AUP является документом, в котором собраны все необходимые пользователям правила. В AUP собраны фрагменты правил организации, отражающие обязанности пользователей в области обеспечения безопасности. В основном, в этих фрагментах резюмируются отдельные мысли правил, и написаны они простым языком. Хороший документ AUP должен быть кратким и точным. В идеале, AUP должен занимать всего лишь несколько страниц.

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

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

Глоссарий

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

Примеры правил
Первый пример, "Пример правила надежной работы", представляет собой правила надежной работы (AUP) для организации, насчитывающей более 250 пользователей. В то время, когда автор книги сотрудничал с этой организацией, они открыли четвертый офис в Соединенных Штатах и обсуждали возможность открытия офиса в Европе. Они запустили универсальные вычислительные машины, серверы UNIX, а также настольные ПК. Все их офисы были связаны посредством выделенных каналов связи. Эта организация хотела иметь что-то наподобие резюме их правил информационной безопасности, чтобы у пользователей не было никаких вопросов по поводу сути проводимой ими политики.

Изучаем Perl

Слово Perl является аббревиатурой выражения Practical Extraction and Report Language (практический язык извлечений и отчетов), хотя иногда его называют Pathologically Eclectic Rubbish Lister (патологически эклектичный мусорный листер). Не стоит спорить о том, какое из этих названий более правильное, потому что оба они принадлежат Ларри Уоллу, создателю и главному архитектору, распространителю и опекуну языка Perl. Ларри создал этот язык, когда пытался формировать отчеты из иерархии файлов системы оповещения об ошибках, похожей на Usenet-новости, а возможности применявшегося в то время обработчика потоков данных awk оказались исчерпанными. Будучи настоящим (то есть ленивым) программистом, Ларри решил вырвать данную проблему с корнем, применив для этого какой-нибудь универсальный инструмент, который он надеялся использовать и в дальнейшем. В результате появилась первая версия языка Perl.
Позабавившись немного с этой версией, добавив кое-что, Ларри предложил ее сообществу читателей материалов телеконференций Usenet, известному также как "Сеть" (the Net). Пользователи, имеющие доступ к входящим в систему Usenet компьютерам, разбросанным по всему свету (а их в то время было несколько десятков тысяч), обеспечили для создателя Perl эффективную "обратную связь", спрашивая, как делать одно, другое, третье. Многие из этих задач Ларри даже и не собирался ставить перед своим маленьким новым языком программирования.
В результате Perl все рос и рос, причем почти с той же скоростью, что и операционная система UNIX. (Специально для новичков: все ядро UNIX тогда требовало памяти объемом 32 К! Теперь мы счастливы, если нам удается уместить его в несколько мегабайтов.) Выросли и его возможности.
Повысилась переносимость. То, что когда-то было компактным языком, теперь сопровождается сотнями страниц документации, в состав которой входят десятки man-страниц, 600-страничный справочник серии Nutshell, материалы множества телеконференций Usenet с 200000 подписчиков, — а теперь еще и эта скромная книга.
Ларри уже не сопровождает Perl в одиночку, но сохраняет свой эксклюзивный титул главного архитектора. A Perl все растет и растет.

Назначение языка Perl
Научившись пользоваться языком Perl, вы, возможно, обнаружите, что начинаете тратить меньше времени на правильное заключение в кавычки различных параметров shell (или на корректное выполнение С-объявлений), а больше — на чтение Usenet-новостей и катание с гор на лыжах, потому что Perl — замечательное средство для вашего совершенствования как программиста. Мощные конструкции этого языка позволяют создавать (с минимальной затратой сил) некоторые очень эффективные специализированные решения и универсальные инструменты.

Управляющие структуры Для простых программ вы уже теперь можете свободно писать собственные Perl-подпрограммы. Когда же задачи, для решения которых вы применяете Perl, станут более сложными, вам иногда будет приходить в голову мысль: "Кто-то, должно быть, это уже делал". И в подавляющем большинстве случаев вы окажетесь правы.

Первый сайт на Perl

Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем.

Предисловие
Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.

Введение в мир Perl
Что такое Perl? Это сокращенное название языка программирования Practical Extraction and Report Language (Практический язык извлечений и отчетов). Что подразумевается под "извлечениями" и "отчетами"? Почему практический язык? Для чего он предназначен? Какие задачи можно решать с его помощью? Эти и многие другие вопросы возникают, естественно, у любого человека, хоть немного знакомого с информатикой, когда он впервые сталкивается с новым для него языком программирования.

Простая программа
Изучение любого языка программирования начинается с его синтаксиса, одну из неотъемлемых частей которого составляет описание структуры программы, определяющей состав и порядок расположения разнообразных конструкций в теле программы. Мы не будем отступать от сложившихся традиций и объясним необходимые понятия на примере простой программы Perl, получающей информацию от пользователя и в ответ печатающей на экране монитора приветствие.

Скалярный тип данных
Скалярный тип данных в Perl предназначен для представления и обработки числовых данных (чисел) и последовательности символов, называемых строками. Для задания в программе перечисленных данных используются буквальные константы, или литералы: числовые и строковые.

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

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

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

Дескрипторы файлов
Когда в программе мы создаем переменные и храним в них разнообразные данные, мы теряем их по завершении работы программы. Если нам необходимо сохранить данные и использовать их в разрабатываемых программах, мы создаем файл, записываем в него данные и сохраняем его на диске. Практически любой язык программирования предоставляет программисту средства манипулирования файлами и хранимыми в них данными.

Объявление формата
Как мы помним, дословный перевод аббревиатуры языка Perl включает в себя слова "язык отчетов", т. е. язык Perl предназначен не только для извлечения и обработки информации из текстовых файлов, но и для генерирования отчетов на основе этой информации. Пока что мы для вывода информации использовали функцию print (), которая не очень-то удобна для создания отчетов — определенным образом отформатированной выходной информации.

Виды ссылок
Ссылка на некоторую переменную содержит адрес этой переменной в оперативной памяти. Говорят, что ссылка указывает на переменную. Ссылки широко используются в современных языках программирования, таких как Pascal, C/C++. Вместо слова "ссылка" для обозначения термина может применяться слово "указатель". Основной областью применения ссылок является создание сложных структур данных, способных изменяться во время выполнения программы.

Регулярные выражения
Язык, созданный первоначально с главной целью — облегчить обработку большого количества отчетов, просто обязан располагать развитыми средствами для работы с текстом. Напомним, что в среде UNIX, из которой вышел язык Perl, средства для обработки текстовых строк имеются в различных утилитах: sed, awk, grep, cut. Командный интерпретатор shell, также обладающий некоторыми средствами для обработки строк, позволяет организовать совместную работу этих утилит, передавая выход одной программы на вход другой через механизм, называемый конвейером

Определение подпрограммы
Подпрограммы в языке Perl играют ту же роль, что и функции в языке С, или процедуры и функции в языке Pascal. Они выполняют две основные задачи: позволяют разбить одну (большую программу на несколько небольших частей, делая ее более ясной для понимания; объединяют операторы в'одну группу для повторного использования. В языке Perl не различаются понятия "подпрограмма" и "функция", эти слова являются синонимами.

Пакеты
Итак, пакет — это способ создания собственного изолированного пространства имен для отдельного отрезка программы. Каждый фрагмент кода Peri-программы относится к некоторому пакету. Объявление package NAMESPACE; определяет пакет NAMESPACE. Ключевое слово package является именем встроенной функции, в результате обращения к которой компилятору предписывается использовать новое пространство имен. Область действия объявления пакета определяется аналогично области видимости локальных переменных, объявленных при помощи функций ту () или local ().

Объектно-ориентированное программирование в языке Perl
Класс представляет собой сочетание структуры данных и тех действий, которые можно выполнить над этими данными. Данные называют свойствами, а действия — методами. Совмещение в классе структуры данных и действий над ними называют инкапсуляцией.

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

Основные понятия
Основу "всемирной паутины" WWW составляют Web-узлы. Это компьютеры, на которых выполняется специальная программа — Web-сервер, ожидающая запроса со стороны клиента на выдачу документа. Документы сохраняются на Web-узле, как правило, в формате HTML. Клиентом Web-сервера является программа-браузер, выполняющаяся на удаленном компьютере, которая осуществляет запрос к Web-серверу, принимает запрошенный документ и отображает его на экране.

Конференции
Язык Perl распространяется и развивается в глобальной сети Internet. Самые последние новости из мира Perl можно найти на многочисленных Web-узлах и просто обычных страницах HTML, авторы которых являются апологетами языка Perl и входят в так называемое сообщество Perl — свободное объединение людей, использующих и развивающих язык Perl там, где требуется что-нибудь и как-нибудь автоматизировать.

Введение в Perl

Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.

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

Операторы сдвига
Как и С Perl выполняет возможные вычисления в период компиляции. Так подстановка символов после '\' , операция конкатенации строк, арифметические выражения, содержащие только одни константы, все это делается в момент компиляции, что существенно увеличивает скорость выполнения программы.


Perl - статьи

Изначально библиотека GTK+ была разработана Питером Матисом (Peter Mattis) и Спенсером Кимбелом (Spencer Kimball) для нужд графического редактора GIMP (GNU Image Manipulation Program), но потом была выделена в отдельный проект. Сама библиотека GTK+ написана на C, но существуют языковые привязки (language bindings) и для многих других языков программирования, в их числе и Perl.
Судя по графику релизов и количеству баг-фиксов, проект GTK+ развивается достаточно активными темпами. За время существования проекта вокруг него сформировалось внушительное сообщество, что также является положительным моментом. В настоящее время команда ключевых разработчиков состоит из десяти человек, представляющих такие компании, как Red Hat, Novell и Intel Open Source Technology Center.
Следует отметить хорошую поддержку механизмов интернационализации и локализации: обратите внимание на использование кодировки UTF-8 в примере.

Введение
В этой статье приводится обзор библиотеки GTK+ и её интерфейса к языку Perl Gtk2-Perl. Поскольку GUI-приложения, написанные на Gtk2-Perl, довольно большая редкость, собирать информацию приходится по крупицам. Цель статьи постараться дать объективную оценку связке Perl/GTK+: отметить сильные и слабые стороны, предупредить о возможных сложностях и проблемах.

Библиотека GTK+
Документация по библиотекам, входящим в состав GTK+, поддерживается в актуальном состоянии, однако тут есть один нюанс. Разработчики языковых привязок зачастую считают документацию по своим интерфейсам "производной" от документации по оригинальным библиотекам GTK+ и поэтому не всегда поддерживают её в актуальном состоянии. Именно такая ситуация наблюдается с Gtk2-Perl.

Гостевая книга из Perl'овки
Многие начинающие веб-мастера ставят на свои сайты гостевые книги из бесплатных сервисов. Но как же хочется иметь свою собственную! Собственная гостевая книга, со своим дизайном… Со своим дизайном. Что ж, на самом деле это вовсе не так сложно, как кажется. Давайте разберемся, как написать простую гостевую книгу на Perl.

Пример использования модулей LWP и HTML::Tree
Сама идея написать скриптик - возникла после того, как встал вопрос о том, что раздел "книги" сайта - надоело дополнять/редактировать и т.д. вручную. Захотелось это дело автоматизировать, сделать поиск и т.д. Первая идея, которая возникла, - это было создание мини интернет-магазина, куда вносились бы книги и т.д. Но, это опять таки требовало присутствия человека.

Три письма на Perl
Те, кто имел дело с Perl, знают, что написание на этом мощном языке программирования скрипта для создания и отправки писем - для начинающего дело достаточно сложное. Мы рассмотрим три варианта таких скриптов

Web Основы с LWP
LWP (сокращение от "Library for WWW in Perl") это очень популярная группа модулей языка Perl для доступа к данным в сети Internet. Как и большинство модулей языка Perl, на каждый модуль из состава LWP присутствует документация с полным описанием его интерфейса. Однако, в LWP есть множество модулей, для которых довольно сложно найти документацию по, казалось бы, простейшим вещам.

Создание пакетов и модулей в Perl
Защищенность и модульность - два великих принципа программирования. Perl обеспечивает их выполнение, предоставляя возможность разбивать программу на полуавтономные фрагменты так, что программисту не надо беспокоиться о конфликтах между ними и остальной частью программы. Для деления программы на независимые фрагменты используются пакеты Perl, которые создают непересекающиеся области имен (namespaces). Что такое область имен? Это часть программы со своей собственное областью видимости глобальных идентификаторов - другими словами, она функционирует как частная территория программиста.

Регулярные выражения в Perl
Регулярные выражения в perl одна из самых мощных его возможностей. Они позволяют сопоставлять текст с указанным шаблоном, разбивать текст в массив по шаблону, производить замену текста по шаблону и многое многое другое. Так-же иногда регекспами называются операторы поиска и замены

Защищаем Perl
Уязвимые CGI-скрипты - замечательная лазейка в компьютерные системы. Можем ли мы "перекрыть" ее со 100% надежностью, раз и навсегда? В статье проанализированы достоинства и недостатки существующих подходов к защите Perl и предложен метод защиты, основанный на "хакерской" (клин клином вышибают!) подмене системных функций процесса.

Десять практических рекомендаций разработчикам на Perl
Наиболее важный аспект любого модуля не то как он реализует заложенные в него возможности, но прежде всего то, насколько удобно эти возможности использовать. Если API модуля слишком неудобен, или слишком сложен, или слишком обширен, или слишком фрагментирован или просто используемые в нём имена плохо выбраны разработчики будут избегать его использование. Вместо этого они будут писать собственный код.

Установка в Linux/BSD
На сегодняшний день существует несколько модулей для работы с Tk (да, TIMTOWTDI в Perl ещё никто не отменял). Основное отличие между ними заключается в способе взаимодействия с библиотекой Tk: или через XS-интерфейс, или через язык Tcl. Первый подход более трудоёмок для разработки и поддержки, но обладает большей производительностью, кроме того, он является стандартной идиомой для языка Perl.

Test-coverage-report
Значение инструментов для оценки степени покрытия кода тестами зачастую недооценивают: есть мнение, что если код и так хорошо покрыт, то отчёт всего лишь подтвердит и без того известный факт, ну а если кодовая база практически не протестирована, то скудные 5% покрытия навряд ли добавят оптимизма разработчикам.

Обзор wxWidgets
Лейтмотив wxWidgets - "Native Look and Feel". Достигается это за счет использования стандартных виджетов той платформы, на которой в данный момент работает программа. К примеру, wx-приложение под Windows будет выглядеть так же как и остальные Windows-приложения, а в Mac OS X - как другие приложения Mac OS X. К слову, для некоторых платформ существует сразу несколько портов wxWidgets. Так в Linux, wxWidgets может работать "поверх" GTK+, X11 или Motif. Первый вариант, однако, наиболее распространен.

Спецификация языка Perl

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информациии и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

Cтруктуры данных
Обычные массивы, как и в языке C, индексируются числами, начиная с нуля. Ассоциативные массивы индексируются строками. Простые скаляры (в дальнейшем мы будем также называть их переменными) всегда начинаются со знака доллара: $, даже в том случае, когда мы обращаемся к элементу массива. $day простая переменная day

Вызов метода
Существует два способа обратиться к методу. Во-первых, можно вызвать его просто как подпрограмму. Но в таком случае не работает механизм наследования. Второй способ лучше просто проиллюстрировать примерами. $fred = find Critter "Fred"; display $fred, 'Height', 'Weight';

Создание серверных приложений на языке PERL

Это учебное пособие написано для того чтобы помочь Вам самостоятельно изучить язык Perl и представляет собой своего рода выжимку из многих электронных и бумажных изданий подобного рода. Пройдя его Вы изучите все необходимые для разработки собственных приложений операторы и функции, узнаете об их специфических особенностях. В рамках этого курса мы будем рассматривать Perl только как язык написания CGI-сценариев. Чтобы ускоренное изучение Perl не вызывало у Вас никаких затруднений, Вы должны обладать определенным набором знаний в области создания HTML документов. Вы должны хорошо знать HTML тэги, работать с таблицами и каскадными таблицами стилей (CSS). Помимо этого вы должны иметь хотя бы начальные знания в области языков программирования высокого уровня (Pascal, Basic, Delphi, C, JavaScript и т.д.). А если Вы уже знаете PHP, то получите ни с чем не сравнимое удовольствие от изучения Perl по ускоренному курсу.

Справочник по Python

В действительности есть несколько модулей Python, предоставляющих доступ к базам данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой главе приводятся спецификации API для двух наиболее часто используемых модулей. Однако важно указать на приближающуюся унификацию разных API для баз данных в едином API, специфицированном Python Database SIG. В настоящее время mSQL не поддерживает этот API.

Модуль: MySQL
Точкой входа в модуль Python для MySQL является метод MySQL.connect(). Значение, возвращаемое этим методом, представляет подключение к серверу MySQL, которое вы можете использовать для всех операций с MySQL.

Справочник по JDBC
Пакет java.sql содержит весь JDBC API. Впервые он был включен в ядро библиотек Java в версии 1.1. Классы, добавленные в JDK 1.2, отмечены в заголовке Доступность. Методы, не рекомендуемые к использованию, предваряются символом решетки (#). Методы JDK 1.2 в старых классах JDK 1.1 выделены полужирным шрифтом.

Лекции по построению компилятора на Pascal

Хотя я по образованию и не специалист в компьютерах, я интересовался компиляторами в течение многих лет. Я покупал и старался разобраться с содержимым практически каждой выпущенной на эту тему книги. И, должен признаться, это был долгий путь. Эти книги написаны для специалистов в компьютерной науке и слишком трудны для понимания большинству из нас. Но с течением лет часть из прочитанного начала доходить до меня. Закрепить полученное позволило то, что я начал самостоятельно пробовать это на своем собственном компьютере. Сейчас я хочу поделиться с вами своими знаниями. После прочтения этой книги вы не станете ни специалистом, ни узнаете всех секретов теории конструирования компиляторов. Я намеренно полностью игнорирую большинство теоретических аспектов этой темы. Вы изучите только практические аспекты, необходимые для создания работающей системы.

Одиночные цифры
В течение всей книги я буду проводить эксперименты на компьютере, а вы будете повторять их за мной и ставить свои собственные эксперименты. Я буду использовать Turbo Pascal 4.0 и периодически буду включать примеры, написанные в TP. Эти примеры вы будете копировать себе в компьютер и выполнять. Если у вас не установлен Turbo Pascal вам будет трудно следить за ходом обучения, поэтому я настоятельно рекомендую его поставить. Кроме того, это просто замечательный продукт и для множества других задач!

Объявления
Очевидно на следующем шаге необходимо решить, что мы подразумеваем под объявлением. Я намереваюсь иметь два вида объявлений: переменных и процедур/функций. На верхнем уровне разрешены только глобальные объявления, точно как в C. Сейчас здесь могут быть только объявления переменных, идентифицируемые по ключевому слову VAR (сокращенно "v").

Деление
Вы можете задаться вопросом, почему необходимо выполнять 32-разрядное деление, когда делимое, скажем, всего лишь байт. Так как число битов в результате может быть только столько, сколько и в делимом, зачем беспокоиться? Причина в том, что если делитель - длинное слово и в нем есть какие-либо установленные старшие разряды, результат деления должен быть равен нулю.

Самоучитель VBA

Настоящая книга является с одной стороны, подробным справочником по Visual Basic for Applications (VBA), а с другой стороны, самоучителем по составлению и разработке приложений, написанных на этом языке. Это уникальное сочетание, которое, следуя рекламному подходу, можно назвать "два в одном", обеспечивает большую гибкость при решении читателем своих собственных задач. Самоучитель на большом количестве примеров умело и доступно обучает, как можно быстро и эффективно решать разнообразные задачи. В справочнике приводится подробное описание возможностей VBA, имея такие сведения под рукой у читателя исчезнет необходимость бегать по магазинам в поиске дополнительной литературы при написании самостоятельных приложений, что несомненно сбережет время и кошелек.
Самоучитель состоит из уроков. В каждом из уроков разрабатывается пример пользовательского приложения и дается подробный анализ. Тексты всех программ снабжены доскональными комментариями. Можно сказать, что все рассматриваемые программы разложены буквально по маленьким разжеванным кусочкам, которые читателю только и остается проглотить. По завершению урока предлагается самостоятельное задание, выполнение которого поможет лучше закрепить разобранный материал.
С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Excel (которой, как наиболее популярной офисной программе, в основном и посвящена данная книга), можно создавать приложения и для других офисных программ, например Access. Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.

Введение
Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.

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

Основные объекты VBA
Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа

Методы объекта Range
Метод DataSeries (прогрессия) создает профессии. Вручную метод DataSeries выполняется с помощью команды Правка, Заполнить, Прогрессия (Edit, Fill, Series).

Сценарии и определение структуры данных
Объект scenario (сценарий) позволяет хранить несколько значений в одной ячейке. Каждое уникальное значение в ячейке или каждая уникальная группа значений для группы ячеек называется сценарием. Семейство scenarios (сценарии) содержит все сценарии рабочего листа. Вручную сценарии создаются с помощью команды Сервис, Сценарии (Tools, Scenarios).

Объект Scenario
Объект Outline

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

Сводные таблицы
Сводные таблицы являются одним из наиболее мощных средств Excel для анализа данных, помещенных в таблицы или списки. Сводные таблицы позволяют группировать данные и производить их анализ. Создавая сводные таблицы, пользователь оперирует именами полей, которые должны помещаться в ее строках и столбцах. Возможно также задание поля страницы, превращающего сводную таблицу в подшивку из нескольких страниц. Иерархически сводная таблица входит в рабочий лист.

Элементы управления и пользовательская форма
VBA обладает встроенным набором элементов управления. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. В данной главе дан обзор встроенных элементов управления VBA. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи панели инструментов Элементы управления (Control Toolbox)

Программирование панели инструментов
Семейство CommandBars содержится в объекте Application. Оно представляет собой панели команд. В свою очередь каждый объект CommandBar содержит семейство commandBarControls, состоящее из всех элементов управления данной панели инструментов. Свойство controls объекта CommandBar возвращает семейство CommandBarControls. Элементы семейства CommandBarControis относятся к одному из трех типов.

Программирование средств для работы со справочной информацией
Помощник программируется на VBA при помощи объекта Assistant. Структура объекта Assistant приведена на 9.1. Важной особенностью объекта является то, что это единичный объект, не являющийся элементом никакого семейства объектов. В каждый момент времени можно вывести только одного помощника. Но помощника можно видоизменять по ходу работы программы. Объект Balloon представляет собой окно помощника, содержащее список разделов справки, связанных с помощником.

Работа с графическими объектами
Объект shape — это любой графический объект, размешенный на рабочем листе или диаграмме. Семейство shapes представляет собой семейство всех графических объектов рабочего листа. Семейство ShapeRange содержится в семействе shapes и является конкретным набором графических объектов рабочего листа. В крайних случаях семейство ShapeRange может состоять только из одного объекта или совпадать с семейством shapes, которое его содержит.

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

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

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

Пользовательские объекты
В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Использование таких объектов позволяет сократить текст программы и сделать его более понятным. Пользовательские объекты являются элементами пользовательских классов (или образно говоря, классы являются формами, из которых "пекутся" конкретные объекты). Пользовательские классы конструируются в модулях классов, которые создаются в редакторе Visual Basic выбором команды Вставка, Модуль класса (Insert, Class Module).

Работа с внешними базами данных
В Microsoft Office входит отдельная программа, которая называется Microsoft Query, предоставляющая доступ к базам данных, созданных с помощью таких программных средств, как dBASE, Access, Paradox, Microsoft SQL Server и т. п. Эта программа позволяет отбирать информацию из базы данных, сортировать, редактировать и копировать ее на рабочий лист. Используя Microsoft Query, можно получить данные на основе заданных пользователем критериев. Excel связывается с Microsoft Query посредством механизма DDE (Dynamic Data Exchange — динамический обмен данными).

Практические приемы программирования на VBA
На примере простейшей компьютерной игры будет полностью разработано первое приложение в этой книге. Это приложение должно моделировать игру в орел и решку. Игрок вносит в банк определенную сумму денег. Во время игры нельзя добавлять деньги в банк. Игра состоит из последовательности шагов, которая, вообще говоря, может быть бесконечной. На очередном шаге игрок загадывает либо орел, либо решку. Компьютер "бросает монету". Если "монета падает той же стороной", которую загадал игрок, то банк увеличивается на единицу, в противном случае - уменьшается на единицу.

Расчет маргинальной процентной ставки
Рассматриваемое приложение решает задачу следующего типа. В одной стране со стабильной валютой, скажем рублем, жил-был Ксенофон Заковыркин, начинающий бизнесмен. Однажды ему была предложена следующая сделка. Ксенофон дает в долг 10 000 руб., а ему возвращают по 2 000 руб. в течение 6 последующих лет, т. е. в сумме 12 000 руб., что больше даваемой в долг суммы денег. Ксенофон Заковыркин может не давать эти деньги в долг, а положить под проценты в банк.

Работа со списком
В данном уроке создается приложение, на примере которого вы сможете научиться: Заполнять списки. Выбирать несколько элементов из списка. Выполнять специфицированную операцию над выбранными элементами из списка

Расчет амортизации
Под амортизацией подразумевается уменьшение стоимости имущества в процессе эксплуатации. Обычно оценивают величину этого уменьшения на единицу времени. Функция рабочего листа AMP (SLN) возвращает величину амортизации имущества за один период времени, используя метод равномерной амортизации.

Решение уравнения, зависящего от параметра
В этом разделе решается уравнение х3 - х - b = 0 при различных величинах параметра Ь, изменяющихся от начального до конечного значения с указанным шагом. При каждом конкретном значении параметра корень уравнения находится методом Goaiseek. Для нахождения корней уравнения при различных значениях параметра, эти значения вводятся в диапазон ячеек рабочего листа, формулы левых частей уравнений в другой диапазон, третий диапазон отводится под неизвестную.

Управление размером и перемещением элементов управления
В первый свой рабочий день в банке молодой программист Нестор Щукин получил задание от менеджера составить приложение, вычисляющее чистый текущий объем инвестиций от вкладов банка. Допустим, что с помощью этого приложения необходимо найти чистый текущий объем инвестиции 10 000 руб. при 7% годовой ставке, при которой банк получает годовые доходы 2 000 руб., 4 000 руб. и 7 000 руб. в последующие три года после вложения денег в инвестиционный проект

Заполнение базы данных
Для заполнения базы данных на рабочем листе с помощью редактора пользовательских форм создадим диалоговое окно Регистрация туристов фирмы "Эх, прокачу!"

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

Периодические выплаты
Функция ППЛАТ (РМТ) вычисляет величину постоянной периодической выплаты ренты (например, регулярных платежей по займу) при постоянной процентной ставке

Еще раз о составлении базы данных
В разрабатываемом в данном уроке приложении создается база данных туристической фирмы "С нами не соскучишься" на рабочем листе с пользовательским интерфейсом и средствами анализа, поиска и обработки информации, хранимой в базе данных.

Игра в крестики и нолики
В данном уроке запрограммируем игру с компьютером в крестики—нолики на игровом поле размером 3x3 условных клетки. Эта не такая уж тривиальная игра является хорошим примером, чтобы легко научить компьютер играть и воспользоваться возможностью выиграть, если вы, по невнимательности, дадите ему этот шанс

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

Составление расписания
В данном уроке разрабатывается приложение, автоматизирующее составление расписания с одновременным подведением итогов

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

Internet Information Services версии 6.0 (IIS)

Internet Information Services версии 6.0 (IIS) - набор базовых служб Интернета в составе Windows Server 2003, в число которых входят: службы WWW, FTP SMTP, NNTP и ряд дополнительных служб. Службы IIS предоставляют множество новых возможностей, которые могут превратить систему Windows Server 2003 в мощную платформу для распределенных сетевых приложений. Службы IIS объединены при помощи стандартного интерфейса администрирования и общих методов управления. Следует заметить, что подробное рассмотрение всего набора служб IIS заслуживает отдельной книги. Службы IIS могут быть рассмотрены как с позиции администратора -человека, отвечающего за настройку и корректную работу служб, так и с позиции разработчика - человека, который создает приложения, ориентированные на работу с данными службами. Хотелось бы сразу оговориться, что наше рассмотрение служб IIS будет вестись исключительно с позиции администратора. В данной главе мы постараемся дать обзор служб IIS, описать новые возможности, открывающиеся перед администраторами и разработчиками, а также описать процесс развертывания в корпоративной сети служб IIS Также будут рассмотрены и другие службы, использующие веб-технологии или позволяющие на базе систем Windows Server 2003 строить распределенные сетевые системы

Предисловие
Выпущены четыре редакции ОС, образующих семейство Windows Server 2003, которые в первую очередь различаются по степени масштабируемости и производительности. Подавляющее большинство возможностей Windows Server 2003 (начиная от средств конфигурирования систем и заканчивая настройкой серверных служб), рассматриваемых в этой книге, присуще всем редакциям. Поэтому, говоря о Windows Server 2003, мы практически всегда подразумеваем любую систему из этого семейства. Основные функциональные различия между редакциями Windows Server 2003 указаны во Введении.

Службы Интернета
В данной главе мы постараемся дать обзор служб IIS, описать новые возможности, открывающиеся перед администраторами и разработчиками, а также описать процесс развертывания в корпоративной сети служб IIS Также будут рассмотрены и другие службы, использующие веб-технологии или позволяющие на базе систем Windows Server 2003 строить распределенные сетевые системы.

Основные концепции Active Directory
Для организации доменов на базе систем Windows 2000 Server и Windows Server 2003 используется служба каталога Active Directory. Каждый контроллер домена под управлением этих систем является сервером каталога Active Directory, и службу Active Directory невозможно развернуть без создания доменной структуры. Автономная версия службы каталога — Active Directory/Application Mode — не входит в состав систем Windows Server 2003 и планируется к выходу в конце 2003 года

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

Администрирование доменов
Время, которое администратор тратит на выполнение операций управления системой, во многом зависит от используемого инструментария. В составе Windows Server 2003 поставляется множество системных утилит и оснасток самого разного назначения. Более того, одна и та же операция может быть выполнена различными инструментами. Поэтому администратору необходимо знать имеющиеся возможности и умело их использовать.

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

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

Восстановление системы
Несмотря на то, что Windows Server 2003 по надежности и отказоустойчивости превосходит все предшествующие версии Windows, давайте посмотрим на веши реально: поскольку проблемы с загрузкой возможны при работе с любой операционной системой, то и Windows Server 2003 не является исключением из общего правила. Несмотря на новое название, эта операционная система является логическим продолжением семейства операционных систем Windows NT/2000/XP, и по этой причине в процессе загрузки Windows Server 2003 могут возникать некоторые проблемы, с которыми сталкивались пользователи этих операционных систем

Работа с системным реестром
Как и в предыдущих версиях операционных систем из семейства Windows (включая Windows 9x/ME и Windows NT/2000/XP), реестр Windows Server 2003 представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений. В этом смысле реестр аналогичен разнообразным INI-файлам, а также файлам autoexec.bat и config.sys, которые использовались ранее. Реестр содержит информацию обо всех аппаратных средствах, программном обеспечении, операционной системе и сетевых параметрах компьютера

Сообщения системы и отладчик
Поговорим о грустном... чтобы, столкнувшись с неприятной неожиданностью — "синим экраном смерти", вы не погрустнели вдвойне. Возможно, вы уже достаточно хорошо знакомы с продуктами из семейства Windows Server 2003, а также с предыдущими версиями Windows NT/2000/XP, но во время работы еще не попадали в такую ситуацию. Хотя эта система и надежнее предыдущих версий линейки Windows NT/2000, это не значит, что "синий экран смерти" — следствие серьезных ошибок — не возникнет никогда.







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