понедельник, 29 ноября 2010 г.

В. В. Мельниченко, Очистка диска

Когда пользователь выясняет, что на его "очень большом" диске не так уж много свободного места, приходится выбирать: или стереть старые (возможно, ненужные) файлы, или заархивировать их. Разработчики Windows решили облегчить жизнь пользователей и создали средство автоматизированной очистки диска. Выберите Пуск>Все программы>Стандартные>Служебные>Очистка диска. После этого выберите очищаемый диск и подтвердите свои планы, щелкнув OK. На экране появится окно Очистка диска, показанное на рис. 5.64.

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

Вкладка Дополнительно предлагает удалить неиспользуемые компоненты Windows и установленные программы. В дополнение можно удалить файлы Восстановления системы. Это, без сомнения, хорошее средство для восстановления, хотя и требует много места. Некоторые «специалисты» считают, что его следует отключить или, в лучшем случае, самостоятельно удалить его файлы. Но ведь разработчики операционной системы вложили эту функцию в Стандартные средства, а это намного лучше, чем удалять файлы вручную.

Рис. 5.64. Две вкладки для выбора опций очистки диска


9.2.5 Контроль изменений и трассируемость - Госстандарт России

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

а) контроль изменений должен обеспечить целостность элементов конфигурации и базовых линий и защиту их от некорректных изменений;

б) контроль изменений должен гарантировать, что каждое изменение элемента конфигурации учтено в изменении идентификации конфигурации;

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

Примечание — Общепризнанно, что ранняя реализация контроля изменений помогает управлению и организации работ в процессах жизненного цикла ПО;

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

д) при проведении работ по внесению изменений должны быть модифицированы документы жизненного цикла ПО, на которые эти изменения влияют, а обновление документов следует сопровождать работами по контролю изменений.

Работы по контролю изменений следует сопровождать работами по просмотру изменений.


Опоры / Валентин Викторович Красник

Вопрос 218. Какие типы опор следует применять для ВЛ?

Ответ. Следует применять следующие типы опор:

1) промежуточные, устанавливаемые на прямых участках трассы ВЛ. Эти опоры в нормальных режимах работы не должны воспринимать усилий, направленных вдоль ВЛ;

2) анкерные, устанавливаемые для ограничения анкерного пролета, а также в местах изменения числа, марок и сечений проводов ВЛ. Эти опоры должны воспринимать в нормальных режимах работы усилия от разности тяжения проводов, направленные вдоль ВЛ;

3) угловые, устанавливаемые в местах изменения направления трассы ВЛ. Эти опоры при нормальных режимах работы должны воспринимать результирующую нагрузку от тяжения проводов смежных пролетов. Угловые опоры могут быть промежуточными и анекрного типа;

4) концевые, устанавливаемые в начале и конце ВЛ, а также в местах, ограничивающих кабельные вставки. Они являются опорами анкерного типа и должны воспринимать в нормальных режимах работы ВЛ одностороннее тяжение всех проводов.

Опоры, на которых выполняются ответвления от ВЛ, называются ответвительными; опоры, на которых выполняется пересечение ВЛ разных направлений или пересечение ВЛ с инженерными сооружениями, называются перекрестными. Эти опоры могут быть всех указанных типов (п.2.4.50).

Вопрос 219. Возможность установки каких аппаратов должны обеспечивать конструкции опор?

Ответ. Должны обеспечивать возможность установки:

светильников уличного освещения всех типов;

концевых кабельных муфт;

защитных аппаратов;

секционирующих и коммутационных аппаратов;

шкафов и щитков для подключения электроприемников (п. 2.4.51).

Вопрос 220. Какими могут быть опоры (по исполнению) независимо от их типа?

Ответ. Могут быть свободностоящими, с подкосами или оттяжками.

Оттяжки опор могут прикрепляться к анкерам, установленным в земле, или к каменным, кирпичным, железобетонным и металлическим элементам зданий и сооружений. Сечение оттяжек определяется расчетом; оно должно быть не менее 25 м2 (п. 2.4.52).

Вопрос 221. На какие нагрузки должны быть рассчитаны промежуточные опоры?

Ответ. Должны быть рассчитаны на следующие сочетания нагрузок:

одновременное воздействие поперечной ветровой нагрузки на провода, свободные или покрытые гололедом, и на конструкцию опоры, а также нагрузки от тяжения проводов ответвлений к вводам, свободных от гололеда или частично покрытых гололедом;

на нагрузку от тяжения проводов ответвлений к вводам, покрытых гололедом, при этом допускается учет отклонения опоры под действием нагрузки;

на условную расчетную нагрузку, равную 1,5 кН, приложенную к вершине опоры и направленную вдоль оси ВЛ (п. 2.4.53).

Вопрос 222. На какую нагрузку должны быть рассчитаны угловые опоры (промежуточные и анкерные)?

Ответ. Должны быть рассчитаны на результирующую нагрузку от тяжения проводов и ветровую нагрузку на провода и конструкцию опоры (п. 2.4.53).

Вопрос 223. На какую нагрузку должны быть рассчитаны анкерные опоры?

Ответ. Должны быть рассчитаны на разность тяжения проводов смежных пролетов и поперечную нагрузку от давления ветра при гололеде и без гололеда на провода и конструкцию опоры. За наименьшее значение разности тяжения следует принимать 50 % наибольшего значения одностороннего тяжения всех проводов (п. 2.4.53).

Вопрос 224. На какую нагрузку должны быть рассчитаны концевые и ответвительные опоры?

Ответ. Концевые опоры должны быть рассчитаны на одностороннее тяжение всех проводов.

Ответвительные опоры рассчитываются на результирующую нагрузку от тяжения всех проводов (п. 2.4.53).


четверг, 25 ноября 2010 г.

Автор неизвестен - Компьютеры / Object Pascal и Windows API

1. Можно ли использовать OWL в Delphi?

Можно, если уже существуют свои разработки с использованием OWL. Однако следует обратить внимание, не используются ли слова class, try, except и ряда других — в Delphi они являются зарезервированными. Если же опыта использования OWL не было, то вряд ли имеет смысл использование этой библиотеки — в Delphi существуют свои, более удобные средства для работы с Windows.

Компиляция приложений, написанных на BP7 с использованием OWL.

Компилятор Delphi способен компилировать приложения, написанные на OWL Borland Pascal 7.0. Для компиляции таких приложений в среде Delphi необходимо сделать следующее:

1. Откройте главный файл приложения пунктом меню File|Open Project

2. Добавьте в список используемых модулей uses модуль Messages в тех файлах, где использовался модуль WinTypes. Модуль Messages должен быть указан ранее модуля OWindows, ODialogs или любого другого OWL-модуля.

3. При помощи пункта меню Options|Project Dialog добавьте путь x:\DELPHI\SOURCE\RTL70 к пути поиска модулей данного проекта. Этот каталог должен содержать файлы OWL, измененные для компиляции в Delphi.

Если Вы забыли указать использование модуля Messages, то Вы при компиляции получите сообщение 'Unknown identifier'. Указание Messages после модуля OWindows вызовет сообщение 'Header does not match previous definition'.

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

Изменилась реализация StrDispose. Если Вы распределяете память для строки при помощи GetMem, то освобождение этой области памяти при помощи StrDispose вызовет ошибку выполнения 'Runtime error 203'. Для распределения памяти для строк следует использовать функции StrAlloc или StrNew. Объекты OWL не ориентированы на обработку исключительных ситуаций, т.е. при возникновении таких ситуаций не происходит отката инициализации объектов. Мы не рекомендуем использование исключения в приложениях с OWL.

Компилятор теперь производит поиск модулей, ресурсов и OBJ файлов по пути, указываемому в каталогах OPTIONS|Project. Путь 'EXE and TPU directory' больше не поддерживается. EXE-файлы могут создаваться в 'Output directory', а файлы DCU всегда создаются в том каталоге, где находятся соответствующие файлы PAS. Новые модули WinTypes и Messages могут быть скомпилированы BP7. Для этого не требуется включения дополнительных директив $IFDEF (зато там есть $IFDEF WIN32;).


2. Как можно зааллокировать блоки памяти больше, чем 64 Кбайт?

Используйте GlobalAlloc и GlobalLock из модуля WinProcs.


3. GPF в ToolHelp.DLL в Win-OS/2 2.1.

Поставьте FixPack, или сделайте Upgrade на OS/2 Warp 3 FullPack.


4. Как получить из Clipboard текст большого размера?

Да, стандартный метод TClipboard.AsText ограничивает текст размером строки - 255 байт. Для получения текста длиной более 255 байт можно использовать, например следующую процедуру:

procedure GetLargeText: PChar

var

  Buffer: PChar;

  MyHandle: THandle;

  TextLength : Integer;

begin

  MyHandle := Clipboard.GetAsHandle(CF_TEXT);

  Buffer := GlobalLock(MyHandle);

  try

    Result := nil;

    if Buffer <> nil then

    begin

    { теперь у нас данные типа PChar -> мы можем работать

      с ними как с обычной Null-terminated строкой }

      TextLength := StrLen(Buffer);

      GetMem(Result, TextLength+1);

      StrCopy(Buffer, Result);

    end;

  finally

    GlobalUnlock(MyHandle);

  end;

end;


5. Проблемы Delphi с WinG.

Я слышал, что у Delphi проблемы с WinG, однако кто-то их решил?

Да, Майк Скотт (Mike Scott, 100140.2420@compuserve.com) даже написал коммерческий вариант VCL-компонентов, использующих WinG для Delphi:

WinG Sprite Kit.

Набор компонентов, осуществляющих доступ к WinG из Delphi. Включает компоненты TWinGCanvas для рисования TWinGDC и TWinGBitmap, TWinGSurface, которые можно поместить на форму и спрайтовый компонент, который можно помещать на них.

$99 EEP

Существует статья по использованию WinG в Borland Pascal — #5 Pascal Magazine. Обзор VCL WinG появится в новом Delphi Magazine. Отошлите письмо с вашим почтовым адресом на 70630.717@compuserve.com для получения бесплатной копии этих журналов (наверняка из России это не сработает.


А. Г. Сивак / Самоописание

Компоновочные блоки считаются единицами с частичным самоописанием, поскольку в них содержится информация о внешних компоновочных блоках, необходимых для правильного функционирования компоновочного блока. Так что если вашему компоновочному блоку требуются System.Windows.Forms.dll и System. Drawing.dll, то информация о них будет записана в манифест компоновочного блока. Вспомните из главы 1, что манифест – это блок метаданных, описывающих сам компоновочный блок (имя, версия, информация о внешних компоновочных блоках и т.д.).

Кроме данных манифеста, компоновочный блок содержит метаданные, описывающие структуру каждого содержащегося типа (имена членов, реализуемые интерфейсы, базовые классы, конструкторы и т.д.). И поскольку компоновочный блок документируется настолько "красноречиво", среда CLR не обращается к реестру системы Win32 для выяснения размещения компоновочного блока (что принципиально отличается от предлагавшейся ранее Microsoft модели программирования COM). Из этой главы вы узнаете, что среда CLR использует совершенно новую схему получения информации о размещении внешних библиотек программного кода.


среда, 17 ноября 2010 г.

Валентин Викторович Красник / Выбор электроприводов и входящих в них основных элементов

Вопрос. Как должен производиться выбор типа электроприводов?

Ответ. Должен производиться на основе технико-экономического сопоставления различных вариантов применительно к конкретным задачам и условиям его назначения.

При этом рекомендуется учитывать следующее:

при ступенчатом или плавном регулировании без решения задач экономии электроэнергии скольжения электропривод с параметрическим регулированием может использоваться для улучшения условий пуска;

электропривод, регулируемый напряжением, можно использовать для улучшения условий пуска и регулирования частоты вращения без решения задач экономии электроэнергии скольжения;

каскадный электропривод может использоваться для регулирования частоты вращения с экономией энергии скольжения;

частотно-регулируемый электропривод может использоваться для экономичного регулирования частоты вращения асинхронных двигателей с короткозамкнутым ротором, а также синхронных двигателей (5.4.51).

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

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

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

Вопрос. Какие трансформаторы и реакторы рекомендуется применять для электроприводов?

Ответ. Рекомендуется применять трансформаторы и линейные реакторы в «сухом» исполнении (5.4.55).

Вопрос. Какие мероприятия следует применять для обеспечения ЭМС электропривода?

Ответ. Следует применять индивидуально или в целесообразных сочетаниях, определяемых конкретными условиями, следующие мероприятия:

повышение пульсности преобразователя;

организация раздельного питания потребителей;

установка фильтров;

экранирование кабелей;

пространственное разделение технических средств, проводов и кабелей.

При этом рекомендуется:

все металлические части корпуса устройств соединять между собой через возможно большую площадь поверхности;

прокладывать контрольные и силовые кабели раздельно, с минимальным расстоянием между ними не менее 20 см;

подключать измерительные датчики и цепи управления экранированным контрольным кабелем;

отделять кабель сетевого питания электропривода от кабеля питания электродвигателя заземленными перегородками (5.4.56).


В. В. Мельниченко - Сканер

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

Независимо от типа выбранного сканера, принцип его работы неизменен: специальный датчик просматривает изображение документа и преобразовывает его в цифровую форму. Полученный файл можно редактировать графическими программами, если это фотография, или специальным программным обеспечением для распознавания текста (OCR — Optical Character Recognition — Оптическое распознавание символов).

Наиболее распространены планшетные сканеры. Именно из-за своей универсальности: сканирование от слайда до толстого журнала. Существуют даже объемные (3D) сканеры. Достаточно удобная работа — как с ксероксом: положил оригинал, мышкой щелкнул, получил в копию.

Цветное сканирование — это не что иное, как сканирование в черно-белом режиме с различными фильтрами (красный, зеленый, синий) за каждый проход (устаревшие модели). Современные модели выполняют сканирование и сложение цветов за один проход. Самые последние модели имеют глубину цвета в 48 бит (для внутренней обработки изображения, так как в ПК изображение все равно передается с глубиной цвета не более 32 бит). Для домашнего или обычного офисного использования глубины цвета в 32–36 бит более чем достаточно.

Рис. 2.18. Обыкновенные планшетные сканеры

Также нужно обратить внимание на разрешающую способность. Очень часто в рекламе указываются цифры — 4800 dpi или даже 9600 dpi. При попытке уточнить вы услышите, что это максимальное разрешение, с которым способен работать сканер. На самом деле настоящее оптическое разрешение много ниже, а вам «подсовывают» данные интерполяции. Дурят нашего брата. Оптическое разрешение распространенных моделей не превышает 600 dpi. И только специализированные изделия (слайд-сканеры или модели для высококачественной допечатной обработки) могут иметь настоящие 2400 dpi или выше.


Полезные советы. Николай Мациевский

Мы способны получить доступ к любому элементу документа и затем изменить этот элемент, и мы можем улучшить работу пользователя, не привязываясь к JavaScript. Однако возможны некоторые проблемы общего характера.

Прежде чем обращаться к элементу, нужно убедиться, что он существует.

JavaScript-код не должен быть привязан к верстке, только к DOM-дереву. Лишний перевод строки может быть прочитан как новый текстовый узел, разметка может поменяться, а менять скрипты при каждом изменении дизайна не очень хочется.

HTML, полученный через DOM-методы, в большинстве случаев невалиден. Если мы хотим его повторно использовать, лучше всего привести его к валидному виду или применять innerHTML для всех таких случаев (задавая в качестве параметра часть валидного документа).

Следует избегать частого перебора элементов. Каждая операция (особенно getElementesByTagName) довольно ресурсоемка. Стоит кэшировать наиболее часто используемые элементы (подробнее о кэшировании в JavaScript рассказывается чуть далее в этой главе).

Не стоит проверять атрибуты, которых нет (если мы знаем верстку и знаем JavaScript-код, то в нем не должны появиться неизвестные атрибуты).

Нужно подходить осторожно к верстке с других сайтов. Например, при проверке className на наличие определенной строки нельзя использовать точное соответствие, только регулярные выражения (ибо атрибут этот может содержать несколько классов, разделенных пробелом).


суббота, 6 ноября 2010 г.

СОФТЕРРА: Webология / Журнал «Компьютерра»

Автор: Илья Шпаньков

Цифровая библиотека

ОС Windows

Адрес my-ebook-library en softonic com

Версия 1.0.1 beta

Размер 1,4 Мбайт

Интерфейс английский (русский не поддерживается)

Цена бесплатно

Лицензия проприетарная (freeware)


Несмотря на то что электронные книги занимают гораздо меньше места, чем привычные бумажные, при большом количестве электронной «печатной» продукции неизбежно возникает необходимость в каталогизации и управлении своей библиотекой. Неплохим помощником в этом деле может стать программа My Ebook Library. С ее помощью можно отсканировать каталоги и в считанные секунды рассортировать книги в соответствии с различными критериями. Приложение работает с форматами PDF, CHM, DOC, HTML, RTF, TXT, DjVu и PDB. Поддерживается поиск и загрузка обложек, выходных данных, информации об авторе и многое другое. Дообавляет удобств рейтинговая система, отслеживающая количество обращений к файлам.

Стильная штучка

ОС Windows

Адрес www hamstersteam com/rus

Версия 3.0

Размер 1,6 Мбайт

Интерфейс русский

Цена бесплатно

Лицензия проприетарная (freeware)


Настоящий эстет не удовольствуется стандартным набором системных компонентов, а постарается приукрасить свой десктоп с помощью различных цифровых «рюшечек». Именно к таким «приукрашалкам» можно отнести Clocki – заменитель системных часов, обычно лежащих в трее. Программа позволяет выводить на экран не только красочно оформленный циферблат, но и массу другой полезной информации – дату, день недели, напоминания о важных событиях. Кроме того, она умеет синхронизировать время через Интернет и запускать различные приложения. При этом собственно часы могут быть представлены как в аналоговом, так и в цифровом или футуристическом виде, чему способствует набор скинов.

Настольный сторож

ОС Windows XP

Адрес s-soft org/timelimit html

Версия 3.0

Размер 1,1 Мбайт

Интерфейс русский

Цена $10

Демонстрационная версия обладает функциональными ограничениями


Как известно, любая чрезмерность приносит вред. Не является исключением и компьютер, особенно когда многочасовые «посиделки» перед монитором устраивают неокрепшие юные создания. Впрочем, даже у взрослых порой не хватает силы воли оторваться от чудо-машины, что ж говорить о детях. И тут на помощь придет утилита Time Limit, позволяющая ограничивать время работы как с определенным приложением, так и со всем компьютером, отключая его в назначенное время. Помимо этих простейших действий программа обладает и другими полезными функциями: она умеет задавать режим работы компьютера по расписанию, а для достижения лучшей «взломоустойчивости» позволяет задействовать USB флэш-брелок в качестве ключа.

Свобода в трех измерениях

ОС Windows, Linux, Mac OSX

Адрес www blender org

Версия 2.44

Размер 7,7 Мбайт

Интерфейс многоязычный (русский не поддерживается)

Цена бесплатно

Лицензия GPL v2


Blender по праву считается лучшим свободным пакетом для создания и редактирования трехмерной графики. На сегодняшний день богатый набор функций данной программы включает в себя средства моделирования, анимации, рендеринга, постобработки видеоданных и даже создания интерактивных игр. Подвластны ему и сложные задачи – например, моделирование динамики твердых тел, жидкостей и эластичных объектов. Такие возможности миниатюрной (по сравнению с коммерческими аналогами) программы способствуют тому, что Blender нередко можно увидеть на рабочем компьютере профессиональных дизайнеров и разработчиков. Новая версия полностью адаптирована для 64-битной архитектуры.


Информационный SMS-канал. Макс Каневский

ТЕРМИН, ИСПОЛЬЗУЕМЫЙ В ДАННОМ РАЗДЕЛЕ:

Информационный SMS-канал – служба распространения текстовых сообщений среди абонентов сетей сотовой связи в формате SMS.


Первый SMS-канал в преддверии выборов в Государственную думу в декабре 2003 года организовала сотовая сеть «Билайн» в Калининграде. Подписка предусматривала возможность получения новостей от предвыборного штаба кандидатов. Наиболее активным избирателям предлагали отправлять наказы и жалобы кандидату с помощью SMS. С тех пор подвиг «Билайн» никто из операторов не повторял.

СОЗДАНИЕ SMS-КАНАЛА

В рамках работы канала существует не менее двух вариантов доставки информации избирателю:

1. С помощью традиционной SMS-рассылки.

2. С помощью размещения канала в меню SIM-карты услуг оператора сотовой связи. Мы уже описывали этот формат ранее в разделе, посвященном организации SMS-платежей.

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

Структура канала может варьироваться аналогично содержанию интернет-сайта – от одного раздела до нескольких. Можно присвоить собственный код каждому разделу в рамках канала – себестоимость канала от количества разделов практически не меняется. Например, партия «За любовь!», кандидаты которой одновременно участвуют в избирательной кампании по нескольким округам, может открыть вариант персональной подписки на новости каждого кандидата. В таком случае абонент, отправивший SMS со словом ZAL, получит еще одно сообщение, в котором ему будет предложено выбрать новости интересующего его кандидата.


ПРИМЕР СТРУКТУРЫ SMS-КАНАЛА


Пример SMS на экране телефона.

Избиратель может оформить подписку на новости по следующим разделам:

– Новости партии (код подписки part).

– Новости лидера (код подписки lider).

– Новости из Энска – в разделе размещаются новости о кандидате Иванове И.И., баллотирующемся от партии в данном городе (код подписки ensk).

– Новости из Эмска – в разделе размещаются новости о кандидате Петрове И.И., баллотирующемся от партии в данном городе (код подписки emsk), и т. п.

– Все новости (код подписки vse).

Чтобы о канале узнали избиратели, кандидаты размещают сервисный номер для подписки на своих предвыборных информационно-агитационных материалах. Например, на агитационных материалах партии «За любовь!» можно разместить: «Отправь SMS ZAL или ЗАЛ на номер ****, чтобы получать новости партии». Если у кандидата устойчивое финансовое положение, можно организовать подписку таким образом, что все входящие SMS-сообщения для избирателя будут бесплатными. Такой аттракцион неслыханной щедрости обойдется кандидату в среднем не более чем в 300 у. е. за десять тысяч сообщений.

Предполагаемые результаты.

Практические:

– распространение информации о кандидате формирует у избирателя соответствующий образ народного избранника;

– распространение результатов exit-polls в день голосования.

Аналитические:

– оценка готовности избирателей к получению в дальнейшем политических новостей в рамках избирательной кампании.

Примечание

Техническое решение проекта остается за контент-провайдером. Канал может быть открыт в любой стране и в любом регионе, где есть доступ к сетям сотовой связи.


Анализ CIL-кода. А. Г. Сивак

Напомним, что компоновочный блок не содержит специфических для платформы инструкций, а содержит независимый от платформы CIL-код. Когда среда выполнения .NET загружает компоновочный блок в память, этот CIL-код компилируется (с помощью JIT-компилятора) в инструкции, понятные для данной платформы. Если выполнить двойной щелчок на строке метода TurboBoost() класса SportsCar, с помощью ildasm.exe откроется новое окно, в котором будут показаны CIL-инструкции.

.method public hidebysig virtual instance void TurboBoost() cil managed {

 // Code size 17 (0x11)

 .maxstack 2

 IL_0000: ldstr "Ramming speed!"

 IL_0005: ldstr "Faster is better…"

 IL_000a: call valuetype [System.Windows.Forms] System.Windows.Forms.DialogResult [System.Windows.Forms] System.Windows.Forms.MessageBox::Show(string, string)

 IL_000f: pop

 IL_0010: ret

} // end of method SportsCar::TurboBoost

Обратите внимание на то, что для идентификации метода, определенного типом SportsCar, используется лексема .method. Члены-переменные, определенные типом, обозначаются лексемой .field. Напомним, что класс Car определяет набор защищенных данных, например, таких как currSpeed.

.field family int 16 currSpeed

Свойства обозначены лексемой.property. Этот CIL-код описывает открытое свойство CurrSpeed (заметьте, что характеристики read/write свойства обозначаются лексемами .get и .set).

.property instance int16 CurrSpeed() {

 .get instance int16 CarLibrary.Car::get_CurrSpeed()

 .set instance void CarLibrary.Car::set_CurrSpeed(int16)

} // end of property Car::CurrSpeed


вторник, 2 ноября 2010 г.

3.5. Ключевые практики - Владимир Рябикин

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

Каждая ключевая практика состоит из одного предложения, часто раскрываемое более подробным описанием, в которое могут входить примеры и уточнения. Ключевые практики, иногда называемые ключевыми практиками верхнего уровня, устанавливают основные политики, процедуры и операции для группы ключевых процессов. Компоненты подробного описания часто называются подпрактиками. На рис. 3.3 приводится пример структуры, в которую входит ключевая практика из группы ключевых процессов «Планирование проекта».

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

Ключевые практики описывают, «что» необходимо сделать, но их не следует воспринимать в виде догм, устанавливающих, «как» нужно достигать целей. Цели группы ключевых процессов можно реализовать с помощью альтернативных практик. Интерпретация ключевых практик должна быть разумной, допускающей достижение целей группы ключевых процессов эффективным, хотя, возможно, и отличающимся способом. Ключевые практики вместе с рекомендациями по их интерпретации содержатся в документе «Key Practices of the Capability Maturity Model, Version 1.1» («Ключевые практики модели зрелости процессов разработки, версия 1.1») [Paulk 93b], который входит во вторую часть данной книги.



Рис. 3.3. Построение структуры CMM: пример ключевой практики


воскресенье, 31 октября 2010 г.

Журнал «Компьютерра», Микрофишки


Американская Служба честной торговли (Office of Fair Trading) недавно обязала американскую же компанию Micro Bill Systems изменить поведение программы, предназначенной для работы с ее веб-сайтом. По мнению службы, то, как приложение функционирует, грубо нарушает права потребителей.

Micro Bill Systems предоставляет пользователям доступ к контенту "для взрослых". И подобно многим другим таким сайтам выводит на экран пользователя всплывающие окошки (pop-up). Даже те пользователи Интернета, которые на подобные сайты не заходят, окна эти люто ненавидят. Приятного в них действительно мало, даже если они ведут себя "по-божески". Чего не скажешь про сайт Micro Bill Systems. По мнению защитников прав потребителей, нехорошо это - когда такие окошки заполняют весь экран и компьютером становится просто невозможно пользоваться. Вдобавок при загрузке программы, ответственной за их показ, пользователю не сообщалось, что она, собственно, делает и как ее удалить. Правда, те уступки, на которые пришлось пойти Micro Bill Systems, все равно выглядят издевательством: количество всплывающих окон ограничено "всего" двадцатью в сутки на каждого посетителя, и на экране они должны оставаться не дольше одной минуты. Но надо же с чего-то начинать… ПП


***

Компания Yahoo объявила о том, что отныне платные пользователи Flickr наряду с фотографиями смогут загружать и видеоролики. По словам администрации фотосайта, новая функция не будет конкурировать с YouTube и собственным видеохостингом Yahoo (video.yahoo.com). Загружаемые клипы должны быть не длиннее 90 секунд и не "тяжелее" 150 Мбайт. При таких ограничениях, по мнению руководства сервиса, видео воспринимается просто как "длинная фотография". Кроме того, столь малое время проигрывания должно послужить гарантией, что на новом сервисе не появится пиратский ТВ-контент. ЕВ


***

Удачные путешествия марсианских роверов вдохновили NASA на смену парадигмы освоения Луны. Если прежде никто не подвергал сомнению необходимость стационарной базы для лунных поселенцев и споры велись в основном о ее местонахождении, то теперь, возможно, об оседлой лунной жизни придется забыть. Разработка инженеров NASA - "жилой" робот-исследователь ATHLETE (All-Terrain Hex-Legged Extra-Terrestrial Explorer), прототип которого сейчас испытывается близ Пасадены, штат Калифорния. Многотонная машина, питаемая солнечными батареями, сможет передвигаться по лунной поверхности с крейсерской скоростью 10 км/час, неся на себе пристанище для людей.

Шесть ног "Атлета" заканчиваются колесами, которые будут использоваться при передвижении по относительно ровной поверхности, а по пересеченной местности робот пойдет как гигантское насекомое, переступая конечностями. Мало того, конечности, снабженные различными насадками, смогут использоваться как рабочий инструмент. Такой помощник будет очень кстати селенологам. Машиной сможет управлять экипаж, а если понадобится привлечь его к другим делам - управление будет осуществляться с Земли, благо программное обеспечение для этого уже отлажено в более трудных условиях - на Марсе. ИП



Торпедные лодки типа Nazario Sauro. Ю. И. Александров


Основные ТТХ

Водоизмещение, т:

- надводное,…1442

- подводное…1637

Длина наибольшая, м…63,9

Ширина корпуса наибольшая, м…6,8

Осадка средняя, м…5,7

Запас плавучести, %…13.5

Архитектурно-конструктивный тип…однокорпусная

Глубина погружения оперативная, м…250

Автономность, сут…35

Экипаж, чел… 49 (7 офицеров)

Энергетическая установка:

- тип…ДЭУ с полным

электродвижением

- число х мощность (тип) ДГ кВт…3 х 720 (GMT А210 16NM)

- число х мощность (тип)

дизелей в составе ДГ л.с…3 х 1070 (GMT)

- число х мощность ГЭД, л. с…1 х 4200/3650*

- число гребных валов…1

- число групп АБ х число

элементов в группе…2 х 148

Скорость полного хода, уз:

- надводная…11

- подводная…19,3

- в режиме РДП…12

Дальность плавания (при скорости хода, уз), мили

- надводная…6150 (11)

- в режиме РДП…2500 (12)

- подводная…250 (4)

или 19,3(19)

Вооружение

Торпедное:

- число х калибр ТА, мм…6 х 533

- боезапас торпед…12

- тип торпед…ф "Whitehead тип А-184"

- число и тип мин,

принимаемых взамен торпед…24 VSSM 600

Радиоэлектронное: -тип системы управления

оружием…SMASACTIS-BSN-716(V) 1

- тип ГАК…AESN IPD-70S, в составе:

ГАС пассивного определения дистанции типа AESN MD 100S; ГАС ОГС типа "Velox М5"

- тип РЛС…SMABPS-704 (навигац),

"Electronica BLD-727" (СОРС)

- тип перископов…ф. "Pilkington Optronics":

СК 31 (поисковый); СН 8 (атаки)

ПЛ типа Nazario Sauro представляют собой вторую, после окончания Второй мировой войны, серию итальянских ДПЛ. (Первая серия - 4 ед. типа Enrico Toti водоизмещением 524/582 т, вошедшие в строй в 1968-69 гг.). ПЛ предназначались для действий в прибрежных районах. ПЛ S 518 и S 519 были впервые заказаны в 1967 г, но затем заказ был ликвидирован и вновь выдан в 1972 г. ПЛ S 520 и S 527 были заказаны

* Мощность форсажная/продолжительная

в 1976 г. Задержка в сроках сдачи первых 2-х ПЛ была вызвана тем, что на S 518 и S 519 пришлось сменить АБ на АБ ф. CGA, удовлетворивших требования флота.

Все ПЛ типа Sauro прошли модернизацию: S 579 - в 1990 г., S 518-в 1991 г., S 521 - в 1992 г. и S 520-в 1993 г. Были установлены АБ большей емкости, заменено вспомогательное оборудование и улучшены условия обитаемости. На ПЛ S 518Nazario Sauro прошли испытания ГАС с ГПБА ф. "Thomson-Sintra" и новые системы управления оружием.

Конструкция ПЛ - однокорпусная, с надстройкой и килевой наделкой в средней части. ПК изготовлен из стали HY-80, межотсечными переборками делится на 6 отсеков. Концевые переборки ПК-сферические.

Для выхода из аварийной ДПЛ в носовой и кормовой оконечностях предусмотрены спасательные люки.

На 4-ой ПЛ и ПЛ последующей подсерии "улучшенный Sauro" установлена цистерна быстрого погружения.

Управление торпедной стрельбой по первоначальному проекту осуществлялось с помощью СУ CCRG, позволявшей одновременно следить за 4 целями и связанной со всеми средствами обнаружения, аппаратурой РЭП и оружием.

В ходе модернизаций на всех ПЛ была установлена АСБУ SMA SACTICS-BSN-716 (V) 1, позволяющая следить одновременно за 30 целями.

Торпедная ПЛ Garlo Fecia Di Cassato



четверг, 28 октября 2010 г.

А. Г. Сивак / Работа с объектами соединения

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

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

Замечание. Чтобы узнать больше о парах имен и значений для той конкретной СУБД, которую используете вы, в документации .NET Framework 2.0 SDK найдите и прочитайте описание свойства ConnectionString объекта соединения для вашего поставщика данных.

После создания строки соединения само соединение с СУБД устанавливается с помощью вызова Open(). В дополнение к ConnectionString, Open() и Close() объект соединения предлагает еще целый ряд членов, которые позволяют настроить дополнительные параметры соединения, например, такие, как время ожидания и свойства транзакций. Описания некоторых членов базового класса DbConnection предлагаются в табл. 22.6.

Таблица 22.6. Члены типа DbConnection

Член Описание
BeginTransaction() Метод, используемый для начала транзакции
ChangeDatabase() Метод, используемый для смены базы данных при открытом соединении
ConnectionTimeout Доступное только для чтения свойство, возвращающее значение времени ожидания установки соединения, прежде чем будет сгенерирована ошибка (значением по умолчанию является 15 секунд). Чтобы изменить значение, используемое по умолчанию, укажите в строке соединения требуемое значение Connect Timeout (Например, Сonnect Timeout=30)
Database Свойство, сообщающее имя базы данных, используемой объектом соединения
DataSource Свойство, сообщающее информации о месте размещения базы данных, используемой объектом соединения
GetSchema() Метод, возвращающий объект DataSet, который содержит схему базы данных, полученную от источник данных
State Свойство, устанавливающее текущее состояние соединения в соответствии со значениями из перечня ConnectionState

Как видите, свойства типа DbConnection в большинстве своем доступны только для чтения (в силу своей природы) и оказываются полезными только тогда, когда вы хотите получить характеристики соединений в среде выполнения. Чтобы переопределить значение, устанавливаемое по умолчанию, вы должны изменить строку соединения. Например, следующая строка соединения увеличивает время ожидания соединения с 15 до 30 секунд (путем указания соответствующего значения в сегменте Connect Timeout строки соединения).

static void Main(string[] args) {

 SqlConnection cn = new SqlConnection();

 cn.ConnectionString = "uid=sa;pwd=;initial Catalog=Cars;" +

  "Data Source= (local);Connect Timeout = 30";

 cn.Open();

 // Новая вспомогательная функция (см. ниже).

 ShowConnectionStatus(cn);

 …

}

В этом фрагменте программного кода обратите внимание на то, что теперь объект соединения передается в виде параметра новому вспомогательному статическому методу ShowConnectionStatus() класса Program, реализованному так, как показано ниже.

static void ShowConnectionStatus(DbConnection cn) {

 // Отображение информации о текущем объекте соединения.

 Console.WriteLine("***** Информация о соединении *****");

 Console.WriteLine("Размещение базы данных: {0}", cn.DataSource);

 Console.WriteLine("Имя базы данных: {0}", cn.Database);

 Console.WriteLine ("Время ожидания: {0}", cn.ConnectionTimeout);

 Console.WriteLine("Состояние соединения: {0}\n", cn.State.ToString());

}

Большинство указанных свойств самоочевидно, Но свойство State все же требует некоторого обсуждения. Этому свойству можно назначить любое значение из перечня ConnectionState

public enum System.Data.ConnectionState {

 Broken, Closed,

 Connecting, Executing,

 Fetching, Open

}

но единственными действительными значениями ConnectionState являются ConnectionState.Open и ConnectionState.Closed (остальные члены этого перечня зарезервированы для использования в будущем). Также заметим, что вполне безопасно закрыть соединение, состоянием которого в настоящий момент является ConnectionState.Closed.


ПРИМЕЧАНИЯ | В. В. Морозов


[1] Маркс К. Капитал, Т.1. // Маркс К., Энгельс Ф. Соч. 2-е изд. –Т.23. – С.190-191.

[2] Маркс К. Капитал, Т.1. // Маркс К., Энгельс Ф. Соч. 2-е изд. – Т.21. – С.29.

[3] Маркс К. Капитал. Т.1 // Маркс К.; Энгельс Ф. Соч. 2-е изд.

[4] Там же. Т.23.С.169. Т.3.С.24.

[5] Шаповалов Е.А. Общество и инженер: Философско-социологические проблемы инженерной деятельности. – Л.,1984. – С.76.

[6] Маркс К., Энгельс Ф. // Соч. 2-е изд. Т.47. – С.418.

[7] Рузавин Г.И. // Философские вопросы технического знания. – М.1984.

[8] Богаевский Б.Л. Техника коммунистического общества. – М.–Л.., 1936. – С.110.

[9] Стуль Я.К., Суханов К.И. // Философские вопросы технического знания. – М., 1984. – С.17.

[10] Козлов Б.И. // Вопросы истории естествознания и техники, 1984. – № 3. – С. 19–20.

[11] Маркс К., Энгельс Ф. // Соч. 2-е изд. – Т.47. – С.461.

[12] Волков Г.Н. Истоки и горизонты прогресса. – М., 1976. – С.158-159.

[13] Маркс К., Капитал. Т.1 // Маркс К., Энгельс Ф. Соч. 2-е изд. Т.23. С.397.

[14] Вопросы философии. 1985. – № 9. – С.13– 14.

[15] Цит. по кн..: А.Н.Боголюбов. Механика в истории человечества. – М.: Наука, 1978. – С. 43 – 44.

[16] Цит. по кн.: Богомолов А.Н. Механика в истории человечества – М.: Наука. – 1978. – С.61.

[17] Последователи Р. Декарта в философии и естествознании. Основа картезианства – последовательный дуализм, т.е. разделенного мира на две самостоятельные и независимые субстанции – протяженную и мыслящею.

[18] Гомогенная масса – однородная.

[19] Маркс К., Энегельс Ф. Соч., 2-е изд. Т.23. Стр. 343-344.

[20] Сivil Engineer – гражданский инженер.

[21] Слово "интеллигенция" вошло в обиход с подачи русского писателя П.Д.Боборыкина в 60-х годах ХІХ века.

[22] Техницизм – см.: Характер инженерного труда, основанный на расчетах, анализе, алгоритмизации, обуславливая формирование особого мировоззрения. Суть ее в том, что инженеры оказываются как бы вне морали и вне политики, что формировало этику ограниченной ответственности за все то, что было связано с человеческим фактором.

[23] Разин Е.А. История военного искусства. – М., 1957. т. 2. – С 367.

[24] Табели «Генина» – документ, составленный выдающимся инженером и знатоком горнозаводских дел Вилимом Гениным о состоянии заводов. 2

[25] Любомиров П.Г. Очерки по истории русской промышленности (ХVІІ, ХVІІІ и начало ХІХ в. – М., 1997. – С. 206–208.

[26] Дружинин Н.М. Избранные труды (Социально-экономическая история России). – М., 1987. – С. 356.

[27] Струмилин С.Г. Очерки экономической истории России и СССР. - М., 1966. - С. 72.

[28] Худяков П.К. Краткий очерк развития машиностроения в России // Производительные силы России. СПб. 1996. - С.6.

[29] Горький М. Машинный отдел // Русские очерки. М., 1956, т. 3. – С.739.

[30] Сборник материалов по техническому и профессиональному образованию СПБ. 1896. Вып.2.С.44.

[31] Лоранский А. Исторический очерк Горного института. СПб, 1973. – С.65.

[32] Свод законов Российской империи. СПБ. 1857. – Т.3. – С.49.

[33] Там же. – С.58, 65.

[34] См.: Крыжановская О.В. Инженеры. Становление и развитие профессиональной группы – М.: Наука. 1989. С.79.

[35] Крыжановская О.В. Инженеры. Становление и развитие профессиональной группы. – М.: Наука. 1989. – С.80.

[36] При восстановлении в горнах с древесным углем болотной руды получался кусок рыхлого железа – «крица», который затем проковывался и сваривался с другими такими же крицами.

[37] Журнал «Инженерный работник» прекратил свое существование в 1932 г., «Инженерный труд» -1935 г., «Изобретатель» - в 1938 г., «За промышленные кадры» - в 1937 г., «Научно-технический вестник» в 1936 г., «Борьба за технику» - в 1937 г.

[38] См.: Крыштановская О.В. Инженеры. Становление и развитие профессиональной группы. – М.: Наука. 1984. - С. 86-87.

[39] См.: там же. - С. 87.

[40] Дуализм – двойственность, двойная.

[41] Революция ( позднелат. Revolutio - поворот, переворот) – глубокое качественное изменение в развитии каких-либо явлений природы, общества или познания (например, геологическая революция, промышленная революция, научно-техническая революция, культурная революция, революция в естествознании, революция в философии и т.д.)

[42] В этой связи в литературе различают основные этапы НТП. І – ручной труд (с помощью орудий ручного труда); ІІ – механизированный (с помощью машин) и ІІІ – автоматизированный, базирующийся на применении автоматов.

[43] См.: Научно-техническая революция и духовное развитие личности. – М., 1986. – С. 67.

[44] См.: Философский энциклопедический словарь. М., 1983. – С.408.

[45] Маркс К., Энгельс Ф. Соч., 2-е изд. – Т.46. – Ч ІІ. – С. 213.

[46] См.: Гуревич П.С. Новая технократическая волна на Западе. – М., 1986. – С. 45.

[47] См.: Критику технократических теорий в кн.: Косолапов В.В. НТР: мифы и иллюзии буржуазной Футурологии. – К., 1985; США 80-х: Взгляд изнутри. – М, 1984; Гуревич П. С. Новая технократическая волна на Западе. – М., 1986; Буржуазная социология на исходе XX века: критика новейших тенденций. – М., 1986.




Денис Николаевич Колисниченко. Особенности модернизации ноутбуков

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

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

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

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

В табл. 22.1 приведены возможности модернизации различных компонентов ноутбука.

Таблица 22.1. Возможность модернизации компонентов ноутбука

Далее мы поговорим о модернизации ноутбука, которую можно выполнить своими силами.


понедельник, 25 октября 2010 г.

Разбираем по косточкам. Николай Мациевский

Нам нужно гарантировать загрузку внешнего JavaScript-файла «ненавязчивым» образом, при этом обеспечить запрос на сервер статистики (создание картинки со специальными параметрами). В случае Google Analytics все будет очень тривиально, ибо картинка уже создается через new Image(1,1). Однако большинство счетчиков (Рунета и не только) оперируют document.write, и если такая конструкция отработает после создания основного документа, то браузер просто создаст новый, в который запишет требуемый результат. Для пользователя это выльется в совершенно пустую страницу в браузере.

Основная сложность в переносе скриптов статистики в стадию пост-загрузки (по комбинированному событию window.onload, которое описано в начале главы) заключается как раз в изменении вызова картинки, обеспечивающей сбор статистики, на DOM-методы (это может быть не только new Image, но и appendChild). В качестве примера рассмотрим преобразование скрипта статистики для LiveInternet:

document.write("<img src='http://counter.yadro.ru/hit;tutu_elec?r"+

escape(document.referrer)

+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"

+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))

+";u"+escape(document.URL)+";"+Math.random()+"' width=1 height=1 alt=''>")

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

new Image(1,1).src='http://counter.yadro.ru/hit;tutu_elec?r"

+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"

+screen.width+"*"+screen.height+"*"

+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))

+";u"+escape(document.URL)+";"+Math.random()

Таким образом (все приведенные участки кода — это одна строка, разбитая для удобства чтения), мы просто заменили вызов document.write на new Image(). Это поможет в большинстве случаев. Если у вас ситуация не сложнее уже описанной, то следующие абзацы можно смело пропустить.


Денис Николаевич Колисниченко | Преимущества LCD-мониторов

В настоящее время на рынке компьютеров доминируют два вида мониторов – CRT и LCD. Какой лучше? Конечно же, LCD. Во-первых, у LCD-мониторов полностью отсутствует мерцание, что, несомненно, лучше отразится на вашем зрении. Попробуйте поработать с часик за обычным (CRT) монитором, а потом перейдите за LCD-монитор. Только перейти нужно сразу же, а то не почувствуете разницу. Впервые разницу между CRT– и LCD-монитором я почувствовал два года назад, когда у меня появился ноутбук – если перевести глаза с ноутбука (LCD) на обычный монитор, то сразу же чувствуется большая нагрузка на глаза.

Во-вторых, LCD-монитор не имеет электромагнитного излучения. Хотя и было доказано, что электромагнитное излучение современных CRT-мониторов (которые соответствуют стандарту TCO99) не оказывает на человека заметного влияния, зачем лишний раз подвергать себя вредному воздействию.

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

В-четвертых, LCD-мониторы потребляют в среднем в 5 раз меньше энергии. Да, если заменить обычный CRT-монитор жидкокристаллическим, особо на электроэнергии не сэкономишь. Но поскольку энергии на питание LCD-монитора нужно меньше, то источник бесперебойного питания в случае отключения электроэнергии протянет на минуту-другую дольше – мелочь, а приятно. К тому же LCD-мониторы более компактные и легкие, что особенно заметно при транспортировке.

Есть еще одна причина купить именно LCD-монитор. Компьютер с LCD-монитором выглядит более привлекательно и современно. А CRT-монитор сегодня выглядит пережитком прошлого. Если раньше разница в цене между CRT– и LCD-мониторами была ощутима, то сейчас ее практически нет.

Итак, у нас есть целых пять причин купить LCD-монитор:

• отсутствие мерцания;

• отсутствие электромагнитного излучения;

• большая четкость изображения;

• меньшее энергопотребление;

• компактность и более современный вид.


суббота, 23 октября 2010 г.

Создание альбомов, В. В. Мельниченко

А если есть желание передать фотографии тем друзьям и родственникам, у которых уже есть ПК? Самый простой ответ, переслать по электронной почте или записать на CD-диск. Удобно, быстро, но скучно и тривиально. Гораздо правильнее из отсылаемых снимков создать свою персональную интерактивную презентацию. Так, можно проиллюстрировать любую туристическую поездку только изображениями, а можно добавить к каждому из них текстовый или звуковой комментарий.

И в этом случае вам придется воспользоваться программой INAlbum (www.inalbum.com) или же вернутся к старой знакомой ACDSee. Используя любую из указанных программ, буквально за несколько щелчков мышью можно создать шоу, которое будет выглядеть вполне профессионально. А если потратить некоторое время на дополнительную обработку и оформление каждого снимка в удобном несложном редакторе, то результат, уж наверняка, превзойдет все ваши ожидания. Такие альбомы не будут пылиться на полке, и извлекаться только для принудительной их демонстрации скучающим родственникам или гостям.

Все же не будем особо останавливаться на дополнительном узкоспециализированном ПО, а поговорим о том, как при помощи ACDSee создать пристойную презентацию. Для этого запустите программу любым удобным вам способом и выполните из меню Создать (Create) команду Создать Слайд-шоу (Create Slide Show).

Рис. 6.16. Первые шаги в создании вашего презентационного альбома

Первое что спросит программа это о том, какой тип файла "на выходе" вы хотите получить. Среди предложенных вариантов имеется Стандартное слайд-шоу (*.exe), для операционной системы есть возможность создать Скринсейвер (*.scr) и конечно же для электронных сетей имеется Презентация Macromedia Flash (*.swf). Конечно же, вам решать какой тип требуется.

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

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

Последним вопросом мастера будет выбор разрешения для слайдов и выбор расположения создаваемого файла. Тут уж вам решать: что, где и когда? Если вы будете записывать полученный альбом на диск то можно особенно не задумываться о его объеме, ну а если собираетесь отправлять по электронной почте, то все же лучше больших файлов не создавать. И все же работа с графикой изначально подразумевает работу с большими файлами, поэтому лучше оставить разрешение фотографий максимальным и записать полученный альбом на диск.


A. В. Крюков - 10.1.2.2 Closе

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


алгоритм close /* для устройств */

входная информация: дескриптор файла

выходная информация: отсутствует

{

 выполнить алгоритм стандартного закрытия (глава 5ххх);

 if (значение счетчика ссылок в таблице файлов не 0) goto finish;

 if (существует еще один открытый файл, старший и младший номера которого совпадают с номерами закрываемого устройства)

  goto finish; /* не последнее закрытие */

 if (устройство символьного типа) {

  использовать старший номер в качестве указателя в таблице ключей устройства посимвольного ввода-вывода;

  вызвать процедуру закрытия, определяемую типом драйвера и передать ей в качестве параметра младший номер устройства;

 }

 if (устройство блочного типа) {

  if (устройство монтировано) goto finish;

  переписать блоки устройства из буферного кеша на устройство;

  использовать старший номер в качестве указателя в таблице ключей устройства ввода-вывода блоками;

  вызвать процедуру закрытия, определяемую типом драйвера и передать ей в качестве параметра младший номер устройства;

  сделать недействительными блоки устройства, оставшиеся в буферном кеше;

 }

finish:

 освободить индекс;

}

Рисунок 10.4. Алгоритм закрытия устройства

Алгоритм закрытия устройства похож на алгоритм закрытия файла обычного типа (Рисунок 10.4). Однако, до того, как ядро освобождает индекс, в нем выполняются действия, специфичные для файлов устройств.

1. Просматривается таблица файлов для того, чтобы убедиться в том, что ни одному из процессов не требуется, чтобы устройство было открыто. Чтобы установить, что вызов функции close для устройства является последним, недостаточно положиться на значение счетчика ссылок в таблице файлов, поскольку несколько процессов могут обращаться к одному и тому же устройству, используя различные точки входа в таблице файлов. Так же недос таточно положиться на значение счетчика в таблице индексов, поскольку одному и тому же устройству могут соответствовать несколько файлов устройства. Например, команда ls -l покажет, что одному и тому же устройству символьного типа ("c" в начале строки) соответствуют два файла устройства, старший и младший номера у которых (9 и 1) совпадают. Значение счетчика связей для каждого файла, равное 1, говорит о том, что имеется два индекса.

crw-w-w- 1 root vis 9, 1 Aug 6 1984 /dev/tty01

crw-w-w- 1 root unix 9, 1 May 3 15:02 /dev/tty01

Если процессы открывают оба файла независимо один от другого, они обратятся к разным индексам одного и того же устройства.

2. Если устройство символьного типа, ядро запускает процедуру закрытия устройства и возвращает управление в режим задачи. Если устройство блочного типа, ядро просматривает таблицу результатов монтирования и проверяет, не располагается ли на устройстве смонтированная файловая система. Если такая система есть, ядро не сможет запустить процедуру закрытия устройства, поскольку не был сделан последний вызов функции close для устройства. Даже если на устройстве нет смонтированной файловой системы, в буферном кеше еще могут находиться блоки с данными, оставшиеся от смонтированной ранее файловой системы и не переписанные на устройство, поскольку имели пометку "отложенная запись". Поэтому ядро просматривает буферный кеш в поисках таких блоков и переписывает их на устройство перед запуском процедуры закрытия устройства. После закрытия устройства ядро вновь просматривает буферный кеш и делает недействительными все буферы, которые содержат блоки для только что закрытого устройства, в то же вре мя позволяя буферам с актуальной информацией остаться в кеше.

3. Ядро освобождает индекс файла устройства. Короче говоря, процедура закрытия устройства разрывает связь с устройством и инициализирует заново информационные структуры драйвера и аппаратную часть устройства с тем, чтобы ядро могло бы позднее открыть устройство вновь.


среда, 13 октября 2010 г.

Роман Александрович Клименко | Конфигурация

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

Бывают ситуации, когда после неправильно установленной программы или сбоя системы перестают читаться файлы с различными расширениями. В нашем случае это файлы, предназначенные для открытия ссылок на почтовые или новостные серверы. Это говорит о том, что при сбое была удалена часть содержимого корневого раздела реестра HKEY_CLASSES_ROOT (о содержимом этого раздела читайте в следующей части) или только сведения о конкретных расширениях. Если это случилось и при этом не читаются только файлы, предназначенные для хранения ссылок на почтовые или новостные серверы, то нет смысла полностью переустанавливать почтовый клиент Outlook Express — намного проще воспользоваться несколькими командами rundll32.exe. Первой такой командой является следующая: rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", SetDefaultMailHandler. Она предназначена для переустановки всех сведений реестра об идентификаторе mailto (ветвь реестра HKEY_CLASSES_ROOT\mailto), который определяет файлы, предназначенные для описания ссылок на почтовые серверы. После выполнения данной команды идентификатор mailto будет удален из реестра и заново создан на основе стандартных настроек почтового клиента Outlook Express.

Второй такой командой является следующая: rundll32.exe "%programfiles%\Outlook Express\MSOE.DLL", SetDefaultNewsHandler. Она удаляет и заново восстанавливает по умолчанию содержимое идентификаторов news, snews и nntp.

ПРИМЕЧАНИЕ

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

Еще одной проблемой, которая может произойти, является повреждение сведений об ActiveX-объектах, принадлежащих почтовому клиенту Outlook Express. Если эти повреждения незначительны, то можно попробовать исправить и их. Например, можно переписать сведения о доступных форматах импорта сообщений в почтовом клиенте. Эти сведения необходимы для работы Мастера импорта сообщений (Файл>Импорт>Сообщения) и позволяют импортировать сообщения формата Microsoft Exchange, Messenger, Netscape, Microsoft Mail и т.д. Если эти сведения будут повреждены, то единственным доступным форматом импорта будет формат Microsoft Outlook 6.0 (рис. 3.4) и, чтобы решить возникшую проблему, достаточно воспользоваться командой rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllRegisterServer.

ПРИМЕЧАНИЕ

Возможна и обратная ситуация — когда вы намеренно хотите избавиться от ненужных форматов импорта/экспорта сообщений. В этом случае достаточно воcпользоваться командой rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllUnregisterServer, и все сведения об импорте/экспорте сообщений исчезнут. Потом вы в любой момент сможете добавить эти сведения, если воспользуетесь описанной функцией библиотеки DllRegisterServer. 

Рис. 3.4. Результат выполнения команды rundll32.exe "%programfiles%\Outlook Express\oeimport.dll", DllUnregisterServer


Но не только импорт сообщений можно восстановить — можно также восстановить диалоги импорта и экспорта адресных книг (Файл>Импорт>Другая адресная книга и Файл>Экспорт>Адресная книга). Если ActiveX-объекты для данных диалогов будут повреждены, то диалоги все равно будут отображаться, но воспользоваться ими будет нельзя. Чтобы восстановить ActiveX-объекты для импорта/экспорта адресных книг, необходимо вызвать следующую команду rundll32.exe "%programfiles%\Outlook Express\WABIMP.dll", DllRegisterServer. Кроме того, команды rundll32.exe также позволяют выполнить и противоположную операцию — удаление возможности использования импорта/экспорта адресных книг. Для этого достаточно применить команду rundll32.exe "%programfiles%\Outlook Express\WABIMP.dll", DllUnregisterServer.

Еще одной возможностью, которую можно восстановить, является возможность поиска людей в Интернете. Если поиск вам срочно необходим, то достаточно воспользоваться командой rundll32.exe "%programfiles%\Outlook Express\WABfind.dll", DllRegisterServer, и в подменю Найти меню Пуск появится команда Людей. Если же она там уже имеется, но вы ею никогда не пользовались и пользоваться не собираетесь, то можно ее удалить. Для этого достаточно выполнить команду rundll32.exe "%programfiles%\Outlook Express\WABfind.dll", DllUnregisterServer. 


воскресенье, 10 октября 2010 г.

Татьяна Соколова, Определение пользовательской системы координат

Как было сказано выше, в AutoCAD существуют: мировая система координат World Coordinate System, WCS, и пользовательская система координат User Coordinate System, UCS. Ось X мировой системы координат направлена горизонтально, осьY– вертикально, а ось Z проходит перпендикулярно плоскости XY. Начало координат – это точка пересечения осей X и Y, по умолчанию она совмещается с левым нижним углом рисунка. В любой текущий момент активна только одна система координат, которую принято называть текущей. В ней координаты определяются любым доступным способом.

Основное отличие мировой системы координат от пользовательской заключается в том, что мировая система координат может быть только одна (для каждого пространства модели и листа) и она неподвижна. Применение пользовательской системы координат не имеет практически никаких ограничений. Она может быть расположена в любой точке пространства под любым углом к мировой системе координат. Разрешается определять, сохранять и восстанавливать неограниченное количество ПСК. Проще выровнять систему координат с существующим геометрическим объектом, чем определять точное размещение трехмерной точки. ПСК обычно используется для работы с несмежными фрагментами рисунка. Поворот ПСК упрощает указание точек на трехмерных или повернутых видах. Узловые точки и базовые направления, определяемые режимами шаговой привязки SNAP, сетки GRID и ортогонального режима ORTHO, поворачиваются вместе с ПСК.

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

Пиктограмма ПСК всегда изображается в плоскости XY текущей ПСК и указывает положительное направление осей X и Y. Сама пиктограмма может располагаться как в начале пользовательской системы координат, так и в другом месте. Эту позицию регулирует команда управления пиктограммой системы координат UCSICON. С помощью той же команды можно выбрать одну из пиктограмм, размер, цвет, тип стрелок осей и толщины линий которых можно изменить (рис. 4.3).

Рис. 4.3. Варианты пиктограмм системы координат


Появление символа «плюс» (+) в нижнем левом углу пиктограммы указывает на ее расположение в начале ПСК. Пользовательская система координат используется для перемещения начала системы координат и/или изменения ориентации осей системы координат в пространстве, что значительно упрощает процесс создания и редактирования объектов. При создании объекта удобно поместить начало системы координат в базовую точку объектов, особенно если в данной точке формируется много объектов.

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


4.6. Многоколоночный текст. И. Краинский

Кроме обычного расположения текста на бумаге Microsoft Word дает возможность оформлять текст в виде колонок. При таком расположении текст читается сверху вниз, зигзагообразно переходя на следующую колонку. Подобный способ отображения текста широко используется в газетных и журнальных статьях и др.

Многоколоночный текст форматируется точно так же, как и обычный. Однако, в отличие от обычного текста, в котором объектом редактирования является весь текст (или выделенный его участок), при редактировании многоколоночного текста объектом форматирования может служить одна колонка.

Колонки можно создать при помощи кнопки Колонки группы Параметры страницы вкладки Разметка страницы ленты. При ее нажатии появляется список доступных вариантов (рис. 4.42).

Рис. 4.42. Список кнопки Колонки


Для создания колонок сделайте следующее.

1. Перейдите в режим Разметка страницы, щелкнув на одноименной кнопке в строке состояния.

2. Выделите весь документ или ту его часть, которую требуется преобразовать в колонки.

3. Щелкните на кнопке Колонки и выберите нужный вариант.

Если нужно настроить параметры колонок, выберите команду Другие колонки в меню кнопки Колонки. В открывшемся окне Колонки вы можете установить ширину каждой колонки (рис. 4.43). Для этого снимите флажок колонки одинаковой ширины, после чего задайте числовые значения ширины каждой колонки и расстояния между ними.

Рис. 4.43. Диалоговое окно Колонки


Ширину колонок можно также изменить, не вызывая окно Колонки, а используя для этого маркеры изменения полей на горизонтальной линейке.


вторник, 5 октября 2010 г.

Основной режим, Е. М. Миркес

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

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

<> Смена активной задачи. Активная задача отличается цветами рамки и заголовка.
^v Смена активного примера в поле задачи.
Home Сделать активным первый пример задачи.
End Сделать активным последний пример задачи.
ENTER Перейти в режим редактирования задачи.
DELETE Удалить пример.
F1 Высветить справочную информацию. Отметим, что эта клавиша работает во всех режимах.
F2 Открыть стандартный задачник.
F3 Запомнить обучающее множество.
F4 Прочитать обучающее множество.
F5 Тест обучающего множества.
CTRL-F5 Тест текущего тестового примера.
ALT-F5 Тест тестовой задачи.
SHIFT-F5 Тест статистический (Кроме программы Hopfield).
F6 Обучение нейронной сети.
ALT-F6 Случайное изменение карты.
CTRL-F6 Контрастирование.
F7 Запомнить карту.
F8 Прочитать карту.
CTRL-F8 Редактировать карту.
ALT-F8 Сгенерировать новую карту (Кроме программы Hopfield).
F9 Выйти в меню.
F10 Закончить работу.
ALT-C Записать изображение активного примера активной задачи в карман.

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

(обратно)

Валентин Викторович Красник | Эксплуатация

Вопрос 378. Чем обеспечиваются рабочие места технологического персонала, обслуживающего сушильную установку?

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

Вопрос 379. Чем определяются режим работы сушильных установок и характеристики работы основного и вспомогательного оборудования?

Ответ. Определяются энергетическими испытаниями, которые производятся:

после капитального ремонта сушилок;

после внесения конструктивных изменений или внедрения рационализаторских предложений;

для устранения неравномерности сушки, связанной с выходом бракованной продукции (п. 10.2.9).

Вопрос 380. Какие показатели определяются при испытаниях сушилки?

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

Вопрос 381. Какими приборами, материалами и оборудованием обеспечивается заводская или цеховая лаборатория?

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


суббота, 2 октября 2010 г.

12.2 План разработки ПО / Госстандарт России

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

а) Стандарты: идентификация стандартов на разработку требований к ПО, стандартов на процесс проектирования ПО, стандартов кодирования ПО для данного проекта, а также ссылки на стандарты для ранее разработанного ПО, включая коммерчески доступное ПО, если эти стандарты различаются.

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

в) Среда разработки ПО: обоснование выбора используемой среды разработки ПО в аппаратной и программной частях, включая:

 1) выбор методов и средств разработки требований;

 2) выбор методов и средств проектирования ПО;

 3) выбор языков программирования, средств кодирования, компиляторов, редакторов связей и загрузчиков;

 4) аппаратную поддержку для инструментальных средств.


Василий Щепетнёв: Пещеры будущего / Журнал «Компьютерра»

Увидев в первый раз соревнования по кёрлингу, я засмеялся. Во второй — начал думать. В третий — понял. Осознал. Сообразил. То, что с третьего раза только дошло, характеризует меня не очень лестно, однако лучше поздно, чем никогда.

Для тех, кто кёрлинга не видел вовсе, поясню: по льду пускают увесистые чушки под двадцать кило, и эти чушки, вернее, «камни», должны попасть в «дом» — мишень диаметром около трёх с половиной метров. Путь «камня» можно изменить, натирая лёд по ходу движения специальной щёткой и тем меняя его, льда, свойства. В кёрлинге множество всяческих тонкостей, но и вышеприведенного достаточно, чтобы сразу понять: мы имеем дело с той ситуацией, которую последние годы детально прорабатывает Голливуд. Кёрлинг имитирует столкновение Земли с астероидами.

Разве не так? Вглядитесь! И тогда кавычки в словах «дом» и «камни» можно смело убрать. Дом — это наша планета, камни — астероиды, манипуляции со щётками — коррекция орбиты. Да и сам лед… Теория Гёрбигера скомпрометирована нацистами, но если убрать нацистов за скобки, как это сделано в ракетостроении, не найдется ли в идее мирового льда что-нибудь дельное? Нет? Ладно, подождем лет тридцать, наука ведь двигается горными каменистыми тропами, а тропы эти порой ох как причудливо извиваются и петляют. Теорию Большого Взрыва не так давно считали реакционной выдумкой клерикальной буржуазии…

Вернусь к кёрлингу. Считается, что действо возникло в начале шестнадцатого века, но как знать, вдруг камни по льду пускали ещё неандертальцы? Или это потаенная мудрость пришла к шотландцам от жителей Атлантиды? Или уж сразу от Великих Древних, которые на самом деле могли управлять движением астероидов, а мы научились в это играть, как дети играли когда-то в машиниста, летчика или в космонавта. Ту-ту! Вжжжжжж! Поехали! Подражание, игра, ритуал иногда переживают сам процесс: всерьёз никто на шпагах не сражается, а фехтование — олимпийский вид спорта.

Ладно, домыслы насчет неандертальцев оставим (будь я олигарх или хотя бы министр, непременно бы финансировал археологические исследования: сколько интересного буквально в двух шагах от нас — по вертикали). Обратимся к несомненному. Камень, найденный на дне высохшего озера, датирован тысяча пятьсот одиннадцатым годом, специально для историков, верно. Как раз в это время Коперник обдумывает гелиоцентрическую систему мира. Мысль о том, что наша планета не пуп Вселенной, приходит в голову шотландским ткачам, нидерландским крестьянам и великому учёному одновременно. Совпадение? Пусть так. Но я бы поискал в природе аналог щетки. На приближающийся к нам астероид нужно воздействовать не ядерным ударом (собственно, а что даст ядерный удар по астероиду, сильно ли изменит орбиту?), а искривлением пространства. Как его осуществить, управляемое искривление пространства, какие щетки использовать? Ну… "Я стратег", а конкретные приемы пусть ищут практики.

Посоветую другое. "Вперед, в пещеры!" — вот что должно стать лозунгом современности. Действительно, если выбирать, где жить во время катаклизма, в роскошных апартаментах Башни Халифа, или в пещере где-нибудь в горах, я бы выбрал пещеру. Только обустроенную. Никто не мешает установить в пещере сантехнику, подвести воду из горного источника, у входа поставить неказистый, но чрезвычайно прочный и надежный ветродвигатель (чтобы поднимать ту же воду из глубинного резервного источника), педальный электрогенератор на случай штиля, грибарню и т. д. и т. п.

А всё же лучше разложить яйца по разным корзинам, деньги по разным карманам, а людей расселить по разным планетам. Человечество должно осваивать космос не ради сиюминутной выгоды, а исключительно из чувства самосохранения. Луна, Марс, спутники планет, а пуще всего пояс Койпера, подальше от Солнца. Желательно от Солнца не зависеть вовсе. Если вдруг вспыхнет оно, будет Новой ("сегодня не будет, и завтра не будет, а вот послезавтра — как знать", неточная цитата из Инны Гофф), то там, далеко за орбитой Плутона, авось и отсидимся. Выроем пещерные поселения (те же небоскребы, только наоборот) и станем жить-поживать. А энергия, что энергия… Или иные ресурсы… Взять хоть воду: плачу за 320 литров в день, три человека — тонна, а выпиваем едва чайник. Я, конечно, и душ принимаю, и посуду мою, и воду в унитазе спускать не забываю, но все это обусловлено скорее воспитанием, нежели биологической потребностью. Тратим воду, тратим нефть, тратим всё с легкостью необыкновенной, подобно революционным матросам, которые врывались в винные подвалы, цедили из стовёдерных бочек ведро-другое вина и уходили, не закрывая крана (не знаю, как это будет на классическом украинском языке, а на суржике "пусть сгние, шо не мое"). Космонавтика уже тем хороша, что показывает: тратить можно много меньше, хотя сегодняшнее положение на МКС лишь первый шаг к замкнутому (пусть квазизамкнутому) циклу. Сейчас это кажется неприемлемым — пить конденсированную воду и тому подобное, но это опять же вопрос воспитания и привычки. Хотя я, безусловно, рад, что могу по три раза в день брать ванну — раз уж заплатил, изволь потребить.

Эх, мне бы водоплавающий ноутбук!

А без него изволь читать Лермонтова наизусть:

И прах наш, с строгостью судьи и гражданина,
Потомок оскорбит презрительным стихом,
Насмешкой горькою обманутого сына
Над промотавшимся отцом.
А мы что? Мы ничего.

Время такое…


К оглавлению


четверг, 30 сентября 2010 г.

4.4. Стандартные имена устройств в Linux / Денис Николаевич Колисниченко

Как уже отмечалось раньше, все устройства в Linux являются файлами. Файлы устройств находятся в специальном каталоге /dev. Для просмотра данного каталога удобнее всего использовать команду mc. Запустите mc и перейдите в каталог /dev. Если возле файла слева вы видите +, то данное устройство подключено и функционирует.

В этом пункте я вкратце постараюсь объяснить, какие файлы ассоциируются с какими устройствами. Договоримся, что символ N обозначает номер устройства, например, ttyN обозначает устройства /dev/tty1…/dev/ttyN, а x — символ. Наиболее используемые стандартные имена устройств (в соответствии с принятыми обозначениями) приведены в табл. 4.2.

Наиболее используемые стандартные имена устройств Таблица 4.2

Файл Устройство
TtyN Консоль
mouse Мышь
audio Звуковая карта
modem Модем. Обычно файл /dev/modem является ссылкой на один из файлов /dev/ttyS0
ttySN Последовательный порт. Файл /dev/ttyS0 аналогичен файлу COM1 в DOS
IpN Параллельный порт
cuaN Могут обозначать последовательные порты. Используются немного в другом контексте, чем ttySN
hdxN IDE жесткий диск
sdxN SCSI жесткий диск
fd0 Первый дисковод для гибких дисков, то есть А:, для В: используется имя /dev/fd1
stN Стример с интерфейсом SCSI
nrtfN Стример с интерфейсом FDC
mdN Массив RAID
ethN Сетевая плата
null Пустое устройство

На устройствах hdxN и sdxN необходимо остановиться подробнее. Известно, что к (E)IDE (ATA) контроллеру можно подключить четыре IDE-устройства: Primary Master, Primary Slave, Secondary Master, Secondary Slave.

Этим устройствам соответствуют символы: а, b, с, d. Например, /dev/hda — Primary Master, a /dev/hdd — Secondary Slave. Номер N в обозначении устройства обозначает номер раздела на жестком диске. Первичный раздел DOS на первом жестком диске обозначается так: /dev/hda1.


вторник, 21 сентября 2010 г.

Гуттаперчевый пользователь / М. Зислис

Наша цель состоит в том, чтобы удовлетворить пользователя, но термин «пользователь» является источником трудностей. Из-за своей нечеткости этот термин бесполезен, как циркулярная пила бесполезна для удаления аппендикса. Нам нужен более точный инструмент проектирования.

Те, кто говорит «пользователь», обычно подразумевают эдакое «гуттаперчевое» создание, которому приходится изгибаться, растягиваться и адаптироваться к потребностям момента. Наша же цель состоит в проектировании программ, которые будут изгибаться, растягиваться и адаптироваться к потребностям пользователя. Программисты писали и пишут бессчетные множества программ для этого мифологического гуттаперчевого потребителя. Когда программист находит удобным познакомить пользователя с файловой системой Windows для поиска нужной информации, то определяет гуттаперчевого пользователя как пользователя, способного адаптироваться, продвинутого, образованного в области компьютеров; в других случаях, когда программист находит удобным провести пользователя через сложный процесс посредством бестолкового мастера, то определяет гуттаперчевого пользователя, как покладистого наивного новичка. Проектирование для гуттаперчевых пользователей дает разработчику разрешение писать код как угодно, лицемерно презирая «юзера». Реальные пользователи не эластичны.



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

В нашем процессе проектирования нет места «пользователю продукта» мы говорим о совершенно конкретном человеке – о персонаже.


Настройка Web-приложения ASP.NET с помощью Web.config / А. Г. Сивак

При изучении компоновочных блоков .NET мы с вами выяснили, что приложения клиента могут использовать XML-файл конфигурации, содержащий инструкции CLR о том, как обрабатывать связанные запросы, где искать необходимые компоновочные блоки и что еще нужно учесть в среде выполнения . То же можно сказать и в случае Web-приложений ASP.NET, но в данном случае файлы конфигурации (впервые упомянутые в главе 23) всегда называются Web.config (в отличие от файлов конфигурации *.exe, имена которых зависят от имен соответствующих выполняемых файлов клиента).

При добавлении файла Web.config к файлам узла с помощью выбора WebSite>Add New Item из меню создаваемая по умолчанию структура выглядит примерно так, как показано ниже (чтобы не загромождать структуру, комментарии здесь были исключены).

‹?xml version="1.0"?›

 ‹configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"›

  ‹appSettings/›

  ‹connectionStrings/›

  ‹system.web›

   ‹compilation debug="false"/›

   ‹authentication mode="Windows"/›

  ‹/system.web›

‹/configuration›

Подобно любому файлу *.config, в файле Web.config определяется корневой элемент ‹configuration›. В его контекст вкладывается элемент ‹system.web›, который может содержать множество дочерних элементов, с помощью которых осуществляется управление поведением Web-приложения в среде выполнения. В ASP.NET файл Web.config можно модифицировать с помощью любого текстового редактора. Некоторые элементы, которым позволено присутствовать в файле Web.config, описаны в табл. 24.4.

Замечание. Чтобы выяснить подробности формата файла Web.config, выполните поиск разделов документации .NET Framework 2.0 SDK, соответствующих ключу поиска "ASP.NET Settings Schema".

Таблица 24.4. Подборка элементов файла

Элемент Описание
‹appSettings Используется для создания пользовательских пар имен и значений, которые можно программно считывать в память для использования на страницах в дальнейшем
‹authentication› Связанный с безопасностью элемент, используемый для определения режима аутентификации данного Web-приложения
‹authorization› Еще один связанный с безопасностью элемент, используемый для определения прав пользователей при доступе к ресурсам сервера
‹compilation› Используется для разрешения (или запрета) отладки и определения языка .NET, используемого данным Web-приложением по умолчанию, а также (необязательно) для определения множества внешних компоновочных блоков .NET ссылки на которые должны использоваться автоматически
<connectionStrings> Используется для хранения строк внешних соединений данного Web-узла
‹customErrors› Используется для инструкций среде выполнения по поводу того, как сообщать об ошибках, происходящих в процессе работы Web-приложения
‹globalization› Используется для настройки параметров глобализации данного Web-приложения
‹sessionState› Используется для контроля того, как и где среда выполнения .NET должна хранить данные состояния сеанса
<trace> Используется для разрешения (или отключения) трассировки данного Web-приложения

Файл Web.config может содержать дополнительные элементы, размещенные как до, так и после элементов, представленных в табл. 24.4. Большинство этих эле-ментов связано с безопасностью, а остальные оказываются полезными только для построении достаточно сложных сценариев ASP.NET, предполагающих, например, создание пользовательских HTTP-заголовков или пользовательских HTTP-модулей (эти вопросы здесь обсуждать не планируется). Если вам нужен полный комплект элементов, допустимых для использования в файле Web.config, поищите по ключу "ASP.NET Settings Schema" в системе оперативной справки.


Применение фильтров и сортировки / А. Г. Сивак

Иногда нужно показать подмножество данных DataTable, удовлетворяющее некоторому набору критериев фильтрации. Например, как показать только определенные марки автомобилей из размещенной в памяти таблицы Inventory? Метод Select() класса DataTable обеспечивает такую возможность. Обновите графический интерфейс пользователя еще раз, чтобы пользователь мог задать строку, представляющую ту марку автомобиля, которую пользователь желает видеть (рис. 22.15).

Метод Select() является перегруженным и поддерживает различную семантику выбора. Посылаемый методу Select() параметр может быть, например, строкой, содержащей соответствующие условия.

Рис. 22.15. Создание фильтра

Рассмотрите следующую программную логику обработчика события Click новой кнопки.

private void btnGetMakes_Click(object sender, EventArgs e) {

 // Построение фильтра на основе пользовательского ввода.

 string filterStr = string.Format("Make= '{0}' ", txtMakeToGet.Text);

 // Выбор всех строк, соответствующих фильтру.

 DataRow[] makes = inventoryTable.Select(filterStr);

 // Вывод того, что получилось.

 if (makes.Length == 0) MessageBox.Show("Извините, машин нет…", "Ошибка выбора!");

 else {

  string strMake = null;

  for (int i = 0; i ‹ makes.Length; i++) {

   DataRow temp = makes[i];

   strMake += temp["PetName"] + "\n";

  }

  MessageBox.Show(strMake, txtMakeToGet.Text + " type(s):");

 }

}

Здесь строится простой фильтр на основе значения, содержащегося в соответствующем TextBox. Если вы укажете BMW, то фильтр будет иметь вид Make=BMW. Отправив этот фильтр методу Select(), вы получите массив типов DataRow. представляющих те строки, которые соответствуют данному фильтру (рис. 22.16).

Рис. 22.16. Отображение отфильтрованных данных

Как видите, программная логика фильтра имеет стандартный синтаксис SQL, Чтобы проверить это, предположим, что требуется представить результаты предыдущего вызова Select() в алфавитном порядке. В терминах SQL это означает сортировку до столбцу PetName. Поскольку метод Select() является перегруженным. мы можем указать критерий сортировки так, как показано ниже.

// Сортировка по PetName.

makes = inventoryTable.Select(filterStr, "PetName");

Чтобы увидеть результаты в нисходящем порядке, вызовите Select(), как показано ниже.

// Возвращает результаты в порядке убывания.

makes = inventoryTable.Select(filterStr, "PetName DESC");

Вообще говоря, строка сортировки должна содержать имя столбца, за которым следует "ASC" (обозначающее порядок по возрастанию, что является значением, принимаемым по умолчанию) или "DESC" (обозначающее порядок по убыванию). При необходимости можно указать несколько столбцов, разделив их запятыми. Наконец, следует понимать, что в строке фильтра можно использовать любое число операций отношения. Например, если требуется найти все автомобили с номерами, большими 5, то вот как должна выглядеть вспомогательная функция, которая сделает это.

private void ShowCarsWithIdLessThanFive() {

 // Вывод названий машин с номерами, большими 5.

 DataRow[] properIDs;

 string newFilterStr = "ID › 5";

 properIDs = inventoryTable.Select(newFilterStr);

 string strIDs = null;

 for (int i = 0; i ‹ properIDs.Length; i++) {

  DataRow temp = properIDs[i];

  strIDs += temp["PetName"] + " is ID " + temp["ID"] + "\n";

 }

 MessageBox.Show(strIDs, "Названий машин с ID › 5");

}