Новые книги

Peter Seibel

interviews 15 of the most interesting computer programmers alivetoday in

, offering a brand-new companion volume to Apress’shighly acclaimed best-seller

by Jessica Livingston. As thewords “at work” suggest, Peter Seibel focuses on how his interviewees tacklethe day-to-day work of programming, while revealing much more, like how theybecame great programmers, how they recognize programming talent in others, andwhat kinds of problems they find most interesting.

Coders at Work

Founders at Work
Находясь на переднем крае программирования, книга «Программист-прагматик. Путь от подмастерья к мастеру» абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.

Прочитав эту книгу, вы научитесь:

Бороться с недостатками программного обеспечения;

Избегать ловушек, связанных с дублированием знания;

Создавать гибкие, динамичные и адаптируемые программы;

Избегать программирования в расчете на совпадение;

Защищать вашу программу при помощи контрактов, утверждений и исключений;

Собирать реальные требования;

Осуществлять безжалостное и эффективное тестирование;

Приводить в восторг ваших пользователей;

Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Restricting NNTP Access

Ограничение доступа к NNTP

Доступ к ресурсам NNTP управляется файлом nntp_access в /etc/news. Строки в этом файле описывают права доступа, предоставленные удаленным системам. Каждая строка имеет следующий формат:


site read|xfer|both|no post|no [!exceptgroups]

Когда пользователь соединяется с портом NNTP, nntpd пытается получить полное доменное имя машины по его IP-адресу, используя обратный поиск. Hostname пользователя и адрес IP проверяются для поля site каждой записи в том порядке, в который они появляются в файле. Совпадение может быть частичным или точным. Если оно точное, применяются соответствующие определения; если оно частичное, оно применяется только если нет никаких других подходящих соответствий. site может быть определен одним из следующих путей:

Hostname

Полное доменное имя машины. Если оно посимвольно совпало с каноническим hostname клиента, запись применяется, а все остальные записи игнорируются.

IP address

IP-адрес в формате четырех чисел, разделенных точками. Если IP клиента совпадает с этим, запись применяется, и все остальные записи игнорируются.

Domain name

Доменное имя, определенное как *.domain. Если hostname пользователя соответствует имени домена, запись применяется.

Network name

Имя сети, определенное в /etc/networks. Если адрес подсети пользовательского IP-адреса совпадает с адресом подсети, связанным с этим именем сети, запись применяется.

Default

Строка default соответствует всем клиентам.

Записи с более общей спецификацией site должны быть определены первыми потому, что они будут отменены позже точными соответствиями.

Вторые и третьи поля описывают права доступа, предоставленные пользователю. Второе поле детализирует права на получение новостей (pulling, (read) и их передачу (pushing, (xfer). Значение both разрешает оба действия; no полностью запрещает доступ. Третье поле предоставляет пользователю право регистрировать статьи, то есть, передавать статьи с незавершенной информацией заголовка, который будет завершен программным обеспечением новостей. Если второе поле содержит no, третье поле будет игнорироваться.

Четвертое поле факультативно и содержит разделяемый запятыми список групп к которым пользователь лишен доступа.

Пример файла nntp_access:

#
# by default, anyone may transfer news, but not read or post
default                 xfer            no
#
# public.vbrew.com offers public access via modem. We allow
# them to read and post to any but the local.* groups
public.vbrew.com        read            post    !local
#
# all other hosts at the brewery may read and post
*.vbrew.com             read            post