Новые книги

Найти нужную и актуальную информацию в Интернете порой очень непросто. Количество информационного мусора в Сети растет как снежный ком, и добраться до данных, которые вам действительно необходимы, используя традиционные Яндекс и Google, иногда просто невозможно. Книга, которую вы держите в руках, позволит увеличить эффективность вашего поиска информации в Интернете во много раз. Здесь описаны приемы, поисковые сайты и программы для специализированного поиска информации. Рассмотрены современные разновидности интернет-поиска: универсальный поиск, вертикальный поиск, метапоисковые системы, построение персональных поисковиков, поиск аудиовизуального контента, поиск по скрытому Интернету. Для всех рассмотренных систем приведены их характеристика и советы по максимально эффективному использованию.
В книге показано, почему в современном мире успешные спортсмены просто обречены заниматься самопиаром. Это помогает им выстраивать спортивную карьеру, а также позволяет найти своё место в жизни после её завершения. Используя игровые методы, предложенные автором книги, вы легко научитесь основным приёмам самопиара. В книгу включены конструкторы биографии, имиджа, легенды и принципы работы в Instagram.

Для спортсменов любого возраста и уровня мастерства, тренеров, спортивных психологов, PR-менеджеров.

Работа с Памятью

Учебник РНР
НазадГлава 27. Строение Исходного Кода Вперёд

Работа с памятью

Менеджмент ресурсов это ключевой вопрос, особенно в серверных программах. Одним из самых значимых ресурсов является память, и работа с памятью должна выполняться предельно внимательно. Менеджмент памяти частично абстрагирован в Zend, и вы должны это учитывать по очевидным причинам: при абстрагировании, Zend получает полный контроль над всеми участками памяти. Zend способна определять, используется ли блок, автоматически освобождать неиспользуемые блоки и блоки с потерянными ссылками и таким образом предотвращать утечки памяти. Используемые функции перечислены в таблице:

ФункцияОписание
emalloc()Заменяет malloc().
efree()Заменяет free().
estrdup()Заменяет strdup().
estrndup()Заменяет strndup(). Быстрее, чем estrdup(), и безопасна в двоичном режиме/binary-safe. Это рекомендуемая функция, когда вы знаете длину строки до её дублирования.
ecalloc() Заменяет calloc().
erealloc() Заменяет realloc().

emalloc(), estrdup(), estrndup(), ecalloc() и erealloc() выделяют внутреннюю память; efree() освобождает эти ранее выделенные блоки. Память, обрабатываемая функциями e*(), считается локальной относительно текущего процесса и разрушается после окончания работы скрипта, выполняемого этим процессом.

Предупреждение!

Для выделения резидентной памяти, которая сохраняется после окончания работы текущего скрипта, вы можете использовать malloc() и free(). Это нужно делать очень осторожно и только в сочетании запросом Zend API; иначе вы рискуете получить утечки памяти.

Zend также предлагает thread-safe resource manager для улучшения встроенной поддержки многопоточных Web-серверов. При этом требуется, чтобы вы выделяли локальные структуры для всех ваших глобальных переменных, чтобы дать возможность работать конкурирующим потокам.
Поскольку режим thread-safe Zend ещё не разработан окончательно, мы не можем включить его рассмотрение в эту книгу.


НазадОглавление Вперёд
МакросыВверх Функции работы с файлами и директориями