
- •Введение
- •Жизненный цикл it-проекта
- •Концепция проекта
- •Определение проекта
- •Выполнение проекта
- •Завершение проекта
- •Стандарты жизненного цикла
- •Выбор методологии
- •Жесткие и гибкие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Архитектура Вычислительные системы
- •Операционные системы
- •Выбор языка и среды программирования
- •Краткий обзор распространенныхпромышленных языков программирования и программных платформ
- •Разработка программного обеспечения Парадигмы программирования
- •Структурное программирование
- •Процедурное программирование
- •Функциональное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Аспектно-ориентированное программирование
- •Визуально-ориентированное программирование
- •Метапрограммирование
- •Качество кода. Критерии качества кода
- •Форматирование и оформление
- •Комментарии
- •Читаемость
- •Обработка исключений
- •Документирование
- •Рефакторинг
- •Архитектура программного обеспечения
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Адаптер (adapter, wrapper)
- •Абстрактная фабрика (abstractfactory, kit)
- •Стратегия (strategy, policy)
- •Менеджмент Проекта
- •Проектный менеджмент
- •Команда менеджмента проекта Команды в проекте
- •Соотношение между различными командами в проекте
- •Цели кмп в проекте
- •Создание и развитие кмп Сущность и характеристики кмп
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •Интегрированная культура кмп
- •Оценка деятельности кмп Что такое эффективная кмп?
- •Команда Менеджмента Проекта – критический фактор успеха проекта
- •Структура проекта Определение проекта
- •Основные признаки проекта
- •Направленность на достижение целей
- •Координированное выполнение взаимосвязанных действий
- •Ограниченная протяженность во времени
- •Уникальность
- •Структура проекта
- •Разработка программного обеспечения Виртуальная реальность
- •Виртуальная реальность в играх.
- •Виртуальная реальность и 3d.
- •История виртуальной реальности.
- •Что такое виртуальная реальность?
- •Миры с различными потенциально-возможными сценариями хода событий
- •Студии виртуальной реальности на телевидении
- •Имитационное моделирование
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Распределённые и облачные вычисления Распределённые вычисления
- •История
- •Участие в проектах распределенных вычислений Общая схема участия
- •Привлечение и мотивация участников
- •Критика проектов распределенных вычислений
- •Организации, участвующие в проектах распределенных вычислений
- •Список проектов распределённых вычислений
- •Биология и медицина
- •Математика и криптография
- •Естественные науки
- •По для организации распределённых вычислений
- •Облачные вычисления
- •Терминология
- •Критика
- •Примеры
- •Потребность
- •Внешние и внутренние облака
- •Стоимость
- •Надёжность
- •Проблемы облачных технологий
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Аутсорсинг
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусскиекомпании
- •Типы аутсорсинга
- •Развитие cad технологий
- •Исправление ошибок
- •Системы старшего класса
- •Большие сборки
- •Зачем нужны сборки
- •Стратегии упрощения
- •Моделирование
- •Параметризация
- •Гибридное моделирование
- •Практические результаты
- •Проектная база: технология моделирования
- •Переход к гибридному моделированию
- •Электронная сборка
- •Модель акторов
- •История
- •Фундаментальные концепции
- •Формальные системы
- •Применения
- •Семантика передачи сообщений
- •Локальность
- •Безопасность
- •Актуальность в настоящий момент
- •Социальный компьютинг
- •Сферы применения
- •С чего начать
- •Тестирование программного обеспечения Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системы непрерывной интеграции
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Виды тестов регрессии
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Серый ящик. Комбинация предыдущих.
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Нарушение авторских прав
- •Типы лицензий
- •Проприетарные лицензии
- •Свободные и открытые лицензии
- •Пиратское по
- •Взгляд в будущее
- •Взлом информации и защита от взлома Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атакинаклиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
- •Классические hips
- •Экспертные hips
- •Жизненный цикл вируса.
- •Стратегии развития крупнейших it-компаний
- •Перспективы развития Microsoft
- •Секреты успеха
- •Крупнейшие производители современных операционных систем и их продукты
- •Основные заблуждения по поводу Macintosh
- •Технические подробности операционной системы
- •Причины успеха и будущее компании
- •История создания Linux
- •Свободное программное обеспечение
- •Графические интерфейсы Linux
- •Дистрибутивы Linux
- •Безопасность Linux
- •Краткая история FreeBsd и unix
- •Рождение системы bsd
- •Bsd на платформах Intel х86
- •Рождение FreeBsd
- •Преимущества FreeBsd
- •Различия между FreeBsd и Windows
- •Мобильные ос
Безопасность Linux
Существует расхожее мнение о том, что Linux характеризуется слабой безопасностью. Но это в корне не верно. Linux - детище глобальной сети Internet и именно поэтому безопасности при ее разработке всегда уделялось огромное внимание. Не случайно в вопросах защищенности Linux всегда выгодно отличалась от многих современных ОС, в том числе многих коммерческих версий Unix.
В настоящее время существуют два основных подхода, используемых для обеспечения безопасности ОС: над слабо защищенной ОС <навешивается> для усиления защитный экран (firewall), или firewall наряду с десятком других средств защиты интегрируется на уровне ядра системы.
Первый подход использует фирма Microsoft и это подтверждает анализ последних версий Windows NT. Разработчики Linux выбрали для себя второй подход (код firewall встроен непосредственно в ядро Linux, начиная с версии 2.0). В результате была получена мощная интегрированная система защиты.
FreeBSD
FreeBSD — это операционная система типа UNIX. Она работает на архитектурах Intel х86 и Alpha, и в настоящее время ведутся работы по переводу ее на архитектуру Sparc и PowerPC. Добровольцы со всех концов света трудятся над совершенствованием FreeBSD, и исходный код этой системы доступен для всех желающих. Наверное, существует столько причин для пользования FreeBSD, сколько людей, ею пользующихся. Главной причиной, безусловно, является то, что FreeBSD — бесплатная система, не обременяющая пользователя дорогой лицензией. Вы можете бесплатно установить копию FreeBSD на всех своих компьютерах, сколько бы их ни было. Если вы устанавливаете сервер, вам не потребуется платить за каждое подключение или за дополнительных пользователей, как в некоторых коммерческих сетевых операционных системах. Операционная система FreeBSD имеет и другие преимущества:
Система чрезвычайно стабильна. По данным компании Netcrafl (www.netcraft.com), изучавшей сайты с самым продолжительным календарным временем беспрерывной работы, из 50 первых в ее списке сайтов 47 функционирует под управлением FreeBSD. С момента последней перезагрузки Web-сервера №1 прошло уже 1133 дня! И конечно же, он работает под FreeBSD.
Системой FreeBSD пользуются крупнейшие компании и интенсивно используемые сайты: Sony; Yahoo!; The Apache Project и freesoftware.com — самый популярный и посещаемый FTP-сайт в мире.
Система открыта. Доступно все дерево исходного кода этой операционной системы, в код можно вносить изменения, выполнять любые проверки защиты и т.д.
Доступны тысячи бесплатных пакетов прикладных программ. Под FreeBSD работают тысячи свободно распространяемых программ для решения любых задач: игры, офисные приложения, графическое ПО, а также самый известный в мире Web-сервер. Поскольку система FreeBSD устанавливается вместе с компиляторами для многочисленных языков программирования, ее возможности ограничены лишь возможностями имеющихся аппаратных средств. FreeBSD используется очень широко — начиная от совместной работы с файлами и заканчивая мощными высококачественными спецэффектами и генерированием компьютерной анимации. FreeBSD может работать на старом компьютере с 486 процессором и на мультипроцессорных системах, объединенных в мощные кластеры. Спецэффекты для кинофильма "Матрица" кинокомпании Warner Brothers были созданы на кластере под управлением FreeBSD. Ниже перечислены наиболее общие применения систем FreeBSD, не требующие ни специальных знаний в области программирования, ни значительных денежных средств:
Экономичное решение для совместного использования файлов и принтера. Свободно распространяемый набор программ Samba (подробнее см. главу 32) позволяет организовать совместное использование файлов и принтеров с компьютеров, работающих под управлением разных операционных систем, в том числе и Windows. В этом случае FreeBSD может выступать в роли главного контроллера домена (Primary Domain Controller) для сети Windows.
Web-сервис. Как уже говорилось, система FreeBSD управляет работой самых загруженных Web-серверов. Даже если вы пока не планируете создавать собственный Internet-сайт, FreeBSD — хорошая основа для большого корпоративного сервера.
Электронная почта. С помощью FreeBSD можно запустить почтовый сервер компании даже на базе устаревшего 486-го компьютера.
Маршрутизация, DNS-сервер и NAT. Даже старую систему можно превратить в полезный маршрутизатор, DNS-сервер или, скажем, в гейт для подключения к Internet нескольких пользователей через одно соединение.
Экономичные базы данных. Используя бесплатные базы данных с поддержкой SQL, можно создать бесплатное решение, не уступающее многим коммерческим программам стоимостью в десятки тысяч долларов. Кстати, под FreeBSD можно запустить даже СУБД Oracle.
Лицензионная политика. FreeBSD имеет очень либеральную лицензию, позволяющую бесплатно использовать исходный код системы при разработке собственных приложений. Для специалиста по разработке встроенных систем это прекрасное решение. FreeBSD — не только для серверов. Кроме серверных решений, существует масса иных применений FreeBSD, которые вас наверняка заинтересуют.
Например:
Разработка и тестирование Web-сайтов. Время, когда Web-страницы отображали статический код HTML, уже стало историей. Сегодня Web-страницы используют серверные технологии, такие как встроенные и CGI-сценарии, а также запросы к базам данных, позволяющие создавать динамический и интерактивный контент. Чтобы разработать Web-сайт любой сложности, потребуется Web-сервер, пригодный для разработки и тестирования. FreeBSD прекрасно справится с этой работой.
Разработка баз данных в автономном режиме. FreeBSD дает возможность разрабатывать и тестировать базу данных для Web-сайта полностью автономно.
Разработка программ или изучение программирования. Изучающих языки программирования порадует тот факт, что, используя FreeBSD, можно сэкономить на компиляторах и программах отладки. Все, что понадобится при изучении программирования и написании мощных приложений, поставляется вместе с системой.
Недорогая рабочая станция. Благодаря наличию в системе бесплатных программ с помощью FreeBSD можно создать недорогую и в то же время мощную рабочую станцию для выполнения практически любых задач.