Новые книги

Журналист Дэвид Оуэн рассказывает историю изобретения, без которого немыслима жизнь современного офиса – копировального аппарата. Уникальный случай: он был создан усилиями практически одного человека. Поразительное упорство изобретателя Честера Карлсона принесло ему славу второго Гутенберга и избавило тысячи людей на планете от изнурительного переписывания документов. Автор прослеживает путь Честера от первого ксерографического аппарата, изготовленного в 1938 году, до создания гигантской корпорации Xerox, чье название стало синонимом высочайшего качества и скорости копирования. Это захватывающее повествование о борьбе за реализацию грандиозного открытия, которое журнал Fortune позднее назвал «самым успешным товаром, который когда-либо продавался в Америке».
Пользовательские истории – это метод описания требований к разрабатываемому продукту. В книге рассказано, как правильно использовать данную технику, чтобы сфокусироваться на поставленной задаче и пожеланиях клиента, а не распыляться на реализации второстепенных функций. Автор книги показывает, как данный подход не только ускоряет и систематизирует разработку, но и улучшает взаимопонимание в команде.

The Client Side of NIS



Клиентская сторона NIS

Если Вы знакомы с написанием или переносом сетевых прикладных программ, Вы можете обратить внимание, что большинство карт NIS соответствует библиотечным функциям в библиотеке C lib. Например, чтобы получить passwd, Вы обычно используете функции getpwnam и getpwuid, которые возвращают информацию, связанную с данным логином или цифровым идентификатором пользователя (user ID), соответственно. При нормальных обстоятельствах эти функции выполняют поисковый запрос на стандартном файле, типа /etc/passwd.

NIS-реализация этих функций изменяет это поведение и использует обращение RPC к серверу NIS, который ищет логин или user ID. Функция может обрабатывать NIS-данные, как если бы они были добавлены к оригинальному файлу passwd, так что оба набора информации доступны прикладной программе и будут использованы. Есть второй вариант: информация в локальном passwd игнорируется вообще, и используются только NIS-данные.

Для традиционных реализаций NIS имелись некоторые соглашения на предмет того, какие карты как обрабатывать. Но иногда это позволяло модифицировать файл passwd и открывало дыры в защите. Для обхода этих ловушек NYS и GNU libc используют общую схему конфигурации, которая определяет, использует ли специфический набор функций пользователя оригинальные файлы, NIS или NIS+, а также в каком порядке. Эта схема будет рассмотрена чуть ниже.