Способы использования программного обеспечения. Программное обеспечение работы компании на примере "ооо система пк"
Глава 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ
Выше было выяснено, что компьютер выполняет любые действия по программам, написанным человеком. Сам по себе, по собственной, так сказать, инициативе, компьютер никогда никаких действий выполнить не в состоянии. Можно сказать, что компьютер без программы подобен автомобилю без водителя и горючего. Поэтому наличие программ не менее важно, чем наличие компьютера. В настоящее время программы, которые необходимы для нормального функционирования ЭВМ, могут многократно превосходить по стоимости её аппаратные средства. Для обозначения множества программ для ЭВМ используется термин программное обеспечение (ПО) ЭВМ.
i |
Программным обеспечением называется совокупность программ, которые могут выполняться на компьютере данной модели, включающая комплекты сопровождающей их технической, программной документации.
В этом определении следует выделить два момента. Во-первых, разные модели вычислительных машин обладают различной архитектурой, различными способами кодирования информации, различными системами команд. Поэтому программы, подготовленные к выполнению на компьютере одной модели, скорее всего, невозможно будет выполнить на компьютере другой модели. Таким образом, следует говорить о программном обеспечении данной конкретной модели либо семейства программно-совместимых машин. Во-вторых, вместе с программой приобретается и комплекс технической документации, в котором описываются назначение и основные возможности программы, технические требования к аппаратным средствам компьютера (необходимый объем оперативной и внешней памяти, наличие специального оборудования и т.д.), способы установки программы на компьютере и способы управления программой. Иногда описание программы и способов работы с нею может занимать сотни страниц текста. Если документация к программе отсутствует, то работать с программой очень и очень сложно, а иногда и вообще невозможно. Заметим, однако, что достаточно часто в программах предусматривается встроенная справочная система, обращаться к которой можно непосредственно во время выполнения программы. Такая справочная система обычно содержит всю необходимую для управления программой информацию. Иногда ее называют Help системой (help - помощь).
Стандартным для большинства программ является вызов встроенной справочной системы с помощью функциональной клавиши F1.
Совокупность всех программных средств, используемых на компьютере, достаточно часто называют software (software -программное обеспечение, soft - мягкий, ware - продукция), а совокупность аппаратных средств - hardware (hardware - аппаратные средства, hard - твердый). На любом конкретном компьютере имеется конкретный набор аппаратных и программных средств, которые образует его ресурсы . С течением времени ресурсы компьютера могут изменяться, увеличиваясь или уменьшаясь.
Группа взаимосвязанных программ, обеспечивающих выполнение родственных функций по обработке информации, вместе с необходимыми для этого наборами вспомогательных данных называетсяпакетом программ, илипрограммной системой.
i |
Программа, или пакет программ, разрабатываемый с целью массового тиражирования, называется программным продуктом .
Пакеты программ распространяются через торговую сеть, специальных распространителей программных продуктов или через глобальные компьютерные сети. В настоящее время применяются следующие способы распространения программных продуктов: коммерческий, shareware - частично оплачиваемый или условно-бесплатный (share - доля, часть, ware - изделие), freeware - бесплатный (free - свободный) и trial - пробный (trial - испытание). Коммерческие пакеты приобретаются за их полную стоимость, а условно-бесплатные - за небольшую, иногда символическую цену после бесплатного испытательного срока. В течение этого срока пользователь обычно работает с неполным пакетом. И если программа ему подходит, то после оплаты обусловленной суммы пользователь получает полный комплект пакета и все юридические права на его использование. Пробные (trial) пакеты распространяются их разработчиками бесплатно с целью тестирования и обкатки, а бесплатные (freeware) - в рамках проведения определенной рекламной или торговой политики. Приобретая программу через торговую сеть или у специализированных распространителей, покупатель получает все юридические права по ее использованию. При приобретении программы у легальных распространителей покупатель получает вместе с пакетом сертификат или лицензию на определенные права по использованию пакета. Нелегальные распространители не выдают таких документов. Бесплатное приобретение коммерческих и условно-бесплатных программ путем копирования (нелицензионное , нелегальное, пиратское копирование )является нарушением авторских прав разработчика программы и преследуется по закону.
Чаще всего пакеты программ реализуются в виде так называемого дистрибутива (distribute - распространять, раздавать), который представляет собой программы пакета и необходимые вспомогательные данные, записанные в специальной форме на гибких или оптических дисках. В комплекте с легальным дистрибутивом всегда поставляются необходимая программная документация, а также лицензия на право использования приобретенной программы.
Необходимо помнить, что выполнение программы, представленной в виде дистрибутива, невозможно.
Для приведения пакета или программы в рабочее состояние необходимо выполнить процедуру установки ,инсталляции (install - установка), то есть развертывания, приведения программ и данных в работоспособное состояние по правилам, изложенным в сопровождающей документации. Коммерческие дистрибутивные пакеты часто защищаются от копирования, а для их развертывания необходимо знать специальный код, позволяющий выполнить установку только законному владельцу пакета.
По мере использования программных продуктов на практике выявляются их недостатки, неиспользованные возможности и, возможно, ошибки, не замеченные на стадии разработки. Фирмы-производители учитывают всю поступающую к ним подобного рода информацию и, по возможности, вносят в получивший признание продукт соответствующие изменения. Эти изменения проявляются в виде появления новых модификаций и версий существующего программного продукта.
Версия представляет собой пакет программ, в который внесены существенные изменениями, добавлены принципиально новые функции, используется иная организация программы, данных или применяются новые способы взаимодействия пользователя с программой.
Как правило, новые модификации и версии имеют то же самое название, какое имел и исходный продукт. Однако справа от названия такого измененного продукта появляется определенный признак модификации. Например, одна из наиболее простых и популярных в свое время операционных систем (программа, обеспечивающая эффективную работу аппаратуры и выполнение некоторых других функций) для IBM–совместимых персональных компьютеров называется MS DOS (MicroSoft Disk Operation Sistem - дисковая операционная система, разработка фирмы Microsoft). За время существования выпущено несколько версий и модификаций этой операционной системы - MS DOS v1.0, MS DOS v3.0, MS DOS v3.3, MS DOS v5.0, MS DOS v5.5, MS DOS v6.0, MS DOS v6.2, MS DOS v6.22. Букву «v» (version - версия) в названии программного продукта обычно опускают и пишут, например, MS DOS 6.22. Иногда какую-либо группу версий или модификаций одной и той же программы или операционной системы называют семейством и в обозначение версии вводят букву «х», которая заменяет несовпадающие цифры обозначений. Так, группа версий MS DOS v6.0, MS DOS v6.2, MS DOS v6.22 считается семейством MS DOS 6.x.
Общих правил обозначения модификации и версий не существует. Однако в большинстве случаев появление новых модификаций отражают увеличением номера после десятичной точки. Так, MS DOS 6.0, MS DOS 6.2 и MS DOS 6.22 - разные модификации, не очень значительно отличающиеся друг от друга. Появление новой версии отмечают увеличением номера перед десятичной точкой. Например, MS DOS 3.0, MS DOS 5.0 и MS DOS 6.0 - различные версии одной и той операционной системы, существенно отличающиеся по своим возможностям. Как правило, все возможности младших (предшествующих) версий доступны их старшим (последующим) версиям. Обратите внимание! Более старшей считается версия, имеющая больший номер, но по «возрасту» она, конечно, «моложе». Кроме описанного выше номерного обозначения версий в последнее время достаточно часто используется указание в названии года выпуска продукта или буквенного обозначения. Например, у операционной системы Windows (windows - окно) к моменту написания пособия существовали версии Windows 95, Windows 98 и Windows ME (Millennium Edition - издание тысячелетия), которые были выпущены соответственно в 1995, 1998 и 2000 годах.
СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. В настоящее время в программном обеспечении принято выделять следующие группы: системное, инструментальное и прикладное программное обеспечение.
i |
Системное программное обеспечение служит для обеспечения эффективной работы аппаратуры компьютера.
Программы этой группы автоматизируют подавляющее большинство вспомогательной работы с аппаратными средствами, которую приходится выполнять при использовании всевозможных компьютерных технологий для обработки данных. К группе системных программ относятся операционные системы, операционные оболочки, архиваторы, антивирусные программы и т.д. Разрабатываются, настраиваются и поддерживаются в рабочем состоянии такие программы системными программистами . Они должны обладать высокой квалификацией, в деталях знать аппаратные средства компьютера и способы работы с данными на машинном уровне. Заметим, что обычному, рядовому пользователю приходится постоянно сталкиваться с системными программами, но уже с точки зрения их эксплуатации, использования их возможностей для решения своих задач. С некоторыми программами этой группы мы познакомимся в следующих главах пособия.
i |
Инструментальное программное обеспечение применяется для разработки всевозможных пакетов программ, применяемых в самых разных областях деятельности человека.
В группу инструментальных программ входят: трансляторыс различных алгоритмических языков, осуществляющие перевод текста программы на машинный язык; связывающие редакторы , позволяющие объединять отдельные части программ в единое целое; отладчики , с помощью которых обнаруживаются и устраняются ошибки, допущенные при написании программы; интегрированные среды разработчиков , объединяющие указанные выше компоненты в единую, удобную для разработки программ систему. Инструментальное программное обеспечение - это разновидность орудий труда для другой категории специалистов, так называемых прикладных программистов . Прикладные программисты должны не только хорошо знать приемы и способы обработки данных и уметь разрабатывать программы. Они должны хорошо ориентироваться или достаточно быстро осваиваться в различных конкретных областях применения информационных технологий - в инженерных дисциплинах, математике, физике, издательском деле, бухгалтерии, медицине и т.д. Конечным пользователям сталкиваться с программами этой группы, как правило, не приходится. Однако они должны, хотя бы отдаленно, представлять себе ситуацию и при необходимости найти общий язык с профессиональным программистом для решения собственных задач обработки данных.
i |
Прикладное программное обеспечение обеспечивает решение задач в различных конкретных областях применения компьютерных систем обработки данных.
Прикладное программное обеспечение является конечной целью деятельности прикладных программистов и одновременно орудием труда конечных пользователей. Напомним, что конечным пользователемсчитается лицо, использующее вычислительную технику для получения нужной информации, для решения конкретной задачи в той или иной предметной области или в каких–либо иных целях. При этом специалист в своей конкретной области деятельности не должен одновременно являться специалистом в области средств обработки данных, он не должен уметь программировать . Однако он должен знать основные способы и приемы работы с компьютером, назначение и основные возможности системных и, особенно, прикладных программ в своей проблемной области.
i |
Прикладная программа, или приложение, - это программа, предназначенная для решения задачи или класса задач в конкретной области применения информационных технологий обработки данных. Конкретную область применения информационных технологий принято называть проблемной областью .
Ниже перечислены некоторые основные разновидности прикладных программ.
* Всевозможные текстовые редакторы : Лексикон, Word, WordPerfect, Tex и многие другие. Текстовые редакторы используются для подготовки и изготовления различного рода печатных документов - справок, отчетов, ведомостей, статей. Наиболее мощные из текстовых редакторов в знак, так сказать, уважения к их возможностям иногда называюттекстовыми процессорами. Особыми разновидностями текстовых редакторов являются издательские системы , служащие для подготовки к тиражированию газет, журналов, рекламных буклетов, проспектов, книг. В качестве примеров издательских систем можно указать популярные системы PageMaker и Ventura Publisher.
* Графические редакторы, с помощью которых разрабатываются разнообразные рисунки, чертежи, графики, диаграммы, иллюстрации, в том числе и трехмерные изображения. В качестве примеров графических редакторов можно указать Paint, Corel Draw, PhotoShop, 3DStudioMAX.
* Электронные таблицы представляют собойэлектронный аналог обычных таблиц, с помощью которых осуществляется автоматическая обработка больших массивов текстовой и числовой информации. Возьмем, например, задачу учета отработанного времени или выполненных работ сотрудниками какого-либо подразделения. Исходные данные для решения этой задачи удобно оформлять в виде таблицы соответствующей структуры. В такой таблице можно отражать не только фактически выполненный объем работ. В нее можно вводить данные, связанные с различными коэффициентами сложности, участия, премирования, квалификационные разряды, должностные оклады, поразрядные ставки и т.д. Затем с помощью средств электронной таблицы можно автоматизировать расчет зарплат, премий, производить различного рода статистические подсчеты, формировать по данным, сосредоточенным в таблице, ведомости на зарплату, статистические отчеты, справки. Основное преимущество электронных таблиц в том, что при внесении любых корректировок в исходные данные таблицы можно произвести автоматический пересчет всего комплекса документов, подготовленных на её базе. К электронным таблицам относятся такие широко распространенные программы, как Lotus, SuperCalc, Excel, Quattro Pro и ряд других. Электронные таблицы применяют в своей профессиональной деятельности руководители предприятий, управленческие и плановые работники разного уровня, бухгалтеры, социологи и т.д.
* Базы данных - программные системы, используемые для хранения сведений об одном или нескольких объектах, ихсвойствах и взаимосвязях. Объекты, сведения о которых сосредотачиваются в базах данных, могут быть одушевлёнными и неодушевленными предметами реального мира, идеальными объектами, скажем, историческими событиями и т.д. Базы данных могут хранить информацию о десятках и сотнях тысяч различных объектов. Основное преимущество использования баз данных - это быстрота и эффективность выбора из них нужной информации. Причем время получения информации мало зависит от общего объёма сведений, хранящихся в базе. Представьте только себе, сколько времени приходится тратить людям на поиск нужных сведений в традиционных словарях и справочниках, выпущенных на бумажном носителе, например, в телефонных справочниках, библиографических каталогах, юридических справочниках (Гражданский, Уголовный кодекс) и т.д. Использование их электронных аналогов - баз данных - позволяет до минимума сократить время поиска. Мало того, базы данных предоставляют возможность выбирать данные из их общего хранилища различным пользователям с различными запросами и критериями поиска. Скажем, в библиографической базе данных можно организовать поиск всех произведений данного автора, всей литературы на данную тему, произведений, в названии которых имеется заданное слово, а также по многим другим признакам. Для разработки баз данных, первичного заполнения информацией и поддержания данных в актуальном состоянии (то есть, соответствующем текущему, реальному состоянию предметной области) служат инструментальные пакеты программ, называемые системами управления базами данных (СУБД). В настоящее время наибольшей популярностью пользуются СУБД Access, FoxPro, Paradox, Informix, Oracle и ряд других.
* Интегрированные системы объединяют в своем составе компоненты, аналогичные упомянутым выше специализированным пакетам, обеспечивая единый стиль взаимодействия со всеми составляющими пакета, а также удобный и эффективный способ передачи информации между различными его компонентами. Например, можно с помощью электронной таблицы накопить массив числовых данных и передать этот массив графическому редактору. С его помощью построить график, круговую, столбчатую или объёмную диаграмму и передать её в качестве иллюстрации в текстовый редактор для подготовки аналитического отчета. Это гораздо удобнее, чем пользоваться отдельными специализированными пакетами. Однако надо помнить, что по своим функциональным возможностям отдельные компоненты интегрированных систем значительно уступают своим специализированным аналогам.
Ярким примером интегрированных пакетов является Microsoft Office - один из лучших в мире офисных пакетов. В его состав входит мощный текстовый редактор MS Word, электронная таблица MS Excel, система управления базами данных MS Access, личный информационный менеджер Outlook, программа подготовки презентаций Power Point и некоторые другие компоненты. Все программы пакета имеют единый интерфейс и единый механизм обмена данными, поэтому документ можно создавать, используя несколько инструментов пакета.
* Системы документооборота различных предприятий и организаций, содержащие инструменты планирования и управления, автоматизации финансово-хозяйственной деятельности, учета выпускаемой продукции, подготовки различного рода отчетов, канцелярского документооборота, ведения деловой переписки и т.д. В качестве примеров можно указать пакеты отечественной разработки «СКАТ», «Парус», «Евфрат».
* Бухгалтерские программы позволяют существенно автоматизировать работу бухгалтерий самых различных предприятий и организаций. Самым популярным в нашей стране в настоящее время считается пакет «1С: Бухгалтерия», который обеспечивает выполнение всех видов бухгалтерских расчетов в комплексе.
* Корректоры - программы, обеспечивающие проверку правописания в любых тестах, документах, отчетах. Например, отечественные пакеты «ОРФО», «Пропись» содержат свыше ста тысяч слов и словосочетаний, а также практически все современные правила переноса, орфографии и пунктуации.
* Переводчики и электронные словари - программы, с помощью которых можно осуществлять автоматизированный перевод текстов с одного языка на другой. Например, пакет «Lingua Match Correspondent» обеспечивает ведение деловой переписки на шести языках. Популярными программами-переводчиками в настоящее время считаются пакеты «Stylus», «Socrat» и электронный словарь «МультилексПро», содержащий свыше двух миллионов русских и английских слов.
* Образовательные, обучающие программы и мультимедийные энциклопедии. Пакетыобразовательных программ обеспечивают индивидуальное обучение и проверку качества обучения по самым разным предметам: математике, иностранным языкам, химии, биологии. Имеется большое число дошкольных развивающих программ. В энциклопедиях представлены мир искусства, животный и растительный миры Земли, медицина и кулинария.
* Игровые и развлекательные пакеты представлены огромным числом различных игр для самых разных возрастов, а также музыкальными и видеозаписями.
Дайте определение понятию «программное обеспечение».
Каким образом можно узнать назначение, основные возможности и способы управления программами?
Что понимается под терминами software и hardware?
Что относится к ресурсам компьютера?
Дайте определение понятиям: «пакет программ», «программная система», «программный продукт».
Каким образом распространяются пакеты программ?
Чем отличается модификация программы от её версии?
Дайте классификацию программного обеспечения.
Для чего нужно системное программное обеспечение? Назовите основные программы, относящиеся к системному программному обеспечению.
Для чего используется инструментальное программное обеспечение? Назовите основные инструментальные программы.
Дайте определение понятиям «прикладная программа» и «приложение».
Для чего используются текстовые и графические редакторы. Приведите примеры редакторов.
Для чего используются электронные таблицы?
Что такое базы данных? Приведите примеры баз данных.
Для чего нужны СУБД?
В чем основная особенность интегрированных систем?
Охарактеризуйте пакет Microsoft Office.
Опишите известные Вам пакеты прикладных программ.
Linux уже давно захватил огромную часть рынка информационных технологий, большинство серверов работают под Linux, все суперкомпьютеры используют Linux, большинство планшетов и смартфонов используют Android, который, по сути, тоже является системой семейства Linux. Losst - сайт про Linux и свободное программное обеспечение, а поэтому для обеспечения его работы используется только свободное ПО.
В этой небольшой заметке мы рассмотрим какие программные решения используются для поддержания работы сайт, почему была выбрана та или иная программа и чем она лучше других. Ведь все это и есть Linux в действии. Начнем с самого низкого уровня и будет подниматься выше.
Какое программное обеспечение используется на Losst
1. Система виртуализации - XEN
Как и большинство современных сайтов Losst расположен на VPS сервисе. В качестве системы виртуализации используется XEN-PV. В сторону OpenVZ я вообще смотреть не рекомендую, так как там вы получаете только контейнер и не можете полностью контролировать свою операционную систему. Виртуализация KVM уже лучше, модуль виртуализации работает на уровне ядра, и вы можете контролировать свою ОС, для виртуализации аппаратных устройств используется Qemu. Но здесь минус в том, что возможен оверселлинг. В Xen оверселлинг реализуется сложнее, а технология паравиртуализации XEN-PV дает производительность схожую с реальным железом.
2. Операционная система - CentOS 7
В качестве операционной системы используется CentOS 7. Я выбрал эту ОС из-за длительного строка поддержки и постоянных обновлений. Если обновить Ubuntu 16.04 до LTS на сервере может вызвать определенные проблемы, то CentOS в рамках седьмой версии (на данный момент самой свежей) обновляется штатным пакетным менеджером без возникновения каких-либо проблем. Например, не так давно вышла новая версия Red Hat 7.4 и через несколько месяцев CentOS прозрачно обновилась до этой версии и получила новый Nginx с поддержкой ALPN, PHP 7 и другие улучшения. А поскольку система создана на основе корпоративной Red hat, то она очень стабильна.
3. Панель управления - VestaCP
Конечно, можно настроить сервер без всяких панелей управления, но на это нужно много времени, которое не всегда есть. Поэтому я использую панель управления с открытым исходным кодом - VestaCP. Некоторое время назад я использовал ISPManager и могу сказать что по субъективным ощущениям Vesta намного лучше. Красивый интерфейс, интуитивно понятное расположение функций, легкое управление пользователями, возможность настраивать шаблоны конфигурации по своему усмотрению, создание домена в несколько кликов, настройка Cron и веб-интерфейса и просмотр статистики. Отличная панель, если вы еще не использовали ее - рекомендую.
4. Веб-сервер - Nginx
Высокопроизводительный веб-сервер, который может выдерживать большие нагрузки благодаря своей оптимизированности под HighLoad. До перехода на использование HTTPS я использовал Apache, но потом нагрузка на сервер значительно выросла и мне пришлось искать более производительное решение. На данный момент Nginx отлично справляется со своей задачей. Сам Nginx может отдавать хоть 10 000 страниц в секунду, но узким местом здесь является PHP. Чтобы хоть как-то решить эту проблему используется fastcgi кэш для скриптов.
5. Интерпретатор скриптов - PHP 7
Основная часть сайтов сейчас написана на PHP и это нормально, так как php - самый популярный язык программирования для веб. Я использую php-fpm в связке с Nginx, это оптимальное решение. Я выбрал именно PHP 7 потому что по многим тестам его производительность немного выше чем у предыдущих версий. Также для ускорения выполнения php кода используется кэш opcache.
6. Безопасность - Lets Encrypt
Весь интернет медленно, но уверено переходит на безопасный протокол HTTPS, и хотя на этом сайте нечего перехватывать, мы тоже используем этот протокол, потому что это дает преимущества в поиске, более быструю загрузку и гарантию того, что в будущем браузеры не будут называть сайт небезопасным. Бесплатный сертификат от Lets Encrypt удовлетворяет все требования. Продление работает автоматически с помощью VestaCP.
7. Почтовый сервер - Postfix
Для отправки почты с сайта и приема почтовых сообщений для домена используется почтовый сервер Postfix. Я не выбирал этот сервер, он был автоматически установлен в VestaCP и отлично справляется со своей задачей.
8. Почтовый интерфейс - Roundcube
Чтобы иметь возможность читать письма, которые приходят на адреса из домена @сайт я использую веб-интерфейс почты roundcube. Интерфейс достаточно простой и в то же время удобный. Есть все необходимые возможности - выделение сообщений, удаление, отметка важных сообщений, сортировка по папкам и многое другое.
9. СУБД - MariaDB
Ни один современный динамический сайт не работает без системы управления базами данных. На Losst используется СУБД MariaDB - эта СУБД разработана создателем MySQL после перехода последней в собственность Oracle. Эта база данных имеет все возможности MySQL, более высокую производительность, а также огромное сообщество разработчиков. Обновления для MariaDB выходят быстрее чем MySQL, а также разработка ведется более активно.
10. Резервное копирование - automysqlbackup
Резервное копирование на сервере - это одна из самых важных вещей. Пусть оно будет не нужным основную часть времени, но один раз это может спасти огромное количество вашего времени и ресурсов. Я использую скрипт для автоматического копирования базы данных automysqlbackup. Резервная копия выполняется каждый день, к тому же скрипт позволяет выполнять ротацию копий и удалять лишние. Сохраняются все копии за последнюю неделю, ода копия недельной давности, одна месячной и одна годовой. Такое поведение можно настроить для каждой из баз данных.
11. Система мониторинга - zabbix
В работе сайта важно, чтобы он был постоянно доступен для пользователей и поисковых систем. Поэтому для мониторинга состояния сервера используется Zabbix. Zabbix позволяет отслеживать все состояние служб, нагрузку на сервер и другие параметры, а также информировать о появлении проблем через Email или Telegram. Чем раньше я узнаю о проблеме, тем раньше она будет решена и сайт снова заработает.
12. Система управления контентом - WordPress
WordPress - одна из самых популярных систем управления контентом в мире, она имеет огромное количество возможностей и огромное количество плагинов, созданных сторонними разработчиками. Да WordPress не идеален. Без кэширования он очень медленный и еще имеет кучу проблем. Но разрабатывать собственную CMS тоже не вариант, поскольку это занимает очень много времени и у вас просто не будет времени наполнять сайт контентом и думать о других вещах. Я знаю о чем говорю, несколько лет назад я уже пытался создать CMS на PHP, исходники до сих пор где-то лежат на GitHub, из того проекта ничего не вышло. В итоге либо вы делаете CMS, либо сайт, все вместе делать не получиться.
Выводы
В этой статье мы рассмотрели какое программное обеспечение используется для работы Losst. На момент написания статьи - все основные используемые программы распространяются с открытым исходным кодом. Конечно, есть плагины для WordPress, которые имеют закрытую лицензию, но это уже необходимость. А какое программное обеспечение используете вы на своих серверах? Напишите в комментариях!
Технология поиска Web-страниц
С ростом числа сайтов и увеличением объема информации, размещенной на страницах в Интернете, возникла необходимость структурирования ссылок на различные темы. С этой целью были созданы тематические каталоги, в которых хранились ссылки на интернет-ресурсы, отсортированные по темам. Ссылки размещались в каталогах либо владельцами сайтов, либо специалистами, сотрудниками каталогов. В ответ на запрос клиент мог получить относительно небольшое количество ссылок. При этом степень соответствия темы страницы теме запроса (релевантность) была высока.
Постепенно процесс каталогизации и поиска ссылок на страницы автоматизировался. Возникли поисковые машины, сканирующие существующие интернет-ресурсы и индексирующие сайты по ключевым словам, часто встречающимся на страницах. Роль человека в этом процессе уменьшилась. Возросло количество ссылок-ответов на запрос. Но релевантность при этом была ниже, чем в каталогах. Алгоритмы поиска, программное обеспечение, задействованное в системах постоянно совершенствуется. И в настоящее время грань между каталогами и поисковыми машинами постепенно стирается. Большинство успешных каталогов включили в свой состав поисковые машины, расширив тем самым границы поиска запрашиваемых тем.
Сейчас поисковая система - это программно-аппаратный комплекс с веб-интерфейсом, предоставляющий возможность поиска информации в . Обычно это сайт, на котором размещён интерфейс системы. Программной частью поисковой системы является поисковая машина (поисковый движок) - комплекс программ, обеспечивающий функциональность поисковой системы и обычно являющийся коммерческой тайной компании-разработчика поисковой системы.
Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на , товары в интернет-магазинах, а также информацию в группах новостей Usenet.
Первой поисковой системой для Всемирной паутины был «Wandex», уже не существующий индекс. При помощи специальной программы «World Wide Web Wanderer» автоматически или по заданному расписанию выполнялись какие-либо действия через те же интерфейсы, что и у обычного пользователя. Разработан Мэтью Грэем (англ. Matthew Gray) из Массачусетского технологического института в 1993. Также в 1993 году появилась поисковая система «Aliweb», работающая до сих пор.
Первой полнотекстовой (т. н. «crawler-based», то есть индексирующей ресурсы при помощи робота) поисковой системой стала «WebCrawler», запущенная в 1994. В отличие от своих предшественников, она позволяла пользователям искать по любым ключевым словам на любой веб-странице - с тех пор это стало стандартом во всех основных поисковых системах. Кроме того, это был первый поисковик, о котором было известно в широких кругах. В 1994 был запущен «Lycos», разработанный в университете Карнеги Мелона.
Вскоре появилось множество других конкурирующих поисковых машин, таких как «Excite», «Infoseek», «Inktomi», «Northern Light» и «AltaVista». В некотором смысле они конкурировали с популярными интернет-каталогами, такими, как «Yahoo!». Позже каталоги соединились или добавили к себе поисковые машины, чтобы увеличить функциональность. В 1996 году русскоязычным пользователям интернета стало доступно морфологическое расширение к поисковой машине Altavista и оригинальные российские поисковые машины «Рамблер» и «Апорт». 23 сентября 1997 была открыта поисковая машина Яндекс.
В последнее время завоёвывает всё большую популярность практика применения методов кластерного анализа («интеллектуальной» группировки результатов при поиске файлов, веб-сайтов, других объектов, предоставляя пользователю возможность быстрой навигации, выбора заведомо более релевантного подмножества и исключения заведомо менее релевантного) и поиска по метаданным. Из международных машин такого плана наибольшую известность получила «Clusty» компании Vivísimo. В 2005 году на российских просторах при поддержке МГУ запущен поисковик «Нигма», поддерживающий автоматическую кластеризацию. В 2006 году открылась российская метамашина Quintura, предлагающая визуальную кластеризацию в виде облака тегов. «Нигма» тоже экспериментировала с визуальной кластеризацией.
Помимо поисковых машин для Всемирной паутины, существовали и поисковики для других протоколов, такие как Archie для поиска по анонимным FTP-серверам и «Veronica» для поиска в Gopher.
По данным компании Net Applications, в ноябре 2011 года использование поисковых систем распределялось следующим образом:
В Беларуси ситуация с поисковыми системами выглядит так (по данным Liveinternet):
Работа с тематическим каталогом: уточнение темы, поиск по ключевым словам в каталоге или в текущем разделе
Каталог сайтов Интернета, или каталог Интернет-ресурсов, или просто Интернет-каталог, - структурированный набор ссылок на сайты с кратким их описанием. В базе данных поисковой системы web-сайты группируются в иерархические тематические каталоги, которые являются аналогами тематического каталога в библиотеке. Тематические разделы верхнего уровня, например: Интернет, Компьютеры, Наука и образование и т. д., содержат вложенные каталоги. Например, каталог Интернет может содержать подкаталоги Поиск, Почта и др. Сайты внутри каталога разбиваются по темам, а внутри тем могут быть ранжированы или по индексу цитирования (как в каталогах Яндекса или Google), или по дате добавления, или по алфавиту, или по другому параметру. Поисковые кaтaлoги coздaются вpучную, т.e. инфopмaция в них зaнoсится людьми.
Поиск информации в каталоге сводится к выбору определенного каталога, после чего пользователю будет представлен список ссылок на Интернет-адреса наиболее посещаемых и содержательных web-сайтов. Каждая ссылка обычно аннотирована, т. е. содержит короткий комментарий к содержанию документа.
Особенность каталогов в том, что они более эффективны при поиске подборок информации на определенную общую тему, например, «профсоюзное движение», «редакции газет Урала», а не при поиске ответа на конкретный вопрос.
Глобальные каталоги: Open Directory Project, также известный как DMOZ.Каталог, Yahoo!, AboutUs.org,.
Русскоязычные каталоги: каталог @mail.ru, Яндекс, Каталог Wapalta, RINTooby, каталог Amiso.
Белорусские каталоги: TUT.BY, URL.BY, OPEN.BY.
Работа с поисковыми машинами
Поисковый сервер содержит большое количество ссылок на самые различные документы, и все эти ссылки систематизированы в тематические каталоги. Например: спорт, кино, автомобили, игры, наука и др. Причем эти ссылки устанавливаются сервером самостоятельно, в автоматическом режиме путем регулярного просмотра всех появляющихся во Всемирной паутине web-страниц. Кроме того, поисковые серверы предоставляют пользователю возможность поиска информации по ключевым словам. После ввода ключевых слов поисковый сервер начинает просматривать документы на других web-серверах и выводить на экран ссылки на те документы, в которых встретились указанные слова. Обычно результаты поиска сортируются по убыванию специального рейтинга документов, который показывает, насколько полно заданный документ отвечает условиям поиска или насколько часто он запрашивается в сети.
Поиск по ключевым словам
Поиск документа в базе данных поисковой системы осуществляется с помощью введения запросов в поле поиска. Запрос должен содержать одно или несколько ключевых слов, которые являются главными для этого документа. Через некоторое время после отправки запроса поисковая система вернет список Интернет-адресов документов, в которых были найдены заданные ключевые слова.
Чтобы получить лучшие результаты поиска, необходимо запомнить несколько простых правил:
- Не искать информацию только по одному ключевому слову.
- Лучше не вводить ключевые слова с прописной буквы, так как это может привести к тому, что не будут найдены те же слова, написанные со строчной буквы.
- Если в итоге поиска вы не получили никаких результатов, проверьте, нет ли в ключевых словах орфографических ошибок.
- Современные поисковые системы предоставляют возможность подключения к сформированному запросу семантического анализатора. С его помощью можно, введя какое-либо слово, выбрать документы, в которых встречаются производные от этого слова в различных падежах, временах и пр.
Поиск web-страниц в поисковых машинах в режиме расширенного поиска
Чтобы осуществить расширенный поиск в Интернет, необходимо использовать регулярные выражения. Регулярные выражения позволяют осуществить поиск по некоторому шаблону слова или выражения, в который включаются как буквы слова, которые необходимо найти, так и символы, заменяемые другими, произвольными символами.
В регулярных выражениях используются следующие символы:
? - символ, указывающий на то, что на месте этого знака может встречаться любая буква или цифра. Например, регулярному выражению м?л удовлетворяют слова «мал», «мол» и «мел».
*
- символ, указывающий на то, что на его месте может встречаться произвольное число любых символов, в том числе пустое множество символов. Например, регулярное выражение «М*
» означает любое слово, начинающееся с прописной русской буквы «М».
Эти символы можно комбинировать. Например, по шаблону: «(?* )» будут искаться все непустые выражения, заключенные в обычные (круглые) скобки.
Другие регулярные выражения встречаются редко. Это: «[», «]», «{,}», «^». Отметим, что регулярные выражения «заменяют» символы, поэтому не могут искать сами себя.
Использование регулярных выражений позволяет во много раз «сократить сущности» при поиске ключевых слов. Например, набрав запрос: нов?? автомобил* вы получите ответ, содержащий слова «новый», «новые», «автомобиль», «автомобили» и т.д. Этот запрос обрабатывается гораздо быстрее и точнее, чем простое перечисление слов.
При комбинации запросов, содержащие несколько слов, может возникнуть ситуация, когда требуется найти не просто ключевые слова, а, например:
- чтобы все ключевые слова присутствовали в тексте найденных страниц;
- чтобы в тексте найденных страниц присутствовало хотя бы одно слово (этот режим используется при поиске первоначально);
- чтобы в тексте найденных страниц обязательно присутствовали одни слова, и не встречались другие.
Для написания таких запросов нужно использовать выражения булевой алгебры: «И», «ИЛИ», «НЕ». Они обозначаются соответственно как «&», «|» и «~». Запросу <выражение 1> & <выражение 2> удовлетворяет обязательное одновременное присутствие в ответе обоих выражений. Запросу <выражение 1> | <выражение 2> удовлетворяет присутствие хотя бы одного выражения в ответе. И, наконец, запрос <выражение 1>~<выражение 2> выполняется только в случае присутствия первого выражения и отсутствия в ответе второго выражения. Запросы можно объединять, используя круглые скобки, например: стар?? | антикварн??) & автомобил*
.
Многие поисковые системы позволяют при поиске учитывать расстояние между словами. Условно «расстояние» между словами - это количество посторонних слов, встречающихся вместе со словами, по которым ведется полнотекстовый поиск. Приведем пример. Если задан запрос на поиск в виде следующей фразы: широкий стол, то расстоянием между этими словами в тексте для разных фраз будет:
- широкий стол - два слова;
- широкий письменный стол - три слова;
- широкий простор открывался из окна. Поручик сел за обеденный стол. - восемь слов (без учета стоп-слов «за» и «из», а также знаков препинания).
Если пользователь ищет стол для покупки, то последний фрагмент его не заинтересует. Для поиска устойчивых словосочетаний выбирайте опцию поиска «слова вместе» расширенного поиска или используйте ключевые слова для ограничения расстояния. **
В некоторых поисковых машинах предусмотрена опция «поиск по странам» и «поиск по регионам». Для этого пользователь в специальном поле формы запроса пишет (или выбирает) название страны и региона. В этом случае ответы на запрос «фильтруются» по Интернет-адресам серверов, расположенных в данном регионе.
Некоторые поисковые системы предоставляют услугу фильтрации содержимого по типу файлов. Так, по умолчанию поиск ведется только по Веб-страницам (html-файлам). При включении фильтра также будет осуществляться поиск в файлах формата Adobe Acrobat (.pdf), Microsoft Word (.doc), Microsoft Excel (.xls), Microsoft PowerPoint (.ppt) и Macromedia Flash (.swf). Необходимо только учесть, что проиндексированного содержимого этих файлов гораздо меньше, чем HTML, поэтому, если поиск с использованием этого фильтра даст отрицательный результат, это не значит, что таких фрагментов в этих файлах нет - скорее всего, их просто нет в индексе.
Встроенный фильтр некоторых поисковых систем позволяет проверять и выбраковывать веб-страницы, закачанные на веб-сервер раньше или позже определенных дат. Этим фильтром можно отсечь «мертвые», давно не обновляющиеся страницы.
Фильтр по размеру файлов позволяет отсечь слишком малые (меньше 1 Кб) или слишком большие файлы или веб-страницы.
По умолчанию поисковая система ищет только оригинальные страницы, а не их копии на других веб-сайтах (так называемых «зеркалах», «mirror» по-английски). Чтобы система не игнорировала зеркала, необходимо включить эту опцию.
В общем случае регистр написания букв в поисковых словах и операторах значения не имеет. То есть такие слова, как конь и КОНЬ, and и aND воспринимаются поисковыми системами как одинаковые. Однако, в некоторых поисковых системах, с целью повышения качества поиска, регистр слов в запросе принимае6тся во внимание. Прежде всего, это касается обработки имен собственных. Например, если запрос в Рамблере состоит из двух, трех или четырех слов, каждое из которых начинается с прописной буквы, то эти слова считаются именами собственными. Поисковая система автоматически производит изменение ограничения расстояния между словами запроса со значения по умолчанию на величину (n-1)*2, где n - количество слов в запросе. Это позволяет находить группу слов запроса, внутри которого есть не более одного «лишнего» слова или знака препинания, например: «Николай Гаврилович Чернышевский», «Л.Н. Толстой», «Ростов на Дону».
Для поиска цитат можно использовать двойные кавычки. Слова запроса, заключенного в двойные кавычки, ищутся в документах в тех форматах и в том порядке, в котором они встретились в запросе. Следовательно, двойные кавычки можно использовать и просто для нахождения слова в заданной форме (по умолчанию слова находятся во всех морфологических формах).
По каждому слову запроса ведется поиск с учетом правил словообразования и морфологии соответствующего языка. Например, при поиске по слову «человек» будут найдены документы, содержащие слова «человеку», «человеком», «человека», и даже «люди». Чтобы произвести поиск только по одной определенной форме слова, нужно взять его в двойные кавычки, или воспользоваться поиском точной фразы в расширенном поиске.
Некоторые слова и символы по умолчанию исключаются из запроса в связи с их малой информативностью. Это так называемые стоп-слова, самые частотные слова русского и английского языка: предлоги, частицы, союзы и артикли. Присутствие этих слов может замедлить поиск и негативно повлиять на полноту результатов. Если необходимо все-таки включить эти слова в поиск, используйте двойные кавычки.
Если запрос состоит из нескольких слов, и при этом некоторые из них вообще не удалось найти, то выдаются результаты поиска по частичному запросу. Из этого результата частичного поиска исключаются отсутствующие слова. При этом на странице результатов поиска выдается соответствующая диагностика. Если запрос был составлен из двух или нескольких слов без применения операторов и конструкций языка запросов, то будут найдены документы, в которых встречаются все слова запроса. При этом для каждого запроса всегда существует так называемое ограничение контекста - положительное число, по умолчанию равное расстоянию в 40 слов.
Документ, в котором встречаются все слова запроса, будет выдан только в том случае, если расстояния в словах между вхождениями этих слов запроса будет меньше этого числа. Например, по запросу: «красная армия» будут найдены те документы, в которых слова «красная» и «армия» будут хотя бы один раз меньше, чем в 40 словах друг от друга. Значение ограничения контекста можно изменять конструкцией «(число, запрос)», где число - любое положительное число, а запрос - любой корректный с точки зрения поисковой машины запрос, состоящий более чем из одного слова. Таким образом, по запросу «(2, красная армия)» найдутся только те документы, в которых между словами «красная» и «армия» хотя бы раз не стоит ни одного слова (поскольку лишь в случае их непосредственного соседства разница в порядковых номерах слов меньше двух, то есть равно единице).
Поисковые системы физически не могут создавать индексы на всех языках. Все поисковые системы имеют «национальную» составляющую. Какие-то из поисковых систем ищут тексты только на английском языке (Yahoo.Com, Alta Vista.Com), какие-то на русском и английском (Рамблер), некоторые индексируют страницы на нескольких языках. Например, поисковая система Яндекс способна индексировать файлы на русском, английском, немецком, французском, украинском и белорусском языках. Особняком среди этих поисковых систем стоит Google: базовый ее сервер (www.google.com) индексирует файлы на английском языке, а национальные серверы (www.google.de, www.google.fr, www.google.ru) - на своих национальных языках. Все индексные базы находятся в одной глобальной сети, поэтому, можно сказать, что Google - одна из немногих поисковых систем, которая ищет сразу на всех языках в сети.
Особенности составления запросов в различных поисковых машинах
Лицензионно-правовые особенности свободного программного продукта
Определение Свободного Программного Обеспечения было дано Ричардом Столлмэном в 1986 году. Однако само это явление существовало и ранее. Фактически, большая часть программного обеспечения до 1980-х годов распространялась принципами, лежащими в основе Свободного ПО.
Свободное ПО может считаться таковым, если предоставляет пользователю следующие четыре свободы:
- свобода запуска программы в любых целях;
- свобода изучения работы программы и адаптации ее к нуждам пользователя (необходимым условием этой свободы является доступ к исходным кодам);
- свобода распространения копии;
- свобода распространения модификаций и улучшенных версий
Фонд Свободного Программного Обеспечения (Free Software Foundation, основанный в 1985 г. Ричардом Столлмэном), разделяет ПО на свободное (Free Software), полусвободное (Semi-free Software) и собственническое (Proprietary Software). Свободное ПО должно обладать всеми четырьмя свободами, приведенными выше. Полусвободное допускает те же свободы, только в отношении некоммерческого использования. Все остальное программное обеспечение относится к собственническому.
Термин «Открытое Программное Обеспечение» (Open Source, далее «ОПО») был предложен в 1998 году Эроком Реймондом и Брюсом Перенсом как альтернатива термину Свободное ПО, поскольку слово «free» в английском «Free Software» часто ошибочно читалось как «бесплатное» (а не «свободное»), что отпугивало коммерческих предпринимателей. Понятие Свободное ПО и Открытое ПО близки, многие лицензии удовлетворяют им обоим, в то же время определение Свободное ПО более строгое и требует обязательного предоставления свобод распространения, модификации, изучения и распространения улучшенных версий, тогда как Открытое ПО концентрируется на открытости исходных кодов как эффективного метода разработки.
По отношению к платности программное обеспечение можно условно разделить на:
- Бесплатное (Freeware). Лицензия такого ПО допускает бесплатное распространение бинарных экземпляров ПО. Этот термин не является синонимом Free Software, поскольку Freeware может распространяться без исходных кодов и других свобод, а Free Software не обязательно распространяется бесплатно.
- Условно-бесплатное (Shareware). Как правило, распространяемые бесплатно экземпляры имеют ограниченную функциональность, работают в течение ограниченного промежутка времени или имеют рекламную функцию, отключающуюся после оплаты.
Качество открытого исходного кода Свободного ПО, как правило, выше, поскольку закрытый исходный код скрывает недостатки и ошибки разработчика от коллег и клиентов. При открытом коде выше доля ответственности разработчика, в том числе и его репутационная ответственность.
В развитии Свободного ПО может участвовать любой из пользователей. Благодаря этому Свободное ПО может лучше отражать предметную область и быть более удобным в применении. Следует отметить, что этот эффект в наибольшей степени сказывается в областях, охватывающих достаточно большое количество IT-специалистов, таких как разработка программного обеспечения, наука, образование, порталы государственных услуг населению.
Благодаря доступности исходных кодов и свободы их использования Свободное ПО позволяет реализовать все преимущества повторного использования кода.
Эффект от поддержки основанного на Свободном ПО проекта IT-сообществом может оказаться настолько велик, что даже небольшой студенческий проект может превратиться в передовой программный продукт, наравне конкурирующим с лидерами IT-отрасли, и будет поддерживаться крупнейшими коммерческими и государственными организациями. Яркий пример - ядро операционной системы Linux.
Видеоматериалы
Как устроен информационный центр Google
(English)
Мэтт Катс (Google) объясняет, как работает поиск Google
(English)
Как искать людей с помощью Яндекса
Часто задаваемые вопросы
В чем основное отличие браузеров Яндекс, Рамблер, Google?
Яндекс обобщает все словоформы (мн. и ед. число, падежи), опускает предлоги (за, на, под и т. д.) и вопросительные формы (что, когда, как и т. п.). То есть при помощи Яндекса выне получите конкретный ответ на запрос «Дом» или «Дома», а только общее количество запросов по всем словоформам конкретного единичного слова.
Кроме стандартной информации по запросам, а также словосочетаниях и близких темах, поисковик предоставляет возможность отсеивать результаты по регионам, городам, а также по месяцам.
Учитывая тот факт, что Яндекс является самой популярной в Рунете поисковой системой, подобная статистика является наиболее репрезентативной при оценке положения дел в Рунете.
Рамблер в этом плане более точен, и его отчёты, по умолчанию, выдают сочетания запросов, в том виде, в котором их ввел в строку поиска пользователь. Для выдачи отчёта, подобного отчету Яндекса, в Рамблере предусмотрен язык запросов. Например, для получения всех словоформ от слова «Дерево» необходимо будет ввести «Дерев*».
Интерфейс Google
содержит довольно сложный язык запросов, позволяющий ограничить область поиска отдельными доменами, языками, типами файлов и т. д. Например, поиск «intitle:Google site:wikipedia.org» выведет все статьи Википедии на всех языках, в заголовке которых встречается слово Google.
Для результатов поиска Google ранее предоставлял возможность повторного поиска, что позволяло производить поиск более детально. Для более детального поиска пользователям необходимо было указывать дополнительные параметры, по которым происходил отбор результатов, что позволяло сразу отобразить не только запрос, но и контекст, где он применяется. Данная возможность упрощала процедуру поиска, исключив необходимость в открытии каждого результата.
Что такое метопоисковая система?
Метапоисковая система (метапоисковая машина) - это поисковая система, которая в отличие от классических поисковых машин не имеет собственной базы данных и собственного поискового индекса, а формирует поисковую выдачу за счет смешивания и переранжирования результатов поиска других поисковых систем.
Как расширить возможности поиска?
1. В каждой поисковой системе, как правило, есть функция расширенного поиска. С его помощью можно найти нужную информацию на конкретном сайте, в определенном регионе и на определенном языке. Также можно уточнять поиск по многим другим параметрам: тип файлов, точность результата и пр. Данные параметры могут различаться в различных поисковых системах.
2. Более оперативный способ - использование , таких как AND или &, OR или |, NOT, ?, *, «», () и пр.