Новые книги

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

Прочитав эту книгу, вы узнаете, что представляет собой современный веб-сайт, как разрабатывается его концепция, что такое хостинг и доменное имя, чем отличается статическая веб-страница от динамической, как формируется контент сайта, зачем нужна его оптимизация, а также о многом другом. Вы научитесь самостоятельно программировать веб-страницы с помощью языка гипертекстовой разметки HTML, а также подробно познакомитесь с программными продуктами, специально созданными для веб-разработчиков и позволяющими в автоматическом режиме создать полноценный сайт, затратив на это минимум времени и усилий.

Легкий, доступный стиль изложения, а также большое количество наглядных иллюстраций и практических примеров превращают изучение данной книги в увлекательный процесс, результатом которого станет умение в короткие сроки создать привлекательный современный веб-ресурс и выполнять все необходимые действия по его сопровождению, обслуживанию и оптимизации.
The tutorials start with the most basic Windows program, the windows equivalent of "hello world!", Winnie. Then we move on to a more Generic program, which serves as a skeleton for a simple Windows application. Then we discuss various Controls. Using these controls one can build a complete dialog-based application, whose main window is a dialog. We are then ready to discuss a Generic Dialog, a framework with which one can quickly build specific dialogs.

To do some simple graphics one needs a Canvas object. You use Pens and Brushes to paint on the canvas.

More advanced topics include programming with Threads with a practical example of a Folder Watcher — a program that watches directories for changes.

Modern windows programming requires some knowledge of the Shell API, which leads us to the discussion of OLE and COM. We show how one can encapsulate OLE in C++ to create Smart OLE. OLE is also used in Automation, which lets your application talk to other applications.

Controls are nothing but specialized windows. You can easily create your own controls, as evidenced by the Splitter Bar tutorial.

For graphics programmer, we give a short introduction on using Bitmaps for animation and a more advanced tutorial on using Direct Draw.

Managing INN: The ctlinnd Command

Управление INN: команда ctlinnd

Сервер новостей INN поставляется с командой для управления ежедневными операциями. Команда ctlinnd может использоваться, чтобы управлять группами новостей, закачкой статей, получать состояние сервера, запускать, перезагружать и останавливать его.

Краткий обзор команд ctlinnd выводится по:

# ctlinnd -h

Здесь я рассмотрю наиболее важные опции настройки, за подробностями отсылаю Вас к man-странице на ctlinnd.

Добавление группы новостей

Используйте следующую команду для добавления группы новостей:

ctlinnd newgroup group rest creator

Ее параметры имеют такой смысл:

group

Имя создаваемой группы.

rest

Этот параметр должен быть кодирован таким же образом, как поле flags файла active. Эти значения по умолчанию выставлены в y.

creator

Имя человека, создавщего группу. Заключите эту строку в кавычки, если есть пробелы в имени.

Изменение группы

Параметры группы меняются следующим образом:

ctlinnd changegroup group rest

Аргументы имеют смысл:

group

Имя изменяемой группы.

rest

Этот параметр должен быть кодирован таким же образом, как поле flags файла active.

Эта команда полезна, чтобы управлять статусом модерируемости группы.

Удаление группы

Удаление группы выполняется такой командой:

ctlinnd rmgroup group

Аргументы имеют смысл:

group

Имя удаляемой группы.

Эта команда удаляет группу из файла active, но не чистит каталоги новостей. Все статьи для этой группы будут устаревать в обычном порядке, но новые приниматься уже не будут.

Перенумерация группы

Для перенумерации группы используется команда:

ctlinnd renumber group

Аргументы имеют смысл:

group

Имя группы. Если параметр group определен как пустая строка, будут обработаны все группы.

Эта команда обновляет младшее число для указанной группы.

Доступ для Newsreaders

Чтобы разрешить или запретить доступ программ чтения новостей (newsreaders), используйте команду:

ctlinnd readers flag text

Аргументы имеют смысл:

flag

Указание n запрещает подключение newsreader. Наоборот, значение y такие подключения разрешает.

text

Задает текстовое сообщение, которое будет передано при подключении newsreader. Обычно в нем описываются причины запрета доступа. Чтобы убрать сообщение, задайте его пустой строкой.

Эта команда управляет лишь клиентскими подключениями, но не входящими новостями от серверов.

Блокировка входящих новостей

Чтобы заблокировать входящий поток новостей, скомандуйте:

ctlinnd reject reason

Аргументы имеют смысл:

reason

Текст с пояснениями, почему входящие подключения к innd отклоняются.

Эта команда не воздействует на подключения, которые пришли от nnrpd (т.е. newsreaders); она воздействует только на подключения от innd, то есть, на входящие новости от других серверов.

Разблокирование входящих новостей

Для разблокирования входящих новостей скомандуйте:

ctlinnd allow reason

Аргументы имеют смысл:

reason

Задает любое текстовое сообщение. Если оно не нужно, задайте просто пустую строку.

Эта команда обратна команде reject.

Выключение сервера новостей

Чтобы выключить сервер новостей скомандуйте:

ctlinnd throttle reason

Аргументы имеют смысл:

reason

Причина выключения сервера.

Эта команда эквивалент одновременно выданных newsreaders no и reject и полезна, когда на базе данных новостей выполняется работа по ликвидации повреждений. Это гарантирует, что ничто не пытается модифицировать базу в то время, как Вы работаете с ней.

Перезапуск сервера новостей

Для перезапуска сервера новостей скомандуйте:

ctlinnd go reason

Аргументы имеют смысл:

reason

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

Эта команда используется для перезапуска после команд throttle, pause или reject.

Отображение статуса поступления новостей

Для отображения статуса новостей скомандуйте:

ctlinnd feedinfo site

Аргументы имеют смысл:

site

Имя сайта (из файла newsfeeds), для которого Вы желаете отобразить состояние.

Прекращение подачи новостей

Для прекращения подачи новостей скомандуйте:

ctlinnd drop site

Аргументы имеют смысл:

site

Имя сайта (из файла newsfeeds), которому не следует впредь передавать новости. Если это поле пустая строка, команда будет применена ко всем сайтам.

Прекращение передачи новостей для данного сайта ведет к прерыванию всех процессов, передающих ему новости. Эта команда полезна, если Вы изменили детали подачи для некоего сайта, но связь с ним активна.

Начало подачи новостей

Для начала подачи новостей скомандуйте:

ctlinnd begin site

Аргументы имеют смысл:

site

Имя сайта (из файла newsfeeds), которому надо начать подачу новостей. Если подача уже активна, сначала автоматически будет выполнена команда drop.

Эта команда заставляет сервер повторно прочитать файл newsfeeds, найти соответствующую запись и начать подачу новостей, используя найденные детали. Вы можете использовать эту команду, чтобы проверить новый режим подачи новостей к сайту после того, как добавили или изменили запись в файле newsfeeds.

Отмена статьи

Чтобы отменить статью, скомандуйте:

ctlinnd cancel Message-Id

Аргументы имеют смысл:

Message-ID

ID отменяемой статьи.

Эта команда удаляет определенную статью с сервера. Она не генерирует сообщение отмены статьи.