MICROSOFT ВЫПУСТИЛА ПЕРВУЮ БЕТА-ВЕРСИЮ ОПЕРАЦИОННОЙ СИСТЕМЫ WHISTLER.
Корпорация Microsoft выпустила первую бета-версию новой операционной системы Whistler, которая, в отличие от предыдущих операционных систем компании, предназначена как для потребительского, так и для корпоративного рынка. Выпущенные ранее операционные системы Windows для домашних пользователей базируются на технологии DOS, а операционные системы Windows NT и Windows 2000 для корпоративных пользователей имеют в своей основе более стабильную платформу NT. Whistler станет первой операционной системой, в которой потребительская версия будет основана на той же платформе NT, что и корпоративная версия. Единый исходный код в основе обеих версий позволит упростить процесс разработки программных приложений для новой системной среды. Вторая бета-версия Whistler будет выпущена в I квартале 2001 г., а конечный продукт появится в продаже во второй половине года. Сначала выйдет операционная система Whistler для настольных компьютеров, а вслед за ней появятся версии для серверов. Новая операционная система создается в двух вариантах - для традиционной 32-разрядной компьютерной архитектуры и для новой 64-разрядной архитектуры.
СОВЕТ 11: ИСПОЛЬЗУЙТЕ ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ В
ПОДПРОГРАММАХ И ФУНКЦИЯХ
Локальные переменные - это переменные, которые объявлены внутри подпрограмм и
функций. Доступ к локальной переменной в пределах функции или подпрограммы
значительно быстрее, чем доступ к такой же глобальной переменной. Также
использование локальных переменных делает ваш код "чище" и понятнее, поэтому
используйте их, когда Вы можете.
СОВЕТ 12: КОПИРУЙТЕ ЧАСТОИСПОЛЬЗУЕМЫЕ ДАННЫЕ В ПЕРЕМЕННЫЕ
При вызове COM в ASP, вы должны копировать
частоиспользуемые данные объекта в переменные ASP-скрипта. Это сократит
количество запросов методов COM, которые являются относительно трудоемкими по
сравнению с обращением к переменным самого скрипта. При вызове объектов
Collection и Dictionary этот совет также сокращает
время запросов.
Вообще, если вы пользуетесь объектом данных больше, чем однажды, поместите
данные в переменную ASP-скрипта. Главной целью этой оптимизации являются
переменные объекта Request (Form и QueryString). Например, на вашем веб-сайте
через QueryString передается переменная UserID. Предположите, что этот UserID
упомянут дюжину раз на каждой странице. Вместо вызова Request("UserID") 12 раз,
поместите этот UserID в какую-либо переменную наверху ASP страницы и затем
используйте эту переменную (а не Request) внутри страницы. Это упразднит 11
COM-запросов!
На практике, доступ к свойствам или методам COM может быть обманчиво дорог.
Посмотрите пример, показывающий некоторый обычный код:
Foo.bar.blah.baz = Foo.bar.blah.qaz(1)
If Foo.bar.blah.zaq = Foo.bar.blah.abc Then ' ...
Когда этот код выполняется, происходит следущее:
Переменная Foo получена как глобальный объект.
Переменная bar получена как член Foo. Это оказывается запросом COM-метода.
Переменная blah получена как член Foo.bar. Это также оказывается запросом
COM-метода.
Переменная qaz получена как член foo.bar.blah. Да, это также
оказывается запросом COM-метода.
Вызовите Foo.bar.blah.quaz(1). Еще один
запрос COM-метода. Представляете?
Сделайте шаги от 1 до 3 снова, чтобы
получить baz. Система не знает, изменил запрос к qaz модель объекта, так что
шаги 1 до 3 должны быть выполнены снова, чтобы получить baz.
Получите baz
как член Foo.bar.blah.
Сделайте шаги от 1 до 3 снова и получите zaq.
Сделайте шаги от 1 до 3 уже в другой раз и получите
abc.
Как видите это ужасно неэффективно (и медленно). Быстрый способ - написать
этот код в VBScript:
Set myobj = Foo.bar.blah 'Объявляем blah однажды!
Myobj.baz = myobj.qaz(1)
If Myobj.zaq = Myobj.abc Then '...
Если вы используете VBScript 5.0, то можете использовать выражение With:
With Foo.bar.blah
.baz = .qaz(1)
If .zaq = .abc Then '...
...
End With
Читайте у нас новую статью о программировании на Visual Basic
"Использование стандартных операций копирования и переноса файлов", рассказывающую как вставить стандартный диалог копирования в ваше приложение при помощи некоторых полезных функций API библиотеки Shell32.dll.