Отладка приложений


         

Отладка приложений

Книга адресована разработчикам, которые хотят повысить качество своих программ и конкурентоспособность своей организации, а также для менеджеров и руководителей групп, заинтересованных в создании более действенных и эффективных команд разработчиков.
Исходя из технической перспективы, "идеальным читателем" является тот, кто имеет опыт (от одного до трех лет) в применении систем программирования Microsoft Visual C++ и/или Microsoft Visual Basic. Предполагается также, что читатель является членом реальной команды разработчиков, и отправил заказчикам, по крайней мере, один продукт.

Введение
Читая эту книгу, вы заметите, что основное внимание уделено отладчику Visual C++, языкам С, C++ и ассемблеру. Тому есть две причины. Во-первых, языки С и C++ предоставляют разработчикам больше возможностей (чем язык Visual Basic) попасть в аварийные ситуации. Во-вторых, потому что отладчик Visual Basic не может отлаживать свой "родной" (native) откомпилированный двоичный код, и необходимо знать отладчик Visual C++, чтобы отладить приложение Visual Basic.

Замечание для разработчиков на Visual Basic
Как нужно читать
Системные требования
Прочитайте это!

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

Что такое ошибки?
Противоречивые интерфейсы пользователя
Несоответствие ожиданиям
Низкая производительность
Аварийные завершения и искажение данных
Ошибки процесса разработки и их устранение
Короткие или недопустимые сроки разработки
Необдуманное программирование
Неправильное понимание требований
Неправильное понимание требований - 2

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

Системы управления версией
Управление изменениями
Важность использования меток
Системы отслеживания ошибок
Системы отслеживания ошибок - 2
Выбор подходящих систем
Планируйте время для построения систем
Стройте все продукта с символами отладки
Стройте все продукта с символами отладки - 2
Рассматривайте предупреждения как ошибки

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

Что проверять с помощью утверждений
Что проверять с помощью утверждений - 2
Что проверять с помощью утверждений - 3
Описание Функции isArray
Описание Функции isArray - 2
Описание Функции isArray - 3
Описание Функции isArray - 4
Описание Функции isArray - 5
Описание Функции isArray - 6
Описание Функции isArray - 7

Типы Windows-отладчиков
Если вы хоть немного программировали для Windows, то, вероятно, слышали о различных типах отладчиков, которые можно при этом использовать. В мире Windows доступны два типа отладчиков: отладчики режима пользователя (user-mode debuggers) и отладчики режима ядра (kernel-mode debuggers).

Отладчики режима пользователя
Отладчики режима ядра
Отладчики режима ядра - 2
Отладчики режима ядра - 3
Отладчики режима ядра - 4
Отладчики режима ядра - 5
Отладчики режима ядра - 6
Отладчики режима ядра - 7
Поддержка подчиненных отладчиков в Win2000
Проверка памяти в Win2000

Расширенные точки прерывания
Установка точки прерывания на исходной строке в отладчике Visual C++ (для проектной конфигурации Win32 Debug или Win32 Unicode Debug) довольно проста: загрузите исходный файл, поместите курсор на строку, где требуется остановить выполнение, переместите указатель мыши на кнопку Insert/Remove Breakpoint и щелкните левой кнопкой мыши.

Быстрое прерывание на произвольной функции
Точки прерывания на системных функциях
Точки прерывания на системных функциях - 2
Точки прерывания на системных функциях - 3
Точки прерывания на системных функциях - 4
Модификаторы позиционных точек прерывания
Модификаторы позиционных точек прерывания - 2
Модификаторы позиционных точек прерывания - 3
Модификаторы позиционных точек прерывания - 4
Модификаторы позиционных точек прерывания - 5

Основы CPU
Довольно продолжительное время мы живем в окружении набора команд процессоров компании Intel, уходящего корнями в CPU 8086, который Intel впервые выпустил в 1978 году. Во времена MS-DOS и 16-разрядной операционной системы Windows язык ассемблера казался немного странным и трудным (из-за методики работы CPU с памятью — через 64 Кбайтные блоки, называемые сегментами). К счастью, сегодня иметь дело с языком ассемблера намного легче, потому что в Microsoft Windows 98 и 2000 CPU имеет прямой доступ к полному адресному пространству.

Регистры
Регистры - 2
Формат инструкции и адресация памяти
Формат инструкции и адресация памяти - 2
Встроенный ассемблер Visual C++
Инструкции, которые нужно знать
Манипуляции со стеком
Самые общие простые инструкции
Общая последовательность: вход и выход
Общая последовательность: вход и выход - 2

Р-код Visual Basic
Опытные разработчики знают все о р-коде языка Visual Basic (VB), но необходимо, чтобы каждый читатель совершенно точно понимал, что происходит, когда выполняется VB-приложение, и представлял себе последствия отладки VB-приложений. Наряду с другими аспектами отладки, понимание работы отладчика может чрезвычайно помочь в этом. Для того чтобы установить систему определенных понятий, начнем с небольшого урока истории.

Урок истории р-кода
Урок истории р-кода - 2
Последствия работы с отладчиком
Последствия работы с отладчиком - 2
Последствия работы с отладчиком - 3
Перехват ошибок: режимы Break In или Break On
Режим Break On All Errors
Режим Break On Unhandled Errors
Режим Break In Class Module
Предложения по перехвату ошибок

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

Содержимое МАР-файла
Содержимое МАР-файла - 2
Содержимое МАР-файла - 3
Содержимое МАР-файла - 4
Содержимое МАР-файла - 5
Поиск функции, исходного файла
Поиск функции, исходного файла - 2
Использование утилиты CrashFinder
Использование утилиты CrashFinder - 2
Использование утилиты CrashFinder - 3

Структурированная обработка исключений
Структурированную обработку исключений (SEH) обеспечивает операционная система. Она напрямую связана с такими авариями, как нарушение доступа. SEH-обработка не зависит от языка и в программах C/C++ обычно реализуется парами ключевых слов _try/_except и _try/_finally. Методика использования пары _try/_except такова: сначала нужно установить свой код внутри блока _try, затем определить, как следует обрабатывать исключения в блоке _except (который называют также обработчиком исключений (exception handler)).

Структурированная обработка исключений
Структурированная обработка исключений - 2
Структурированная обработка исключений - 3
Обработка исключений средствами языка C++
Комбинирование обработки SEH- и С++
Комбинирование обработки SEH- и С++ - 2
Комбинирование обработки SEH- и С++ - 3
Комбинирование обработки SEH- и С++ - 4
API-функция SetUnhandledExceptionFilter
API-функция SetUnhandledExceptionFilter - 2

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

Использование API-функций
Использование API-функций - 2
Обеспечение безопасности
Отладка служб
Отладка основного кода
Отладка базовых служб
Отладка базовых служб - 2
Отладка базовых служб - 3
Отладка базовых служб - 4
Отладка базовых служб - 5

Требования к TraceSrv
На первый взгляд, требования к TraceSrv могут показаться чрезмерно завышенными из-за необходимости многоязычного программирования и работы в сети. Я предполагал, что можно переадресовать многоязычную поддержку простой динамически компонуемой библиотеке (DLL), которую мог бы загружать кто угодно. Поскольку я — прежде всего системный программист, а не Web-разработчик, то сказалось незнание языков VBScript и Java.

Требования к TraceSrv
Требования к TraceSrv - 2
Требования к TraceSrv - 3
Требования к TraceSrv - 4
Требования к TraceSrv - 5
Требования к TraceSrv - 6
Требования к TraceSrv - 7
Требования к TraceSrv - 8
Требования к TraceSrv - 9
TraceSrv и DCOMCNFG

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

Отказ от многопоточной организации
Реализация потоков мелкими частями
Синхронизация потоков на самом низком уровне
Постоянный просмотр кода
Тестирование на мультипроцессорных машинах
Требования утилиты DeadlockDetection
Требования утилиты DeadlockDetection - 2
Требования утилиты DeadlockDetection - 3
DeadlockDetection и проблемы проектирования
DeadlockDetection и проблемы проектирования - 2

Бич блочного тестирования: интерфейсы пользователя
Я твердо убежден, что разработчики Microsoft получают туннельный синдром запястья не от того, что им приходится вводить исходный код с клавиатуры, а от многократного нажатия одних и тех же комбинаций клавиш при тестировании своих приложений. После 5000-го нажатия Alt+F, О запястья зажаты плотнее, чем арматура в бетоне. Без инструмента автоматизации задач, имеющих доступ к различным свойствам ваших приложений, вообще приходится следовать некоторому сценарию, чтобы гарантировать выполнение блочного тестирования в достаточном объеме.

Требования, предъявляемые к утилите Tester
Применение утилиты Tester
Применение утилиты Tester - 2
Применение утилиты Tester - 3
Применение утилиты Tester - 4
Применение утилиты Tester - 5
Реализация утилиты Tester
Реализация утилиты Tester - 2
Реализация утилиты Tester - 3
Реализация утилиты Tester - 4

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

Требования к LIMODS
Использование LIMODS
Работа с MFC
Работа с MFC - 2
Вызов LIMODS из кода
Вызов LIMODS из кода - 2
Выбор исходных файлов для трассировки
Реализация LIMODS
Определение диапазонов исходного кода
Определение диапазонов исходного кода - 2

Свойства библиотеки DCRT
Главной причиной популярности DCRT-библиотеки в том, что она поддерживает мониторинг кучи (heap). В отладочных версиях можно проследить всю память, которая распределяется при помощи стандартных С/С++-функций, таких как new, maiioc и calloc. Монитор кучи проверяет как записи (underwrites), которые программа помещает в начало выделенного блока памяти, так и перезаписи (overwrites), размещаемые за концом блока.

Использование DCRT-библиотеки
Использование DCRT-библиотеки - 2
Использование DCRT-библиотеки - 3
Выбор правильного варианта CRT-библиотеки
Выбор правильного варианта CRT-библиотеки - 2
Использование MemDumperValidator
Использование MemDumperValidator - 2
Использование MemDumperValidator - 3
Использование MemDumperValidator - 4
Использование MemDumperValidator - 5

Журнал программы Dr. Watson для Windows 2000
Информация заголовка сообщает причину аварийного останова. В данном случае — это исключительная ситуация (исключение), возникшая в приложении. Номера исключений для некоторых аварийных ситуаций невозможно перевести в удобочитаемое описание, например, такое, как показано в последней строке нашего заголовка ("access violation — нарушение доступа" для исключения с (шестнадцатеричным) номером С0000005).

Журнал программы Dr. Watson для Win 2000
Журнал программы Dr. Watson для Win 2000 - 2
Журнал программы Dr. Watson для Win 2000 - 3
Журнал программы Dr. Watson для Win 2000 - 4
Журнал программы Dr. Watson для Win 2000 - 5
Журнал программы Dr. Watson для Win 2000 - 6
Журнал программы Dr. Watson для Win 2000 - 7
Журнал программы Dr. Watson для Win 2000 - 8
Журнал программы Dr. Watson для Win 98
Журнал программы Dr. Watson для Win 98 - 2

Разработка программного обеспечения
Steve McConnell.Code Complete. — Microsoft Press, 1993. Это лучшая книга по конструированию программного обеспечения, которую я когда-либо читал. Каждый разработчик должен иметь собственный экземпляр этой книги и читать его от корки до корки каждый год.

Книги
Разработка программного обеспечения
Языки
Отладка и тестирование
Windows и Windows-технологии
CPU и аппаратные средства
Инструментальные средства
Web-сайты

Позиционные точки прерывания
Все позиционные точки прерывания (location breakpoints) устанавливаются вручную в редактируемом поле Break at на вкладке Location диалогового окна Breakpoints.

Позиционные точки прерывания
Модификаторы позиционных точек прерывания
Точки прерывания глобальных выражений
Точки прерывания сообщений

Разработка распределенных приложений в Microsoft.NET Framework

В настоящее время много внимания уделяется технологиям разработки распределенных приложений, охватывающих несколько независимых компьютеров. В течение последних десяти лет было создано большое число технологий и стандартов, использование которых должно было помочь разработчикам в создании распределенных приложений масштаба предприятия. Однако поддержка многих технологий была изначально достаточно трудоемкой и сложной для разработчиков прикладных программ, использовавших классические языки программирования, такие как C/С++.
Одной из задач, стоящих перед разработчиками Microsoft, создающими так называемую общеязыковую инфраструктуру (Common Language Infrastructure, CLI), так же известную как .NET, была наиболее полная поддержка средств разработки распределенных систем. Поэтому в платформе разработки приложений Microsoft .NET Framework имеется встроенная поддержка четырех взаимосвязанных технологий, предназначенных для использования в распределенных системах: очередей сообщений (messaging queues), объектов COM+, объектов .NET Remoting, веб служб (web services).

Системные требования к курсу
Курс рассчитан на студентов средних или старших курсов. Слушатели должны быть знакомы с архитектурой Microsoft.NET Framework, а так же иметь представление об и языке программирования C#, основных сетевых протоколах стека TCP/IP, основах криптографии, теории графов и формальных языков.

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

Понятие распределенной системы
Понятие распределенной системы - 2
Понятие распределенной системы - 3
Определение распределенной системы
Требования к распределенным системам
Требования к распределенным системам - 2
Требования к распределенным системам - 3
Понятие промежуточной среды

Модели взаимодействия компонент распределенной системы
Ключевым сервисом промежуточной среды для создания распределенных систем является обеспечение обмена данными между компонентами распределенной системы. В настоящий момент существуют две концепции взаимодействия программных компонент: обмен сообщениями между компонентами и вызов процедур или методов объекта удаленной компоненты по аналогии с локальным вызовом процедуры.

Обмен сообщениями
Обмен сообщениями - 2
Дальний вызов процедур
Использование удаленных объектов
Использование удаленных объектов - 2
Модель единственного вызова
Модель единственного экземпляра
Активация по запросу клиента
Состояние компоненты распределенной системы
Использование свойств удаленных объектов

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

Сервисы и интерфейс компоненты
Сервисы и интерфейс компоненты - 2
Сервисы и интерфейс компоненты - 3
Язык XML и схемы XML
Язык XML и схемы XML - 2
SOAP: язык сообщений системы
SOAP: язык сообщений системы - 2
WSDL: описание интерфейса компоненты
WSDL: описание интерфейса компоненты - 2
WSDL: описание интерфейса компоненты - 3

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

Сериализация графа объектов
Сериализация графа объектов - 2
Сериализация графа объектов - 3
Методы сериализации в NET Framework
Класс сериализации XmlSerializer
Класс сериализации XmlSerializer - 2
Класс сериализации XmlSerializer - 3
Класс сериализации XmlSerializer - 4
Класс сериализации XmlSerializer - 5
Класс сериализации XmlSerializer - 6

Сериализация данных
Создайте набор классов заданной функциональности, сериализуемый в документ XML естественного вида.

Служба обмена сообщениями MSMQ
В настоящий момент существует несколько основных разработок в области промежуточного программного обеспечения для работы с очередями сообщений. Наиболее известными разработками являются такие системы очередей сообщений, как MSMQ, Sun Java System Message Queue, IBM MQSeries, Oracle Advanced Queing. Промежуточная среда MSMQ – разработка Microsoft для асинхронной передачи сообщений внутри локальной сети, впервые появившаяся в составе операционной системы Windows NT.

Служба обмена сообщениями MSMQ
Служба обмена сообщениями MSMQ - 2
Инфраструктура, необходимая для MSMQ
Применение службы сообщений MSMQ
Применение службы сообщений MSMQ - 2
Применение службы сообщений MSMQ - 3
Применение службы сообщений MSMQ - 4
Использование MSMQ в NET Framework
Использование MSMQ в NET Framework - 2
Использование MSMQ в NET Framework - 3

Введение в промежуточную среду COM+
COM+ – промежуточная среда для создания распределенных систем, действующих в локальной сети. Она разрабатывается фирмой Microsoft с конца 90-х годов и впервые появилась в составе операционной системы Microsoft Windows 2000. Основной целью разработки среды COM+ было создание инфраструктуры для разработки распределенных систем автоматизации предприятия

Сервисы COM+
Синхронизация
Балансировка нагрузки
Just-in-time активация и пул объектов
Распределенные транзакции
Ожидающие компоненты
Слабо связанные события
Обеспечение безопасности
Взаимодействие среды COM+ и среды CLR
Создание обслуживаемых компонент

Введение в веб службы
Веб службой или веб-сервисом (web service, WS) называется программная компонента, предоставляющая сервис удаленного вызова на основе группы стандартов WSI (Web Services Interoperability), основными из которых являются протокол обмена сообщениями SOAP, язык описания интерфейса WSDL, HTTP как основной транспортный протокол, а также XML и схемы XML. Для описания спецификаций формата сообщений в веб службах в настоящее время обычно используется схема XML и кодирование тела пакета SOAP Document.

Использование расширения WSE
Использование расширения WSE - 2
Создание веб-службы в среде NET Framework
Описание веб службы
Создание посредника веб службы
Реализация нестандартного расширения WSE
Реализация нестандартного расширения WSE - 2
Реализация нестандартного расширения WSE - 3
Менеджер пользовательских записей
Менеджер пользовательских записей - 2

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

Введение в среду NET Remoting
Введение в среду NET Remoting - 2
Архитектура среды NET Remoting
Архитектура среды NET Remoting - 2
Архитектура среды NET Remoting - 3
Конфигурирование среды NET Remoting
Конфигурирование среды NET Remoting - 2
Конфигурирование среды NET Remoting - 3
Веб-службы в NET Remoting
Веб-службы в NET Remoting - 2

Введение в обеспечение безопасности
Распределенная система представляет набор программных компонент, использующих те или иные промежуточные среды для своего взаимодействия ( 9.1). Каждая промежуточная среда использует так называемый транспортный протокол, в роли которого может выступать: промежуточная среда (например, Remoting или COM+ поверх MSMQ);протокол верхнего уровня модели OSI (например, HTTP или HTTPS);протокол транспортного уровня модели OSI (например, TCP).

Введение в обеспечение безопасности
Введение в обеспечение безопасности - 2
Электронные сертификаты
Электронные сертификаты - 2
Протокол Kerberos
Безопасность сред NET Framework

Взаимосвязь промежуточных сред
Доступные при использовании .NET Framework промежуточные среды не существуют оторвано друг от друга. На 10.1 показана взаимосвязь рассмотренных сред (с учетом приведенного ранее примера Remoting / MSMQ). RPC на 10.1 –стандартный для Windows NT 5.* механизм удаленного вызова процедур, недоступный для управляемого кода. Для простоты не показано возможное применение безопасных транспортных протоколов.

Взаимосвязь промежуточных сред
Сравнение технологий создания систем
Сравнение технологий создания систем - 2
Выводы по применению сред NET Framework

Администрирование каталога COM+
Текущая на момент написания курса версия .NET Framework 2.0 не содержала штатных средств администрирования каталога компонент COM+, отличных от внешней программы регистрации и удаления компонент COM+ regsvcs.exe. В частности, в библиотеке классов .NET Framework нет методов для подписки компонент на события COM+. Ниже представлено одно из возможных решений этой досадной проблемы.

Использование ASPNET без IIS
В учебном процессе или при тестировании приложений иногда возникает потребность работы с веб службами ASP.NET без использования IIS. При использовании .NET Framework 2.0 и операционной системы Windows XP SP2 или Windows Server 2003 можно достаточно просто создать свой носитель веб служб на основе классов HttpListener и HttpRuntime, при этом служба IIS может быть не установлена в системе.

Пример II1
Пример II1 - 2
Пример II1 - 3
Пример II1

Симметричное шифрование
В теме, посвященной среде .NET Remoting, для шифрования передаваемых по каналу данных используется приведенный ниже класс симметричного шифрования. Он предоставляет интерфейс к стандартному классу FCL RijndaelManaged, реализующему алгоритм шифрования Рижндала. Используется версия алгоритма с генерацией случайного вектора инициализации, который передается вместе с зашифрованными данными.

Пример III1
Пример III1

Bluetooth технические требования, практическая реализация

Настоящая книга посвящена одной из наиболее динамично развивающихся бес­проводных технологий связи, получившей широкую известность в мире как Bluetooth технология. Книга адресована самому разнообразному кругу читателей: «обывателям», желающим понять «проблему», инженерам-проектировщикам, ко­торые найдут в книге конкретные технические характеристики и алгоритмы рабо­ты или будут ориентированы к интересующим их разделам технических требова­ний, а также инженерам-интеграторам, которые используют технологию Bluetooth для создания конкретных технических систем.

Защита информации
В 1994 году Ericsson Mobile Communications, всемирная телекоммуникационная компания, основанная в Швеции, приступила к исследованию осуществимости маломощного, дешевого радио интерфейса между мобильными телефонами и их аксессуарами. Целью исследования было нахождение способа устранения проводных соединений мобильными телефонами и PC-картами, телефонными гарнитурами, настольными компьютерами и другими устройствами.

Защита информации
Защита информации - 2
Защита информации - 3
Защита информации - 4
Защита информации - 5
Защита информации - 6
Защита информации - 7
Защита информации - 8
Защита информации - 9
Преимущества Bluetooth

Радио и рабочие группы по совместимости
Рабочая группа Bluetooth Radio 2.0, возглавляемая компаниями Ericsson и Nokia, проводит дополнительную разработку технических требований для приемопередатчика Bluetooth. Эта рабочая группа занимается вопросами увеличения скорости передачи данных, улучшения функций Baseband протокола (в частности, усовершенствование процедуры запроса), обеспечения совместимости с другими технологиями, работающими в ISM диапазоне.

Рабочие группы по расширению Bluetooth
Рабочие группы по расширению Bluetooth - 2
Рабочие группы по расширению Bluetooth - 3
Рабочие группы по расширению Bluetooth - 4
Рабочие группы по расширению Bluetooth - 5
Рабочие группы по расширению Bluetooth - 6
Рабочие группы по расширению Bluetooth - 7
Рабочие группы по расширению Bluetooth - 8
Рабочие группы по расширению Bluetooth - 9
Английские сокращения

Разработка и проектирование мультимедийного приложения

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

Продолжение


Японские свечи - перейти
Японские свечи - перейти
Анализ японских свечей - перейти
Свечи Intraday - перейти
Графический анализ - перейти
Графический анализ - перейти
Графика Демарка - перейти
Паттерны - перейти
Введение в программу Acrobat Standard - перейти
Знакомство с рабочей областью - перейти
Преобразование файлов Microsoft Office - перейти
Преобразование файлов в формат PDF - перейти
Настройка качества выходных файлов PDF - перейти
Создание файлов PDF из Web страниц - перейти
Модифицирование файлов PDF - перейти





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