Новые книги

Эта книга не просто исследует существующие тенденции и теории – она открывает читателю новый путь к трансформации бизнеса. Ставя на одну ступень потребительский опыт и инновационное лидерство, Брайан Солис подробно объясняет, как повысить эффективность бизнеса и степень вовлеченности потребителей, а также достичь желаемых взаимоотношений между компанией и ее клиентами. В его книге вы найдете ответы на вопросы, почему потребительский опыт имеет столь огромное значение и какое влияние он может оказать на будущее бизнеса в целом. На русском языке публикуется впервые.
В книге подробно рассмотрены настройки сетевых сервисов, позволяющих создать сервер требуемой конфигурации и функциональности на основе ОС Linux. Вы сможете настроить сервер любого типа: от сервера локальной сети до Интернет-сервера и сервера удаленного доступа. Детальна описано администрирование Linux.

Изложение материала построено на основе дистрибутивов Red Hat и Mandrake. Много уникальной информации: запуск Windows-игр под Linux и создание Linux-сервера для игрового зала, настройка антивирусов Dr. Web и AVP под Linux, программа учета трафика MRTG, система защиты и обнаружения атак LIDS, а также многое другое. Особое внимание уделено безопасности Linux-серверов. Достаточно подробно описана сама ОС Linux и приведен справочник ее команд. Прочитав книгу, вы станете обладателями знаний по настройке и компилированию ядра, созданию собственных rpm-пакетов, командному интерпретатору bash, использованию массивов RAID. Вы узнаете внутренний мир Linux. Книга подойдет как для профессиональных, так и для начинающих администраторов, поскольку изложение материала начинается с установки ОС Linux, а в первой главе дано описание основных сетевых технологий и протоколов (Курс Молодого Администратора).

Все приведенные в книге листинги проверены на практике и размещены на прилагаемом CD. Помимо этого на нем содержится много справочной информации (HOWTO, RFC), a также статей, посвященных Linux. Размещен богатый набор вспомогательных утилит и программного обеспечения для сервера (Apache, MySQL, MRTG и др.).

Гарантия Безопасной Записи Других Параметров

Гарантия Безопасной Записи Других Параметров

Учебник РНР
Назад Глава 33. Приём аргументов Вперёд

Гарантия безопасной записи других параметров

Вы можете оказаться в ситуации, когда необходимо иметь доступ для записи параметра, который запрашивается функцией zend_get_parameters_ex(), но не передаётся по ссылке. В этом случае вы можете использовать макрос SEPARATE_ZVAL, который выполняет zval-сепарацию в предоставленном контейнере. Вновь генерируемый zval отсоединяется от внутренних данных и имеет только локальную область видимости, что означает, что он может быть изменён или уничтожен без глобальных изменений в контексте скрипта:

zval **parameter;

/* запросить параметр */
zend_get_parameters_ex(1, &parameter);

/* на этом этапе <parameter> всё ещё соединён */
/* с внутренними буферами данных Zend'а */

/* сделать <parameter> write-safe\безопасным для записи */
SEPARATE_ZVAL(parameter);

/* теперь можно безопасно модифицировать <parameter> */
/* без выполнения глобальных изменений */

SEPARATE_ZVAL использует emalloc() для выделения нового zval-контейнера, и это означает, что даже если вы не зачистите память самостоятельно, она будет уничтожена автоматически по окончании работы скрипта. Однако выполнение большого количества вызовов этого макроса без освобождения результирующих контейнеров использует большой объём вашей RAM-памяти.

Примечание: поскольку вы без затруднений можете обойти отсутствие доступа для записи с помощью "традиционного" API (с zend_get_parameters() и т.д.), этот API выглядит устаревшим и не обсуждается в этой главе в дальнейшем.

Назад Оглавление Вперёд
Работа с аргументами, передаваемыми по ссылке Вверх Создание переменных