С++ для начинающих

       

С++ для начинающих

Между выходом второго и третьего издания “С++ для начинающих” произошло довольно много событий. Одним из самых значительных стало появление международного стандарта. Он не только добавил в язык С++ новые возможности, среди которых обработка исключений, идентификация типов во время выполнения, пространство имен, встроенный булевский тип данных, новый синтаксис приведения типов, но также существенно изменил и расширил имеющиеся – шаблоны, механизм классов, поддерживающий объектную и объектно-ориентированную парадигму программирования, вложенные типы и разрешение перегруженных функций. Еще более важным событием стало включение в состав стандарта С++ обширной библиотеки, содержащей, в частности, то, что ранее называлось Standard Template Library (STL). В эту стандартную библиотеку входят новый тип string, последовательные и ассоциативные контейнеры, такие, как vector, list, map, set, и обширный набор обобщенных алгоритмов, которые могут применяться ко всем этим типам данных. Появилось не просто много нового материала, нуждающегося в описании, но фактически изменился сам способ мышления при программировании на С++. Короче говоря, можно считать, что С++ изобретен заново, поэтому третье издание нашей книги “C++ для начинающих” полностью переработано.
В третьем издании не только коренным образом поменялся наш подход к С++, изменились и авторы. Прежде всего, авторский коллектив удвоился и стал интернациональным, хотя корни его по-прежнему на североамериканском континенте: Стен (Stan) американец, а Жози (Josйe) канадка. Двойное авторство отражает деление сообщества программистов С++ на две части: Стен в настоящее время занимается разработкой приложений на C++ в области трехмерной графики и анимации для Walt Disney Feature Animation, а Жози принимает участие в развитии самого языка С++, являясь председателем рабочей группы по ядру языка в комитете по стандартизации и одним из разработчиков компилятора С++ в IBM Canada Laboratory.

Будущее С++
Явное преобразование типов
Тип указателя на функцию
Перехват исключений
Почленное присваивание *
Виртуальные функции в базовом и производном классах
Файловый ввод/вывод
При чтении любого (включая пробельные) символа, кроме конца файла, мы увеличиваем переменную cnt на 1 и копируем прочитанный символ на терминал, чтобы вовремя заметить ошибки в работе программы. Встретив символ новой строки, мы записываем текущее значение cnt в inOut. Как только будет достигнут конец файла, цикл прекращается. Окончательное значение cnt выводится в файл и на экран.

Раздел - Фьючерсы

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

Акции
Анализ
Биржа
Валютные
Графический анализ

Индексы
Комбинации
Контракты
Модели
Обучение

Расчет
Риск
Россия
Временные циклы
Рынок
Софт
Спекуляции
Спред
Стратегии

Технический анализ
Товарные
Торговля
Финансовые
Форекс

Характеристика
Хеджирование
Ценообразование
Срочные контракты

Database Programming & Design

Если говорить по-простому, промежуточное ПО обеспечивает простой для использования API (Application Programming Interface - интерфейс прикладного программирования) между приложением и требуемыми для него ресурсами. Например, если производится Java-апплет, для работы которого требуются внешние данные, можно использовать классы пакета JDBC (Java Database Connectivity) для доступа к информации из любого числа баз данных. Классы JDBC скрывают от разработчика сложности целевой базы данных и позволяют использовать любую базу данных без потребности понимания ее специфических особенностей.
Аналогичные возможности обеспечивает ODBC (Open Database Connectivity) для приложений "клиент-сервер", работающих в среде Windows, и средства, подобные Borland Database Engine (BDE).
Возможности промежуточного ПО не ограничиваются обеспечением доступа к базам данных. Продукты этого рода также дают возможность прозрачного доступа на уровне API к другим системам и их сервисам без потребности знать, что из себя представляют эти системы. Слой промежуточного ПО может найти систему, используя какой-либо вид сервиса именования, вызвать удаленный процесс и возвратить ответ вызывающему процессу. К соответствующей категории промежуточного ПО относятся Distributed Computing Environment (DCE) компании , продукты, основанные на распределенной объектной технологии CORBA (Common Object Request Broker Architecture - общая архитектура брокера объектных заявок), и большинство продуктов промежуточного ПО, основанных на передаче сообщений (Message-Oriented Middleware - MOM).

Что такое промежуточное ПО?
Матрица объектно-реляционных свойств
Следующее поколение

MS Windows 2003 - серверная операционная система

Операционные системы (ОС) семейства Windows Server 2003 являются эволюционным развитием серверной платформы Windows 2000 Server, также включившим в себя многие средства систем Windows XP. Нелишне напомнить, что ОС Windows 2000 имеют внутренний номер версии 5.0, а системы Windows XP вышли под номером 5.1. Семейство Windows Server 2003 (сборка (build) 2790) имеет версию 5.2. (Грубо говоря, можно считать, что версия 5.2 равна версии 5.1 плюс Service Pack 1 плюс серверные службы плюс обновления, вышедшие с момента появления Windows XP.)
Семейство Windows Server 2003 включает в себя четыре редакции (версии) операционных систем (их назначения и характеристики рассматриваются ниже):
Windows Server 2003, Standard Edition;
Windows Server 2003, Enterprise Edition;
Windows Server 2003, Datacenter Edition;
Windows Server 2003, Web Edition.
Несколько упрощая ситуацию, эти редакции можно рассматривать как различные конфигурации (комплектации) одного и того же "базового" ядра. Большинство системных сервисов поддерживается во всех редакциях, в то время как отдельные сервисы присутствуют или, наоборот, отсутствуют в более "мощных" моделях. В двух следующих разделах как раз и рассматриваются различия редакций Windows Server 2003 в плане функциональных возможностей и требований к аппаратным средствам.
В этой книге мы будем рассматривать возможности и службы, единые для всех четырех версий, поскольку именно они представляют интерес для широкого читателя. Поэтому в книге используется общее имя "Windows Server 2003", за которым может стоять любая редакция ОС семейства Windows Server 2003. Системы Windows Server 2003 сохранили многие черты своих предшественниц — Windows 2000 Server и Windows XP, поэтому пользователям, знакомым с этими системами, будет легче освоить новую систему, чем пользователям систем линейки Windows 9x/ME.
Одновременно с запуском в производство систем семейства Windows Server 2003 компания Microsoft также объявила о выпуске 64-разрядной ОС Windows XP 64-bit Edition Version 2003 — высокопроизводительной настольной платформы, рассчитанной на использование процессоров Itanium 2. Ее можно рассматривать как развитие системы Windows XP 64-bit Edition — также 64-разрядной настольной ОС с поддержкой процессоров Itanium первого поколения.

Введение
Планирование и установка системы
Поддержка оборудования
Загрузка операционной системы
Стили разделов

Конфигурирование системы и встроенные приложения
Общие концепции Microsoft Management Console (MMC)
Средства мониторинга и оптимизации
Работа с дисковыми ресурсами
Службы печати

Реестр Windows

Чтобы удалить апплет Панели управления Администрирование, откройте раздел HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace и найдите там подраздел {D20EA4E1-3957-11d2-A40B-0C5020524153} и переименуйте данный подраздел, поставив минус перед ним (-{D20EA4E1-3957-11d2-A40B-0C5020524153})

Администрирование (Windows XP)
Запрет на Active Desktop
Блокировка контекстного меню
Строчки для комбобокса Адрес
Дисковые утилиты
Запрет на изменение пользователем местоположения папки Мои документы

Учетные записи
Выбираем персонаж (Office XP)
Photoshop и русский шрифт
Что делает RegClean?
Удаление команды Все программы
WinRAR

Сеть (Проигрыватель Windows Media 8.0 и выше)
Формат MS-DOS для файлов и папок (Windows NT/2000/XP)
Регистрационный номер (Windows 95/98/Me)
Работаем с реестром Windows NT

Введение в экспертные системы

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

Введение
Что такое экспертная система?
Обзор исследований в области искусственного интеллекта
Представление знаний
Символические вычисления

Системы, основанные на знаниях
Ассоциативные сети и системы фреймов
Объектно-ориентированное программирование
Логическое программирование

Представление неопределенности знаний и данных
Приобретение знаний
Эвристическая классификация (I)
Эвристическая классификация (II)
Иерархическое построение и проверка гипотез

Решение проблем конструирования (I)
Решение проблем конструирования (II)
Средства формирования пояснений
Инструментальные средства разработки экспертных систем
Системы с доской объявлений

Система отслеживания истинности предположений
Формирование знаний на основе машинного обучения
Сети доверия
Рассуждения, основанные на прецедентах

Гибридные системы
Заключение
Программирование на языке CLIPS

В глубь языка Python

Эта книга не предназначена для новичков. Подразумевается, что:
Вы уже знакомы хотябы с одним объектно-ориентированным языком, таким как Java, C++, или Delphi.
Вы знаете хотя бы один скриптовой язык, например, Perl, Visual Basic, или JavaScript.
Вы уже установили Python версии 2.0 или выше (рекомендуется Python 2.2)
Если вы только начали изучать программирование, это не значит, что вы не можете изучать Python. Python — один из самых простых языков для обучения, но для начинающих предназначены совсем другие книги.

Предисловие
Объединяем все вместе
GNU Free Documentation License
Словари

Техника оптимизации программ

Хотите заглянуть внутрь черного ящика подсистемы оперативной памяти? Хотите узнать: что чувствует, чем дышит и какими мыслями живет каждая микросхема вашего компьютера? Хотите научиться минимальными усилиями создавать эффективный программный код, исполняющийся вдвое – втрое быстрее обычного? Хотите использовать возможности современного оборудования на полную мощь? Тогда – вы не ошиблись в выборе книги!
Перед вами лежит уникальное практическое пособие по оптимизации программ под платформу IBM PC и операционные системы семейства Windows (UNIX), скрупулезно описывающее архитектуру, философию и принципы функционирования современных микропроцессоров, чипсетов, оперативной памяти, операционных систем, компиляторов и прочих компонентов ПК.
Это одна из тех редких книг, если вообще не уникальная книга, которая описывает переносимую оптимизацию на системном уровне и при этом ухитряется практически не прибегать к ассемблеру.

Pro et contra целесообразности оптимизации
Удаление текста
Оптимизация штатных Си-функций для работы с памятью
Предвыборка в процессорах P-III и P-4

Работа с системным реестром Windows XP

Реестр операционной системы Windows XP представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений. В этом смысле реестр аналогичен разнообразным INI-файлам, а также файлам AUTOEXEC.BAT и CONFIG.SYS, которые использовались ранее. Реестр содержит информацию обо всех аппаратных средствах, программном обеспечении, операционной системе и сетевых параметрах компьютера. Эта сложная иерархическая база данных принимает участие во всех аспектах работы Windows XP. Хорошее понимание принципов работы реестра, выполняемых им задач, а также умение манипулировать реестром необходимо всем: системным и сетевым администраторам, специалистам из групп технической поддержки, а также опытным пользователям из числа программистов. Кроме того, для системных администраторов особенно важны вопросы администрирования и защиты реестра, а также его резервного копирования и восстановления.

Работа с системным реестром
Пример экрана сообщения STOP
Сеть и удаленный доступ к сети
Контекстное меню подключения
Серверы DHCP DNS и WINS

Дополнительные сетевые службы
Коммуникационные службы
Протоколы проверки подлинности ЕАР
Маршрутизация
Работа с Интернетом и электронной почтой

Основные концепции службы Active Directory
HomePage__DESKTOP
Отказ системы

Логические игры

Все началось на дне рождения Алисы. Не Алисы из Страны Чудес, а моей знакомой девочки по имени Алиса. Каким образом в этой истории появилась другая Алиса, вы скоро поймете. Разумеется, на дне рождения были младший брат Алисы Тони, а также ее друзья Майкл, Лиллиан и еще несколько мальчиков и девочек. После того как было сыграно бессчетное число игр и показаны все фокусы, ребятам захотелось послушать какие-нибудь логические задачи-головоломки. Сборник из 88 задач на самые разные темы. И что характерно с правильными ответами.

Собственно, игры здесь

Создание апплета GNOME

Этот цикл посвящен теме создания апплетов для панели GNOME. Если кратко, апплет - это маленькое приложение, которое встраивается в панель и либо информирует о чем-либо (например, погоде, или о состоянии батареи), либо выполняет какие-либо одноэтапные действия (запускает поиск, изменяет громкость и т.д.).

Продолжение

Техника оптимизации под линуха

Качество оптимизирующих компиляторов обычно оценивают по результатом комплексных тестов (мультимедийных, "общесистемных" или математических). Что именно оптимизируется и как — остается неясным. Основной "интеллект" оптимизаторов сосредоточен в высокоуровневом препроцессоре — своеобразном "ликвидаторе" наиболее очевидных программистских ошибок. Чем качественнее исходный код, тем хуже он поддается оптимизации. Только ведь… над качественным кодом _работать_ надо! Много знать и ожесточенно думать, ломая карандаши или вгрызаясь в клавиатуру. Кому-то это в радость, а кто-то предпочитает писать кое-как. Все равно, мол, компилятор, соптимизирует!
Желание перебросить часть работы на транслятор — вполне естественно и нормально (для творчества больше времени останется), но нужно заранее знать, что именно он оптимизирует, а что только пытается. Но как это можно узнать? На фоне полнейшей терминологической неразберихи, когда одни и те же приемы оптимизации в каждом случае называются по-разному, прячась за ничего не говорящими штаммами типа "copy propagation" (размножение копий) или "redundancy elimination" (устранение избыточности), требуется очень качественная документация на компилятор, но она — увы — обычно ограничивается тупым перечислением оптимизирующих ключей с краткой пометкой за что каждый из них отвечает. Какие копии размножает компилятор и с какой целью? Какую избыточность он устраняет и зачем? Не является ли размножение внесением избыточности, которую самому же оптимизатору и приходится удалять?!

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

пФОТОшопия - уроки игры в Adobe Photoshop

Что делать, если при попытке что-нибудь написать, вы получаете гневное сообщение о том, что вы можете писать шрифтом только сумасшедшего размера. Это абсолютно все равно, если вы хотите писать гигантскими буквами и обидно, когда требуется написать мелко.. Не надо проделывать никаких загадочных манипуляций со шрифтами.. и главное не следует бросаться переинсталировать свой PhotoShop.
На самом деле все дело в вашем Resolution и никаких заклянаний, который должен быть 72 pixels/inch. Поменять его можно в Image Size картинки или при создании нового файла. Опция так и называется - Resolution.

Ошибки во время работы

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

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

Выражения
Манипулирование изображениями
Библиотека GD

Приставки к радиоприемным устройствам

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

Схема однолампового усилителя со сложной коррекцией
Схемы простых индикаторов настройки со стрелочным прибором
Радиолюбительская технология
Нанесение гальванических покрытий

Радиолюбительская телемеханика
Радио калькулятор
Простой трехламповый KB супергетеродин
Электронные устройства для радиолюбителей
Начинающему радиолюбителю

Мастерская радиолюбителя
Радиоспорт