Добро пожаловать в мир Linux, который обрел известность как одна из немногих альтернатив операционным системам Microsoft для недорогих настольных персональных компьютеров, а в последнее время еще и как пример того, чего может добиться группа целеустремленных людей даже при отсутствии каких-либо материальных стимулов.
Linux - эффективная и быстрая бесплатная операционная система, которая реализует все возможности Unix (требующей дорогих серверов и рабочих станций) на вполне доступном по цене оборудовании, обычном для домашнего использования. Появление Linux привело к небольшой революции в компьютерном мире, после которой бесплатное программное обеспечение начало применяться для решения множества задач - от построения узлов Web, до реализации инфраструктуры корпоративных информационных систем и обучающих программ. Этот сайт является введением в установку и эксплуатацию Linux Red Hat 7.1 - распространенной версии Linux, ориентированной на использование в качестве сервера, а также рабочей станции и операционной системы обычного настольного компьютера. Для полного описания любой операционной системы с таким широким набором средств одного сайта недостаточно. Тем не менее, этот ресурс предоставляет основательные знания по Linux (в частности, Red Hat). А продолжить свое образование вы сможете уже в процессе практической работы.
Подробное описание команд операционной системы Unix. Материал по каждой команде содержит следующие сведения -имя, синтаксис, описание использования, местоположение файла в составе дистрибутива, ссылки на похожие команды. Все материалы представлены в алфавитном порядке.
Linux, возможно, является наиболее значительным достижением в области свободно распространяемых программ со времен Space War, или более позднего Emacs. Он превратился в операционную систему для бизнеса, образования и индивидуального программирования.
Linux перестал быть системой для фанатиков-программистов, которые часами сидят перед мерцающими экранами (хотя таких и немало). Эта книга поможет вам извлечь из Linux максимальную пользу.
Linux (произносится "лИнукс") принадлежит семейству UNIX-подобных операционных систем, которая может работать на компьютерах Intel 80386 и 80486. Он поддерживает широкий спектр программных пакетов от TeX до X Windows, компиляторов GNU C/C++, протоколов TCP/IP. Это гибкая реализация ОС UNIX, свободно распространяемая под генеральной лицензией GNU (см. приложение E).
Linux может любой 386 или 486 персональный компьютер превратить в рабочую станцию. Он преподнесет всю мощь UNIX к кончикам ваших пальцев. Бизнесмены инсталлируют Linux в сетях машин, используют операционную систему для обработки данных в сфере финансов, медицины, распределенной обработки, в телекоммуникациях и т.д.
Университеты по всему миру применяют Linux в учебных курсах по программированию и проектированию операционных систем.
Разумеется, повсеместно программисты-энтузиасты используют Linux дома для программирования, решения своих прикладных задач и всевозможного хакерства. Что делает Linux столь отличным от других ОС - это его создание версии UNIX "на общественных началах" (free implementation)..
Методы и средства инженерии программного обеспечения
Цель данного учебника – представить методы и средства программной инженерии (Software engineering) в систематизированном виде для их применения на процессах проектирования, тестирования и оценки качества программных систем.
Современные университетские курсы по информатике предусматривают обучение основам программирования, объектно-ориентированному подходу, UML–моделированию, параллельному программирования и др. Больше уделяется внимание современным языкам программирования (С++, JAVA) для современных компьютеров. В результате студенты получают подготовку по этим методам и средствам и недостаточные знания по инженерии проектирования и управления проектами, качеству, конфигурации и соответствующим стандартам.
В некоторых университетах проводятся лекционные курсы по теория алгоритмов, автоматов, математической логике, дискретной математике и другим формальным дисциплинам. Эти курсы основываются на математических дисциплинах (логика, алгебра, комбинаторика) и способствуют развитию математического мышления при проведении анализе предметной области, осмыслении постановок задач и разработке программ для получения на компьютере математического результата.
В наше время профессия Web-дизайнера стала массовой; почти каждая фирма и даже фирмочка имеет свое “представительство” в Интернете, авторам новых продуктов или технологий трудно рассчитывать на успех беи массированной рекламы в сети. Этот мощный “социальный заказ” породил целую индустрию средств Web-проектирования и программирования. Американская софтверная фирма Macromedia Inc., точно уловив тенденции рынка, сделала ставку на развитие программных средств, ориентированных на различные секторы Weft-дизайна и электронной коммерции. Ее успехи, достигнутые за последние несколько лет, впечатляют. Многие продукты фирмы заняли лидирующие позиции в своих отраслях, а некоторые из них можно считать флагманами, определяющими направления и тенденции развития программного обеспечения данного класса. К числу таких, редких в наше время примеров принадлежит программа Dreamweaver.
Система Dreamweaver — это визуальный редактор гипертекстовых документов. Эта совершенно корректная классификационная формулировка не способна точно передать существо дела. Мощная профессиональная программа Dreamweaver обладает всеми необходимыми средствами для генерации страниц HTML любой сложности и масштаба. Она обеспечивает режим визуального проектирования (WYSIWYG), отличается очень чистой работой с исходным текстом Web-документов, обладает встроенными средствами поддержки больших сетевых проектов.
Уже первая версия программы привлекла внимание специалистов своими большими функциональными возможностями, а также устойчивой и быстрой работой. С каждой новой версией расширялся потенциал редактора и отрабатывалось его программное ядро. Все издания Dreamweaver отмечались компьютерными специалистами, занимали ведущие позиции в рейтингах и обзорах ведущих компьютерных изданий, имели большой коммерческий успех.
В конце 2000 года вышла четвертая версия программы. Теперь только инерция заставляет называть этот продукт программой. По сути дела, это развитая среди Web-проектирования, и которую интегрировано несколько программных средств и модулей, обеспечивающих весь операционный цикл разработки и поддержки виртуальных проектов. Назовем главное.
В программе последовательно поддерживается визуальное проектирование. Визуальным принято называть такой стиль или способ создания гипертекстовых докумтов, в котором работа с текстом и образами объектов преобладает над непосредственным кодированием. В идеале, пользователь должен быть полностью свободен от необходимости обращения к кодам HTML, а проектирование обязано вытеснить программирование. Идеал — это кРлатегория абстрактная. Ни в одном из существующих в наше время редакторов концепция WYSIWYG не реализована полностью. Программа Dreamweaver подошла к декларируемому идеалу ближе конкурентов. Прямая работа с кодами не исключена полностью, но сведена к разумному минимуму. Программа не только обладает мощным арсеналом средств визуального проектирования, но и способна отображать Web-страницы почти как специализированные программы просмотра: Microsoft Internet Explorer или Netscape Navigator.
Компьютерные науки вообще и программная инженерия в частности — очень популярные и стремительно развивающиеся области знаний. Обоснование простое: человеческое общество XXI века — информационное общество. Об этом говорят цифры: в ведущих странах занятость населения в информационной сфере составляет 60%, а в сфере материального производства — 40%. Именно поэтому специальности направления «Компьютерные науки и информационные технологии» гарантируют приобретение наиболее престижных, дефицитных и высокооплачиваемых профессий. Так считают во всех развитых странах мира. Ведь не зря утверждают: «Кто владеет информацией — тот владеет миром!»
Поэтому понятно то пристальное внимание, которое уделяет компьютерному образованию мировое сообщество, понятно стремление унифицировать и упорядочить знания, необходимые специалисту этого направления. Одними из результатов такой работы являются международный стандарт по компьютерному образованию Computing Curricula 2001 — Computer Science и международный стандарт по программной инженерии IEEE/ACM Software Engineering Body of Knowledge SWEBOK 2001.
Сейчас чаще всего используются три операционные системы (ОС) семейства Windows. К 16-разрядным версиям относятся Windows 3.1 и Windows 3.11 (другое название — Windows for Workgroups), которые обсуждаются в первой части этого занятия. Далее же речь пойдет о 32-разрядных операционных системах Windows 95 и Windows NT. На этом занятии Вы познакомитесь с возможностями трех операционных систем семейства Windows.
тратить кучу времени на то, чтобы закодировать неверный алгоритм?
использовать слишком сложную структуру данных?
при тестировании программы пропустить очевидную проблему?
тратить день на то, чтобы обнаружить ошибку, которую можно было бы найти за пять минут?
сталкиваться с тем, что программа должна работать в
три раза быстрее и использовать меньше памяти?
затрачивать титанические усилия на то, чтобы перевести
программу с рабочей станции на PC или наоборот?
пытаться внести изменения в чужую программу?
переписывать программу целиком, потому что разобраться
в ней не удалось?
Ну и как — понравилось?
С программистами такое происходит все время. Однако справиться с подобными проблемами часто гораздо труднее, чем хотелось бы, поскольку такие темы, как тестирование, отладка, переносимость, производительность, альтернативы проектирования и стиль, темы, относящиеся к практике программирования, как правило, оказываются вне сферы внимания информатики и учебных курсов по программированию. Большинство программистов изучают их сами по себе, — в основном, на собственном опыте, а некоторые не изучают вообще.
В мире разнообразных интерфейсов, постоянно меняющихся языков, систем и утилит, под постоянным давлением обстоятельств мы зачастую теряем из вида главные принципы, которые должны быть основанием любой хорошей программы, — простоту, четкость и универсальность.
Не уделяется должного внимания инструментам и нотациям, способам записи, которые механизируют некоторые аспекты создания программ, то есть привлекают к процессу программирования сам компьютер.
Руководство командой разработчиков программного обеспечения
Сегодня умение руководить людьми становятся ключом к конкурентному преимуществу. Это искусство решения сложных задач при помощи других людей. Известно, что производительность программистов может отличаться в десятки раз. Задача руководителя команды разработчиков — сделать воспроизводимой высокую продуктивность интеллектуальной деятельности. Эффективный руководитель проекта программной разработки — это, в первую очередь, лидер, который, получил от команды признание своей профессиональной компетентности и своих исключительных человеческих качеств. Основываясь на последних наработках в областях управления программными проектами, психологии, соционики, социологии и личном опыте, автор излагает принципы эффективного руководства командами разработчиков программного обеспечения. Рассматриваются вопросы индивидуальной эффективности программистов, эффективных коммуникаций, разрешения конфликтов, лидерства в командах разработчиков, оценки, развития и мотивации участников проекта.
В связи с тем, что сегодня уровень сложности программного обеспечения очень высок, разработка приложений Windows с использованием только какого-либо языка программирования (например, языка C) значительно затрудняется. Программист должен затратить массу времени на решение стандартных задач по созданию многооконного интерфейса. Реализация технологии связывания и встраивания объектов - OLE - потребует от программиста еще более сложной работы.
Чтобы облегчить работу программиста практически все современные компиляторы с языка C++ содержат специальные библиотеки классов. Такие библиотеки включают в себя практически весь программный интерфейс Windows и позволяют пользоваться при программировании средствами более высокого уровня, чем обычные вызовы функций. За счет этого значительно упрощается разработка приложений, имеющих сложный интерфейс пользователя, облегчается поддержка технологии OLE и взаимодействие с базами данных.
Все вы хорошо помните те времена, когда IBM и Microsoft работали над операционными системами DOS, OS/2, Windows, а также вели другие совместные проекты. Теперь эти крупнейшие фирмы стали конкурентами, каждая из них предлагает собственные решения в области компьютерных технологий.
Microsoft делает главную ставку на Windows-95 и Windows NT. Первая из этих двух операционных систем по сообщениям Microsoft появится осенью 1995 года и будет предназначена, в первую очередь, для замены операционных систем Windows 3.1 и Windows for Workgroups 3.11. В операционной системе Windows-95 будет реализован объектно-ориентированный интерфейс пользователя. Кроме того, Windows-95 будет иметь встроенную поддержку локальных сетей и расширенный состав приложений (например, упрощенную версию текстового процессора Word for Windows версии 2.0).
Что же касается Windows NT, то эта операционная система выпускается в двух модификациях: Windows NT Advanced Server и Windows NT Workstation. Операционная система Windows NT Advanced Server предназначена в первую очередь для файл-серверов и серверов СУБД. Она требует для нормальной работы много ресурсов. Например, объем оперативной памяти должен быть не менее 16 Мбайт (а лучше установить 32 Мбайт). Модификация Windows NT Workstation предназначена для оснащения мощных рабочих станций. Даже и не думайте работать с этой операционной системой, если в вашем компьютере меньше 16 Мбайт оперативной памяти или установлен процессор i386.
В мире программирования 1990-е годы можно по праву назвать десятилетием программного обеспечения с открытым кодом (Open Source software). Движение Open Source оставило свой след практически в каждом уголке технологий - от Linux до Perl и от карманных компьютеров до мэйнфреймов. Это влияние особенно сильно в области серверных приложений среднего масштаба, в которых часто нуждаются некоммерческие организации и малые предприятия и которыми пренебрегают нацеленные на коммерческий успех производители.
В первые два десятилетия компьютерного века серверы среднего масштаба встречались достаточно редко. Компьютеры были дорогими изделиями, имевшимися в больших учреждениях, таких как банки и университеты. Громадные серверы, работавшие в режиме разделения времени, обеспечивали вычислительными мощностями целые корпорации. Большая часть использовавшегося на этих системах программного обеспечения была такой же грандиозной, как сами серверы. Поскольку единственный компьютер обслуживал нужды нескольких подразделений, если не всей организации, ему приходилось удовлетворять запросы всех пользователей.
Прежде чем перейти к основному содержанию, оговорим несколько базовых понятий, с которыми нам потом придется часто сталкиваться. В первой части этой главы вы познакомитесь с нашим вариантом классификации игровых жанров. Это необходимо, чтобы говорить с вами на одном языке. Кроме того, прежде чем сесть за компьютер и начать писать собственную игру, имеет смысл определить, в каком жанре (или их комбинации) вы намереваетесь творить.
К тому же нам понадобятся термины, описывающие перспективу игры - точку, с которой игрок наблюдает за происходящим. В разделе «Типы игровой перспективы» мы объясним и снабдим примерами такие понятия, как «вид с высоты птичьего полета», «игра от первого (третьего) лица», «изометрическая проекция» и т.п.
Почему вам нужно изучать новый язык программирования Java?
Если ответить на этот вопрос кратко, то потому, что он специально ориентирован на самые передовые технологии, связанные с сетью Internet. Растущая популярность Internet и, в особенности, серверов Web, создает для программистов новые возможности для реализации своих способностей.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой XWindows. Между тем, создавая сервер Web в сети Internet, вы бы наверняка хотели, чтобы им могло пользоваться как можно большее число людей. В этом случае вас выручат приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы.
Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.
К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ.
Вторая группа - это так называемые аплеты (applets). Аплеты представляют собой разновидность приложений Java, которые интерпретируются виртуальной машиной Java, встроенной практически во все современные браузеры.
Приложения, относящиеся к первой группе (мы будем называть их просто приложениями Java), - это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.
Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI.
Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету"- Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз.
Руководство разработчика информационных систем субд Oracle
Бурная информатизация общества, автоматизация технологических процессов, широкое использования вычислительной техники, средств связи и телекоммуникаций ставит перед современным менеджером, инженером и служащим целый комплекс взаимосвязанных задач по повышению эффективности бизнес - процессов принятия и выполнения решений.
На сегодня без использования современных автоматизированных информационных управляющих систем трудно представить себе ни учебный процесс в школе, институте, университете, ни эффективную работу практически в любой фирме, на предприятии, в банке или в госучреждении. И практически везде информационная система представляет собой интегрированную систему, ядро которой составляет база данных.
На сегодня издано огромное число различных монографий и учебников, описывающих те или иные вопросы проектирования информационных систем, теорию и практику использования СУБД и т.п. При этом успех любого издания определяется удачным сочетанием необходимого количества теоретических сведений и практических вопросов. Лишь только при таком подходе возможно дать читателю ответы на вопросы "Для чего?" и "Как?" создавать ту или иную информационную систему.
Enable Access Control Alerts («Разрешение предупреждающих сообщений доступа») обеспечивает осторожное управление. Помните, мы устанавливали для программы правила доступа» Так вот, если эту галочку «подстрелить» (сбросить), то приложения, для которых не установлены правила доступа, автоматически блокируются и не будут допущены к Всемирной паутине. При «живой» (установленной) галочке система будет спрашивать нас о разрешении на доступ.