Что такое скрипты и для чего они нужны?

13 ответов на вопрос “Что такое скрипты и для чего они нужны?”

  1. JASOn Ответить

    Больше видео на нашем канале – изучайте интернет-маркетинг с SEMANTICA

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

    Основные виды скриптов

    Все скрипты делятся на 2 категории:
    Клиентская, выполняемая на пользовательском ПК (команды в коде web-ресурса).
    Серверная, предназначенная для выполнения большого количества функций в самой структуре ресурса.

    Языки написания скриптов

    Программы пишут с помощью специальных языков, имеющих разный синтаксис, возможности и области использования. Существует немало языков программирования, с помощью которых делаются скрипты. Например:
    JScript.
    Python.
    JavaScript.
    PHP.
    Perl.
    AngelScript.

    Область применения

    Сегодня почти каждый портал использует скрипты. Они расширяют базовый функционал. Вспомните популярную когда-то фишку — под новый запускают скрипт. И на сайте “идет снег”.
    Скрипты используются для:
    управления ресурсом, расширения функционала CMS;
    для сбора статистики — о посещениях, просмотрах и т. д.;
    для поисковой оптимизации;
    для упрощения изменения структуры сайта;
    для повышения гибкости изменения дизайна;
    для организации работы форумов.
    Скрипт помещается в отдельный файл и загружается на сервер. Когда нужно его выполнить, к файлу происходит обращение.

    Особенности работы скриптов на сайте

    CGI-скрипт – это самый распространенный тип программы, выполняемой на Web-сервере. Запуск работы осуществляется после клиентского запроса, т.е. пользователя, посетившего сайт и совершившего там определенные действия. Действие CGI в некотором роде сопоставимо с функционированием других популярных программ: MS Word или Explorer.
    Специфика работы на практике: пользователи, оставляя отзывы или комментарии на сайте, заполняют определенные поля. Данные отправляются на сервер, после чего происходит включение скрипта для обработки поступившей информации. В ответ пользователь получает уведомление о том, что его запрос обрабатывается.
    Тут можно привести еще примеры таких скриптов – калькулятор, обратный звонок и прочие функции сайта срабатывают по схожему принципу. Владельцу сайта необходимо определить те параметры, которые будут учитываться скриптом после совершения пользователями целевых действий.

    Последовательность использования

    Обычно скрипты имеют инсталлятор для автоматический установки на сайт.
    Последовательность внедрения скрипта на сайт:
    Закачивание файлов через ftp.
    Разграничение прав доступа.
    Установка.
    Настройка конфигурации уже в панели администрирования.
    Скрипты расширяют функциональность ресурса. Они могут добавлять новые “фишки”, которые нужны пользователям. Но не переусердствуйте — пичкать сайт снежинками и вылетающими котиками не нужно.

  2. *_*УжАсНо КрУтАя*_* Ответить

    Что такое скрипты для сайтов и для чего они нужны?

    «Однажды, наступило время осваивать скрипты.
    Вот тут то и возникли различные сомнения…
    Но, изучай внимательно и всё узнаешь ты…
    Ведь прочитать сначала об этом надо мнения.»
    Привет, дорогие мои читатели!
    Некоторое время назад, когда я только-только столкнулась с первоначальными познаниями в создании сайта, и мои первые шаги были такими, что шаг вправо и шаг влево совершался очень осторожно.
    Сейчас я это вспоминаю с улыбкой.
    Это были те времена, когда многие действия я делала дрожащими руками и следовала правилу:

    «Семь раз отмерь – один раз отрежь!»

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

    А вы знаете, в чём различие Плагинов и скриптов?

    Плагин – (это значит в переводе с английского языка plug in «подключать») — независимо компилируемый программный модуль, динамически подключаемый к основной программе и предназначенный для расширения и/или использования её возможностей.
    Очень сложно для понимания обыкновенного пользователя интернета, не так ли?
    Существует огромное количество самых разнообразных плагинов, которые мы с удовольствием ставим на свой сайт и с замиранием сердца радуемся всевозможным фишкам, которые предоставляют нам эти полезные программки.
    Но, как известно всем (надеюсь), что слишком много плагинов значительно нагружают сайт и тормозят его работу.
    Что же нужно делать в таком случае?
    Как найти выход и не потерять функциональность сайта, к которому привыкаешь настолько быстро, что расставаться уже нет никаких сил?
    Тут и приходят на помощь скрипты.
    Удивительно, но когда слышишь впервые это слово, то в недоумении смотришь на собеседника, который предложил тебе этот вариант и пытаешься сделать умное выражение лица, практически ничего не понимая в этом вопросе.
    И тут, как всегда, приходит на помощь Википедия (огромная энциклопедия), Яндекс со своим: «Найдётся всё» и Гугл со своим любимым выражением: «Мне повезёт!»
    И начинается поиск информации, учёба, теория, практика и первые шаги в познавании скриптов и внедрение их функционала в рабочее пространство сайта.
    Вот и освободился ещё один плагин – мы ему помахали ручкой, второй, третий… и о чудо!
    Наш сайт стал работать быстрее.
    Единственное, о чём не следует забывать:
    При работе со скриптами на сайте, когда вы их прописываете в код, например, шаблона – всегда держите под рукой резервные копии шаблона и всего остального (бэкап сайта), чтобы потом не было больно за потерянную работу из-за банальной ошибки.
    А практиковаться и пробовать стоит!
    Никогда не бойтесь делать что-либо трудное, когда кажется, что эта работа и информация вам не по силам.
    Очень даже по силам. Главное найти человека, который подробно преподнесёт эту информацию для вашего восприятия.
    Кстати, мне в этом повезло. У меня есть друг –блоггер
    Влад Лемишко, автор блога «Интересно о Полезном».

    Он любит работать с различными скриптами на сайте, уже многие плагины заменил и каждый день придумывает что-либо новое.
    Как говорится, человек-практик. Очень рекомендую его, если возникнут вопросы, касаемо скриптов сайта.
    Благодаря ему, я теперь свободно могу делать вмешательства в код своего сайта. Я изучаю каждый день что-то новое и не боюсь ничего испортить, так как знания пополняются.

    Давайте рассмотрим вопрос:

    Что такое скрипты?
    Скриптом называется программа или программный файл сценарий.

    Ну, а если сказать попроще, то скриптом будет называться практически любая исполняемая процедура.
    Скрипты – это сценарный язык, что на английском языке звучит, как -scripting language, это высокоуровневый язык программирования для написания сценариев, которые кратко описывают различные действия, совершаемые системой.
    В общем, разница между этими сценариями и программами довольно размытая, так как сам сценарий — это программа, которая имеет дело с готовыми программными компонентами.

    Скрипт — это своеобразный механизм, можно сказать специальная программа.

    Можно добавить, что скрипты не являются частью html, так как это немного другие технологии, которые мы привязываем к нашему документу при помощи специальных тэгов или их атрибутов.
    Бывают скрипты простыми в исполнении, как например «выпадающее меню» или кнопка «назад-вперёд» и сложными, как например «счётчик», «гостевая книга» и другие варианты их использования.
    Если говорить об скриптах в рассмотрении интернет-технологий, то понятие «скрипт» можно охарактеризовать, как исполняемую процедуру, которая запускается на выполнение со стороны сервера по запросу, поступившему с конкретно определенной веб-страницы.
    Иногда скрипты приносят вред сайту, так как могут быть написаны хакерами, которые пытаются с их помощью подобрать ключики к вашему сайту.
    Поэтому, всегда надо быть в этом деле осторожными, и перед установкой их на сайт всегда, советоваться с более грамотными товарищами, которые разбираются в этом вопросе очень хорошо.
    Кстати, очень важно понимать, как именно работает скриптовый язык.
    Например, вы придумали автомат, который при опускании монетки, должен наливать кофе в стаканчик.
    Вы сделали красивый корпус, установили необходимые кнопки и детали. Всё, сидите и радуетесь.
    Но… он не будет работать, потому что нет в нём исполнительного механизма, своего рода электропривода, который будет приводить в действие нужную работу, то есть наливать кофе в нужный стаканчик при нажатии на кнопку запуска процесса.
    Потому что вы не собрали исполнительный механизм. Это образное представление работы механизма или программы(скрипта).
    Мы должны связать наш автомат с исполнительным механизмом (скриптом), чтобы при выполнении какого-нибудь заданного действия, мы получили нужный нам результат.
    Вроде бы всё просто и понятно.
    Существуют много специальных языков программирования, на которых пишутся программы (скрипты).
    Это и называется веб-программированием – очень непростой наукой, которой сейчас всерьёз увлекаются некоторые пользователи интернета.
    Веб-программист, человек который пишет программы, кажется многим людям каким-то нереальным супер человеком.

    Но, если задаться целью, то начальные азы программирования можно освоить всем, был бы интерес, а информации в интернете много.

    Какие существуют языки программирования?

    Их много: Это – Java, Php, Perl, C++ и так далее.
    Одни из них очень трудные в процессе изучения, другие не очень.
    При помощи несложных языков, мы можем писать программы, которые выполняют ограниченное количество задач.
    Соответственно, изучая сложные языки, мы можем ставить для себя решение более сложных задач.

    В заключении хочется сказать следующее:

    Можно по-разному относится к скриптам и плагинам. У каждого из них есть свои преимущества и недостатки.

    Что такое скрипты для сайтов и для чего они нужны?

    Вы всё поняли, и выбор теперь за вами, что лучше использовать на сайте.
    Если это было интересно вам, то может быть интересно и вашим друзьям – нажмите на кнопочки социальных сетей, поделитесь с ними полезной информацией.
    Поделитесь пожалуйста своим мнением по поводу этой статьи, с чем вы согласны, а с чем нет.
    С уважением, автор Лариса Мазурова. Удачи♥

  3. Bajora Ответить

    Что такое скрипт? Это такая программа, которую разрабатывают для динамики разных сайтов, которые есть в сети Интернет, для их полноценного функционирования.
    Основные виды скриптов
    Для лучшего понимания, что такое скрипт, давайте познакомимся с этим понятием подробнее. Все скрипты делят на две главные категории:
    1. Клиентская, которая выполняется на компьютере у пользователя.
    2. Серверная. Она предназначена для реализации множества самых разных функций.

    Клиентские скрипты могут делаться пользователями с их ПК. Они представляют собой команды в коде web-сайта. Часто применяют Java, а также DHTML-скрипты. Это зависит от того, в каком коде создан определенный сайт. Например, если ресурс написан на HTML, то применяют DHTML-скрипты. Правильное выполнение скриптов зависит от браузеров. Поэтому разработчики часто проверяют, как скрипты работают еще до того, как выкладывают их в сети. Это позволяет избежать некоторых недоразумений. CGI и PHP – примеры серверных скриптов. Они есть почти на каждом сайте в Интернете. CGI – это элемент интерфейса, применяемый, чтобы внешняя программа могла связаться с web-сервером. Программу, работающую по такому интерфейсу с web-сервером, называют шлюзом или скриптом (сценарием). Если говорить простым языком, что такое скрипт, то это программный файл-сценарий или программа, автоматизирующая определенную задачку, которую пользователям компьютера пришлось бы делать самим вручную.

  4. Arikul Ответить


    Во время Ваших путешествий по сайтам без сомнения Вы часто встречали страницы, которые живо реагируют на все Ваши действия и в реальном времени без перезагрузки изменяют свое содержимое. Меню, которые выпадают, ссылки, которые открывают новые окна, формы, которые заполняются сами и многое многое другое. Весь этот динамизм достаточно привлекателен, но по большей части реализуется не при помощь HTML и CSS. Это реализуется в основном при помощи скриптов, выполняемых на стороне пользователя.
    Скрипты, выполняемые на стороне пользователя, представляют собой небольшие программы, которые Вы пишите и присоединяете к HTML-документу и которые выполняются в браузере пользователя, когда он просматривает HTML-документы. Хотя я пока не буду рассказывать, как писать эти скрипты, мы посмотрим, как они взаимодействуют с HTML и CSS и о чем Вам нужно будет позаботиться, чтобы их использовать.
    HTML, как я уже ранее говорил, представляет собой язык, используемый для создания гипертекстовых документов, из которых собственно и состоит Web. CSS представляет собой язык, используемый для управления представлением этих документов. Иногда эти документы не являются статческим, неизменным текстом, а создаются компьютером “на лету”. Для того, чтобы осуществить это, были созданы технологии, позволяющие динамически создавать HTML-страницы. Программы, которые выполняют это, работают на Web-серверах и обычно используют данные из некоторого источника (например, из базы данных) и данные, введенные пользователем (например, данные, передаваемые при помощи HTML-форм), обрабатывают эти данные и создают на выходе Web-страницу.
    Эти программы отличаются от других программ тем, что результатом их работы является Web-страница. Результат работы этих программ не отличается никоим образом от статического HTML-документа. Для того, чтобы писать такие программы, Вы должны будете изучить HTML, как и в случае создания статических документов. Единственным отличием является то, что данные программы автоматизируют процедуру создания Web-страниц.
    Спустя некоторое время кому-то пришла в голову идея вставлять программы непосредственно в Web-страницы, чтобы эти Web-страницы превращались в небольшие прикладные программы, выполняемые на компьютерах пользователей. Эти программы называются скриптами, выполняемыми на стороне пользователя, потому что они выполняются на стороне пользователя (т.е. в браузере, отображающем документ) в отличие от сервера (т.е. компьютера, выдающего документ).
    Вы можете написать скрипт на любом языке, на котором Вы хотите, но он будет выполнен только в браузере, который поддерживает этот язык. Это означает то, что в большинстве случаев Вы будете должны использовать язык JavaScript, который наиболее широко поддерживается браузерами. Если он Вам не нравится, то Вам не повезло. Альтернативой может быть такой язык, как VBScript, который тоже хорошо работает, но только в Internet Explorer. Имеется много других языков-скриптов, но большинство из них требует доработки браузера или использования особого браузера, что в условиях Web неприемлемо.
    Несмотря на существующее заблуждение, JavaScript очень мало похож на язык программирования Java. Он называется JavaScript потому, что синтаксис (то, как Вы пишите программы) JavaScript несколько похож на синтаксис Java. Изучение JavaScript не приблизит Вас к пониманию Java и наоборот.
    Язык JavaScript стал за последнее время достаточно мощным и может использоваться для многих целей. Многие разработали целые интерактивные приложения, основывающиеся на использовании JavaScript. Нужно ли стремиться к этому ? По-моему, нет.
    Скрипты могут использоваться для добавления интересных и полезных эффектов на Web-странице, подобно тому, как таблицы стилей могут использоваться для улучшения представления документов. Однако, по-моему, HTML-документ в первую очередь документ и должен быть способен существовать независимо в качестве документа, если Вы удалите все специальные эффекты. Использование JavaScript для создания мощной навигации очень хорошо, когда у Вас также имеются старомодные ссылки. Использование JavaScript для создания различных презентационных эффектов с текстом, таких как его прокручивание, тоже хорошо, покуда документ также может быть отображен как обычный документ без эффектов.
    Вставлене скриптов в HTML-документы
    Имеется несколько способов добавления скриптов к HTML-документу. В большинстве случаев Вы будете использовать элемент SCRIPT.
    Наименование : SCRIPT
    Использование : содержимое элемента SCRIPT> рассматривается
    не как HTML, а должно представлять собой исполняемый скрипт. Элемент
    SCRIPT может вставляться в элементы HEAD или BODY
    Синтаксис :
    Начальный тег : обязателен
    Конечный тег : обязателен
    Атрибуты
    SRC= “URL”
    Местоположение внешнего скрипта.
    TYPE = “тип содержмого ”
    Тип содержимого скрипта.
    LANGUAGE = “символьные данные”
    Язык, на котором написан скрипт.
    DEFER = “булево выражение”
    Если этот атрибут присутствует, скрипт не должен считываться и выполняться немедленно.
    Вы можете спользовать элемент двумя способами. Одним способом является использование атрибута SRC для связывания со скриптом, который расположен отдельно от самого документа, как в следующем примере :
    Другой способ вставления скрипта в содержимое элемента показан ниже.

  5. Солодкий Яд Ответить

    Чем различается скрипт и программа? Вовсе не используемым языком или наличием интерфейса.
    Главная разница — в наличии у программы обширнейшей оболочки, не связанной «содержимым» программы. В зависимости от платформы, это могут быть страницы руководства, поддержка нескольких языков, наличие функционала по установке/удалению, исполнение соглашений об интерфейсе (командной строки, или иных средств взаимодействия), интерфейсы в общем реестре и т.д… Программа должна уметь работать в любой документированной среде, предусматривать различные ситуации (круче всего с этим у программ под unix, которые используют ./configure для определения, собственно, где они, что можно, а что нельзя на этой (очередной) платформе).
    Скрипт же, в строго обратном смысле: он предназначен для решения конкретной проблемы «здесь и сейчас». Никто не ожидает от скрипта, который отсылает статистику, способности делать это одновременно на solaris’е, freeBSD и windows embedded standard с cygwin’ом на борту.
    По математико-программистким представлениям, между скриптами администрирования и программами нет разницы. Они работают по одинаковым принципам, вообще говоря, выполняют почти одно и то же.
    Разница между скриптом и программой — административная.
    Практически любая программа имеет в себе ТРИ важные составляющие:
    Нетривиальный алгоритм.
    Техподдержку, наработанные лучшие практики использования, типовые схемы внедрения и готовые конфигурации.
    Правильную интеграцию в рабочую среду в любой разрешённой (документированной) конфигурации.
    Давайте подробнее об этих составляющих…
    1) Алгоритм. У любой программы есть во-первых некая идея (что, собственно, делает программа), во-вторых — обвязка. Чтение конфигов, вывод в сислог, оповещение по почте и ещё тысяча не связанных с основной задачей операций. Но программу используют не ради чтения конфигов и записи в лог, а ради того, что она ДЕЛАЕТ. Соответственно, обычно идея заключается в выполнении каких-то действий по какому-то алгоритму. Нетривиальная идея. В фактическом коде это может быть меньше, чем чтение xml-конфига, но при этом именно рабочий алгоритм — суть программы. Он может быть или «обрабатывающим данные» (вроде SQL’я), или математическим (вроде md5sum), или работающим с конкретными особенностями конкретной железки (формата файла) — но он всегда требует высокой квалификации в предметной области для адекватного понимания принципов работы. Понятно, что код OpenSSL может читать любой программист. Понятно, что алгоритм работы OpenSSL может понять только хороший математик.
    Но мы пишем не о программах — о скриптах. Так вот, скрипт не должен реализовывать нетривиальные алгоритмы. Если вы у себя в скрипте пишите аналог base64 — это плохой скрипт. Если вы у себя в скрипте пишите отправку сообщений по smtp методом «открыли сокет, записали» — это омерзительный скрипт. Если вы у себя в скрипте ловите данные с ком-порта и пишите туда ответ (для управления УПСом) — это писец какой-то, а не скрипт.
    Скрипт НЕ ДОЛЖЕН содержать в себе алгоритма в терминах «предметной области». У скрипта нет предметной области, скрипт — обвязка вокруг программ, которые уже работают с предметными областями. В некоторых случаях скриптовый язык может предоставлять весь инструментарий:
    if md5.md5sum (open.($check).read() ) != url.openurl($control).read():
    smtp.sendmail($from, $to, “data check failed”, “md5sum of $check does not match control sum form $contol.”).
    Это скрипт. Просто скрипт. Не смотря на то, что он реализует офигенный объём работы. А вот если у вас md5 — класс, объявленный в скрипте 5 строчками выше с имплементацией md5 (или url, или open, или smtp, etc) — это уже потуга на программу. Но программа — это много сложнее, чем алгоритм, её составляющий — и подобное не должно реализовываться в скриптах. НИКОГДА.
    2) Любая программа должна обладать известным поведением. Математики предлагают описывать поведение программы в всеобъемлющих терминах; практика же говорит, что обычно кроме алгоритма программа ещё содержит баги и фичи, которые влияют на её поведение, к которым надо адаптироваться. Адаптироваться к ним куда проще, когда есть некоторая практика использования программы.
    «KDC has been valid once but invalid now» — если это сообщение от скрипта — всё, хоронить. Прямо тут, на месте. У программы это вполне разумное сообщение по которому можно гуглить и выяснять, что именно не так. Это прямое следствие наличия в программе некой предметной логики, специфичной и требующей от пользователей не изучать её насквозь, а принять бехивиористически. То бишь как набор утверждений о поведении программы. «Данная версия программы не понимает файлы больше 2Гб в размере». Это не укладывается в алгоритм (а если уложится — будет занимать этак с том дискретной математики) — но это нужно знать в практическом смысле. «Данная программа плохо себя ведёт в условиях симметричной нагрузки на аплоад/даунлоад, лучше запустить две копии, каждая из которых будет работать в свою сторону симметрично» — понимание _ПОЧЕМУ_ потребует титанических усилий, проще принять это как данность. Чем сложнее алгоритм, тем больше жизни нужно потратить на его исследование, адаптацию и глубокое изучение. На всё жизни не хватит, значит, проще принять как данное и сконцентрироваться на важном.
    Скрипт же, обратно, должен быть кристально понятен каждому, кто его посмотрит (с поправками на знание скриптового языка). Никаких (if every in self.__datarange__ is not in any map(__systable__.lang, __localtable__.map, lambda (a,b):[a in b or b in a for every __sys__.pair(a,b)])) raise “Missed i18n constitution”.
    3) Скрипт решает задачу _ЗДЕСЬ_И_СЕЙЧАС_. Программа решает задачу _ТАМ_И_ВСЕГДА_ (с поправкой на опыт эксплуатации из п.2). Когда вы пишите скрипт, вы делаете так, чтобы оно работало в вашей системе. Оно не годится для свободного использования в других системах (хотя может быть ЛЕГКО (см п.1) адаптировано). Программа должна быть адаптируема к куче вариантов применения, реализация этой адаптации в скрипте приводит к потере его простоты и превращению его, собственно, в программу. Кроме того (увы и ах), но знание КАК ПРАВИЛЬНО писать программу не эквивалентно написанию правильного алгоритма. Вы можете написать потрясающую библиотеку, но если вы не сможете запустить её на машине, у которой понедельник первый день недели (или второй — кому как повезёт), то грош цена вашей библиотеке. Необходимость думать об этом — это уже написание программ — скрипту такое допустимо (хотя и не желательно).
    Ну и ещё важное отличие между скриптами и программами. Программы (в форме библиотек) могут «наслаиваться» друг на друга. Этой программе нужен libYYY, которая использует libZZZ и libAAA, при этом libAAA использует libZZZ и libc. Это нормально.
    Скрипты же НЕ ДОЛЖНЫ ЗАВИСЕТЬ ДРУГ ОТ ДРУГА. Ситуация, когда скрипт зависит от сервисов другого скрипта, который зависит от третьего — ненормальная.
    Заметим, речь идёт о зависимости. Вполне можно представить себе скрипт, который вызывает другие скрипты и выдаёт обобщённый результат по ним, но это уже грань. Чуть сложнее (например, «запустить скрипт А если скрипт Б не отработал») — уже за гранью фола. Нехорошо. А если скрипт А не отработал но не сообщил об этом? Или чуть-чуть отработал, но потом отвалился так, что скрипту Б не получится доделать (а мы, как авторы скрипта А, и подумать не могли о подобном)?
    Что же вообще должен делать хороший скрипт? Сращивать несколько программ в конкретную систему. Можете считать программы за детали конструктора. А сам конструктор — за скрипт. Вам НЕ СЛЕДУЕТ нарезать винтовую нарезку на шпинделе — возьмите шпиндель с нарезкой. Вам не следует делать эллиптический валик из этой резинки — оно всё равно будет плохо работать. Если у вас в конструкторе нет квадратной пластинки с дырками по краям, то это проблема нехватки деталек. Вы можете попытаться сделать квадратную пластину из пары прямоугольных, но не следует делать её и сотни длинных полосок.
    Бывает так, что скрипты перерождаются в программы. Внезапно в скрипте появляется некая логика (алгоритм), которая становится нетривиальна (и полезна). В этот момент нужно поймать это — и не полениться потратить в три раза больше времени, но сделать её программой. Обеспечить её «мясом», которое отличает программу от скрипта. Добавить сотню проверок условий, заменить все константы на конфигурируемые переменные, приготовить её для работы в «непривычных» условиях. Желательно сделать её публичной (тогда может наработаться практика использования).
    Обычный пайп представляет из себя практически идеальный инструмент для конструирования простых программ:
    lssomething | grep “bla-bla”|sendmail root@host.ru -s “bla-bal for something”.
    Грань, в которой заканчивается скрипт найти сложно. Скажем так, цикл — ещё терпимо. Проверка условия — нормально. Но вот проверка условия в цикле (больше, чем выход из цикла) — это уже плохо. Если же у вас цикл, в котором по проверке условия запускается цикл — это 100% программа. Если у неё нет всего того, что должно быть у программы, значит это просто очень плохая программа. Но никак не скрипт.
    Когда я смотрю на сборники «полезных скриптов» (вот тут (forum.sysadmins.ru), например), я понимаю, что это программы. Ужасные программы без сопроводительной документации, процедуры установки, без проверки условий… Так нельзя.
    Применение подобных скриптов — признак крайней куцести рабочей среды. Я одно время пробовал с ними ужиться, но пришёл к выводу, что это ошибка. Куда правильнее иметь набор тулкитов (т.е. полноценных программ, реализующих конкретные вещи полностью и хорошо), чем набор аналогичных скриптов (повторю ещё раз — программа может быть написана на том же скриптовом языке — разница между скриптом и программой в непрограммерской обвязке: документации и приспособленности к жизни в широком спектре систем).
    Применение копипастнутых скриптов — подобие ранне-досового копирования на дискетках полезных программулин. Работает — радуемся, не работает — пофигу, сломало всё — злимся. В условиях выбора между копипастнутым скриптом и программой (и минимальной обвязкой) следует выбирать программы. Даже если внедрение программы потребует дополнительных усилий по изучению, налаживанию и т.д. Наладив программу, вы получите программу. Отладив скрипт вы получите лишь костыль, прочность и долговечностью которого не знает даже автор.
    Каждый раз, когда возникает подобная ситуация: делать скрипт или искать программу, следует начать с поиска программы. Потому что программирование увлекает (да нафига нам nagios, мы и сами напишем пачку скриптов мониторинга), а изучение чужого — утомляет (ну хрена она работает не так как я ожидаю?). Но последствия «недопрограммирования» — отсутствие документации к тому «дымоходу», который вы сделали. А последствие внедрённого решения — система, которая умеет работать сама по себе.

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *