Поиграем в программиста
АрхивСегодняшняя "Голубятня" навеяна письмом читателя Александра Балякина. Он пишет: "Отдаляетесь от ламерской темы. То про mailing листы, то про СD креаторы... Меня, допустим, сейчас интересует совсем другое: как заставить работать формы в хтмл страницах". Вот и родилась тема.
Наверное, вопрос оживления форм волнует не только Александра, но и всех уважающих себя ламеров. Вообще же, я планирую несколько "Голубятен" подряд посвятить именно программам для Интернета - серьезным редакторам html (надо же наконец поставить на место всякие там "Фронтпейджи"!), анализаторам логов, оптимизаторам соединений и т. п.
Я помню, как первый раз в жизни решил создать интерактивную страничку в Интернете. Запустил редактор, нарисовал форму, отослал на сайт, пошел тестировать. Вот дурилка картонная: кликаю мышкой на кнопке "Отправить", и ничего не отправляется. Товарищей программистов на зарплате прошу не издеваться: меня любой ламер поймет. Именно так все мы, ламеры, и воспринимаем реальность программирования: нечто вроде магического мира с волшебными палочками. Вот есть мертвая форма, и как ее ни тормоши, она не оживет. А вот подошел волшебник в колпаке, поковырялся, палочкой помахал, и все заработало.
Спустя еще какое-то время я узнал, как называлась волшебная палочка для оживления формы - cgi-script ("си-джи-ай-скрипт"). Еще я узнал, что скрипт пишут на языке, который называется Perl. Хотя можно писать на C, но предпочитают Перл. Потом, в 1995 году, я оказался в офисе компании "ИнфоАрт" и во время экскурсии, которую мне устроили, сразу заметил паренька-доходягу с толстыми линзами очков и тоненькими ручонками. На его столе лежало огроменное книжище под названием "Перл". "Вот он, - подумал я, - тот самый перловый программист. Не сегодня-завтра умрет от истощения". После посещения этого хосписа мое уважение к "скриптам" достигло мифических размеров.
Как всякий самоуверенный ламер, я решил познакомиться с Перлом поближе и принялся читать умные книжки. Но из всех программистских книжек, книжки о Перле оказались самыми наглыми. Весь их пафос сводился к одному: "Орлы, ну мы-то с вами понимаем, что на C++ здесь должна стоять скобка, но в нашем Перле - все проще". Эдакий междусобойно-элитарный клуб любителей упрощенных вариантов. Короче говоря, у ламера есть только два способа оживить свои формы: нанять перловщика или найти скатерть-самобранку.
Ну а теперь - хорошие новости. Такие "самобранки" существуют. Мне известно целых две. О них и поведаю.
Первая "си-джи-ай-писалка" - CGI Star Pro (www.webgenie.com). Самое в ней веселое - это довесок "Professional" в названии. Звучит как подлинное издевательство, потому что у профессионала CGI Star Pro ничего кроме тошноты вызвать не может. Зато для ламера - это спасение. Справиться с ней сумеет даже конченый аутист. Все, что требуется, - это:
А - Нарисовать форму.
Б - Запустить CGI Star Pro и выбрать тип сервера - под Unix или NT.
В - Открыть html-страницу, содержащую вашу форму. После этого CGI Stap Pro проверяет код, предупреждает об отсутствии обязательных полей (например, User_name, User_mail) и дает рекомендации по правильному написанию формы.
Г - Пометить звездочкой (*) те поля формы, которые обязательны к заполнению.
Д - Указать точный сетевой адрес, где будет размещаться скрипт, а также местоположение юниксовских программ mail и perl.
Е - Написать простенький текст для сообщения, которое получит посетитель вашей страницы после того, как удачно заполнит форму, и...
Все! Нажимаете на кнопку "Write CGI", и программа сама генерирует код. Ради интереса откройте созданный файл и попробуйте сосчитать, сколько лет вам бы потребовалось для того, чтобы самому залудить такую абракадабру.
После создания скрипта самое главное - правильно перебросить его на сервер. В девяноста случаях из ста ламерский скрипт не работает именно потому, что его неправильно перебрасывают. Дело в том, что у протокола ftp бывает два метода передачи данных: АSCII (для текста) и binary (для программ). Скрипты с расширением cgi следует передавать не как программу, а как текст, то есть ASCII.
Конечно, сказать, что возможности CGI Star Pro очень узкие, значит ничего не сказать. На самом деле си-джи-ай-скрипты используются не только для интерактивных форм, но и для миллиона прочих полезных дел: ведения статистики посещений сайта, создания гостевой книги, опроса мнений, создания интерактивных тестов и квизов, проведения шлюзов к реляционным базам данных, осуществления поиска и индексирования сайтов и т. п.
И тут у ламера есть еще два варианта: во-первых, посетить сайт www.download.ru, где покоится неплохая коллекция самых разнообразных скриптов на все случаи жизни. Другой вариант - это программа PerlBuilder (http://solutionsoft.com). Только сразу хочу предупредить: PerlBuilder - это не CGI Star Pro. Тут нажиманием двух кнопочек не отделаешься. Зато и возможности программы на несколько порядков выше.
PerlBuilder претендует на то, чтобы считаться не просто программой, но подлинной интегрированной средой разработчика (IDE - integrated development environment) для создания скриптов Перл на платформе Windows 95/NT. Кроме очень удобного графического интерфейса, PerlBuilder обладает возможностью отлаживать скрипт и проводить его дебаггинг, как говорится, "не отходя от кассы" (правда, для этого требуется дополнительно установить бесплатный Перл для Windows). Помимо этого в PerlBuilder включен Мастер подсказок, который на порядок более гибок, чем CGI Star Pro, хотя по своей простоте не уступает австралийскому примитивисту.
Под самую завязку хочу поделиться двумя неудачами. Первая связана с темой предыдущей "Голубятни" - программой EZ CD Creator. Не прошло и полугода, как программа буквально отомстила за то, что я раскрыл тайну ее местоположения в мировой сети: CD Creator не просто рухнула на моем компьютере сразу после установки SCSI-сканера и присоединения его к той же карте, что и прожигатель дисков. Нет, это было бы очень просто. CD Creator потащила за собой в могилу и всю операционную систему: она что-то там поковеркала в aspi-драйвере, и Windows отказалась загружаться навсегда. Пришлось возвращаться к предыдущей версии 3.5: в ней хоть и нет микрософтовских скрепок-дебиляшек, зато работает как часы.
Вторая неудача косвенно инспирирована Ильей Хрупаловым: я прочитал его очередной обзор и приобрел анонсированный графический планшет Professional Pal. Windows NT категорически отказалась распознавать новую железяку, хотя тайваньский паренек буквально божился, что у него есть драйверы под эту операционную систему. Я, как водится, начал ковыряться и что-то там подправлять, и через полчаса операционная система приказала долго жить - пришлось и ее переустанавливать с нуля.