<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Статьи по Windows 9x Me XP 2003 Longhorn Vista Linux FreeBSD Apache MySQL хостинг PHP Perl</title>
<link>http://ru-admin.com/</link>
<language>ru</language>
<description>Статьи по Windows 9x Me XP 2003 Longhorn Vista Linux FreeBSD Apache MySQL хостинг PHP Perl</description>
<generator>DataLife Engine</generator><item>
<title>FAQ по разделу CGI интерфейс</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/faq-po-razdelu-cgi-interfejjs.html</guid>
<link>http://ru-admin.com/2007/10/28/faq-po-razdelu-cgi-interfejjs.html</link>
<description><![CDATA[<div id='news-id-767'>Как мне сделать аутентификацию на Перле, а не средствами веб-сервера?:<br />
Для того, чтобы браузер выдал запрос логина и пароля, скрипт должен выдать следующие заголовки: <br />
print "WWW-Authenticate: Basic realm=\"что то там\"\n";<br />
print "Status: 401 Unauthorized\n\n";<br />
print "Ошибка авторизации!\n";<br />
При этом "что то там" - это имя области авторизации, по правилам для
области с одним именем должен всегда срабарывать один и тот же пароль.
Проблема заключается в том, что ответ пользователя сидит в заголовке
HTTP-запроса, в поле Authorization, которое скрипту через переменные
окружения не передаётся. Для сервера Апаче эта проблема решается
прописыванием в файле конфигурации следующих строк:</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:41:14 +0200</pubDate>
</item><item>
<title>CGI Perl FAQ</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/cgi-perl-faq.html</guid>
<link>http://ru-admin.com/2007/10/28/cgi-perl-faq.html</link>
<description><![CDATA[<div id='news-id-766'>Что такое CGI и зачем мне все это нужно, если я не умею программировать, да и учиться на старости лет нет особого желания?<br />
<br />
CGI (Common Gateway Interface) - это шлюз, с помощью которого
web-сервер может взаимодействовать с другими программами, работающими
на этом сервере. Например, если вы увидели на каком-нибудь сайте кнопку
с надписью "Жми!", и по неосторожности нажали на нее, то так и знайте -
все данные, которые вы легкомысленно ввели в поле, расположенное рядом
с кнопкой, тут же будут обработаны CGI-программой и переданы в
компетентные органы. ;)</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:40:05 +0200</pubDate>
</item><item>
<title>Работаем с окнами (Win32)</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/rabotaem-s-oknami-win32.html</guid>
<link>http://ru-admin.com/2007/10/28/rabotaem-s-oknami-win32.html</link>
<description><![CDATA[<div id='news-id-765'>При решении некоторых задач в среде Win32
может возникнуть необходимость
максимально приблизится к специфике
операционной системы. Наглядным примером
может служить использование графической
библиотеки OpenGL, принцип работы которой
основывается на использовании окон. Это
значит, что как бы вы не старались, вы ничего
не получите от OpenGL, пока не укажите с каким
окном нужно работать. Таких примеров можно
привести еще очень много. И хотя с понятием
окна знакомы многие, с технической стороны,
окно - это не просто определенная область
экрана. На самом деле, каждое окно участвует
в процессе, представляющем основу
операционной системы Windows. Если в
операционных системах основным способом
управления процессами являются сигналы, то
для операционной системы Windows аналогичную
роль играют сообщения. Сообщение - это более
обширное, по сравнению с сигналом, понятие.
Сообщение - это реакция операционной
системы на возникновение какого либо
события. С другой стороны, сообщение может
быть послано конкретному окну любым другим
процессом. Таким образом, сообщения
являются основным средством IPC в среде Windows.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:39:12 +0200</pubDate>
</item><item>
<title>Сервер с ветвлением</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/server-s-vetvleniem.html</guid>
<link>http://ru-admin.com/2007/10/28/server-s-vetvleniem.html</link>
<description><![CDATA[<div id='news-id-764'>Смысл сервера с ветвлением в
многопроцессной обработке клиентов.
Представьте себе, что несколько клиентских
программ попытаются обратиться к обычному
серверу, такому, как мы создали в предыдущей
главе. Что произойдет? Тот клиент, который
обратился первым и будет первым обработан.
А что со вторым? Второй будет ждать своей
очереди. Согласитесь, что это не совсем
удобно. Тем более, что мы работаем в
полноценной многозадачной среде.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:38:10 +0200</pubDate>
</item><item>
<title>Основа для TCP-сервера</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/osnova-dlja-tcp-servera.html</guid>
<link>http://ru-admin.com/2007/10/28/osnova-dlja-tcp-servera.html</link>
<description><![CDATA[<div id='news-id-763'>Иногда мне приходится сдерживаться, что бы
не сломать то, что уже написано и успешно
внедрено. Всегда хочется добавить в
программу какую нибуть новую фишку, кое-где
приходят мысли об оптимизации. Не так давно
мне пришла в голову интересная идея по
поводу организации данных. Смысл в том, что
бы полностью разделить представление и
содержание. Первоначальный вариант
подразумевал использование обычных файлов
в качестве элементов и каталогов в качестве
типов данных. Однако, подошло время, когда
система перестала удовлетворять
потребности программ ее использующих.
Слишком много промежуточных действий
приходилось выполнять при каждом обращении
к данным. Это естественно привело к
снижению производительности. Конечно, в
некоторых случаях подобные неудобства не
критичны и могут быть проигнорированы. Но, в
данном случае - это большой недостаток, так
как система разрабатывалась для
использования совместно с CGI-программами.
Еще одна причина, из-за которой я решился на
подобное разделение труда, это унификация
интерфейса. Если разработать специальный
протокол обмена данными, то можно изменять
методику и способы работы серверной
стороны без изменений в клиентской части.
Если вы не очень понимаете о чем я тут
распинаюсь, то давайте не будем сейчас
углубляться в теорию.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:37:22 +0200</pubDate>
</item><item>
<title>Что такое тип данных</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/chto-takoe-tip-dannykh.html</guid>
<link>http://ru-admin.com/2007/10/28/chto-takoe-tip-dannykh.html</link>
<description><![CDATA[<div id='news-id-762'>Тип данных определяет, что из себя
представляет значение и позволяет узнать,
каким образом его можно(нужно) обработать.
Типы подразделяются на две категории:
базовые и пользовательские.
<p>Первая категория - это встроенные типы
значений, которые известны компилятору (или
интерпретатору). Это значит, что компилятор
(интерпретатор) знает каким образом нужно
обрабатывать те или иные значения и какие
операции можно выполнять с этими
значениями, а какие нельзя. Набор базовых
типов специфичен для разных компиляторов.
Иначе говоря, программе написанной на одном
языке доступен набор типов, который может
отличаеться от программы написанной на
другом языке. И все же, можно выделить два
базовых типа, характерных для подавляющего
большинства языков программирования. Это
числовой и строковый типы. Кому-то может
показаться, что такое разделение излишне -
ведь и число можно хранить в виде строки.
</p></div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:35:52 +0200</pubDate>
</item><item>
<title>Регулярные выражения в perl</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/reguljarnye-vyrazhenija-v-perl.html</guid>
<link>http://ru-admin.com/2007/10/28/reguljarnye-vyrazhenija-v-perl.html</link>
<description><![CDATA[<div id='news-id-761'>Регулярные выражения являются наиболее
сложной темой практически для любого
программиста: как для новичка, только что
начавшего изучать perl, так и для опытного
программиста, ранее не встречавшегося с
регулярными выражениями. На самом деле,
регулярные выражения не так сложны, как
может показаться на первый взгляд, просто с
самого начала нужно построить правильные
аналоги.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:34:23 +0200</pubDate>
</item><item>
<title>Что такое переменная</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/chto-takoe-peremennaja.html</guid>
<link>http://ru-admin.com/2007/10/28/chto-takoe-peremennaja.html</link>
<description><![CDATA[<div id='news-id-760'>Переменные появились вместе с первыми
языками программирования. Результат работы
любой программы сводится к манипуляциям
над какими-нибудь данными. Вы наверное уже
знаете, что память - это последовательность
ячеек, каждая из которых представляет собой
числовое значение от 0 до 255 - 1 байт. Так как
ячеек очень много, единственный вариант как
то ориентироваться - это пронумеровать
каждую ячейку. Так и есть - каждый байт
оперативной памяти доступен процессору
посредством порядкового номера ячейки -
адреса.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:33:16 +0200</pubDate>
</item><item>
<title>Процессы и IPC</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/processy-i-ipc.html</guid>
<link>http://ru-admin.com/2007/10/28/processy-i-ipc.html</link>
<description><![CDATA[<div id='news-id-759'>Сразу хочу огорчить программистов под Windows.
К сожалению, некоторые из описанных ниже
рецептов под Windows работать не будут. Я и сам
долго скрежетал зубами, когда в ответ на
переопределение STDOUT с помощью
разветвляющего open в логи валились
сообщения о том, что, мол, нет такой команды.
Кого уж тут винить, не знаю, и искать не
собираюсь. А советую всем, дабы не тратить
свое драгоценное время, писать свои
программы с расчетом на UNIX. Честно говоря,
после всего, что я пережил, программируя под
Windows, и узнав, что хостинг на IIS гораздо
дороже (как очень редкий зверь что ли?) чем
на UNIX-ах, я чуть из кресла не вывалился.</div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:32:42 +0200</pubDate>
</item><item>
<title>Аутентификация пользователей через Web интерфейс</title>
<guid isPermaLink="true">http://ru-admin.com/2007/10/28/autentifikacija-polzovatelejj-cherez.html</guid>
<link>http://ru-admin.com/2007/10/28/autentifikacija-polzovatelejj-cherez.html</link>
<description><![CDATA[<div id='news-id-758'>Про аутентификацию пользователей написано масса статей и для 
этой процедуры написано сотни скриптов. Однако, в большинстве своем все эти 
методы рассчитаны на хранение логинов/паролей в отдельном файле или на 
аутентификацию пользователей с помошью апачевского <span style="font-weight: bold;">.htaccess</span>. Здесь же 
речь пойдет про аутентификацию реальных пользователей <span style="font-weight: bold;">Unix</span> сервера через 
веб-интерфейс.
<p align="justify">Есть довольно много методов для решения этой задачи, но 
используют в основном два способа: 
</p></div>]]></description>
<category><![CDATA[Perl]]></category>
<dc:creator>Fross</dc:creator>
<pubDate>Sun, 28 Oct 2007 12:31:25 +0200</pubDate>
</item></channel></rss>