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

Панель выбора файлов, Александр Вячеславович Фролов

Среди стандартных диалоговых панелей , для которых в библиотеке MFC создан специальный класс, есть панели для работы с файловой системой – Open и Save As (рис. 4.4). Диалоговая панель Open позволяет выбрать один или несколько файлов, расположенных на дисках компьютера, и открыть их для дальнейшего использования. Диалоговая панель Save As позволяет выбрать имя файла для записи в него документа.

Для управления диалоговыми панелями Open и Save As предназначен один единственный класс – CFileDialog . Рассмотрим конструктор класса CFileDialog более подробно:

CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL);

Объекты класса CFileDialog представляют диалоговую панель Open или Save As в зависимости от параметра bOpenFileDialog. Если параметр bOpenFileDialog содержит значение TRUE, тогда создается объект, управляющий диалоговой панелью Open, а если FALSE – диалоговой панелью Save As.

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

Так, чтобы создать объект класса CFileDialog, представляющий стандартную диалоговую панель для открытия файлов (mFileOpen), и объект, представляющий стандартную диалоговую панель для сохранения файлов (mFileSaveAs), можно воспользоваться следующими вызовами конструктора класса:

// Объект mFileOpen представляет стандартную

// диалоговую панель Open

CFileDialog mFileOpen(TRUE);

// Объект mFileOpen представляет диалоговую

// панель SaveAs

CFileDialog mFileSaveAs(TRUE);

Во многих случаях файлы, которые вы открываете или закрываете в вашем приложении, имеют определенное расширение. Параметр lpszDefExt позволяет задать расширение файлов, используемое по умолчанию. Если пользователь не укажет расширение файла явным образом, ему автоматически присваивается расширение, принятое по умолчанию. В случае если параметр lpszDefExt не указан или содержит значение NULL, то расширение файлов должно задаваться явно.

В некоторых случаях требуется, чтобы диалоговые панели для открытия или сохранения файлов отображались с уже выбранным именем файла. Пользователь может согласиться с предложенным именем или выбрать другое. Чтобы указать имя файла, используемое по умолчанию, воспользуйтесь параметром lpszFileName. Если параметр lpszFileName имеет значение NULL, данная возможность не реализуется.

Вы можете изменить внешний вид и некоторые другие характеристики стандартных диалоговых панелей для открытия и сохранения файлов с помощью параметра dwFlags. В него записывается комбинация флагов, управляющих различными характеристиками этих панелей. Назначение данного параметра соответствует полю Flags структуры OPENFILENAME. Описание структуры OPENFILENAME вы можете найти в 13 томе “Библиотеки системного программиста”.

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

Вы можете указать список фильтров для диалоговых панелей Open и Save As через параметр lpszFilter. Одновременно можно указать несколько фильтров. Каждый фильтр задается двумя строками – строкой, содержащей имя фильтра, и строкой, в которой паречислены соответствующие ему расширения имен файлов. Если одному типу файлов соответствуют несколько расширений, они разделяются символом ;. Строка, содержашая имя фильтра, отделяется от строки с расширениями файлов символом |. Если используются несколько фильтров, то они также отделяются друг от друга символом |.

Диалоговые панели, представленные объектами класса CFileDialog, могут иметь или не иметь родительского окна. Чтобы указать родительское окно, передайте конструктору CFileDialog указатель на него через параметр pParentWnd.

Рис. 4.4. Стандартная диалоговая панель Save As


Скорый суд и неотвратимость наказания | Юрий Гороховский

Заметив нарушения, вы должны приостановить процесс кодирования, пока нарушители не исправят ситуацию. Чем дольше нарушения будут игнорироваться, тем выше вероятность того, что код придется отправить прямиком на помойку[74]. Когда разработчики обнаруживают халтуру своих коллег, они невольно опускаются до того же уровня – это человеческая природа, ничего не поделаешь. Если владение оружием предполагает употребление обоих рук, то грамотное проведение критических обзоров кода требует пресечения деятельности нарушителей за счет авторитета руководителя.

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


Андрей Киселев, 3.4.2. Просмотр списка ip-адресов с помощью утилиты ip

[ahu@home ahu]$ ip address show

1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop

    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff

3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100

    link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.1/8 brd 10.255.255.255 scope global eth0

4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100

    link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff

3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10

    link/ppp

    inet 212.64.94.251 peer 212.64.94.1/32 scope global ppp0

Этот листинг содержит более подробную информацию. Здесь показаны все IP-адреса, и каким интерфейсам они принадлежат. Здесь "inet" соответствует термину "Internet (IPv4)". Существует целый ряд типов сетевых адресов, но нас они пока не интересуют.

Взглянем поближе на интерфейс eth0. Из листинга видно, что ему назначен адрес "inet" — 10.0.0.1/8, где "/8" определяет число бит, соответствующих адресу сети. Таким образом, для адресации хостов в сети у нас остается 32 – 8 = 24 бита, что соответствует адресу сети – 10.0.0.0 и маске сети – 255.0.0.0.

Это говорит о том, что любой хост в этой сети, например 10.250.3.13, будет непосредственно доступен через наш интерфейс с IP-адресом 10.0.0.1.

Для ppp0 применима та же концепция, хотя числа в IP-адресе отличаются. Ему присвоен адрес — 212.64.94.251, без маски сети. Это означает, что он обслуживает соединение типа "точка-точка" (point-to-point), и что каждый адрес, за исключением 212.64.94.251, является удаленным. Но и это еще не все. Для этого интерфейса указывается адрес другого конца соединения — 212.64.94.1. Здесь число "/32" говорит о том, что это конкретный IP-адрес и он не содержит адреса сети.

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

Вы наверняка обратили внимание на слово "qdisc". Оно обозначает дисциплину обработки очереди (Queueing Discipline). Позднее мы коснемся этой темы подробнее.


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

Кевин Митник. Вступление

Перевод: Yarlan Zey (yarlan@pisem.net)


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

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

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

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

Важно отметить, что если это не оговорено специально, все истории из книги полностью вымышлены.

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

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

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


Значения маски АСЕ / А. Г. Гузикевич

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

Вместе с тем, для этого необходимо знать фактические значения маски АСЕ, которые соответствуют тому или иному объекту ядра. Эти значения не всегда достаточно хорошо документированы, но для их нахождения можно воспользоваться несколькими способами.

• Прочитайте документацию с описанием функции открытия интересующего вас объекта. Флаги доступа имеют те же значения, что и флаги, используемые в маске АСЕ. Так, функция OpenMutex использует флаги MUTEX_ALL_ACCESS и SYNCHRONIZE (второй из указанных флагов требуется для любого объекта, который может использоваться с функциями WaitForSingleObject или WaitForMultipleObjects). Другие объекты, например процессы, имеют множество других дополнительных флагов доступа.

• Полезная в этом отношении информация может содержаться также в документации по функциям "создания" объектов.

• Проверьте, не содержатся ли флаги, применимые к интересующему вас объекту, в заголовочных файлах WINNT.H и WINBASE.Н.


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

Запуск интерпретатора Перл. Владимир Викторович Маслов

Синтаксис:

perl [ключи] файл аргументы

Перед стартом Перл ищет скрипт (программу) в следующем порядке:

1. В командной строке если указан ключ '-e'

2. Содержимое файла указанного в командной строке. В первой строке можно указывать #!/usr/bin/perl для «автоматического» запуска скрипта.

3. Стандартный ввод/вывод если не указан файл или аргументы содержащие имя файла. Для передачи аргументов скрипту из стандартного потока имя файла в командной строке обозначается символом '-'.

В методах 1 и 2 Перл сканирует строки начиная с первой если не указан ключ '-x', в противном случае началом программы считается строка с символами '#!' в начале и содержащая слово 'perl'.

Концом программы считается строка '__END__'.

В строке с '#!' можно указывать и ключи. Например '#!/bin/perl -d' для отладки программ.

После «обнаружения» скрипта Перл компилирует его целиком во внутреннее представление. Если обнаруживаются ошибки то выполнение прекращается. Если ошибок нет он выполняется. Если скрипт заканчивается без команд exit() или die() то по умолчанию выполняется команда exit(0) обозначающая нормальное завершение программы.

Ключи:

-Oцифры

Код символа-разделителя записей. По умолчанию \0.

-a

Включает режим автоматического разделения (split) переменной $_ в массив $F. Применяется с ключами -n и -p.

-c

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

-d

Запуск в режиме интерактивной отладки.

-Dчисло или Dсписок

Установить флаги отладки Перл. Например -d14 проследить как Перл исполняет вашу программу.

1 p Синтаксический разбор

2 s Состояние стека

4 l Состояние стека имен

8 t Трассировка исполнения

16 o Создание оператора узла

32 c Строковое/числовое преобразование

64 p Вывод команды препроцессора для -P

128 m Распределение памяти

256 f Обработка формата

512 r Синтаксический разбор регулярных выражений

1024 x Дамп синтаксического дерева

2048 u Проверка защиты

4096 L «Утечка» памяти

8192 H Дамп хеша

16384 X Распределение scratchpad

32768 D Очистка

-e команда

Выполнение скрипта из одной строки указанного в командной строке.

-F шаблон

Указывает шаблон разделения в режиме работы с ключом -a

-iрасширение

Применяется для резервной копии файла обрабатываемого оператором '<>'. Оригинал хранится в файле с тем же именем что и исходный, но с указанным расширением.

Пример:

perl -p -i.old -e «s/рядовой/ефрейтор/» file

– Поменять все слова «рядовой» на «ефрейтор» в файле file

а оригинал записать в файле file.old

-Iдиректория

Директория includ- файлов для С препроцессора. Применяется с ключом –P

по умолчанию это /usr/include и /usr/lib/perl.

-lчисло


Автоматическая обработка символа конца строки.

Работает в двух случаях.

1. Отбрасывает последний символ читаемых строк для режимов -n и -p

2. Присваивает указанное значение переменной $\. Таким образом к концу каждой строки выводимой оператором print добавляется этот символ.

-n

Зацикливает скрипт и последовательно обрабатывает файлы указанные в командной строке. Позволяет создавать команды подобные sed или awk.

Операторы BEGIN и END дают возможность делать начальные и конечные установки. Содержимое файлов не выводится.

-p

То же что и -n но печатает обрабатываемые строки файлов.

-P

Предварительная обработко препроцессором языка С. Будьте внимательны и не применяйте в комментариях слова 'if', 'else' или 'define' т.к. это команды С – препроцессора.

-s

Включение режима обработки ключей командной строки запуска скрипта.

Все аргументы с символом '-' в начале, считаются ключом и переменным с таким же именем присваивается значение true.

-S


Использование системной переменной PATH для поиска скрипта.

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

-T

Режим проверки «дыр» в защите. Обычно это нужно для программ работающих в режиме повышенной привелегии (setuid, setguid). Желательно для CGI скриптов.

-u

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

-U

Разрешение выполнять опасные операции. Например стереть директорию или выполнять явно не закрытую программу.

-v

Вывод номера версии Перл.

-w

Вывод имен переменных используемых только один раз, имен скаляров используемых до их определения, имен переопределяемых подпрограмм, ссылок на неопределенный указатели файлов, попыток записи в файлы открытых только на «чтение», употребление не коретных записей чисел, использование массивов как скаляров, рекурсия более 100 уровней.

-x директория

Режим запуска скрипта вставленного в файл содержащий обычный текст. Началом скрипта считаестся строка с символами '#!' в начале и содержащия слово perl. Концом – строка с '__END__'

Указанная директория становится текущей в момент исполнения. Если необходимо читать последующие строки то это лучше делать через указатель файла DATA.


Госстандарт России / 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).


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

Ситуация использования - Джесс Либерти

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

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

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

Таким образом, определение ситуаций использования включает:

• формулирование общих представлений о том, где и каким образом будет использоваться создаваемый программный продукт;

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

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

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


Владимир Верстак. Blend (Смешиваемый)

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

Для доступа к материалу Blend (Смешиваемый) выполните следующие действия.

1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).

2. Выберите из списка материал Blend (Смешиваемый). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).

3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Blend Basic Parameters (Основные параметры смешивания) (рис. 3.15).

Рис. 3.15. Свиток Blend Basic Parameters (Основные параметры смешивания)


4. Настройте параметры смешивания материала.

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

2) Установите или снимите флажки, расположенные справа от кнопок материалов, для активизации или деактивизации материалов.

3) Установите переключатель Interactive (Интерактивный) напротив того материала, который должен быть показан в окне проекции.

4) Нажав кнопку Mask (Маска), укажите в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) материал или файл растрового изображения, который будет использоваться для смешивания двух компонентов материала.

5) В счетчике Mix Amount (Доля в смеси) определите значение смешивания материалов-компонентов в диапазоне от 0 до 100. При значении, равном 0, будет виден только Material 1 (Материал 1), а при 100 – только Material 2 (Материал 2).

6) Задайте плавность перехода одного материала в другой с помощью элементов области Mixing curve (Кривая смешивания).


Е. М. Миркес / Лекция 9. Описание нейронных сетей

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

Как уже говорилось главе «Двойственные сети», на данный момент в нейросетевом сообществе принято описывать архитектуру нейронных сетей в неразрывном единстве с методами их обучения. Эта связь не является естественной. Так, в первой части этой главы будет рассматриваться только архитектура нейронных сетей. Во второй части будет продемонстрирована независимость ряда методов обучения нейронных сетей от их архитектуры. Однако, для удобства, во второй части главы архитектуры всех парадигм нейронных сетей будут описаны вместе с методами обучения.

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

1. Сети с непрерывным временем.

2. Сети с дискретным асинхронным временем.

3. Сети с дискретным временем, функционирующие синхронно.

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


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

Вопросы и ответы | Джеффри П. Мак-Манус

Что означает "создание схемы" в контексте XML?

В контексте баз данных "создание схемы" означает создание документа с определениями объектов и сущностей. В контексте XML это понятие может быть расширено и охватывать другие сведения, например определение поля без неопределенных значений (NOT NULL) в таблице базы данных.

Что произойдет, если для названия элемента в XML-документе использовать уже зарезервированное имя HTML-элемента, например title?

Для устранения такой двусмысленности и предназначены пространства имен. Можно создать XML-документ с применением XSLT и использовать в нем уже зарезервированное имя HTML-элемента, например title, для одного из полей таблицы. Именно для этого придется использовать собственное пространство имен.

С помощью строки кода <xmlns:b=http://myMachine.com> можно теперь использовать префикс b: для любого XML-элемента, даже если его имя совпадает с каким-то уже зарезервированным именем HTML-элемента.

В таком случае строки <b:title> и <title> будут относиться к совершенно разным сущностям. Единственным строгим условием является предварительное объявление используемого пространства имен, например в самом начале документа.