Цель этой книги - помочь программистам разных уровней - от начального до среднего - повысить свою квалификацию. Для получения статуса мастера требуется практический опыт и накопление знаний в конкретной области. Конечно, опыт приходит только со временем и практикой, но данная книга существенно пополнит багаж ваших знаний.
Сетевое программирование - это обширная область с большим выбором различных технологий для желающих установить связь между несколькими машинами. Среди них такие простые, как последовательная линия связи, и такие сложные, как системная сетевая архитектура (SNA) компании IBM. Но сегодня протоколы TCP/IP - наиболее перспективная технология построения сетей. Это обусловлено развитием Internet и самого распространенного приложения - Всемирной паутины (World Wide Web).
Очевидно, что BGP-маршрутизаторы, находящиеся в одной АС, также должны обмениваться между собой маршрутной информацией. Это необходимо для согласованного отбора внешних маршрутов в соответствии с политикой данной АС и для передачи транзитных маршрутов через автономную систему. Такой обмен производится также по протоколу BGP, который в этом случае часто называется IBGP (Internal BGP), (соответственно, протокол обмена маршрутами между маршрутзаторами разных АС обозначается EBGP –External BGP).
Отличие IBGP от EBGP состоит в том, что при объявлении маршрута BGP-соседу, находящемуся в той же самой АС, маршрутизатор не должен добавлять в AS_PATH номер своей автономной системы. Действительно, если номер АС будет добавлен, и сосед анонсирует этот маршрут далее (опять с добавлением номера той же АС), то одна и та же АС будет перечислена AS_PATH дважды, что расценивается как цикл.
Это очевидное правило влечет за собой интересное следствие: чтобы не возникло циклов, маршрутизатор не может анонсировать по IBGP маршрут, полученный также по IBGP, поскольку нет способов определить зацикливание при объявлении BGP-маршрутов внутри одной АС.
Чтобы понимать сетевой обмен и круг вопросов, рассматриваемых в книге, важно представлять, что сетевые исследования и разработки прошли через три стадии развития До 1960 года, основным вопросом был "Как передавать биты по среде коммуникации эффективно и надежно?". Результаты включают разработку теории информации, теоремы Котельникова и других идей, которые в совокупности называют обработкой сигналов. От начала и до середины 60-х внимание было сконцентрировано на пакетной коммутации и основным вопросом стал: "Как передавать пакеты по среде коммуникации эффективно и надежно?" . Результатами этого этапа стали разработка технологий пакетной коммутации, локальных вычислительных сетей и статистический анализ времени передачи пакетов по сети в зависимости от загрузки. Приблизительно с середины 70-х и до нынешнего времени самым главным направлением стали сетевые архитектуры и вопрос "Как обеспечить средства взаимодействия взаимосвязанных сетей?". Результатами последнего этапа стала разработка технологий межсетевого обмена, многоуровневых моделей протоколов, дейтаграммных и потоковых транспортных средств и парадигмы взаимодействия клиент-сервер.
Чтобы все потоки работали, операционная система отводит каждому из них определенное процессорное время. Тем самым создается иллюзия одновременного выполнения потоков (разумеется, для многопроцессорных компьютеров возможен истинный параллелизм). В Windows реализована система вытесняющего планирования на основе приоритетов, в которой всегда выполняется поток с наибольшим приоритетом, готовый к выполнению. Выбранный для выполнения поток работает в течение некоторого периода, называемого квантом. Квант определяет, сколько времени будет выполняться поток, пока операционная система не прервет его. По окончании кванта операционная система проверяет, готов ли к выполнению другой поток с таким же (или большим) уровнем приоритета. Если таких потоков не оказалось, текущему потоку выделяется еще один квант. Однако поток может не полностью использовать свой квант. Как только другой поток с более высоким приоритетом готов к выполнению, текущий поток вытесняется, даже если его квант еще не истек.
Команда APPEND
Позволяет программам открывать файлы данных в заданных ката логах (которые называются присоединенными каталогами), как если бы они находились в текущем каталоге.
APPEND [[диск:]маршрут[;...]] [/X[:ON :OFF]][/PATH:ON /PATH:OFF] [/E]
Не пользуйтесь этой командой при выполнении Windows. Для вывода списка каталогов наберите команду APPEND без параметров. Для отмены присоединенных каталогов пользуйтесь командой APPEND ;.
Эволюция технических средств персональных компьютеров привела к повсеместному вытеснению старой “доброй” ОС MS-DOS значительно более мощными системами Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS. Разработчики систем программирования, и прежде всего такие корпорации, как Microsoft и Borland, не замедлили выпустить соответствующие средства: уже в 1991 году, т. е. сразу после появления Windows 3.1, Borland выпускает Turbo Pascal for Windows, а в 1992 - усовершенствованную версию этой системы программирования - Borland Pascal with Objects 7.0. Эти первые специализированные инструменты требовали основательного знания Windows и были сложны в освоении. Но вот в 1993 году Microsoft выпустила первую визуальную среду программирования Visual Basic, и программирование для Windows стало даже проще, чем программирование для MS-DOS. В ответ на это Borland в 1995 году выпустила первую версию Delphi, а затем, с интервалом в 1 год, - еще 4 версии: 2, 3, 4 и 5. Наконец, в середине 2001 г. выпускается версия б, которая и положена в основу этой книги. Замечу, что материал книги можно с некоторыми (часто несущественными) ограничениями использовать и для изучения более ранних версий.
Не секрет, что лучшим языком для изучения и освоения программирования является Паскаль, а лучшей в мире системой программирования для MS-DOS - Turbo Pascal. Delphi продолжила серию Паскаль-ориентированных средств программирования и, по моему глубокому убеждению, является наиболее удобным инструментом для Windows-программирования.
Типичное изучение математики (как и любой формальной теории) в школе, в вузе сопровождается ощущением растерянности, недоумения. Определения и доказательства преподносят как настоящую реальность, но причины явлений никогда не объясняются. Казалось, что большую часть доказательств преподаватели получают с помощью магических манипуляций с кусочком мела у доски. Как можно было связать воедино все эти линии и не выпустить из поля зрения ни одну из них от самого начала доказательства до его чудесного конца? И над всем этим: "А для чего все это надо?".
Ответ приходит через несколько лет активной жизни. На самом деле все это ни для чего не надо, потому что предметы, которые вы изучаете, вносятся в школьные и вузовские программы достаточно произвольно. По правде говоря, эти знания служат лишь поводом для перехода к более серьезным вещам, таким как учиться понимать, учиться решать задачи, учиться познавать. Но любопытно, что эти "вещи" не признаются и не преподаются. Можно сказать, что существует определенный вид интеллектуального терроризма, когда некоторых учеников называют "нуль в математике", хотя их единственная вина состоит в том, что они не понимают то, о чем … никогда не говорится. Некоторым удается это избежать, потому что они раньше сумели познакомиться с неявными правилами этой игры. Есть и такие, кто учит все наизусть…
Одной из наиболее сложных систем сегодня являются открытые системы связи OSI (Open System Interconnection). OSI представляет собой достаточно формализованную стандартную архитектуру управления межкомпьютерными коммуникациями. Для описания этой системы была разработана абстрактный синтаксис нотаций ASN.1 (Abstract Syntax Notation; См. A Layman’s Guide to a Subset of ASN.1, BER, and DER. Burton S. Kaliski Jr., RSA Data Security, Inc. Redwood City, CA, 1991). ASN.1 является формальным языком, который обладает двумя основными чертами.
Используемая в документах нотация легко читаема и понимаема, а в компактном кодовом представлении информация может использоваться коммуникационными протоколами. Неотъемлемой частью ASN.1 являются базовые правила кодирования BER (Basic Encoding Rules), которые позволяют определить большое разнообразие типов данных. BER описывает то, как представить или закодировать любую величину в рамках стандарта ASN.1. Практически все величины здесь представляются в виде последовательности 8-битных октетов. Восьмой бит октета всегда считается самым старшим. BER позволяет закодировать величину более чем одним способом. Имеется также поднабор правил кодирования DER (Distinguished Encoding Rules, описаны в документе Х.509), которые определяют однозначные способы кодирования величин ASN.1.
Adobe предлагает сложные программы для создания проектов с использованием богатой графики, текста и видео. И, естественно, в этом постоянно изменяющемся взаимосвязанном цифровом мире возникает масса вопросов, и чем дальше, тем больше.
Благодаря инициативе и творческому видению пользователей Adobe, сфера применения программ значительно расширяется, развивается новое мышление, появляются новые приемы и методы работы. На сайте сделана попытка задокументировать пробы и ошибки пользователей.
Материалом послужили - база данных технологии Adobe из архива отдела Customer Support, материал из рубрики вопросов и ответов журнала Adobe Magazine (бывший Aldus Magazine) за последние три года, а также подборка советов, статей, Web-страниц Adobe и даже раздел по проблемам PostScript из книги издательства Adobe Press.
Всего уместилось 20% наиболее часто встречающихся вопросов. Главы, посвященные популярным продуктам Adobe Photoshop, Adobe Illustrator и Adobe PageMaker, сделаны более длинными и включают самые часто задаваемые вопросы. Вопросы и советы из журнала Adobe Magazine включены целиком, поскольку все они очень интересны, а отыскать их теперь можно только в старых подшивках..
Однажды мне позвонил клиент и попросил прийти к нему в офис. Когда я пришел, он попросил меня установить брандмауэр, чтобы обезопасить свою сеть. Перед тем. как устанавливать брандмауэр, я поинтересовался о политике безопасности компании. Он с любопытством посмотрел на меня и спросил: "А зачем она мне нужна?".
В годы повального увлечения Internet такой ответ скорее является правилом, чем исключением. В организациях проводится продуманная политика управления персоналом, документация которой иногда занимает гору бумаги, но нет никакой политики информационной безопасности. Если же такая политика и разрабатывалась, то, в лучшем случае, вам вручат 5 листов бумаги, в которых описаны активы корпорации с многомиллионным оборотом.
Одна из наиболее важных мыслей, которую необходимо помнить, говоря о цвете, заключается в том, что некоторые предметы мы видим потому, что они излучают свет, а другие — потому, что они его отражают. Когда предметы излучают свет они приобретают тот цвет, который мы видим. Когда они отражают свет (бумага, например), их цвет определяется цветом падающего на них света и цветом, который эти объекты отражают.
Таким образом, излучаемый свет — это свет, выходящий из активного источника: солнца, лампочки, экрана монитора; отраженный свет — это свет, "отскочивший" от поверхности объекта. Именно его вы видите, когда смотрите на какой-либо предмет, не излучающий собственного света.
Излучаемый свет может содержать все цвета (белый свет), любую их комбинацию или только один цвет. Излучаемый свет, идущий непосредственно из источника к вашему глазу, сохраняет в себе все цвета, из которых он был создан. Некоторые волны излученного света поглощаются объектом, поэтому доходят до нас и воспринимаются глазом только непоглощенные, отраженные волны.
Разработка и проектирование мультимедийного приложения
В настоящее время разработке мультимедийных продуктов уделяется много внимания, особенно, если речь идет о создании компьютерных энциклопедий, электронных учебников, развлекательных и познавательных программ и т.д. Что же такое мультимедийный продукт? Во-первых – это программный продукт, обязательно предоставляющий пользователю интерактивный, то есть диалоговый, режим работы, который предполагает обмен командами и ответами между человеком и компьютером. Во-вторых, это среда, где используются разнообразные видео- и аудиоэффекты.
Прокладочный материал выбирают в зависимости от условий работы, величины давления, температурного режима и т. д. Для уплотнения соединений общего назначения, например крышек маслосодержащих полостей, чаще всего применяют прокладочную бумагу толщиной 0,05—0,15 мм, кабельную бумагу (бумагу, пропитанную бакелитом или другими синтетическими смолами), прокладочный картон толщиной 0,5—1,5 мм, прессшпан и т. д. Наилучшими свойствами обладают прокладки из синтетических материалов типа полихлорвинила и политрифторэтилена.
Любой фотоаппарат, в том числе и цифровой, можно условно разделить на три части. Первая из них — оптическая система, состоящая из объектива (иногда с насадками) и затвора. Вторая часть — это регистратор изображения. Третья часть предназначена для хранения отснятых кадров. В обычном фотоаппарате функции второй и третьей частей выполняет пленка, в цифровом для этого используются два разных устройства.
Для регистрации изображения используется электронно-оптический преобразователь, а для хранения — флэш-память.
На первый взгляд Microsoft Project кажется еще одним приложением семейства Microsoft Office с панелью инструментов, как в Word, таблицами и графиками, как в Excel. Но чем глубже вы будете осваивать Microsoft Project, тем больше отличий вы заметите.
Одно из ключевых отличий состоит в узкой области применения программы. Если другие приложения семейства Microsoft Office ориентированы на широкую область применения и содержат самые разные функции, то программа MS Project предназначена исключительно для управления проектами.
Другое важное отличие заключается в том, что с MS Project невозможно работать, не обладая теоретическими знаниями в области управления проектами и не зная особенностей этой программы. Любой пользователь может открыть Word и подготовить документ, не читая предварительно книгу размером с ту, что находится в ваших руках. Конечно, этот пользователь не будет применять команды стилевого оформления, возможно, он не сумеет вставить в документ номера страниц и т. п., но документ будет готов к распечатке и им можно будет воспользоваться. Если же вы откроете MS Project и попробуете создать план проекта, то без специальных знаний вы не сможете получить план, пригодный для реализации проекта.
Таким образом, если вы хотите управлять проектами с помощью MS Project, то без изучения теории управления проектами и функциональных возможностей программы вам не обойтись.
Когда в 1980-х годах настольные издательские системы только появились, в роли издателя мог себя почувствовать любой пользователь. Каждый желающий мог изложить свои мысли на бумаге и рассказать о них всему миру. Если вы уже работали с QuarkXPress или только планируете познакомиться с этой программой, то наверняка понимаете о чем идет речь.
QuarkXPress стала наиболее популярной настольной издательской системой в мире. Профессионалы превратили эту программу в настоящий стандарт в сфере подготовки журналов, газет и каталогов. Эта программа — замечательный инструмент создания книг благодаря поддержке таких функций, как создание предметных указателей, оглавлений и т.д.
Сотрудники компании Quark добавили новые, а также значительно улучшили существующие возможности QuarkXPress 6. Последняя версия программы, предназначенная для платформ Mac OS X и Windows 2000/XP, позволяет решать следующие задачи.