Решение прикладных задач на компьютере
5c8b6e8c

Алгоритмы, структуры данных

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

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

Алгоритмы триангуляции
Генерация объемных изображений представляет сложную вычислительную задачу, в связи этим на практике выполняют ее декомпозицию. Сложные изображения формируют из фрагментов объектов, для чего их разбивают на составные части. Процесс разбиения поверхности объектов на полигоны получил название тесселяции. Эта стадия на данном этапе развития машинной графики проводится полностью программно вне зависимости от технического уровня 3D-аппаратуры.

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

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

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

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

Корпоративные информационные технологии
Мгновенную метаморфозу, стремительный переход от полной неизвестности до прикрепления на свой флаг ведущими производителями пережила идея общей шины предприятия (Enterprise Service Bus, ESB). Напомним предысторию вопроса. Под влиянием Internet за прошлый, 2002 год в сознании большинства ИТ-профессионалов, ответственных за перспективы развития корпоративных систем, окончательно вызрела мысль о том, что традиционная транзакционная модель устарела, а будущее за средствами, которые смогут обеспечить асинхронный обмен сообщениями между приложениями. Понятно, что такими средствами прежде всего (или только) являются Web-службы.

Основные подходы к проектированию распределенных баз данных

В настоящее время в связи с усложнением процесса принятия решений в современном бизнесе успех предприятия напрямую зависит от того, как быстро и слаженно взаимодействуют его структуры. В наш век обмен информацией немыслим без современных средств связи. Одно из таких средств – современные глобальные компьютерные сети. Сети - важная часть группового взаимодействия, так как они позволяют быстро и эффективно обмениваться информацией. Но реальные сети имеют недостатки. Распределенная сеть представляет собой  крайне неоднородную среду передачи данных: одни участки могут быть построены по технологиям ATM или FDDI, другие - на базе медленных протоколов X.25. Реальная скорость передачи данных в такой среде будет напрямую зависеть от пропускной способности самого медленного участка сети. Таким образом, доступ удаленного пользователя к корпоративной базе данных иногда может быть существенно затруднен.

Основные понятия теории реляционных БД

Базы данных. Учебное пособие

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

Создание счета клиенту

Абстрактные типы данных (АТД)

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

Различные реализации

База данных под прицелом

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

Нестойкость шифрования паролей

Учебно-справочное пособие по СУБД Informix

Для начала несколько определений, которые, впрочем, всем известны и ничего не определяют. Понятие "Система Управления Базами Данных" (СУБД), она же DBMS (DataBase Managment System) может означать, по большому счету, все что угодно. В самом общем случае это собственно база данных, которая предполагает какой либо метод сохранения информации на диске и возможности доступа и манипуляции с нею, и набор программных продуктов, предоставляющий пользователю все допустимые в базе средства работы с данными. Набор программных средств манипуляции данными СУБД удовлетворяет свойствам полноты (консистентности). Полагаю, что коммерческие варианты СУБД стремятся быть еще и замкнутыми, т.е. самодостаточными, не требующими и не поддающимися расширению.

Архитектура Клиент-Сервер
Очень многие СУБД разделяют свою работу на два уровня по системе "Клиент-Сервер". Хитрость состоит в том, что не только пользователь, но и программист этого не замечает. Разделение функций его задачи выполняется автоматически системой.



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

Язык программирования баз данных Informix-4GL
Любая операционная система, будучи универсальной, является эффективной в среднем и не может в полной мере учесть специфики конкретной области применений. Сервер же базы данных, являясь ядром СУБД, использует более эффективные способы организации, хранения и поиска данных (зачастую не пользуясь услугами файловой системы), более эффективные способы управления работами и ресурсами (потоковая архитектура, например).

Решение прикладных задач на компьютере

Основное назначение персонального компьютера (ПК) – обработка различных видов информации. Пользователь (User) с помощью ПК решает требуемые прикладные информационные задачи, связанные с созданием разнообразных документов, расчетом числовых данных, получением необходимых сведений из глобальной сети Интернет и т.п. Результаты работы могут быть просмотрены на экране дисплея, распечатаны на бумаге, сохранены на магнитных дисках для дальнейшего использования.
Закон Брауна: Основным источником проблем являются решения.

Команды Меню окна
Напишите химические формулы с верхними и нижними индексами. Например, напишите Н2О, выделите 2 и используйте Формат – Шрифт – Нижний индекс. Создайте формулу вида S = abcSpj(x)dx , используя Вставка-Символ; вставка даты и автотекста, Найти-Заменить; вставка автофигур, WordArt, рисунков, их форматирование, в том числе обтекание текстом, использование панели Рисование.

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

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

Формирование политики безопасности
Одним из ключевых элементов уже на этапе проектирования любого объекта1-- продукта или системы информационных технологий (в нотации, принятой, например, в общеизвестных критериях[1,2,3,4]), который затем трансформируется в требования к моделям и сценариям его защиты, а также сервисам и механизмам их реализации в аппаратуре или программном обеспечении, является политика безопасности этого объекта. Здесь и далее под политикой безопасности (ПБ) будем понимать только аспекты, связанные с политикой информационной безопасности или защитой информационных ресурсов и поддерживающей их сетевой инфраструктуры, принимая справедливость тезиса "компьютер-- это сеть", впрочем, также как и тезиса "сеть-- это компьютер".

Доказательная база надежности реализации политики безопасности
После того, как ПБ сформулирована и принята, способы ее реализации представляются определенным набором методов, правил и механизмов, интегрированных в модели и сценарии, которые призваны гарантировать соблюдение политики. Такой набор реализуется в виде аппаратного и программного комплекса-- самостоятельной подсистемы или продукта информационных технологий. Любой из подобных комплексов требует оценки его возможностей в полном объеме реализовать все положения ПБ.

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

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

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

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

Идентификация и аутентификация
Идентификация (именование) и аутентификация (проверка подлинности имени) являются базовыми средствами в реализации ПБ объекта, обеспечивающими для других сервисов безопасности работу с поименованными объектами. Идентификаторы пользователя, от имени которого действует субъект (процесс или пользователь), могут быть разбиты на следующие классы: что он знает (пароль, криптографический ключ и т.п.); чем он владеет (личную карточку); что присуще ему по природе (отпечатки пальцев, голос и т.п.)

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

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

Заключение
Отдельные задачи, подходы к их решению, механизмы, модели и инструментальные средства, представленные на обсуждение не претендуют на полноту охвата всех вопросов, связанных с обеспечением информационной безопасности в Интернет. Они формируют лишь общее представление о положении дел и перспективах развития этого направления. С одной стороны, беспрецедентно высокие темпы развития Метасети, расширение сферы ее применения предъявляют новые требования к ее функциональности, управляемости и, в первую очередь-- защищенности. С другой стороны, приходится учитывать то обстоятельство, что технологическая база сетей пакетной коммутации на основе стека протоколов TCP/IP изначально не приспособлена для решения задач обеспечения информационной безопасности.

Назначение языка Perl
Научившись пользоваться языком Perl, вы, возможно, обнаружите, что начинаете тратить меньше времени на правильное заключение в кавычки различных параметров shell (или на корректное выполнение С-объявлений), а больше — на чтение Usenet-новостей и катание с гор на лыжах, потому что Perl — замечательное средство для вашего совершенствования как программиста. Мощные конструкции этого языка позволяют создавать (с минимальной затратой сил) некоторые очень эффективные специализированные решения и универсальные инструменты.

Управляющие структуры
Для простых программ вы уже теперь можете свободно писать собственные Perl-подпрограммы. Когда же задачи, для решения которых вы применяете Perl, станут более сложными, вам иногда будет приходить в голову мысль: "Кто-то, должно быть, это уже делал". И в подавляющем большинстве случаев вы окажетесь правы.