До недавнего времени область техники, которой посвящена эта книга, была под строгим государственным контролем, и информация о достижениях науки в этой области была доступна только узкому кругу специалистов. Вместе с развитием рыночных отношений и снятием "железного занавеса" возникла возможность вынесения темы "секретных" устройств и технологий на широкое обсуждение. Условия успешного развития бизнеса сегодня неразрывно связаны с использованием информационных ресурсов, поэтому и круг читателей, интересующихся этой темой, постоянно растет. Среди книг, опубликованных на настоящий момент в России и странах Содружества, данная книга выделяется доступностью изложения материала без ущерба для его качества, широтой охвата темы, хорошим стилем изложения, достаточным количеством иллюстративного материала. На наш взгляд, эта книга будет очень полезна прежде всего сотрудникам служб безопасности государственных и частных предприятий, уделяющих большое значение вопросу защиты коммерческой информации, а также подготовленным радиолюбителям, желающим применить свои знания в этой области.
В напряженной обстановке, при жестких временных рамках люди обычно делают то, чему их учили, к чему они привыкли. Вот почему в больницах в пунктах первой помощи предпочитают опытных, тренированных сотрудников — даже хорошо обученные и знающие новички склонны к панике.
У разработчиков программного обеспечения регулярно возникают ситуации, когда что-то надо было сделать еще вчера — на позавчера. Когда на нас давит график работ (который к тому же имеет тенденцию сдвигаться в одном направлении, и то, что по плану должно было заработать завтра, от нас начинают требовать еще вчера...), мы работаем так, как приучены. Неряшливые программисты, которые даже при обычной неспешной работе не помнят о правильных принципах разработки программного обеспечения (а то и вовсе не знакомы с ними), при нехватке времени окажутся еще небрежнее, а их код будет изобиловать ошибками. Соответственно, программист, который выработал в себе хорошие привычки и регулярно ими пользуется, при "повышенном давлении" будет продолжать выдавать качественный код.
Данная статья написана мной по мотивам частых вопросов службе поддержки хостинг-провайдера RunWeb.Ru (к которой я имею непосредственное отношение) по тестированию скриптов и настроек Apache на домашнем компьютере. Первоначально этот материал публиковался на сервере RunWeb.Ru и в рассылке "PHP для начинающих". Постепенно он расширялся по мере поступления вопросов от наших пользователей. Когда же набралось достаточно информации, я собрал ее в отдельную статью и решил, что она может быть полезна не только нашим пользователям хостинга, но и остальным жителям сети.
Поводом для статьи послужило желание создать единое руководство для пользователей, которое помогло бы им тестировать скрипты в домашних условиях, а также использовать возможности настроек Apache для дальнейшего использования на нашем сервере.
Серьезно, а существовала ли разумная жизнь до возникновения Web? Тот, кто вырос в наше время, может в этом усомниться. Пришествие Интернета заложило основу для развития коммуникационных технологий, не имеющих аналогов в истории человечества. И молодежь, и пожилые люди идут в Интернет за покупками, знаниями и общением. Всего за несколько лет произошла масса событий: талантливые предприниматели зарабатывали целые состояния, возникали и рушились корпоративные империи, процветала экономика целых стран — и все благодаря провидческой идее Тима Бернерса-Ли и его коллег о том, что в один прекрасный день мир объединится при помощи гиперссылок.
Конечно, за последние десять лет Всемирная паутина прошла долгий путь — из вспомогательного инструмента научных исследований она превратилась в конгломерат, в котором задействованы прямо-таки головокружительные объемы информации. Возможно, самым важным фактором в развитии Web стала именно простота публикации информации в Web. Даже обладая минимальными познаниями, человек может установить на своем компьютере текстовый редактор, FTP-клиент и web-браузер и открыть свое «представительство» в мире электронной информации.
Впрочем, с процессом создания и сопровождения динамических, крупномасштабных web-сайтов дело обстоит сложнее. При разработке профессионального web-сервиса обычно приходится решать такие задачи, как взаимодействие с пользователем, поиск в базе данных и обеспечение доступности на разных платформах, что заметно усложняет вашу работу. Если вы хотите больше узнать о том, как реализуются и используются на практике подобные возможности, — эта раздел написан для вас.
Неудачный выбор приоритетов на PDP-11 и его наследие на Си
Отлаживал как-то мыщъх одну свою программу, написанную на Си? и периодически делающую из чисел винегрет или выдающую критическую ошибку access violation при трудно воспроизводимых обстоятельствах. Тщательная проверка исходного текста "глазами" ровным счетом ничего не дала. Программа продолжала выпендриваться, сроки сдачи проекта поджимали, дедлайн нависал над головой Дамокловым мечом, мыщъх нервничал, много курил, нервничал, закидывался ноотропами, не спал ночами, высаживался на жуткую измену, а глубоко укоренившийся баг игнорировал всякие попытки вытащить его из норы.
Роясь недавно в базе публикаций по информационной безопасности, я наткнулся на целый ряд статей разных авторов, посвященных такой непростой задаче, как доказательство возможности создания абсолютно защищенной системы. И это несмотря на общепризнанный факт того, что такую систему создать невозможно. Мало того. Многие компании даже создают системы, называемые "абсолютно защищенными". Как правило, такие заявления делаются фирмами, занимающимися криптографической защитой. Например, компания , создавшая Virtual Matrix Encryption, или TriStrata Securities. Однако и в области не криптографии регулярно всплывают фирмочки, заявляющие о революции в области информационной безопасности и создании абсолютно защищенной системы. Например, компания AppShield, выпустившая одноименное устройство и даже гарантирующая возврат денег, если ее систему взломают (как тут не вспомнить рекламу мужского дезодоранта OldSpice, обещающего схожие гарантии).
Но это все небольшие компании, которые, выйдя на уже поделенный рынок, пытаются привлечь к себе внимание любыми способами. А что же крупные и известные игроки этого рынка? И здесь есть свои герои. Например, такой гранд в области информационной безопасности, как Symantec, проводила в июле этого года семинар с претенциозным названием: "Абсолютная защита корпоративной сети предприятия на основе интегрированных решений Symantec".
Данный документ был рассмотрен членами W3C и другими заинтересованными сторонами и утвержден Директором в качестве W3C. Данный документ является окончательным и может быть использован для ссылок и цитирования в других материалах в качестве нормативного документа. Участие организации W3C в разработке данной Рекомендации заключается в привлечении внимания к представленной спецификации и содействии ее широкому распространению. Результатом этой деятельности является повышение функциональности и универсальности Сети.
Мы рассмотрим стандартные задачи, которые администратор может выполнять в системе: конфигурирование учетных записей, настройка рабочей среды пользователя, аудит системных событий, планирование автоматического запуска задач и т. д. Кроме того, описываются два новых по сравнению с Windows 2000, весьма эффективных средства удаленного администрирования — Remote Desktop и Remote Assistance.
В системах Windows 2000 (на рабочей станции или сервере, являющимся членом домена) папка Groups (Группы) содержит шесть встроенных групп. Они создаются автоматически при установке системы. Ниже описаны свойства этих групп.
Administrators (Администраторы) — ее члены обладают полным доступом ко всем ресурсам системы. Это единственная встроенная группа, автоматически предоставляющая своим членам весь набор встроенных прав. По умолчанию содержит встроенную учетную запись Administrator. Если компьютер подключен к домену, эта группа также содержит группу Domain Admins.
Backup Operators (Операторы архива) — члены этой группы могут архивировать и восстанавливать файлы в системе независимо от того, какими правами эти файлы защищены. Кроме того, операторы архива могут входить в систему и завершать ее работу, но они не имеют права изменять настройки безопасности. По умолчанию пуста.
Guests (Гости) — эта группа позволяет выполнить регистрацию пользователя с помощью учетной записи Guest и получить ограниченные права на доступ к ресурсам системы. Члены этой группы могут завершать работу системы. По умолчанию содержит пользователя Guest.
Power Users (Опытные пользователи) — члены этой группы могут создавать учетные записи пользователей, но они имеют право модифицировать настройки безопасности только для созданных ими учетных записей. Кроме того, они могут создавать локальные группы и модифицировать состав членов созданных ими групп. То же самое они могут делать с группами Users, Guests и Power Users. Члены группы Power Users не могут модифицировать членство в группах Administrators и Backup Operators. Они не могут быть владельцами файлов, архивировать или восстанавливать каталоги, загружать и выгружать драйверы устройств и модифицировать настройки безопасности и журнал событий. По умолчанию пуста.
Replicator (Репликатор) — членом группы Replicator должна быть только учетная запись, с помощью которой можно зарегистрироваться в службе репликации контроллера домена. Ее членами не следует делать рабочие учетные записи. По умолчанию пуста.
Users (Пользователи) — члены этой группы могут выполнять большинство пользовательских функций, например, запускать приложения, пользоваться локальным или сетевым принтером, завершать работу системы или блокировать рабочую станцию. Они также могут создавать локальные группы и регулировать состав их членов. Они не могут получить доступ к общему каталогу или создать локальный принтер. По умолчанию содержит служебные учетные записи NT AUTHORITY\Authenticated Users (S-1-5-11) и NT AUTHORITY\INTERACTIVE (S-1-5-4). Если компьютер подключен к домену, эта группа также содержит группу Domain Users.
Операционная система UNIX. Руководство программиста
В 1983 году Кен Томпсон и Деннис Ритчи были удостоены Премии Тьюринга Ассоциации Пользователей Вычислительных Машин (ACM) за разработку операционной системы UNIX. В аннотации, в частности, говорилось:
Успех системы UNIX основывается на удачном выборе нескольких ключевых идей и их элегантной реализации. Благодаря системе UNIX появилось поколение разработчиков программного обеспечения с новой идеологией программирования, основой которой является многократное использование имеющихся программ.
Должны ли программисты, использующие ОС UNIX, интересоваться тем, что делали Томпсон и Ритчи? Имеет ли это сегодня какой-либо смысл? Это необходимо, поскольку понимание идеологии, заложенной в проект системы, а также знание атмосферы, в которой проходила ее реализация, способствует наиболее быстрому ее освоению.
Простая формулировка философии системы UNIX Еще о строках, столбцах и подпрограмме initscr( ) Управление семафорами Неоднозначности и конфликты
Есть ситуация, в которой приведенные выше методы разрешения конфликтов не подходят. Имеется в виду разбор арифметических выражений. Большинство конструкций, обычно используемых в арифметических выражениях, можно естественным образом описать при помощи понятия уровней старшинства (приоритетов) операций и информации о левой или правой ассоциативности. Применяя данный механизм, можно использовать неоднозначные грамматики с соответствующими правилами разрешения неоднозначностей для порождения алгоритмов разбора, которые быстрее и легче задавать, чем алгоритмы, построенные из однозначных грамматик.
Заметки по структурному программированию
Эти заметки относятся к жанру "писем к себе": одни и те же соображения очень часто вертелись у меня в голове, и чтобы отвлечься от них, я был просто вынужден записать их. Перечитывая написанное, я не всегда испытывал полное удовлетворение.
Прежде всего я чувствовал, что страдаю излишним многословием. Тем не менее я, не пытаюсь ужать текст (теперь), во-первых, потому, что это вызвало бы дополнительную задержку и я снова увлекся бы этими размышлениями, а во-вторых, потому что прежний опыт заставляет меня бояться, что я окажусь непонятым: часто программист склонен рассматривать свои (иногда довольно специфические) трудности как суть программирования, и в результате существует большое разнообразие мнений о том, что же такое программирование на самом деле.
Надеюсь, что, несмотря на недостатки моей работы, вам понравятся хотя бы некоторые ее части. Если эти заметки послужат источником вдохновения или позволят вам по-новому оценить профессию программиста, то мои основные цели будут достигнуты.
Написание этой книги было процессом открытия. Я начала с осенившей меня идеи о том, что визуальное восприятие, рисование и творчество могут быть как-то связаны между собой. Процесс работы над книгой приобрел форму исследования, охоты за подсказками, которые позволили бы мне собрать все кусочки этой концепции, подогнать их друг под друга и сложить постижимое целое.
Начиная писать, я была далека от ясного представления о том, какую окончательную форму примет рукопись. И действительно, по мере продвижения рукописи вперед она как будто приобретала свою собственную жизнь, и это она вела меня в моих поисках, а не наоборот. Таким странным образом, я обнаружила, что пишу о творчестве и при этом сама занята таким же творческим процессом - само исследование и объект исследования стали одним и тем же.
Мое исследование началось с изучения изложенных в письменной форме идей множества творческих личностей. И тут я поняла - и они сами подтверждали это, - что одними только записанными словами зачастую невозможно достаточно точно описать творческий процесс, как они переживали его. Некоторые из этих людей говорили, что истинное творчество требует, чтобы мы каким-то образом отошли от привычного режима мышления и попытались увидеть вещи по-иному, взглянули на мир с другой точки зрения. Другие выражали серьезное опасение, что вербальный язык может быть неподходящим для решения некоторых творческих задач и что слова порой даже мешают мышлению.
Miсrosoft Word 97 – текстовый редактор, программа для создания и обработки текстовых документов. Представление WYSIWIG (от английского “What You See Is What You Get”) позволяет просматривать на экране готовый к печати документ без необходимости расходовать бумагу на пробную печать. Отформатированные символы отображаются на экране так, как они будут выглядеть на печати
Мировой рынок систем электронного документооборота
Компания Action Technologies занимается разработкой ПО коллективной работы более 12 лет. В 1996 г. она выпустила Web-ориентированное ПО организации документооборота Action Metro. Это типичное приложение для Интернет: сервер управления процессами располагается "cзади" Web-сервера, функционирующего в качестве внутреннего шлюза. Проверить статус задания пользователи могут через Web-навигатор. Для определения документооборота они используют выделенный клиент или инструментальное средство проектирования Process Builder, обращающееся непосредственно к серверу Action Metro. Process Builder позволяет создавать визуальную диаграмму последовательности прохождения документа с использованием маркированной рамки для обозначения каждого этапа и стрелок для определения отношений между ними. С помощью данного инструмента пользователи могут задавать сложные правила автоматизации комплексных процессов.