Одной из трудностей с восстановлением файлов, на такой высококачественной многозадачной многопользовательской операционной системе, как Linux, является то, что вы никогда не знаете, что кто-то хочет записать что-нибудь на диск. Когда операционной системе дается команда удалить файл, она предполагает, что блоки этого файла могут быть использованы, если нужно место для нового файла. (Это конкретный пример общего принципа для Unix-подобных систем: ядро и связанные с ним инструменты предполагают, что пользователи не идиоты.) В общем случае, чем более загружена ваша машина, тем меньше у вас шансов восстановить файлы.
На сложность восстановления файлов также может влиять фрагментация диска. Если раздел, содержащий удаленные файлы, сильно фрагментирован, то вам сложно будет восстановить файл целиком.
Если ваша машина, подобно моей, фактически является однопользовательской рабочей станцией, и в момент удаления файлов вы не использовали интенсивно диск, то можете ожидать примерно указанный мною ранее процент. Я восстановил около 94% данных (не текстовых, заметьте). Если вы получите 80 или более процентов, то можете быть вполне довольны собой
С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем. Поэтому книга дает лишь описание собственно языка, не объясняя особенности конкретных реализаций, среды программирования или библиотек.
Читатель найдет в книге много примеров с классами, которые, несмотря на несомненную пользу, можно считать игрушечными. Такой стиль изложения позволяет лучше выделить основные понятия и полезные приемы, тогда как в настоящих, законченных программах они были бы скрыты массой деталей. Для большинства предложенных здесь классов, как то связанные списки, массивы, строки символов, матрицы, графические классы, ассоциативные массивы и т.д., - приводятся версии "со 100% гарантией" надежности и правильности, полученные на основе классов из самых разных коммерческих и некоммерческих программ. Многие из "промышленных" классов и библиотек получились как прямые или косвенные потомки игрушечных классов, приводимых здесь как примеры.
Технологической основой информационного общества является Глобальная информационная инфраструктура (ГИИ), которая должна обеспечить возможность недискриминационного доступа к информационным ресурсам каждого жителя планеты. Информационную инфра- структуру составляет совокупность баз данных, средств обработки информации, взаимодействующих сетей связи и терминалов пользователя.
Доступ к информационным ресурсам в ГИИ реализуется посредством услуг связи нового типа, получивших название услуг Информационного общества или инфокоммуникационных услуг.
Наблюдаемые в настоящее время высокие темпы роста объемов предоставления инфокоммуникационных услуг позволяют прогнозировать их преобладание в сетях связи в ближайшем будущем.
На сегодняшний день развитие инфокоммуникационных услуг осуществляется, в основном, в рамках компьютерной сети Интернет, доступ к услугам которой происходит через традиционные сети связи.
В то же время в ряде случаев услуги Интернет, ввиду ограниченных возможностей ее транспортной инфраструктуры не отвечают современным требованиям, предъявляемым к услугам информационного общества.
Учебник состоит из трех частей и приложения.
В первой части собраны задачи. Они сгруппированы по темам и относятся практически ко всем разделам программирования: от объявления переменных и программ с линейной структурой до работы с графикой и файлами.
Во второй части приведены решения, представленные в виде хорошо документированных текстов программ, изучение которых поможет начинающему программисту даже в том случае, если задача решена им самостоятельно.
Третья часть представляет собой справочник по языку программирования Turbo Pascal, содержащий описание большинства процедур и функций.
Если вы имеете компьютер с процессором типа Pentium (Celeron), то используйте Turbo Pascal версии 7.1. Программы, созданные при помощи Turbo Pascal 7.0 и использующие библиотеку ctr, на компьютерах с процессором типа Pentium (Celeron) не работают, при их запуске возникает ошибка "деление на ноль".
Еще раз хочется повторить, что научиться программировать можно только программируя, т. е. решая конкретные задачи.
Считается, будто бы обмен исполняемыми файлами в мире LINUX намного ниже, чем в Windows, что большинство пользователей качает исходники и компилирует их самостоятельно. Да как бы не так! Исходники занимают намного больше места, а модем не резиновый, это раз! Далеко не всегда сборка проходит гладко и тогда приходиться колдовать над компилятором и исправлять ошибки разработчиков, что требует квалификации, — это два! Наконец, компиляция больших проектов занимает довольно продолжительное время, зачастую намного превышающее время скачки (десятки минут или даже часы) — это три. Есть и другие причины, которые мы не будем перечислять здесь. Важно одно — очень многие пользователи предпочитают сливать готовые бинарники, скомпилированные для своей оси. Часто такие файлы лежат прямо на официальном сайте производителя. Часто, но не всегда! Есть и другая проблема. Линуховые программисты не заморачиваются с интерактивными конфигураторами и серьезно злоупотребляют "дефайнами" — директивами условной компиляции. Например, для однопроцессорной машины создается одна сборка, для двух- или четырех-процессорной — другая. Таких опций может быть очень много и выложить все разновидности сборок на официальный сайт просто нереально. А компилировать самостоятельно ? лень. Вот и приходится рыскать по сети в поисках готовых сборок, откомпилированных независимыми разработчиками и качать их. При этом возникает естественная угроза нарваться на вирус, закладку или троян и такие пришествия уже случались!
При описании протоколов взаимодействия или систем, которые совместно используют определенные структуры данных, требуется определить типы данных, передаваемые этими протоколами или совместно используемые различными системами. Для того чтобы определить эти типы данных, требуется специальная нотация. Такой нотацией является ASN.1.
Данная нотация, с одной стороны, интуитивно понятна, а с другой стороны, может использоваться как протоколами, так и программными системами. Неотъемлемой частью ASN.1 являются базовые правила представления BER (Basic Encoding Rules). BER описывает принцип представления любой величины в рамках стандарта ASN.1. Практически все величины представляются в виде последовательности 8-битных октетов. Восьмой бит октета считается самым старшим. BER позволяет представить величину в виде последовательности 8-битных октетов несколькими способами. Имеется также поднабор правил представления DER (Distinguished Encoding Rules), который определяют однозначные способы представления величин в ASN.1.
Программисты (особенно начинающие) любят задавать вопросы типа: «Скажи, на чем ты пишешь?..» Когда-то этот вопрос выглядел вполне логично. Компиляторы, отладчики, серверы, системы управления базами данных и все остальное только-только выходило из каменного века. Программные инструменты разительно отличались друг от друга по качеству и возможностям. Стоило сделать ставку на неудачный инструментарий, и работа становилась излишне тяжкой, а качество результата - низким.
Сегодня стал актуальным другой вопрос: «А чего стоишь ты сам?» Благодаря непрерывной конкуренции современные средства разработчика стали невероятно мощными и качественными, так что среднему программисту вряд ли удастся выжать из них все возможное. Скорее всего, вы спасуете намного раньше, чем ваш инструментарий - если только не узнаете о нем абсолютно все и не доведете свое мастерство программиста до подлинного совершенства.
LightWave - это мощная программа для 3D-моделирования, анимации и визуализации. Данный продукт может применяться в самых разнообразных областях: от создания высококачественных изображений для полиграфии до выполнения всевозможных спецэффектов в кино и телевидении. Используя широчайший набор инструментов моделирования и анимации, предоставляемых пакетом LightWave, можно в мельчайших подробностях воссоздать тонущий «Титаник» или оживить героя видеоигры. Непревзойденное фотографическое качество получаемых изображений многие считают промышленным стандартом.
Несмотря на то что LightWave - очень мощный программный продукт, он сравнительно прост в изучении и, кроме того, легко и быстро настраивается. Предусмотрены варианты конфигурации программы для начинающих и опытных пользователей. В главах 3-5 описывается Modeler (Редактор моделей), предназначенный для моделирования объектов; в главах 6-13 рассматривается Layout (Редактор сцены), который используется для создания анимации, настройки внешнего вида моделей, освещения, композиции и визуализации сцены. Тщательно подобранные примеры позволяют быстро освоить принципы работы одного из самых популярных программных продуктов трехмерного моделирования. Читайте внимательно, и, возможно, в один прекрасный день мы увидим на экране и вашу работу.
Эффективная работа Си-Би станции во многом зависит от параметров примененной антенны. Изготовление и установка хорошей антенны дело трудоемкое и для него не подходит метод проб и ошибок. Надо сначала, реально оценив свои силы и возможности, выбрать тип антенны, подготовить все необходимые материалы и детали и только после этого приступать к работе. Выбор типа антенны должен производиться из конкретных условий расположения радиостанции и целей ее использования.
При выборе антенны следует учитывать, что эффективно работают антенны с размерами не менее 0, 25 длины волны. Укороченные антенны всегда имеют худшие параметры по сравнению с полноразмерными. Большое влияние на качество работы антенны оказывает высота установки антенны. При небольшой высоте установки (меньше половины длины волны) диаграмма направленности антенны в вертикальной плоскости искажается и большая часть энергии радиоволн будет излучаться под большими углами к горизонту. В горизонтальном направлении (а для местных связей именно это направление наиболее важно) будет излучаться незначительная часть мощности.
Значительную часть времени я провожу, работая с программным обеспечением СУБД Oracle или, точнее, с людьми, которые это программное обеспечение используют. В течение последних двенадцати лет я работал над многими проектами, как успешными, так и закончившимися неудачно, и если бы потребовалось обобщить приобретенный при этом опыт несколькими фразами, я бы сказал следующее:
* успех или неудача разработки приложения базы данных (приложения, зависящего от базы данных) определяется тем, как оно использует базу данных;
* в команде разработчиков должно быть ядро "программистов базы данных", обеспечивающих согласованность логики работы с базой данных и настройку производительности системы.
ПиК: Планирование и контроль: концепция контроллинга
В центре рассмотрения находятся генеральное целевое планирование, стратегическое планирование, оперативное планирование, а также планирование результата и финансовое планирование на уровне предприятия в целом. Все эти подсистемы с соответствующими планово-контрольными расчетами, а также планами и отчетами освещаются на сайте и как задачи, и как инструмент управления на предприятиях с функциональной и дивизиональной организационными структурами. Учтены новейшие разработки и нормативные требования, необходимые для комплексного, ориентированного на долгосрочное видение диалогового управления. Особое внимание уделяется стратегическому управлению, ориентированному на рынок и финансовый результат, начиная с анализа целевых затрат и конча определением направлений развития предприятия, оптимальных по критерию ценности капитала. При рассмотрении оперативного планирования основной акцент также делается на ориентацию на рынок и финансовый результат, начиная с разработки продуктовой программы, оптимальной по критерию суммы покрытия, и кончая определением калькуляционного и балансового результата за период и соответствующих целевых показателей рентабельности. При этом проводится мысль, что обеспечение ликвидности в процессе финансового планирования является важнейшей целью управления. Показано, что целевая ориентация на рынок, результат и ликвидность подходит для всех заинтересованных в предприятии групп субъектов - от потребителей, инвесторов и персонала до государства. Разработка и эффективное использование систем ПиК и соответствующих плановых и контрольных расчетов, информационно обеспечивающих ориентированное на результат управление предприятием, являются ключевыми задачами контроллинга. Вследствие все возрастающего значения планирования и контроля проектов они выделены в самостоятельную главу.
Значение железных дорог для нашей родины очень велико. ...СССР, как государство, был бы немыслим без первоклассного железнодорожного транспорта, связывающего в единое целое его многочисленные области и районы. (Из выступления товарища Сталина на приёме железнодорожников в Кремле 30 июля 1935 г.)
В военное время железнодорожный транспорт служит основным средством снабжения фронта всем необходимым и поддерживает непрерывную связь фронта с тылом.
Поэтому в военных условиях от железных дорог требуется особенно чёткая и бесперебойная работа. Это прежде всего относится к паровозному хозяйству, от состояния которого во многом зависит работа всего железнодорожного конвейера. От паровозного хозяйства и паровозников зависит очень многое, ибо локомотив является основной двигательной силой железнодорожного транспорта,... (Из приказа народного комиссара путей сообщения товарища Л. М. Кагановича № 183/Ц от 1935 г.)
Исправность, правильное использование и безупречная работа паровозного парка обеспечивают железным дорогам выполнение сложных задач обслуживания фронта и тыла нашей страны. ... паровоз является решающим орудием в улучшении работы всего железнодорожного транспорта, в обеспечении движения поездов по графику и выполнении заданий по воинским перевозкам. (Из приказа НКПС № 545/Ц от 1943 г.)
Поэтому машинисту паровоза — командиру паровозной бригады, которому страна доверяет паровоз, государственное имущество, имеющее огромную ценность и важнейшее оборонное значение,—принадлежит решающая роль в обеспечении бесперебойной работы железнодорожного транспорта и особенно в сложных и ответственных условиях военного времени.
С давних времен человек мечтал о машине, которая могла бы выполнять вычисления. Однако что значит вычислять! Когда компьютеры только появились, они, в основном, были предназначены для численных расчетов. Затем они начали применяться для решения задач управления. И хотя в этих приложениях численные расчеты играют весьма важную роль, всегда были ученые, которые понимали, что результаты вычислений могут интерпретироваться не только как числовые значения физических величин. Еще Лейбниц мечтал построить машину для "вычисления истины".
Впрочем, в самом понятии "научные вычисления" всегда была двусмысленность: прежде чем на сцене появился компьютер, вычисления представляли смесь численного счета с тем, что многие называют "алгебраическими вычислениями", т.е. с операциями над математическими формулами.
Единственным примером чисто численных расчетов является, по-видимому, деятельность неординарных вычислителей, таких как Иноди. Несомненно, что авторы таблиц, в особенности логарифмических, выполняют огромный объем численных расчетов, однако этим расчетам предшествует разработка алгебраических формул и методов, необходимая для того, чтобы работа оказалась в пределах человеческих возможностей.