Новые книги

Аннотация: Изложены основы программирования на языке Паскаль. По ходу обучения решаются десятки задач (использован проектный подход). От читателя не требуется начальных познаний в программировании, но круг затронутых тем ориентирует его в профессиональную область. Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Будет полезна студентам-первокурсникам и преподавателям информатики.
IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.

DevOps – это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы. Но налаживание связей внутри компании – это лишь первый шаг. Чтобы продукт стал простым и удобным, придется вложить время и ресурсы в его доработку. Конфигурация через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей, обдуманные метрики вместо мусора в логах – вот лишь часть задач, которые придется решать на этом пути.

Книга «Философия DevOps» познакомит вас с техническими, культурными и управленческими аспектами devops-культуры и позволит организовать работу так, чтобы вы получали удовольствие от разработки, поддержки и использования программного обеспечения.

flock

Учебник РНР
Назад Вперёд

flock

(PHP 3>= 3.0.7, PHP 4)

flock - переносимое "совещательное/advisory" блокирование файлов.

Описание

bool flock (int fp, int operation [, int &wouldblock])

PHP поддерживает перенос блокированных файлов advisory-способом (что означает, что все программы, выполняющие доступ, должны использовать тот же способ блокирования, или блокировка работать не будет).

flock() работает с fp, который обязан быть открытым указателем на файл.
operation имеет одно из следующих значений:

  • Для получения shared-блокировки (reader) установите в operation значение LOCK_SH (установите 1 в версиях до PHP 4.0.1).

  • Для получения исключительной/exclusive блокировки (writer) установите в operation значение LOCK_EX (установите 2 в версиях до PHP 4.0.1).

  • Для освобождения блокировки (shared или exclusive) установите в operation значение LOCK_UN (3 в версиях до PHP 4.0.1).

  • Если вы не хотите, чтобы flock() блокировала, добавьте LOCK_NB (4 в версиях до PHP 4.0.1) в operation.

flock() позволяет реализовать простую модель reader/writer, которая может использоваться на практически любой платформе (включая большинство клонов Unix и даже Windows). Необязательный третий аргумент устанавливается в TRUE, если блокировка возможна (EWOULDBLOCK errno condition).

flock() возвращает TRUE при успехе и FALSE при ошибке (например, когда блокировка не может быть получена).

Примечание: поскольку flock() требует указателя на файл, вам может понадобиться использовать специальную блокировку файла для предотвращения доступа к файлу, который вы намереваетесь усечь в режиме write (с аргументом "w" или "w+" для fopen()).

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

flock() не будет работать в NFS и многих других сетевых файловых системах. См. в вашей документации по ОС детальную информацию.

В некоторых ОС flock() реализуется на уровне процесса. При использовании API многопоточного сервера типа ISAPI вы не сможете рассчитывать на flock() для защиты файлов относительно других PHP-скриптов, запущенных в параллельных потоках в том же самом экземпляре сервера!

flock() не поддерживается на старинных файловых системах вроде FAT и их клонах и, следовательно, всегда возвращает FALSE в такой среде (это также верно для пользователей Windows 98).


Назад Оглавление Вперёд
filetype Вверхfopen