Статья по предмету Компьютеры, программирование

  • 1. "ASP.NET Atlas" – AJAX в исполнении Microsoft
    Статьи Компьютеры, программирование

    Вкратце, что такое конвертеры. Забегая вперед, скажу, что Atlas-сайт может взаимодействовать с серверной логикой посредством web-сервисов. Методы сервисов могут возвращать клиенту данные произвольных типов: DataSet, string[], DataTable и т.д. Но в этом месте мы получаем так называемый "архитектурный разрыв". Если в качестве клиента выступает любое другое .NET приложение, то в большинстве случаев типы, используемые в декларации сервисов, находят свои отражения и на клиентской стороне. DataSet это DataSet, массив строк это массив строк. В случае же, когда мы имеем дело с гетерогенными системами, общающимися через web-сервисы, встает проблема узнавания и преобразования типов. То есть мы в нашем случае должны ответить на вопрос, как наш javascript-клиент будет взаимодействовать с web-сервисом, который возвращает выборку данных в виде DataSet? Что такое DataSet для клиента?

  • 2. "Троянский конь", программы-паразиты
    Статьи Компьютеры, программирование

    на сегодняшний день являются распределенные атаки, направленные на отказ сервера в обслуживании (DDoS-атаки <http://art.thelib.ru/search.php?q=DDoS-%E0%F2%E0%EA%E8>). Суть их заключается в следующем. Злоумышленники обрушивают на сервер-жертву огромное множество специально созданных сетевых пакетов. В результате компьютер просто-напросто не справляется с этим потоком и перестает обрабатывать информацию, то есть становится недоступным для простых посетителей. Однако создать с одного компьютера настолько большое число потоков, чтобы полностью загрузить сервер, невозможно. Да и для хакеров это опасно. ">Наиболее распространенным типом удаленных атак <http://art.thelib.ru/search.php?q=%F3%E4%E0%EB%E5%ED%ED%FB%F5+%E0%F2%E0%EA> на сегодняшний день являются распределенные атаки, направленные на отказ сервера в обслуживании (DDoS-атаки <http://art.thelib.ru/search.php?q=DDoS-%E0%F2%E0%EA%E8>). Суть их заключается в следующем. Злоумышленники обрушивают на сервер-жертву огромное множество специально созданных сетевых пакетов. В результате компьютер просто-напросто не справляется с этим потоком и перестает обрабатывать информацию, то есть становится недоступным для простых посетителей. Однако создать с одного компьютера настолько большое число потоков, чтобы полностью загрузить сервер, невозможно. Да и для хакеров это опасно.

  • 3. «Здоровый» портрет
    Статьи Компьютеры, программирование

    Цветовой тон кожи человека можно охарактеризовать как красный, точнее оранжево-красный. В модели RGB лицо наиболее светлое в канале Red (красном), а наиболее тёмное в канале Blue (синем). Поскольку каналы RGB сильно коррелируют по светлоте, если из 100% канала красного вычесть 100% синего, получим цветоразностный красно-синий канал (R-B), в котором кожные участки будут наиболее светлыми. Если аналогично из канала зелёного вычесть канал красного, получится инструмент для выделения зелени в изображении (G-R). А если нужно выделение для неба, можно использовать (B-R) или даже (B+G-2R). Остаётся только вывести требуемые области в чистый белый цвет, а окружение в чёрный и цветоразно-стная маска готова.

  • 4. ASP.NET: пример построения круговой диаграммы
    Статьи Компьютеры, программирование

    Ниже будет показано, как можно в ASP.NET приложении, используя графические методы GDI+, нарисовать круговую диаграмму. Это может быть полезно, например, для наглядного представления данных.

  • 5. BIOS и его настройки
    Статьи Компьютеры, программирование

    Другими полезными опциями могут стать автоматическое включение и загрузка компьютера в заданное время, а также его переход в спящий режим; в случае бездействия. Следует отметить, что настройку энергосберегающих режимов для монитора, жесткого диска и системы в целом можно осуществить и средствами Windows. В BIOS для этого необходимо включить функцию Power Management. Если в корпусе установлен блок питания стандарта ATX, в меню Automatic Power Up можно задать точное время запуска компьютера - единоразово, каждый день или в определенные дни месяца. Для того чтобы получить удаленный доступ к своему компьютеру и при этом не держать его постоянно включенным (в режиме сна), можно использовать режим PWR Up on Modem Act, который позволит BIOS включить компьютер в ответ на входящий телефонный звонок. При этом для загрузки и входа в систему не должны требоваться пароли, и, кроме того, система инициирует работу модема только после своей загрузки, а значит, процедуру соединения придется повторить. Кстати, в таком режиме щелчок тумблера модема сможет инициализировать включение компьютера. Есть и другие способы запуска компьютера - нажатие на пробел либо на кнопку мыши (если они подключены через порт PS/2), для чего в BIOS имеется опция PWR up on PS2 KB/Mouse.

  • 6. DNS-сервер
    Статьи Компьютеры, программирование

    Доменное имя состоит, по меньшей мере, из двух частей (меток), разделенных точками. Нумерация меток ведется справа налево. Если объяснить на конкретном примере, то в адресе hosting.web-3.ru суффикс ru является доменом первого уровня. Все последующие метки - поддомены, т.е. hosting - поддомен домена web-3, а web-3 - домена ru.Условно подобное деление может растянуться на 127 уровней. Любая метка может состоять (максимально) из 63 символов, но длина доменного имени не может быть больше 254 знаков, включая точки. Впрочем, действительность и теория, как известно, - разные вещи, посему регистраторы доменов часто устанавливают собственные лимиты.Серверы DNS находятся в определенном порядке, который организует иерархическая система DNS. Всякий поддомен или домен поддерживается несколькими авторизованными серверами DNS, содержащими о нем все необходимые сведения. Следует сказать, что наблюдается тождество соподчинения доменов и серверов DNS.Система DNS работает следующим образом: Пользователь набирает в web-обозревателе адрес hosting.web-3.ru. Для передачи данных посредством стека протоколов TCP/IP необходимо знать IP-адрес указанного сервера, но тот, как правило, имеет лишь сведения об адресе сервера DNS (обычно интернет-провайдер предоставляет адрес одного основного и одного резервного DNS-сервера). В результате запрос об IP-адресе hosting.web-3.ru задается указанному DNS серверу. Тот, в свою очередь, запрашивает информацию у центрального сервера, например 195.42.0.3 (все IP-адреса приведены в качестве примера и могут отличаться от действительных). Сервер отвечает, что не обладает информацией о требуемом адресе, однако, знает, что доменной зоной .ru занимается сервер 214.74.142.1 (прим. ред. Это так называемый авторитетный сервер). В этом случае сервер DNS запрашивает информацию у 214.74.142.1. Ответом может быть: «web-3.ru занимается сервер 247.142.130.234». Этот третий по счету сервер возвращает браузеру IP-адрес нужного сайта (прим. ред. Очень часто рекурсивный подход заменяется запросами к буферу сервера. Если неавторитетный сервер недавно получал запрос на IP адрес hosting.web-3.ru, то вместо обращения к следующему DNS серверу он выдаст результат из буфера. Для реагирования на запрашиваемую информацию DNS-протокол применяет UDP- или TCP-порт 53. Обычно запросы и готовая информация по ним посылаются в форме UDP-датаграммы. А TCP остается для AXFR-запросов или ответов весом более 512 байт. Для того чтобы узнать IP-адрес интересующего вас сайта, необходимо воспользоваться командой ping. Если вы пользуетесь операционной системой Windows XP, нажмите «Пуск»- «Выполнить» (прим. ред. Сочетание клавиш win+r) и наберите в строке команду cmd. Появится окошко командной строки. В ней наберите команду ping и имя сайта, например, ping hosting.web-3.ru. В строчках, которые появятся после нажатия Enter увидите группу чисел 87.242.76.88 - это и есть IP-адрес сайта hosting.web-3.ru. Важно помнить, что IP-адрес не равен имени хоста и наоборот. Один компьютер может иметь большое количество web-сайтов, а это говорит о возможности хоста с определенным IP-адресом владеть целым списком имен. Подобно этому одно иметь может быть соотнесено с разными хостами. Так достигается регуляция нагрузки. С целью увеличения стабильности системы в работу вводят определенное число серверов, которые вмещают в себя одинаковые сведения. Так, в мире насчитывается 13 подобных серверов. Каждый имеет отношение к какой-либо территории. Данные о них имеются во всякой операционной системе, поскольку такие серверы не изменяют первоначального адреса. Эти сервер называют корневыми, потому что на них держится вся сеть Интернет. Теперь поговорим об обратном DNS-запросе. Помимо перекодировки символьных имен в IP-адреса DNS выполняет обратную работу. Поскольку с записями DNS можно соотнести данные разных форматов, включая символьные. Известно доменное имя in-addr.arpa, данные которого служат для реконструирования IP-адреса в имя из символов. Приведем пример: чтобы выяснить имя известного адреса (предположим, 12.13.14.15) допустимо сделать запрос в следующем виде: 51.41.31.21.in-addr.arpa. Результатом окажется должное символьное имя. Чем можно это объяснить? Тем, что в IP-адресах биты, расположенные у корня, стоят в начале, а в DNS-именах - в конце. Что касается записей DNS, то выделяют несколько категорий:

  • 7. ERP - системы
    Статьи Компьютеры, программирование

    В случае, если планы получили свое подтверждение, они приобретают статус актуальных планов, и начинается их реализация. Ранее смоделированный поток зависимых заказов превращается в реальный, порождающий потребности в материалах, трудовых ресурсах, мощностях и деньгах. Удовлетворение данных потребностей порождает учетные действия, обеспечивающие оперативную регистрацию прямых затрат, относящихся к производимой продукции (материальных, трудовых, эксплуатационных затрат в привязке к заданиям, технологическим операциям, проектным работам, работам по техобслуживанию...), и косвенных затрат, распределяемых по центрам финансовой ответственности. Все операции по регистрации прямых затрат вводятся, как правило, в натуральном выражении нормативного потребления (материальные - в соответствующих единицах измерения, трудовые - временные...). Для отражения соответствующего финансового результата ERP-системы предлагают мощные средства настройки финансовой интеграции, позволяющие обеспечить автоматический перевод потребленных ресурсов в их финансовый эквивалент.

  • 8. ERP-системы: «за», «против» или воздержаться
    Статьи Компьютеры, программирование

    На данном этапе развития сферы бизнеса, понятие «ERP» значительно расширилось. Разумеется, речь не идет о ключевых изменениях, поскольку системы все так же планируют распределение ресурсов, однако этой областью применения не ограничиваются. Например, в одном из словарей приводится следующее определение: «Набор интегрированных приложений, позволяющих создать единую среду для автоматизации планирования, учета, контроля и анализа всех основных бизнес-операций предприятия, как то производство, финансы, снабжение, сбыт, хранение, техническое обслуживание и т. д.». Собственно, к этому перечню можно добавить реализованные в ряде ERP-систем SSM (поддержку управления сбытом и сервисом), SCM (управление цепочками поставок), PDM (данные о продукции), а иногда и CRM (стратегии отношений с клиентами). Изначально все эти функции не вписывались в концепцию ERP, которые были лишь одним из таких же классов, однако тенденция к многофункциональности информационных систем постепенно набирает обороты. То есть получается, что в отдельных случаях несоответствие объема работы и используемых систем ассоциируется с выражением «что слишком - то не здраво».

  • 9. Generations of Computers
    Статьи Компьютеры, программирование

    20. They say, the fifth generation will use new technologies, optical fibers, videodisks and artificial intelligence.

  • 10. GlassFish Золотая Рыбка
    Статьи Компьютеры, программирование

    Проект GlassFish был анонсирован на конференции JavaOne 2005. Менее чем через год, на следующей конференции JavaOne, был представлен первый выпуск. Причем этот сервер приложений можно было скачать с сайта Sun либо с сайта сообществаотличия были только в инсталляторе и названиях. GlassFish v. 1 был сфокусирован на выполнении спецификации Java ЕЕ 5 и функциональности класса предприятия, которые не были включены в предыдущую версию сервера приложений от Sun. GlassFish v. 2 на момент написания статьи все еще находится в стадии разработки (правда, последнюю версию можно скачать с официального сайта). Таким образом, GlassFish v. 1 распространяется с мая 2006-го, a GlassFish v. 2 окончательно доводится до ума. Фактически все сообщество сейчас работает над второй версией, и специалисты рекомендуют немного подождать ее выхода. GlassFish v. 2 включает весь необходимый набор функций для корпоративных приложений из предыдущей версии. Кроме того, он поддерживает концепцию профилей, поэтому может быть сконфигурирован для использования в режиме разработки, в режиме «предприятия» или кластера. GlassFish v. 3 находится в стадии планирования (в рамках сообщества GlassFish употребляется термин «Concept Creation» стадия концепции программного продукта, или просто прототипирования). Ведется переработка модульной архитектуры, что позволит увеличить скорость загрузки и скажется на производительности в целом. Планируется, что первые версии для тестирования появятся в середине года. У пользователей также есть выбор при установке конкретного дистрибутива GlassFish: можно взять либо версию Sun, либо сообщества разработчиков GlassFish. Эти программные продукты различаются только инсталлятором и поддержкой. Для тех, кому будет недостаточно по той или иной причине поддержки сообщества, смогут воспользоваться коммерческим вариантом фирмы Sun.

  • 11. IBM MQSeries: архитектура системы очередей сообщений
    Статьи Компьютеры, программирование

    Взаимодействие с системой любой прикладной программы начинается с команды подключения к менеджеру очередей MQCONN. Чтобы использовать очередь, приложение должно сначала ее открыть (команда MQOPEN). Если все прошло успешно, программе возвращается специальный указатель (object handle), на который она будет ссылаться при последующих обращениях к данной очереди. Для помещения сообщения в очередь используется команда MQPUT, для выборки сообщений - команда MQGET, для вспомогательных целей запроса и установки атрибутов очередей существуют вызовы MQINQ и MQSET. При этом многочисленные опции команд позволяют реализовать различные режимы работы приложений с очередями сообщений. Например, путем установки опций команды MQGET можно осуществлять просмотр и навигацию вдоль очереди сообщений (по типу курсора CУБД) или выборку сообщений, удовлетворяющих, например, какому-либо признаку. Для начала и завершения транзакции используется команда MQCMT и команда отката транзакции назад MQBACK. Для закрытия очереди и отсоединения от менеджера очередей применяются команды MQCLOSE и MQDISC соответственно.

  • 12. IT-практикум: DELPHI и AutoCAD
    Статьи Компьютеры, программирование

    Autocad - широко известный графический пакет для построения чертежей. Не секрет, что autocad очень удобен для предприятий, специализирующихся на строительстве, продаже или аренде коммерческих и жилых площадей. В данной статье мы поговорим о ситуации, когда требуется расширить стандартные возможности пакета за счет написания программы на языке delphi. Например, это очень удобно, когда необходимо хранить информацию по чертежу в базе данных, осуществить привязку к чертежу документации, отражающей сдачу в аренду площадей различным организациям или предоставить рядовому пользователю, не владеющему знаниями autocad, простой механизм получения точной информации о размере площади, предоставляемой клиенту, и различные сопутствующие числовые показатели. Объектная модель autocad базируется на visual basic for application, ее использование позволяет получить доступ ко всем элементам как чертежа, так и самой оболочки autocad. В данной статье рассматривается связка delphi 7 и autocad 2004. Если у вас более поздняя версия какого-то из программных продуктов, то это не страшно, так как принцип работы останется тем же самым.

  • 13. Java для SMB
    Статьи Компьютеры, программирование

    Есть два способа «научить» Hibernate работать с нашими объектами маппинг и аннотации. Оба способа указывают Hibernate, какие именно поля нашего объекта нужно хранить и как этот объект расположен в нашей иерархии: какие связи у этого объекта с другими объектам (один со многими, многие со многими, многие с одним). Благодаря этому, получая объект из базы данных, мы получаем и все его дочерние объекты. При этом используется такое понятие, как lazy loading. Благодаря ему Hibernate не сразу передает нам всю связку объектов (это могло бы привести к тому, что получая один объект, который так или иначе связан с другими, пришлось бы извлечь все, что хранится в базе данных), а некие персистентные ссылки. И только при первом реальном обращении к этому объекту достает его. Еще один приятный момент это простота реализации ОАО (DataBase Access Object). Можно просто сделать единственный ОАО-класс для всех объектов. Все стандартные методы (save, delete, update) предоставляет сам Hibernate, о них нам заботиться не нужно вовсе. А для сложных методов, использующих HQL-запросы, достаточно сделать метод обвертку, который будет читать по какому-либо ключу сам запрос из xml-файла и возвращать нам список наших объектов. Следующим важным моментом является то, что Hibernate работает в транзакционном режиме, что немаловажно для безопасности сохранения данных. Это очень критично, к примеру, в любых бухгалтерских приложениях. Однако это нужно учитывать еще во время планировки, так как необходим постоянный контроль состояния транзакций. Например, после закрытия транзакции все lazy-данные будут недоступны.

  • 14. JAVA на smart-картах
    Статьи Компьютеры, программирование

    Тем не менее после нескольких успешных взломов, разработчики отказались от Ассемблера и перешли на Java. Хотели как лучше, а получилось как всегда... Байт-код JVM достаточно подробно специфицирован и хотя не имеет доступа к физической памяти, хакерам этого и не требовалось, ведь идентификационные данные хранятся в памяти виртуальной Java-машины и доступны для чтения всем классам (в том числе и untrusted) через низкоуровневые JVM-команды, без которых она бы просто не смогла функционировать. Написать зловредный байт-код, заливаемый в карту и читающий идентификационные данные, может даже начинающий хакер. Достаточно заполучить эту карту. Стационарный ридер уже не нужен, ведь здесь перехватывается не протокол обмена, а сами идентификационные данные, которые с помощью все того же зловредного байт-кода могут быть «зашиты» в другую smart-карту. Первые попытки взлома были не очень удачными, и заливаемый байт-код затирал оригинальную прошивку. В результате чего карта умирала безвозвратно, поэтому ее требовалось похитить, что намного сложнее, чем «позаимствовать» на время. Но скоро в JVM удалось обнаружить множество дыр, позволяющих считывать незатертый байт-код оригинальной прошивки. Правда, содержимое ячеек памяти, поверх которых записывался атакующий байт-код, терялось безвозвратно и их приходилось реконструировать с нуля на основе анализа оставшегося кода, что по силам далеко не каждому.

  • 15. JAVA-мидлеты
    Статьи Компьютеры, программирование

    Для абстрагирования от конкретного оборудования MIDP обращается к CLDC-библи-отеке, экспортирующей все жизненно важные функции (кстати говоря, CLDC версии 1.0 не поддерживала плавающей арифметики и ее приходилось эмулировать непосредственно самому мидлету). Байт-код, включая код библиотеки CLDC, исполняется на виртуальной Java-машине, обозначаемой аббревиатурой KVM (K-Virtual Machine). А сама виртуальная машина опирается на API-функции операционной системы (Operating System), «натянутой» поверх аппаратного обеспечения (Hardware). Для увеличения производительности Java-машина оптимизирует код (Java Code Compact, сокращенно JCC), применяя вполне традиционные алгоритмы оптимизации, общие для всех языков. Собственного названия удостоилась лишь одна технологияROMizing («ромизация»), обеспечивающая упреждающую предзагрузку и связывание (prelink) классов, что замедляет загрузку, но увеличивает производительность мидлета во время его выполнения.

  • 16. MegaSeo Pro: повышение эффективности поискового продвижения сайтов
    Статьи Компьютеры, программирование

    Оптимизация контента является одним из ключевых моментов в вопросе продвижения сайта. Поднять сайт в выдаче без грамотной оптимизации под ключевые слова будет очень сложно и дорого. Не стоит просто наполнять страницы ключевыми словами по принципу «чем больше тем лучше», это может вызывать санкции со стороны поисковой системы вплоть до исключения вашего сайта из поиска. Оптимальная плотность ключевых слов в тексте 2-5% в зависимости от веса страницы. Для проверки оптимизации вашего сайта можно использовать модуль «Проверка оптимизации страницы» он-лайн сервиса МегаСео Про.

  • 17. MIDAS и создание серверов приложений
    Статьи Компьютеры, программирование

    .<%d0%b8%d0%bc%d1%8f%20OLE-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0>,%20%d0%bd%d0%b0%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80%20MyAppSrv.MyRemDataMod1.%20%d0%a1%d0%b2%d0%be%d0%b9%d1%81%d1%82%d0%b2%d0%be%20ServerGUID%20%d0%bc%d0%be%d0%b6%d0%bd%d0%be%20%d0%bd%d0%b5%20%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d1%82%d1%8c.%20%d0%95%d1%81%d0%bb%d0%b8%20%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%20%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9%20%d0%bd%d0%b5%20%d0%b7%d0%b0%d1%80%d0%b5%d0%b3%d0%b8%d1%81%d1%82%d1%80%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%20%d0%bd%d0%b0%20%d0%ba%d0%be%d0%bc%d0%bf%d1%8c%d1%8e%d1%82%d0%b5%d1%80%d0%b5,%20%d0%b3%d0%b4%d0%b5%20%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%b0%d1%82%d1%8b%d0%b2%d0%b0%d0%b5%d1%82%d1%81%d1%8f%20%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82,%20%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5%20%d1%8d%d1%82%d0%be%d0%b3%d0%be%20%d1%81%d0%b2%d0%be%d0%b9%d1%81%d1%82%d0%b2%d0%b0%20%d0%b4%d0%be%d0%bb%d0%b6%d0%bd%d0%be%20%d0%be%d1%81%d1%82%d0%b0%d1%82%d1%8c%d1%81%d1%8f%20%d0%bf%d1%83%d1%81%d1%82%d1%8b%d0%bc,%20%d0%b8%20%d1%8d%d1%82%d0%be%20%d0%bd%d0%b5%20%d0%bf%d0%be%d0%bc%d0%b5%d1%88%d0%b0%d0%b5%d1%82%20%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%bd%d0%be%d0%b9%20%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b5%20%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b0%20%d0%b8%20%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82%d0%b0%20-%20%d0%b2%d0%b5%d0%b4%d1%8c%20%d0%b2%20%d0%be%d0%b1%d1%89%d0%b5%d0%bc%20%d1%81%d0%bb%d1%83%d1%87%d0%b0%d0%b5%20%d0%bf%d1%80%d0%b8%20%d1%80%d0%b0%d1%81%d0%bf%d1%80%d0%be%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d0%b8%20%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82%d1%81%d0%ba%d0%be%d0%b3%d0%be%20%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f%20%d0%b8%d0%bb%d0%b8%20ActiveX%20%d1%87%d0%b5%d1%80%d0%b5%d0%b7%20Internet%20%d0%b2%20%d1%80%d0%b5%d0%b5%d1%81%d1%82%d1%80%d0%b5%20%d0%ba%d0%be%d0%bc%d0%bf%d1%8c%d1%8e%d1%82%d0%b5%d1%80%d0%b0,%20%d0%b3%d0%b4%d0%b5%20%d0%be%d0%bd%d0%be%20%d0%b1%d1%83%d0%b4%d0%b5%d1%82%20%d0%b2%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d1%8f%d1%82%d1%8c%d1%81%d1%8f,%20%d0%bd%d0%b5%d1%82%20%d0%b8%20%d0%bd%d0%b5%20%d0%bc%d0%be%d0%b6%d0%b5%d1%82%20%d0%b1%d1%8b%d1%82%d1%8c%20%d1%81%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d0%b9%20%d0%be%20%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%b5%20%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9.%20">Теперь, наконец, можно создать клиентское приложение. Для этого создадим обычную форму (или выберем со страницы ActiveX репозитария объектов пиктограмму ActiveForm для создания клиентского компонента ActiveX). На форму поместим компонент TMidasConnection и установим его свойство ComputerName равным IP-адресу компьютера, на котором должен выполняться сервер приложений. Если этот компьютер в данный момент доступен в сети, можно выбрать его имя из списка, появляющегося при щелчке напротив имени этого свойства. Но нужно понимать, что в общем случае, особенно если клиентское приложение предназначено для доступа к серверу через Internet, указание именно IP-адреса является более предпочтительным. Далее следует установить значение свойства ServerName в следующем формате: <имя исполняемого файла>.<имя OLE-сервера>, например MyAppSrv.MyRemDataMod1. Свойство ServerGUID можно не устанавливать. Если сервер приложений не зарегистрирован на компьютере, где разрабатывается клиент, значение этого свойства должно остаться пустым, и это не помешает совместной работе сервера и клиента - ведь в общем случае при распространении клиентского приложения или ActiveX через Internet в реестре компьютера, где оно будет выполняться, нет и не может быть сведений о сервере приложений.

  • 18. On-line распознавание рукописных символов
    Статьи Компьютеры, программирование

    Задача on-line распознавания состоит из трех основных этапов:

    1. На этапе предварительной обработки данных выбираем основные признаки и преобразуем их в удобную для классификации форму, например вектор в каком-либо пространстве. В задаче on-line распознавания известен путь пера, в виде последовательности точек. Для упрощения классификатора, уменьшаем количество точек до некоторого фиксированного числа n. Такая выборка делает расстояния между точками практически одинаковыми, что позволяет не учитывать при распознавании размер символа. Для инвариантности символа относительно его положения на изображении, преобразуем входную последовательность в вектор синусов и косинусов углов между осями координат и прямой, соединяющей две соседние точки. В результате получаем вектор размерностью 2*(n -1).
    2. На этапе классификации разделяем пространство входных векторов на отдельные области, в качестве классификатора используем нейронная сеть. Была исследована двухслойная нейронная сеть обратного распространения с логарифмической сигмоидной функцией активации нейронов. Число входов 2*(n -1), число выходов равно числу символов. Такая нейронная сеть позволит получить на выходе оценку совпадения исследуемого образа с исходными.
  • 19. OpenGL и Delphi на практике
    Статьи Компьютеры, программирование

    Как видим, сначала мы задали для нашей графики необходимый формат пикселей. Теперь при помощи функции wglCreateContext создаем OpenGL-контекст, а впоследствии делаем его текущим контекстом. Далее, используя уже универсальные функции**, произведем настройку "мира", который будем создавать. Для этого через glClearColor очистим контекст и заполним ее 60-процентным черным цветом. Далее выберем матрицу проекций, которая определяет, как будут проецироваться трехмерные объекты на плоскость экрана (в оконные координаты) и через glLoadIdentity установим единичную матрицу и зададим границы плана в "мировых координатах" при помощи вызова glFrustum. После чего загрузим модельно видовую матрицу и произведем ее смещение (glTranslatef).

  • 20. Software Project Manager среднего проекта – кто он?
    Статьи Компьютеры, программирование

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