Приложение 1
Сайт "Королевство Delphi"
Эта книга появилась на свет благодаря сайту "Королевство Delphi" (http://www.delphikingdom.com), поэтому будет справедливо, если мы уделим ему здесь немного внимания. Тем более что этот сайт сам по себе интересен для программиста, использующего Delphi. Главная страница сайта показана на рис. П1.1.
Рис. П1.1. Главная станица сайта "Королевство Delphi"
История сайта "Королевство Delphi" началась 20 ноября 1998 года (об истории создания см. страницу http://www.delphikingdom.com/team/about.asp). Он задумывался как виртуальный клуб программистов для взаимопомощи независимо от географии и расстояний (для тех, кто в Интернете недавно заметим, что в 1998 году тематических форумов практически не было, и до такой идеи еще надо было додуматься). На данный момент "Королевство Delphi" является одним из самых популярных сайтов, посвященных Delphi. В Королевстве имеется форум (который называется "Круглый стол"), где можно задавать вопросы и ряд разделов для публикации различных материалов: от небольших советов до серьезных циклов статей. Королевство принципиально не копирует чужие статьи и публикует только оригинальные материалы. написанные специально для сайта и присланные лично авторами. Некоторые количественные характеристики сайта (по состоянию на 7 сентября 2007 года) приведены в табл. П1.1 (информация взята со страницы http://www.delphikingdom.com/asp/tth.asp).
Таблица П1.1. Характеристики сайта "Королевство Delphi"
Наименование показателя Значение
Зарегистрировано жителей | 15 351 |
Опубликовано материалов | 905 |
Задано вопросов | 48 348 |
Из них с ответами | 47 335 |
Всего дано ответов | 179 704 |
В среднем в день задается вопросов | 26 |
В среднем в день дается ответов | 115 |
Сайт "Королевство Delphi" был создан Еленой Филипповой (http://www.delphikingdom.com/asp/users.asp?ID=10) и некоторое время она работала в одиночку. Сейчас сайт поддерживается командой из шести человек во главе с Еленой (свои впечатления о ведении этого проекта Елена с недавних пор начала описывать в блоге, который находится по адресу http://delphikingdom.blogspot.com). Команда Королевства поддерживает контакты с российским отделением CodeGear, благодаря чему в новостной ленте появляется информация о проводимых этой компанией мероприятиях и об интересных новостях, связанной с ней. Кроме того, на встречу с генеральным директором CodeGear Джимом Дугласом, посетившим Россию в июне 2007 года, были приглашены два представителя Королевства (с отчетом об этой встрече можно познакомиться по адресу http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1320).
На сайте "Королевство Delphi" присутствует легкий антураж настоящего средневекового королевства, из-за чего разделы имеют непривычные названия. Чтобы разобраться во всех этих непонятных ссылках, требуются определенные усилия, которые, впрочем, вознаграждаются. Для тех, кто заинтересовался сайтом, приведем описание его основных разделов.
Круглый стол. Так в Королевстве называется форум, где каждый может задать вопрос. Вопросы сначала просматривает модератор и только потом они появляются (или не появляются) на Круглом столе. Если модератор принял решение отклонить вопрос, автору вопроса по почте отправляется уведомление с описанием причин, по которым вопрос отклонен. Наиболее частая причина отклонения — такой вопрос уже задавался ранее (и, может быть, много раз), ответы на него уже даны. В этом случае письмо будет содержать ссылки на ответы или рекомендации, как эти ответы быстро найти. Тем не менее не стоит злоупотреблять этой особенностью сайта и сразу задавать вопрос, надеясь, что ответ будет получен если не на форуме, то через модератора. Королевство имеет целый ряд сервисов для самостоятельного поиска ответа, и такой поиск в итоге дает больше знаний, чем готовый ответ. Задать вопрос и написать ответ можно без предварительной регистрации.
Для удобства навигации вопросы на Круглом столе можно сортировать по дате поступления или по дате последнего ответа. Можно также получить список вопросов, заданных за определенный период, и вопросов, на которые даны ответы за определенный период. Для зарегистрированных пользователей доступна также выборка всех своих вопросов, всех вопросов, на которые пользователь давал ответы, и сервис "Избранные вопросы", с помощью которого пользователь может отметить заинтересовавшие его вопросы и отслеживать появление ответов на них. Уведомления о новых вопросах и ответах при желании можно получать с помощью RSS.
Вопросы на Круглом столе остаются навсегда, они не отправляются в архив, и ссылки на них остаются действительными. Обсуждение вопроса не закрывается (за исключением случаев, когда модератор закрывает обсуждение из-за нарушения автором правил), поэтому все. даже самые старые вопросы, можно не только прочитать, но и что-то ответить или попросить уточнить, если это потребуется.
Существует список offtopic-вопросов. Туда попадают проблемы, которые обсуждаются часто, и их решения уже есть на Круглом столе. Каждый, кто спрашивает о чем-то, согласно правилам Королевства сначала должен ознакомиться с этим списком, чтобы не задать такой вопрос, который там уже есть.
Круглый стол посвящен только решению конкретных технологических проблем. Вопросы, связанные, например, с обсуждением стоимости работы, прочитанных книг, новостей программирования и т.п., сюда не попадают. Для них есть отдельные форумы.
Базарная площадь. В этом разделе можно обсуждать "неформатные" для Круглого стола темы. Но они все же должны иметь какое-то отношение к компьютерным наукам. Темы ориентированы на длительные обсуждения, есть такие, в которых обсуждение ведется в течение многих лет, то затухая, то вновь возобновляясь. В подобной ситуации неизбежны постоянные лирические отступления от темы ветки слегка в сторону, но модераторы к этому не придираются, если это не заходит совсем уж далеко. Это создает на Базарной площади атмосферу неформального общения на интересные темы.
Городская площадь. Этот раздел предназначен для поиска и предложений работы и сотрудничества. Любой работодатель может разместить здесь объявление о вакансии программиста, а программист — о поиске работы. Также допускаются сообщения о поиске и предложении разовой работы. Отдельный раздел на Городской площади посвящен поиску подельника для совместной работы "за так" над каким-нибудь интересным проектом.
Также на Городской площади можно размещать объявления о поиске готовых компонентов. Их нужно задавать именно здесь, на Круглом столе они не приветствуются, потому что основная цель Круглого стола — помочь человеку с чем-то разобраться, что-то понять, а не дать ссылку на готовое решение проблемы.
Помимо форумов, в Королевстве также публикуются статьи. Для них отведено несколько разных разделов, чтобы можно было не мешать в одну кучу статьи, разные по стилистике, глубине охвата темы, требованиям к уровню читающего.
Сокровищница. Сюда попадают небольшие статьи, посвященные частным задачам. Здесь можно найти интересное решение какой-то проблемы или поделиться своей находкой.
Подземелье магов. Этот раздел предназначен для статей, посвященных технологиям, которые считаются уделом "крутых спецов". В основном, материалы ориентированы на изложение основ соответствующих технологий для тех, кто с ними не знаком. Отметим, что именно здесь опубликованы статьи Михаила Краснова, посвященные использованию OpenGL в Delphi, которые затем легли в основу его книги "OpenGL в проектах Delphi".
Свитки. Этот раздел посвящен обзорным статьям, описывающим какие-то общие проблемы. Обзоры могут быть как технического характера, так и общефилософского. Хотя многое из того, что там написано, можно с успехом применять на практике.
Hello, World! Назначение этого раздела понятно из его названия. Сюда помещаются статьи для начинающих. Вопросы могут быть достаточно сложными (поэтому многие статьи из Hello, World! могли бы быть отнесены и к Подземелью магов), но основное требование раздела — подробное объяснение, рассчитанное на начинающего. На того, кто может не знать не только данную тему, но и многие другие вещи, так что небольшие экскурсы в сторону в этих статьях вполне допустимы.
Лицей. По своей целевой аудитории этот раздел очень близок к Hello. World!, но отличается от него по характеру изложения. Здесь публикуются не отдельные статьи, а циклы связанных уроков, посвященные какой-то обширной теме или общим вопросам Delphi. Среди авторов Лицея такие известные в сообществе Delphi люди, как Юрий Зотов и Анатолий Подгорецкий.
Подводные камин. В этом разделе (его ведет Александр Малыгин) собирается информация о ситуациях, когда что-то работает не так, как ожидалось. Это может происходить по самым разным причинам: из-за аппаратной ошибки, ошибок компилятора, библиотек и самого программиста. Главный критерий — чтобы ошибка оказалась там, где ее не ждут. Основные требования к статьям раздела: это должно быть четкое описание ошибки (по возможности с примером), должны быть описаны условия ее возникновения (версия Delphi, операционной системы и т.п.) и пути решения. Раздел уже превратился в достаточно большую коллекцию подводных камней, подстерегающих программиста.
Полигон. Здесь публикуются законченные решения достаточно объемных вопросов. Обязательное условие публикации — наличие готового модуля или библиотеки, которые можно скачать и использовать. При этом Королевство Delphi не является хранилищем компонентов и не конкурирует с такими сайтами, как, например, http://www.torry.net. Публикация компонента в разделе Полигон — это приглашение к участию в совместном тестировании и оценке получившегося кода. В результате автор получает подсказки, что можно и нужно исправить, как еще можно расширить компонент, а остальные посетители сайта — код, который можно применить в своих программах.
Королевские Хроники. В этом разделе собираются статьи, посвященные событиям, происходящим вокруг Delphi, и интересным людям, которые имеют какое-то отношение к Delphi. В этот раздел попал, например, уже упоминавшийся отчет о встрече представителем российского сообщества Delphi с генеральным директором CodeGear Джимом Дугласом, а также впечатления от лекции Никлауса Вирта в Политехническом музее в Москве. Здесь же опубликованы интервью, которые специально для Королевства Delphi давали интересные для сообщества Delphi люди, в частности такие известные авторы книг по Delphi, как Валерий Фаронов, Анатолий Тенцер и Валентин Озеров.
Все статьи во всех разделах доступны для оценки и обсуждения. Каждый посетитель сайта может оценить стиль изложения и актуальность сведений, приведенных в статье, добавить свой комментарий или задать вопрос автору. Посетители сайта имеют возможность подписаться на получение по RSS уведомлений о новых комментариях к заинтересовавшей их статье.
Одна из самых острых проблем для всех форумов, посвященных программированию — это то, что информация быстро обновляется, и полезные сведения быстро "тонут" под все новыми и новыми слоями других ответов (может быть, не менее полезных). И поэтому вопросы, на которые уже были даны исчерпывающие ответы, задаются снова и снова. Опубликованные статьи постепенно тоже опускаются вниз, прячась под новыми статьями. В Королевстве Delphi предусмотрены специальные средства для поиска ответов на свой вопрос среди уже накопленных материалов. Помимо уже упоминавшегося списка offtopic-вопросов и обычного поиска по Круглому столу и по статьям, существуют еще четыре раздела, назначение которых также заключается в том, чтобы помочь найти имеющуюся на сайте информацию.
Тематический каталог. В Королевстве создан каталог тем (общим числом более шестисот), относящихся к Delphi. Каждый вопрос на Круглом столе и каждая статья из любого раздела может быть связана с одной или несколькими темами. Тематический каталог позволяет выбрать тему и посмотреть все вопросы и все статьи, связанные с ней. Для удобства поиска темы в каталоге упорядочены в иерархическую структуру.
Карта VCL. Помимо тем, каждый вопрос и статья могут быть связаны с одним или несколькими классами из стандартной библиотеки VCL. С помощью раздела Карта VCL можно получить список всех вопросов и статей, связанных с нужным классом.
ОШИБКИ. В этом разделе собрана информация о различных ошибках, которые могут возникнуть при компиляции и выполнении программы, при взаимодействии с конкретным пакетом и т.п. Общее число сообщений об ошибке в списке Королевства — около восьмисот. Вопросы и статьи могут привязываться к ним, а в разделе ОШИБКИ, соответственно, можно получить список вопросов и статей, связанных с требуемой ошибкой. Для удобства нахождения нужной ошибки в списке предусмотрен поиск по ключевому слову в сообщениях об ошибке.
Системные сообщения. Ещё один список, к элементам которого могут привязываться вопросы и статьи,— это оконные сообщения Windows. В этом разделе можно получить список вопросов и статей, в которых идет речь о заданном оконном сообщении.
Королевство содержит также еще ряд разделов, которые трудно отнести к какой-либо группе.
Фолианты. В этом разделе публикуется информация о книгах, относящихся к программированию: краткая аннотация, изображение обложки и ссылки на эту книгу в различных интернет-магазинах. По каждой книге посетитель Королевства может оставить свой отзыв и прочитать отзывы других посетителей. Здесь же помещаются рецензии на книги.
Арсенальная башня. Здесь публикуется справочная информация о различных сторонних утилитах и библиотеках, которые могут быть полезны при разработке программ на Delphi. По каждой утилите даются краткие сведения о ее предназначении и ссылка на сайт данной утилиты. Для удобства поиска утилиты разбиты по категориям.
Рыцарский зал. Здесь перечислены все зарегистрировавшиеся в Королевстве люди. Отдельно отмечены люди, имеющие какие-то особые заслуги перед Королевством, например, опубликовавшие статью или написавшие какой-нибудь сценарий дли сайта. Регистрация не является обязательной, но некоторые неосновные сервисы незарегистрированным пользователям недоступны по техническим причинам. При регистрации указание адреса электронной почты обязательно, но сам адрес не публикуется. Со страницы посетителя в Рыцарском зале ему можно отправить сообщение по почте.
Служба личных сообщений (СЛС). С помощью этого сервиса зарегистрированные пользователи могут отправлять друг другу сообщения, которые можно прочитать на сайте Королевства.
Глас народа! В этом разделе проводятся опросы по разным актуальным для программистов темам.
Книга Песка. Здесь собираются ссылки на сайты по Delphi и интернет-ресурсы смежной тематики. Ссылки упорядочены по темам, благодаря чему легко получить список сайтов нужной тематики.
Дальние земли. Здесь представлены ссылки на сайты, с которыми у Королевства установились особо дружественные отношения вплоть до проведения совместных проектов. Когда Королевство только-только появилось. существовало очень много сайтов, посвященных Delphi (буквально каждый второй программист считал необходимым создать свой сайт), и казалось, что в этом множестве сайтов действительно следует выделять особо близкие. Но в дальнейшем количество сайтов резко уменьшилось (далеко не у всех хватило сил наполнять сайт оригинальным содержанием), и смысл в особом выделения кого-то пропал. Поэтому раздел практически пустой.
Школа ОБЕРОНА. Этот раздел посвящен языку Оберон и его потомкам. Оберон на данный момент последний из разработанных Никлаусом Виртом языков, в котором заложен ряд интересных решений. В разделе Школа ОБЕРОНА собраны ссылки на ресурсы, посвященные этому языку, а также ссылки на несколько обсуждений на Базарной площади, которые имеют к нему отношение.
В Королевстве регулярно проводятся конкурсы, позволяющие выявить тех, кто лучше других отвечает на вопросы, появляющиеся на Круглом столе. В период проведения конкурса каждый зарегистрированный посетитель Королевства может проголосовать за понравившийся ему ответ, указав, на какую из возможных номинаций он его выдвигает. Голоса проверяются жюри (состоящем из членов команды Королевства) на соответствие требованиям номинации, несоответствующие отбраковываются, и составляется рейтинг отвечающих. По рейтингу определяется победитель в каждой из номинаций. Победители получают значок щита к своему нику и венок в личную страницу в Рыцарском зале. Обычно в конкурсе три номинации: "Самый фундаментальный ответ". "Самый терпеливый рыцарь" и "Хороший совет". Первая подразумевает ответы, которые не только устраняют проблему, но и детально объясняют, почему она возникает и почему решать ее следует именно так. Вторая номинация предназначена для людей, которые терпеливо объясняют что-либо, раз за разом возвращаясь к одному и тому же вопросу и дают дополнительные пояснения до тех пор, пока автор вопроса не поймет все. Под третью номинацию попадают ответы, в которых автору вопроса действительно дан полезный совет, но с обязательной оговоркой, что вопрос не должен быть слишком простым, а ответ на него — тривиальным.
Королевство Delphi — принципиально некоммерческий проект, на котором отсутствует реклама. Поддержка и развитие сайта осуществляется исключительно за счет энтузиазма команды Королевства и его жителей, которые время от времени помогают улучшать сайт. В настоящее время сайт настолько разросся, что найти для него бесплатный хостинг стало невозможно, поэтому для оплаты хостинга собираются добровольные пожертвования. В соответствии с принципиальной позицией команды Королевства все эти пожертвования анонимны, и пожертвовавший не получает никаких преимуществ по сравнению с теми, кто не заплатил.
Автор данной книги является постоянным посетителем Королевства Delphi. В эту книгу вошел ряд статей, опубликованных автором на страницах Королевства и переработанных с учетом замечаний и пожеланий, высказанных посетителями сайта. Связаться с автором можно через его личную страницу в Рыцарском зале http://www.delphikingdom.com/asp/users.asp?ID=73.
Заметка, посвященная данной книге, находится но адресу http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1326, и если вы хотите, чтобы ваш отзыв или вопрос увидел не только автор, пишите комментарий к этой заметке.