Способы использования программного обеспечения. Программное обеспечение работы компании на примере "ооо система пк"

Глава 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ

Выше было выяснено, что компьютер выполняет любые действия по программам, на­писан­ным человеком. Сам по себе, по собственной, так сказать, инициати­ве, компьютер никогда никаких действий выполнить не в состоянии. Мож­но сказать, что компью­тер без программы подобен автомобилю без во­дителя и горючего. Поэтому наличие программ не менее важно, чем на­ли­чие компьютера. В настоящее время программы, ко­торые необходимы для нормального функционирования ЭВМ, могут мно­­­гократно превос­хо­­дить по стоимости её аппаратные средства. Для обозначения множества про­грамм для ЭВМ используется термин программное обес­­печение (ПО) ЭВМ.

i

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

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

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

Совокупность всех программных средств, используемых на компьютере, достаточно часто называют software (software -программное обеспечение, soft - мягкий, ware - продукция), а совокупность аппаратных средств - hardware (hardware - аппаратные средства, hard - твердый). На любом конкретном компьютере имеется конкретный набор аппаратных и программных средств, которые образует его ресурсы . С течением времени ресурсы компьютера могут изменяться, увеличиваясь или уменьшаясь.

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

i

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

Пакеты программ распространяются через торговую сеть, специальных распространителей программных продуктов или через глобальные компьютерные сети. В настоящее время применяются следующие способы распространения программных продуктов: коммерческий, shareware - частично оплачиваемый или условно-бесплатный (sha­re - доля, часть, ware - изделие), freeware - бесплатный (free - свободный) и trial - пробный (trial - испытание). Коммерческие пакеты приобретаются за их полную стоимость, а условно-бесплатные - за небольшую, иногда символическую цену после бесплатного испытательного срока. В течение этого срока пользователь обычно работает с неполным пакетом. И если программа ему подходит, то после оплаты обусловленной суммы пользователь получает полный комплект пакета и все юридические права на его использование. Пробные (trial) пакеты распространяются их разработчиками бесплатно с целью тестирования и обкатки, а бесплатные (freeware) - в рамках проведения определенной рекламной или торговой политики. При­об­ретая программу через торговую сеть или у специализированных рас­про­­странителей, покупатель получает все юридические права по ее ис­поль­зованию. При приобретении программы у легальных распространителей покупатель получает вместе с пакетом сертификат или лицензию на определенные права по использованию пакета. Нелегальные распространители не выдают таких документов. Бесплатное приобретение коммерческих и условно-бесплатных программ путем копирова­ния (нелицензионное , нелегальное, пиратское копирование )явля­ется нарушением авторских прав раз­работчика программы и преследуется по за­кону.

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

Необходимо помнить, что выпол­не­ние прог­­­раммы, представленной в виде дистрибутива, невозможно.

Для при­ведения пакета или программы в рабочее состояние необходимо выполнить про­цедуру установки ,инсталляции (install - установка), то есть развертывания, приведения программ и данных в работоспособное состояние по пра­ви­лам, изложенным в сопровождающей документации. Коммерческие дистрибутивные па­ке­ты часто защищаются от копирования, а для их развертывания не­об­хо­ди­мо знать специальный код, позволяющий выполнить установку толь­ко законному владельцу пакета.

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



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

Как правило, новые модификации и версии имеют то же самое название, какое имел и исходный продукт. Од­нако справа от названия такого измененного продукта появляется определенный приз­­­нак модификации. Например, одна из наиболее простых и популярных в свое время операционных сис­­тем (программа, обеспечивающая эффективную работу аппаратуры и вы­полнение некоторых других функций) для IBM–совместимых пер­со­наль­ных компьютеров называется MS DOS (MicroSoft Disk Operation Sis­tem - дисковая операционная система, разработка фирмы Micro­soft). За вре­мя существования выпущено нес­колько версий и модификаций этой опе­рационной системы - 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 и Ven­­tura 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, ?, *, «», () и пр.