KDE - это интегрированная графическая оболочка для Linux (и других версий UNIX), которая в настоящее время включает в себя более 100 графических приложений и поддерживает более 40 различных языков. Она разрабатывается в рамках движения Open Source, т. е. распространяется с открытыми исходными кодами. KDE позволяет совместить современную функциональность, удобство использования и отличный дизайн с технологическими преимуществами операционной системы класса UNIX. На момент написания этого текста разработчики выпустили версию 2.2.2 этой оболочки. Но приводимое ниже описание и все рисунки соответствуют версии 2.1.2, устанавливаемой из дистрибутива Red Hat Linux 7.1 Cyrillic Edition. Конечно, более поздние версии претерпевают некоторые изменения в сторону улучшения, но принципы построения интегрированной среды сохраняются, так что вы вполне можете использовать данный текст для первоначального знакомства с этой оболочкой. Необходимо, кроме того, отметить, что даже если версия самого KDE у вас будет та же самая, возможны некоторые отличия внешнего вида этой оболочки по сравнению с приводимыми ниже рисунками. Дело в том, что в KDE, как и вообще в Linux, все поддается настройке. И каждый производитель дистрибутива делает настройки по-своему. Имейте это в виду и не пугайтесь. Через некоторое время вы и сами сможете полностью изменить вид экрана после запуска KDE.
воскресенье, 31 октября 2010 г.
Журнал «Компьютерра» - РЫНКИ: Пиратству — бой! Производители ПО начали бороться с пиратами физически
Автор: Константин Курбатов
Способов борьбы с этим преступным (по мнению производителей софта) явлением придумано уже великое множество — от банальной защиты продукта серийным номером до изощренных систем активации с ежедневной проверкой легальности копии по Сети.
Компания Cognitive Technologies не ограничилась программными способами противодействия нелегальному распространению копий. Сотрудники Cognitive регулярно ходят по крупным компьютерным рынкам, разыскивая продавцов пиратских версий ее программных продуктов, и вступают с ними в душеспасительные беседы.
Одна из таких бесед чуть было не привела к потасовке с пиратом, промышляющим на ниве торговли нелицензионными копиями различных офисных пакетов, в том числе и «Евфрата». К счастью, взаимодействие на «неправовом поле» было вовремя пресечено охраной. Тогда представители компании предложили продолжить беседу, но уже в более подходящей обстановке одного из спортивных клубов столицы.
В конце марта, через месяц после упомянутой стычки, участники «острой дискуссии» встретились на ринге в присутствии журналистов, чтобы в честном поединке выяснить, кто все-таки сильнее ратует за свое дело. Представитель компании, уже не молодой человек (по некоторым сведениям, ему более сорока), был определен в красный угол и выступал в красных трусах. Пират, как представитель «темного бизнеса», выступал в темно-синих трусах (на вид весьма молодой). По словам ведущего, весовая категория противников практически совпадала: 78 против 75 кг соответственно.
После небольшого пролога, вводящего присутствующих в курс дела, поединок начался. Он проводился по стандартным правилам, то есть три раунда по три минуты. Между раундами небольшие перерывы.
Бой начался весьма жарко, соперники обменялись несколькими активными сериями, что нельзя назвать дальновидным — впереди еще два раунда, а силы не безграничны. Однако первый раунд можно было считать закончившимся примерно с равным счетом.
После перерыва ситуация явно стала склоняться в сторону более великовозрастного, но более опытного представителя российской компании. Каждый обмен ударами приносил очки «легальному ПО». В конце концов спортсмен в синих трусах провел запрещенный прием — удар по затылку (случайно или намеренно, сказать трудно). После положенной по правилам паузы боксерский поединок чуть было не перешел в борцовский: пострадавший красивым приемом повалил обидчика на ринг, и только успевшие подскочить тренеры помогли вернуть бой в нормальное русло.
Заключительный раунд прошел уже при явном преимуществе «легального бизнеса»: сумевший сохранить силы представитель Cognitive был точнее и активнее соперника, а под занавес ему удалось провести удачный удар по корпусу, на что рефери даже был вынужден начать отсчет[На самом деле рефери уже несколько раз останавливал бой. Но на мой взгляд — больше из предосторожности, нежели по необходимости]. Однако соперник оправился, и бой продолжился, но результат поединка уже был предрешен; молодой участник явно не был готов ответить достойно на атаку и ушел в глухую защиту.
Таким образом, бой, по единогласному мнению судей, закончился безоговорочной победой представителя софтверной компании, что и было отмечено шампанским. Люди из синего угла ринга собрались и исчезли так же быстро и тихо, как лотки с нелегальными дисками перед приездом проверяющих органов.
Итак, в этом отдельно взятом поединке между производителем программного обеспечения и пиратами, нелегально распространяющими его продукцию, победа осталась за честным бизнесом. Но если взглянуть правде в глаза, подобными методами вряд ли удастся искоренить пиратство в нашей стране, ведь причины его возникновения лежат в иной плоскости. И дело даже не столько в низкой заработной плате (уж компании-то могут себе позволить покупать лицензионный софт), а скорее в идеологии (многие не воспринимают «пиратство» как кражу) и в недостаточной ответственности софтверных компаний перед клиентами: в результате многие просто не видят разницы между пиратской и легальной версией продукта, и так и сяк — никакой поддержки.
Тем не менее мы поздравляем Cognitive Tech-nologies с этой маленькой победой.
четверг, 28 октября 2010 г.
2000 / Александр Леоненков / 12.1. Общая характеристика CASE-средства Rational Rose 98
CASE-средство Rational Rose со времени своего появления претерпело серьезную эволюцию и превратилось в современное и мощное средство анализа, моделирования и разработки программных систем. Именно в Rational Rose 98/2000 язык UML стал базовой технологией визуализации и разработки программ, что определило популярность и стратегическую перспективность этого инструментария.
В рамках Rational Rose существуют различные программные инструментарии, отличающиеся между собой диапазоном реализованных возможностей. Базовым средством в настоящее время остается Rational Rose 98, которое существует в четырех основных модификациях:
• Rational Rose 98 Enterprise Edition
• Rational Rose 98 Professional Edition
• Rational Rose 98 Modeler Edition
• Rational Rose 98 для UNIX
Наиболее полными возможностями обладает первая из указанных модификаций этого средства. Из этих возможностей можно отметить: реализацию UML версии 1.0, генерацию кодов на различных языках программирования (Java, C++, VisualBasic, PowerBuilder), обратную генерацию диаграмм (реинжиниринга) на основе программного кода и выпуск проектной документации.
Следующей версией стало средство Rational Rose 98i, которое также выпускается в этих же четырех модификациях. Эта версия дополнительно позволяет генерировать программный код стандарта MS Visual C++, обеспечивает документирование проекта в формате HTML для Web-публикации и поддерживает интеграцию с другими инструментариями объектно-ориентированной разработки программ, базами данных и с компонентами MS Office 2000.
Последней из версий на момент написания книги является Rational Rose 2000, возможности которой аккумулируют практически все современные достижения в области информационных технологий:
• Интеграция с MS Visual Studio 6, что включает в себя поддержку на уровне прямой и обратной генерации кодов и диаграмм VB 6, Visual C++ 6, Visual J++ 6 (ATL-Microsoft Active Template Library, Web-Classes, DHTML, Data Connections).
• Непосредственная работа (инжиниринг и реинжиниринг) с исполняемыми модулями и библиотеками форматов EXE, DLL, TLB, OCX.
• Поддержка технологий MTS (Microsoft Transaction Server) и ADO (ActiveX Data Objects) на уровне шаблонов и исходного кода, а также элементов стратегической технологии Microsoft – СОМ+ (DCOM).
• Полная поддержка CORBA 2.2, включая реализацию технологии компонентной разработки приложений CBD (Component-Based Development), языка определения интерфейса IDL (Interface Definition Language) и языка определения данных DDL (Data Definition Language).
• Полная поддержка среды разработки Java-приложений JDK 1.2, включая прямую и обратную генерацию классов Java формата JAR, а также работу с файлами форматов CAB и ZIP.
Уже этого перечня основных особенностей может оказаться достаточно, чтобы сделать вывод о достижении совершенно нового уровня реализации CASE-технологий, когда само инструментальное средство становится не только рабочим инструментом, но и своеобразной базой данных для практически всех современных объектных стандартов и компонентных интерфейсов.
Примечание 79
Развитие идеи, Валентин Перция
Теперь прошедшие жесткую «школу выживания» идеи должны быть разобраны «на косточки» и собраны заново в готовый продукт. Для того чтобы тщательно оценить, какая из 3–5 предложенных может претендовать на звание «единственной», следует выяснить, что именно будет стоять за каждой идеей. Для этого можно использовать инструмент, который называется «трехмерное описание продукта». Эти три измерения не ширина, глубина и высота, а «атрибуты и функции», «использование» и «преимущества для потребителя».
«Атрибуты и функции» опишут, что именно будет входить в новый продукт, как все это будет работать и какие функции выполнять.
«Использование» объяснит, как именно и для чего потребитель может эксплуатировать новинку. «Преимущества» изложат основания для предпочтения потребителями именно нашей новинки.
Вполне может случиться так, что казавшиеся при предварительном анализе разными идеи пересекутся настолько, что некоторые из них будет целесообразнее исключить из списка. На этом же этапе происходит более подробное бизнес-планирование: какие ресурсы понадобятся (в терминах денег, людей, времени, оборудования и пр.), откуда их можно привлечь, как долго будет идти процесс создания товара и – возможно, самое главное, – сколько времени потребуется для воплощения каждой идеи, для того, чтобы вернуть вложенные в нее деньги (в описании будущих этапов «бизнес-планирование» будет означать все более детализированное обоснование возможности существования новинки с финансовой точки зрения, поэтому мы не будет подробно его рассматривать).
Результат этапа: полное описание идей со всех сторон. Необходимо для точного определения, что именно стоит за каждой идеей.
Надежда Баловсяк. «Питайтесь правильно»
Программа «Питайтесь правильно» (рис. 5.2) считает калории, белки, жиры и углеводы в заданном рационе. Она умеет определять норму по калориям и питательным веществам на основе заданных персональных данных о пользователе, которые позволят определить дневную норму питательных веществ.
После установки и запуска программы необходимо ввести имя пользователя. В окне программы нужно произвести остальные настройки – указать пол, возраст и выбрать категорию. Категория определяется в соответствии с интенсивностью труда, которым занят человек. Доступно четыре категории. К первой относятся работники умственного труда, к четвертой– занятые физическим трудом большой и средней тяжести.
После ввода всех параметров нужно нажать кнопку Готово. В этом же окне ниже будет представлен рассчитанный дневной рацион – количество белков, жиров и углеводов, а также количество килокалорий, которое человек должен получать для нормальной жизнедеятельности. Далее можно приступать к составлению рациона. Нажав кнопку ОК, вы попадете в список категорий продуктов, из которых программа поможет составить меню. В незарегистрированной версии доступны только первые пять позиций списка. Для получения доступа ко всему списку зарегистрируйтесь на сайте программы.
Выбрав категорию, вы можете указать продукты, относящиеся к ней, и их количество. На основе этих данных программа подсчитает количество белков, жиров, углеводов и килокалорий. Список продуктов можно пополнять своими, а также искать продукты в базе данных программы по их названию.
Рис. 5.2. Программа «Питайтесь правильно» позволит выбрать оптимальный рацион
Зарегистрированным пользователям доступны другие возможности, например, определение оптимального веса каждого продукта, поиск оптимального продукта для получения сбалансированного рациона и построение графика, отображающего элементы созданного рациона.
Для быстрого формирования меню можно воспользоваться функцией быстрого ввода – с ее помощью указывается название продукта и его количество, причем при вводе названия программа использует функцию автозамены, подсказывая название продукта. После регистрации система позволяет сохранять и загружать отдельные рационы.
С помощью программы «Питайтесь правильно» можно составить оптимальное меню, например, на неделю и быть уверенным, что в нем представлены все необходимые элементы, оно не превышает нужную калорийность и подходит для конкретного человека.
понедельник, 25 октября 2010 г.
Джесс Либерти / Резюме
Сегодня вы узнали, что представляют собой ссылки и чем они отличаются от указателей. Важно уяснить для себя, что ссылки всегда инициализируют существующие объекты и их нельзя переназначить до окончания программы. Ссылка выступает псевдонимом объекта, и любое действие, выполненное над ссылкой, выполняется над ее адресатом. Доказательством этого может служить тот факт, что при взятии адреса ссылки возвращается адрес связанного с ней объекта.
Вы убедились, что передача объектов в функции как ссылок может быть более эффективной, чем передача их как значений. Передача объектов как ссылок позволяет вызываемой функции изменять значения переменных вызывающей функции.
Вы также узнали, что аргументы, передаваемые функции, и значения, возвращаемые из функций, могут передаваться как ссылки и этот процесс можно реализовать как с помощью указателей, так и с помощью ссылок.
Теперь вы научились для безопасной передачи значений между функциями использовать константные указатели на константные объекты или константные ссылки, благодаря чему достигается как эффективность, так и безопасность работы программы.
Виталий Петрович Леонтьев / «ГРАБИМ» АУДИОДИСК
Извлечение аудиоданных с музыкального компакт диска в английском языке приобрело жаргонное выражение grabbing, откуда и пришло русское выражение, кстати с практически одинаковым смыслом.
Программ для копирования звуковых дорожек компакт диска в файл существует великое множество. В редакторе Adobe Audition эта возможность встроенная. Вызывается командой меню Файл – Извлечь аудио с CD (File – Extract audio from CD). Окно диалога, который появляется после вызова этой команды представлено на рисунке.
Окно диалога извлечения аудиоданных с компакт-диска
Рассмотрим назначение элементов управления этого окна.
Раскрывающийся список под наименованием Устр-во (Device) служит для выбора привода компакт дисков, в котором находится аудиодиск.
В группе Опции интерфейса (Interface options) выбирается интерфейс, с которым будет работать CDROM. Под опцией Generic Win32 подразумевается программно управляемый обмен данными, его следует выбирать только если привод не захотел корректно работать по интерфейсу ASPI/SPTI. При выборе интерфейса ASPI/SPTI становятся доступными дополнительные опции: Метод чтения (Read method), CD Скорость (CD speed) для выбора скорости чтения диска, Размер буфера (Buffer size) определяет размер дополнительного программного буфера при чтении диска, Поменять порядок байтов (Swap byte order) для чтения дисков на компьютерах Macintosh, Поменять каналы (Swap channels) левый, правый местами, Ускорить перед извлеч. (Spin up before extraction) раскручивает диск до начала извлечения данных.
В группе Выбор источника (Source selections) выбираем откуда будем извлекать данные. При выборе Трек (Track) и ниже необходимой звуковой дорожки (или дорожек) будет извлечен полностью аудиотрек (аудиотреки). При выборе Время (Time) аудиоданные будут извлекаться по заданным в полях Начало (Start) и Длина (Length) параметрам. Формат задания данных – часы: минуты: кадры, для аудиодиска один кадр равняется 75 секундам. Для наглядности при выборе как аудиодорожек, так и временного интервала показывается относительное положение извлекаемого фрагмента на всем диске.
Выбор опции Извлечь в одну волну (Extract to single waveform) позволяет поместить все считанные данные последовательно в одну звуковую дорожку друг за другом.
Как известно, спецификация компакт-диска определяет хранение на диске дополнительных данных для коррекции считываемой с ошибками информации.
Все не очень древние приводы компакт дисков обладают встроенной системой коррекции ошибок, которая и будет выбрана, CDDA точная (CDDA Accurate) в группе Коррекция ошибок (Error correction). В случае если программа не увидит у привода возможности коррекции ошибок, будут доступны опции Без коррекции (No correction) и Коррекция джиттера (Jitter correction), программная коррекция по изменению фазового сдвига.
Не все устройства чтения компакт дисков одинаково хорошо справляются с коррекцией ошибок. Причем отлично работающая коррекция Data CD может неуверенно работать с аудио CD и наоборот. Для определения качества извлечения данных с компактдиска существуют специальные тестовые программы, такие как Nero CD Speed. Также в Интернете можно найти сравнительные тесты разных приводов.
Если вы собираетесь много работать с аудио компакт-дисками, то необходимо обратиться к подобным источникам. Сохранить выбранные опции и установки можно в окне Пресет (Presets). Прослушать, как будет звучать извлеченная фонограмма можно кнопкой Просмотр (Preview).
Нажатие кнопки ОК начинает процедуру извлечения аудиоданных, после чего они будут помещены в звуковую дорожку приложения.
суббота, 23 октября 2010 г.
А. Г. Гузикевич | Исполнительный механизм
Исполнительный механизм NET Compact Framework представляет собой низкоуровневый код, отвечающий за загрузку, JIT-компиляцию и выполнение управляемого кода, а также управление памятью. Ему приходится брать на себя всю черновую работу, обеспечивающую выполнение управляемого кода.
Исполнительный механизм написан на языках C/C++ и компилируется в собственные команды процессора. На этот механизм дополнительно возлагается задача трансляции .NET Compact Framework и приложений конечного пользователя в исполняемый формат во время выполнения. Этот процесс известен под названием JIT- компиляции (just-in-time — оперативная). С помощью этого же механизма обрабатываются любые переходы из управляемого кода в собственный код, например, вызовы функций основанного на собственном коде API-интерфейсов базовой операционной системы; этот процесс называется переключением (thunking).
Поскольку именно исполнительный механизм осуществляет обработку любого низкоуровневого взаимодействия с базовой операционной системой, значительная доля усилий на стадиях проектирования и тестирования направляется на то, чтобы сделать этот механизм как можно более надежным.
Меню File (Файл) | Владимир Верстак
Меню File (Файл) содержит команды для работы с файлами программы 3ds Max (рис. 1.2).
Рис. 1.2. Меню File (Файл)
Команды этого меню позволяют делать следующее: New (Создать), Open (Открыть), Save (Сохранить) – создавать новые, открывать и сохранять существующие сцены и объекты; Open Recent (Открыть недавно использованные) – открывать ранее сохраненные сцены; Reset (Сбросить) – перезапустить сцену; XRef Objects (Объекты XRef) и XRef Scene (Сцена XRef) – работать со ссылками на внешние объекты и сцены; Merge (Объединить) – присоединить к текущей сцене объекты из внешних файлов.
Меню File (Файл) также содержит команды Import (Импортировать) и Export (Экспортировать) для импорта и экспорта объектов.
Команды Set Project Folder (Установить папку проекта) и Publish To DWF (Опубликовать в формате DWF), которые появились в 3ds Max 2008, позволяют указать папку для организации проектов, создаваемых в 3ds Max, и опубликовать модели для их просмотра при помощи программы Autodesk DWF Viewer.
Команды загрузки анимации Load Animation (Загрузить анимацию) и ее сохранения Save Animation (Сохранить анимацию) используют формат XAF, позволяющий выборочно сохранять и загружать анимацию любого количества объектов сцены. Команда Asset Tracking (Средство слежения за процессами) вызывает окно диалога. В нем можно получить доступ к файлам сцены и растровым изображениям, используемым в редакторе материалов, их свойствам и многому другому.
Команда Archive (Архивировать) позволяет сохранить все используемые в сцене файлы в сжатом виде, например для переноса их на другой компьютер. Для просмотра статистики сцены служит команда Summary Info (Сведения), а для ввода свойств файла – команда File Properties (Свойства файла). Обе эти команды вызывают окна, содержащие соответствующие сведения. Команда View Image File (Просмотр файла изображения) открывает окно просмотра, в котором вы можете увидеть растровое изображение перед загрузкой файла в качестве текстурной карты редактора материалов. Команда выхода из программы Exit (Выход) завершает список меню File (Файл).
среда, 13 октября 2010 г.
А. Г. Гузикевич, Благодарности
Эта книга не только посвящена всему, что связано с мобильными устройствами, но и сама является продуктом компьютеризации мобильных устройств. Мне пришлось потратить много времени на поездки в разные регионы с рюкзаком и карманами, до отказа набитыми всевозможными мобильными устройствами, составлявшими мне компанию в дороге. Книга была написана на протяжении года, проведенного в поездках, которыми были охвачены, по крайней мере, шесть стран на территории двух континентов, что не обошлось без невероятного количества кофе, выпитого в вечерние часы. Кстати, хочу заметить, что кофе в Европе по своему вкусу, как правило, значительно превосходит сорта, доступные в Северной Америке, так что проблемой "кофейного отставания" американцам следовало бы заняться более основательно.
Ниже перечислены те люди, без которых эта книга не стала бы такой, какая она есть, а возможно, и вообще не вышла бы в свет.
¦ Сотрудники издательств Addison-Wesley и Pearson, которые вдохновляли меня и поддерживали мои намерения. Особую благодарность хочу выразить Карен Гетман (Karen Gettman), с которой я обсуждал первоначальное предложение о написании "технической книги, не похожей на все остальные", Элизабет Здунич (Elizabeth Zdunich), терпеливо работавшей со мной на протяжении всего процесса написания книги, а также Лори Лайенс (Lori Lyons) и Кейт Клайн (Keith Cline) за их титанический труд по редактированию книги.
¦ Замечательные люди, которые просмотрели первоначальный черновой вариант книги. Если задача рецензента состоит в том, чтобы избавить будущего читателя книги от любых ошибок, неточностей и некорректности в авторских суждениях, то эти люди великолепно справились со своей работой. Мне очень повезло с получением от этих замечательных людей как вдохновляющих, так и "любовно укоризненных" отзывов. Если наши усилия увенчались успехом, то значительная доля возможных похвал по праву должна принадлежать рецензентам. В частности, хочу поблагодарить Крэйга Нибла (Craig Neable), Билла Дрэйпера (Bill Draiper), Джона Скита (Jon Skeet), Майкла Мэйтланда (Michael Maitland), Дуга Холланда (Doug Holland) и Алекса Фейнмана (Alex Feinman) за предоставление подробных отзывов на рукопись, сопровождаемых несметным количеством полезных советов и исправлений.
¦ Мое руководство в компании Microsoft, поддержку которого я ощущал на протяжении всего времени. Это просто замечательно, когда тебе предоставляют полную свободу действий и дают возможность заняться собственным проектом, за что я им очень благодарен.
воскресенье, 10 октября 2010 г.
6.5.3 Клавиатурные команды управления панелями. Виктор Алексеевич Костромин
Для управления режимами работы панели можно пользоваться командами меню, которые были упомянуты выше, но удобнее использовать управляющие комбинации клавиш.
• ‹Tab› или ‹Ctrl›+‹i›. Сменить текущую (активную) панель. Подсветка перемещается с панели, которая была активной ранее, в другую панель, которая становится активной.
• ‹Alt›+‹G› / ‹Alt›+‹R› / ‹Alt›+‹J›. Используются для перемещения подсветки, соответственно, на самый верхний, средний или нижний файл из числа отображаемых в данный момент на панели.
• ‹Alt›+‹T›. Циклически переключает режимы отображения списка файлов текущей директории. С помощью этой комбинации клавиш можно быстро переключаться из режима стандартного вывода (long listing) к сокращенному или к режиму, определяемому пользователем.
• ‹Ctrl›+‹\›. Показать справочник каталогов и перейти к выбранному каталогу.
• ‹Home› или ‹Alt›+‹’‹’›. Перемещает подсветку на первую позицию списка файлов (здесь я вынужден отойти от соглашения об обозначении клавиш).
• ‹End›, ‹Alt›+‹‘›'›. Перемещает подсветку на последнюю позицию списка файлов.
• ‹Alt›+‹O›. Если в активной панели подсвечено имя каталога, а на второй панели отображается список файлов, то вторая панель переходит в режим отображения файлов подсвеченного каталога. Если в активной панели подсветка указывает на файл, то во второй панели отображается содержимое каталога, родительского по отношению к текущему.
• ‹Ctrl›+‹PageUp›, ‹Ctrl›+‹PageDown›. Только если mc запущен с консоли Linux: выполняется, соответственно, переход (chdir) к родительскому каталогу ("..") или к выделенному подсветкой каталогу.
• ‹Alt›+‹Y›. Перемещение к предыдущему каталогу из истории перемещения по каталогам; эквивалентно нажатию мышкой на символ '‹' в верхнем углу панели.
• ‹Alt›+‹U›. Перемещение к следующему каталогу из истории перемещения по каталогам; эквивалентно нажатию мышкой на символ '›'.
Автор неизвестен - 5.2. Трубопроводы и арматура
5.2.1. Руководитель организации назначает лиц, ответственных за исправное состояние и безопасную эксплуатацию трубопроводов, из числа инженерно-технических работников (начальников цехов и служб), прошедших проверку знаний правил устройства и безопасной эксплуатации трубопроводов пара и горячей воды, настоящих Правил и другой отраслевой нормативной документации (инструкций, противоаварийных циркуляров и т. п.).
5.2.2. В организации составляются перечни трубопроводов, подлежащих регистрации в органах Госгортехнадзора России и учету на предприятии. В перечнях указываются лица, ответственные за исправное состояние и безопасную эксплуатацию трубопроводов. На каждый трубопровод заводится паспорт по установленной форме.
5.2.3. Арматура должна использоваться строго в соответствии с ее функциональным назначением. Использование запорной арматуры в качестве регулирующей не допускается. Арматура условным диаметром 50 мм и более должна иметь паспорта установленной формы.
5.2.4. Схема трубопроводов и их эксплуатация должны исключить возникновение дополнительных внутренних напряжений элементов трубопроводов, связанных с их температурным удлинением или другими внешними усилиями, превышающими расчетные.
5.2.5. После капитального ремонта, а также ремонтов, связанных с вырезкой и переваркой участков трубопровода, заменой арматуры и тепловой изоляции, перед включением оборудования в работу проверяются:
исправность неподвижных и подвижных опор и пружинных креплений;
размер затяжки пружин подвесок и опор в холодном состоянии; исправность индикаторов тепловых перемещений; возможность свободного перемещения трубопроводов при их прогреве;
состояние дренажей и воздушников, предохранительных устройств;
легкость хода подвижных частей арматуры;
соответствие сигнализации крайних положений запорной арматуры («Открыто» – «Закрыто») на щитах управления ее фактическому положению;
исправность тепловой изоляции.
Также проводятся гидравлические испытания с целью проверки прочности и плотности отремонтированного участка со всеми элементами и арматурой пробным давлением. Результаты испытаний вносятся в паспорт.
Арматура и фасонные детали трубопроводов должны подвергаться гидравлическому испытанию пробным давлением в соответствии с действующим стандартом.
Минимальная величина пробного давления при гидравлическом испытании должна составлять 1,25 рабочего давления, но не менее
0,2 МПа (2 кгс/см2).
Максимальная величина пробного давления устанавливается с расчетом на прочность по нормативно-технической документации, согласованной с Госгортехнадзором России.
Величину пробного давления выбирает предприятие-изготовитель (проектная организация) в пределах между минимальным и максимальным значениями.
5.2.6. Система дренажей должна обеспечивать полное удаление влаги при прогреве, остывании и опорожнении трубопроводов, для чего последние должны иметь уклон горизонтальных участков не менее 0,004.
5.2.7. При прокладке дренажных линий должно быть учтено направление тепловых перемещений во избежание защемления трубопроводов.
5.2.8. При объединении дренажных линий нескольких трубопроводов на каждом из них устанавливается запорная арматура.
5.2.9. Арматура должна иметь надписи, определяющие ее назначение, быть занумерованной по технологической схеме трубопроводов, а также иметь указатели направления вращения штурвалов.
5.2.10. Регулирующие клапаны оборудуются указателями степени открытия регулирующего органа, а запорная арматура – указателями «Открыто» и «Закрыто». Арматура должна быть доступна для обслуживания.
5.2.11. В местах установки арматуры и индикаторов тепловых перемещений паропроводов устанавливаются площадки обслуживания.
5.2.12. Ремонт трубопроводов и арматуры выполняется одновременно с ремонтом соответствующей тепловой энергоустановки.
5.2.13. Тепловая изоляция фланцевых соединений, арматуры и участков трубопроводов, подвергающихся периодическому контролю (сварные соединения и т. п.), должна быть съемной.
5.2.14. Тепловая изоляция трубопроводов, расположенных на открытом воздухе, вблизи масляных баков, маслопроводов, мазутопроводов, оснащается покрытием для предохранения ее от пропитывания влагой или нефтепродуктами.
5.2.15. Для тепловой изоляции применяются материалы, не вызывающие коррозии металла трубопроводов.
вторник, 5 октября 2010 г.
Производительность и уровни абстракции API-интерфейсов - А. Г. Гузикевич
Очень важно выбрать для работы подходящий уровень абстракции. Высокоуровневые абстракции API-интерфейсов предоставляют упрощенную, удобную в работе и хорошо проверенную программную модель, но это часто влечет за собой дополнительные накладные расходы. Низкоуровневые API-интерфейсы позволяют наилучшим образом контролировать производительность приложений, но это дается за счет дополнительного усложнения кода. Примерами функциональности, предоставляемой каркасами приложений, могут служить средства для работы в сети и синтаксические XML-анализаторы, имеющие несколько уровней абстракции, из которых разработчик может выбрать наиболее удобный для работы. При создании приложений всегда старайтесь использовать самый высокий уровень абстракции из тех, которые являются подходящими для решения стоящих перед вами задач.
Весьма показательным примером может служить работа с XML. Теоретически, разработчик может добиться абсолютного максимума производительности, выполняя синтаксический анализ необходимых данных путем непосредственного использования файловых потоков ввода-вывода. Однако такой подход будет крайне неразумным, чреватым ошибками и ничем не оправданным, если существуют хорошо спроектированные и проверенные высокоуровневые API-интерфейсы, которые позволяют выполнить данную задачу без заметного ущерба для производительности.
Идеальнее всего, если разработчику для загрузки и сохранения своих данных в виде XML-дерева удается использовать объектную модель документов (Document Object Model — DOM). Эта модель прекрасно подходит для работы с XML-данными среднего объема. Однако разработчики не должны забывать о том, что XML DOM в значительной мере основана на использовании состояний; при загрузке XML-данных в память они в действительности сохраняются в памяти в виде дерева объектов, представляющих XML-документ. В случае крупных документов создание такого дерева может приводить к дефициту памяти. В противоположность этому сама модель XML DOM строится поверх классов XMLReader и XMLWriter, которые не имеют состояния и осуществляют лишь однонаправленный доступ к данным; эти классы осуществляют синтаксический анализ или генерируют XML-данные, основываясь на состоянии лишь в самой минимальной степени. Эти классы удерживают в памяти ровно столько информации, сколько необходимо для того, чтобы иметь возможность осуществлять разбор XML-данных или записывать их в поток; они и не генерируют, и не используют хранящиеся в памяти деревья данных.
При работе с крупными XML-документами на мобильных устройствах с ограниченными ресурсами памяти наиболее подходящей является модель однонаправленного доступа к данным без сохранения состояния. Это остается справедливым даже при условии привлечения программистом низкоуровневых API-интерфейсов для синтаксического разбора XML-данных. Чтобы выбрать наиболее подходящий уровень абстракции API-интерфейса, необходимо хорошо себе представлять, какие объемы данных перемещаются и какие накладные расходы связаны с привлечением высокоуровневых абстракций.
А. Г. Сивак, Инкапсуляция на основе свойств класса
В отличие от традиционных методов чтения и модификации, языки .NET тяготеют к реализации принципа инкапсуляции на основе использования свойств, которые представляют доступные для внешнего пользователя элементы данных. Вместо того, чтобы вызывать два разных метода (get и set) для чтения и установки данных состояния объекта, пользователь получает возможность вызвать нечто, похожее на общедоступное поле. Предположим, что мы имеем свойство с именем ID (код), представляющее внутренний член-переменную empID типа Employee. Синтаксис вызова в данном случае должен выглядеть примерно так.
// Синтаксис установки/чтения значения ID работника.
static void Main(string[] args) {
Employee p = new Employee();
// Установка значения.
p.ID = 81;
// Чтение значения.
Console.WriteLine ("ID работника: {0} ", p.ID); Console.ReadLine();
}
Свойства типа "за кадром" всегда отображаются в "настоящие" методы чтения и модификации. Поэтому, как разработчик класса, вы имеете возможность реализовать любую внутреннюю логику, выполняемую перед присваиванием соответствующего значения (например, перевод символов в верхний регистр, очистку значения от недопустимых символов, проверку принадлежности числового значения диапазону допустимости и т.д.). Ниже демонстрируется синтаксис C#. использующий, кроме свойства ID, свойство Pay (оплата), которое инкапсулирует поле currPay, a также свойство Name (имя), которое инкапсулирует данные fullName.
// Инкапсуляция с помощью свойств.
public class Employee {
...
private int empID;
private float currPay;
private string fullName;
// Свойство для empID.
public int ID {
get {return empID;}
set {
// Вы можете проверить и, если требуется, модифицировать
// поступившее значение перед присваиванием.
empID = value;
}
}
// Свойство для fullName.
public string Name {
get { return fullName; }
set { fullName = value; }
}
// Свойство для currPay.
public float Pay {
get { return currPay; }
set { currPay = value; }
}
}
Свойство в C# компонуется из блока чтения и блока модификации (установки) значении. Ярлык value в C# представляет правую сторону оператора присваивания. Соответствующий ярлыку value тип данных зависит от того, какого сорта данные этот ярлык представляет. В данном примере свойство ID оперирует с типом данных int, который, как вы знаете, отображается в System.Int32.
// 81 принадлежит System.Int32,
// поэтому "значением" является System.Int32.
Employee e = new Employee();
e.ID = 81;
Чтобы это доказать, предположим, что вы добавили следующий программный код для установки свойства ID.
// Свойство для empID.
public int ID {
get {return empID;}
set {
Console.WriteLine("value является экземпляром {0} ", value.GetType());
Console.WriteLine("Значение value: {0} ", value); empID = value;
}
}
Выполнив приложение, вы должны увидеть вариант вывода, показанный на рис. 4.5.
Рис. 4.5. Значение value после установки для ID значения 81
Замечание. Строго говоря, ярлык value в C# является не ключевым оловом, а, скорее, контекстным ключевым словом, представляющим неявный параметр, который используется в операторе присваивания в контексте метода, используемого для установки значения свойства. Поэтому вполне допустимо иметь члены-переменные и локальные элементы данных с именем value.
Следует понимать, что свойства (в отличие от традиционных методов чтения и модификации) еще и упрощают работу с типами, поскольку свойства способны "реагировать" на внутренние операции в C#. Например, предположим, что тип класса Employee имеет внутренний приватный член, представляющий значение возраста работника. Вот соответствующая модификация класса.
public class Employee {
…
// Текущий возраст работника.
private int empAge;
public Employee(string fullName, int age, int empID, float currPay) {
…
this.empAge = age;
}
public int Age {
get { return empAge; }
set { empAge = value; }
}
public void DisplayStats() {
…
Console.WriteLine("Возраст: {0} ", empAge);
}
}
Теперь предположим, что вы создали объект Employee с именем joe. Вы хотите, чтобы в день рождения работника значение переменной возраста увеличивалось на единицу. Используя традиционные методы чтения и модификации, вы должны применить, например, следующий программный код.
Employee joe = new Employee();
joe.SetAge(joe.GetAge() + 1);
Но если инкапсулировать empAge, используя "правильный" синтаксис, вы сможете просто написать:
Employee joe = new Employee();
joe.Age++;
суббота, 2 октября 2010 г.
Оставьте свой след / Н. А. Ливинская
Одна из главных задач режиссера – сделать концептуальный материал драмы [= стратегии] реальностью, с которой можно работать.[177] Представителям этой профессии приходится сложнее других – они в прямом смысле отвечают за все, что происходит на театральной сцене в бизнесе. Режиссеру нужно согласовать действия всех участников представления – актеров, драматургов, сценаристов, технических специалистов и мастеров сцены, чтобы получить разрешение продюсера на постановку.
Роль режиссера требует организационных навыков. Это проведение прослушиваний (с помощью директора по кастингу), контроль за своевременной установкой декораций, выбор нужных костюмов и реквизита и многое другое. Режиссер назначает репетиции, а также приглашает тренеров по актерскому мастерству, чтобы помочь актерам в работе над ролью. Он проводит много времени со сценарием [= процессами] и вырабатывает свою точку зрения на то, как лучше всего организовать постановку. Ему нужно постоянно отчитываться перед продюсерами об успехах в реализации драмы [= стратегии]. Именно в обязанности режиссера входит создание единого и гармоничного целого.
Режиссура – это слияние сотрудничества и управления
Чтобы соответствовать всем этим требованиям, режиссер часто занимает властную позицию и говорит актерам, что им делать. Однако, если он по-настоящему талантлив, он не станет слепо навязывать свою волю всем участникам ансамбля. Подлинная режиссура – это слияние сотрудничества и управления, и, чтобы она удалась, режиссеру необходимы мотивационные навыки. Только тогда актеры будут делать то, что им говорят, не потеряв при этом чувства собственных открытий в своей роли. Характеризация появляется в результате сотрудничества, когда изначально видения будущего спектакля у актера и режиссера сильно отличаются.
Режиссер должен также обладать определенными интерпретационными навыками.[178] Как должна быть подготовлена сцена? Какие актеры должны играть те или иные роли? Чтобы ответить на оба вопроса, нужно интерпретировать стратегию в подходящий набор действий. Когда экономическое предложение развивается от идеи к осуществлению, эта интерпретация проявляется в постоянном потоке решений, принятых во время подготовительного этапа и репетиций: что убрать, а что оставить; какая работа должна быть выполнена на сцене, а какая – за кулисами. Чтобы сделать свой выбор, нужно определить, какие действия лучше всего соответствуют стратегии. Эта проблема помещает режиссера в мир концепций и принципов, т. е. в мир интерпретации. Чтобы оставить свой след, режиссер должен научиться летать на высоте 30 тысяч футов и давать указания по мельчайшим подробностям спектакля, который разворачивается на земле.
Наконец, режиссура требует навыков рассказчика. Каждый режиссер в конечном счете хочет поставить представление, которое полностью увлечет зрителей. Питер Ортон, сценарист компании IBM, который раньше работал в Голливуде, тренирует режиссеров в IBM и говорит им: «Сюжет обостряет внимание, создает ожидание и способствует запоминанию. Он выполняет функцию своего рода „крючка“, на который мы нанизываем информацию, чтобы впоследствии ее обработать».[179] Название статьи, опубликованной в Fast Company и цитирующей Ортона, говорит само за себя: Every Leader Tells a Story («Каждый руководитель рассказывает историю»).
7. Контроль коэффициента расхода воздуха / Наталья Бурханова
При недостатке воздуха или несовершенстве топли-восжигающих устройств горение может быть неполным.
Наличие в продуктах горения горючих составляющих (оксида углерода, водорода, метана или сажистого углерода) обусловливает химическую неполноту горения или, как чаще говорят, химический недожог топлива. Последний характеризуется потерями теплоты в процентах от низшей теплоты сгорания топлива.
Чем больше коэффициент расхода воздуха, тем полнее протекает процесс горения. Однако увеличение этого коэффициента приводит к повышенному расходу воздуха и значительным потерям теплоты с газами, уходящими из печи. Температура в печи снижается, что приводит к ухудшению теплоотдачи в рабочем пространстве и усиленному окислению металлов. Поэтому в практике эксплуатации печей стремятся к выбору оптимального коэффициента расхода воздуха a.
Контроль aосуществляют двумя методами. По одному из них измеряют расходы топлива и воздуха и с помощью заранее вычисленных таблиц определяют а.Од-нако этот метод не позволяет учесть воздух, попадающий в печь через рабочие окна и неплотности в кладке печей. Поэтому периодически коэффициент расхода воздуха проверяют по составу продуктов сгорания при помощи газоанализаторов. Химическим анализом определяют содержание в продуктах сгорания RO2, CO, Н2, СН4 и О2, а затем с помощью формулы С. Г. Тройба определяют a:
? = 1+ UO2изб/ ?RO2.
Здесь O2изб = О2 – 0,5СО – 0,5Н2– 2СН4– содержание избыточного кислорода.
?RO2 = RO2+ CO + СН4+…,%;
U– коэффициент, зависящий от вида топлива.
Для мазута U=0,74, для природного газа – 0,5.
Рассмотрим примеры.
Задача.
Определить a,если RO2 14%, СО 4%, СН40,5%; Н2 1%, О2 2%.
O2изб = 2 – 0,5(4 + 1) – 2 О 0,5 = -1,5%;
?RO2 = 14 + 4 + 0,5 = 18,5%;
a= 1 – 0,5 О 1,5 / 18,5 = 0,96.