Дизайн в IT → Non-WYSIWYG диаграммы в вики
Диаграммы постоянно используются в технической документации, чтобы проиллюстрировать какую-либо мысль — многие факты проще изложить графически, чем текстом.

Я хочу поговорить о том, как вставлять диаграммы на страницы вики (под словом вики в этой статье подразумевается исключительно MediaWiki). Стандартный подход — хранить диаграммы в файлах внутри самой вики — имеет свои недостатки; о них — под катом. Я попробовал использовать Graphviz — инструмент, который сам рисует графы по заданным данным. Вот исходник картинки, с которой началась эта статья:

Я хочу поговорить о том, как вставлять диаграммы на страницы вики (под словом вики в этой статье подразумевается исключительно MediaWiki). Стандартный подход — хранить диаграммы в файлах внутри самой вики — имеет свои недостатки; о них — под катом. Я попробовал использовать Graphviz — инструмент, который сам рисует графы по заданным данным. Вот исходник картинки, с которой началась эта статья:
digraph A {
Feedback -> New_Assigned [dir="both"];
New_Assigned [label="New / Assigned"];
New_Assigned -> Rejected [dir="both"];
Reopen -> Rejected;
Reopen -> New_Assigned;
New_Assigned -> Resolved -> Testing -> Approved -> Closed;
Testing -> Closed;
{ rank=same; Feedback; Reopen; }
{ rank=same; Resolved; Testing; Approved; }
}
Разработка → Концепция типов документов. Когда формы создаются без единой строчки кода
Что самое страшное в веб-программировании? Что есть бич сайтов и радость хакеров? Правильный ответ: проверка входных данных.
Входные данные — самая страшная вещь на свете. Возьмем, например, обычное текстовое поле ввода. Совершенно очевидно, что просто вывести его на страницу недостаточно. Надо еще:
1) Проверить, что в это поле хоть что-то ввели (если оно обязательное).
2) Проверить, что в поле не слишком мало символов.
3) Проверить, что в поле не слишком много символов.
4) Проверить, что в поле использованы только те символы, которые разрешены (например, для логинов).
5) Проверить, что данные в поле соответствуют шаблону (например, для емейлов).
И только после этого, наверное, можно наконец записать поле в БД. Что тоже может привести к ошибке — если, к примеру, БД отвалится.
И не стоит забывать, что о каждой из этих ошибок надо сообщить пользователю уникальным текстом.
И не стоит забывать, что эти проверки надо выполнять, и при добавлении, и при редактировании данных. Причем некоторые проверки при этом будут меняться (например, что мы редактируем объект с существующим ID), а некоторые — нет.
И не стоит забывать, что такие проверки надо делать для каждого поля.
И не стоит забывать, что типов полей много, а типов данных, которые вводятся в эти поля — еще больше.
Уфф. Чем дальше, тем страшнее. А можно ли избежать всей этой мороки? Можно. Если использовать концепцию типов документов.
Входные данные — самая страшная вещь на свете. Возьмем, например, обычное текстовое поле ввода. Совершенно очевидно, что просто вывести его на страницу недостаточно. Надо еще:
1) Проверить, что в это поле хоть что-то ввели (если оно обязательное).
2) Проверить, что в поле не слишком мало символов.
3) Проверить, что в поле не слишком много символов.
4) Проверить, что в поле использованы только те символы, которые разрешены (например, для логинов).
5) Проверить, что данные в поле соответствуют шаблону (например, для емейлов).
И только после этого, наверное, можно наконец записать поле в БД. Что тоже может привести к ошибке — если, к примеру, БД отвалится.
И не стоит забывать, что о каждой из этих ошибок надо сообщить пользователю уникальным текстом.
И не стоит забывать, что эти проверки надо выполнять, и при добавлении, и при редактировании данных. Причем некоторые проверки при этом будут меняться (например, что мы редактируем объект с существующим ID), а некоторые — нет.
И не стоит забывать, что такие проверки надо делать для каждого поля.
И не стоит забывать, что типов полей много, а типов данных, которые вводятся в эти поля — еще больше.
Уфф. Чем дальше, тем страшнее. А можно ли избежать всей этой мороки? Можно. Если использовать концепцию типов документов.
YouTube → YouTube отображает связанные видео
В полноэкранном режиме в YouTube можно отобразить карту роликов, связанных с просматриваемым видео: выбираем ролик, включаем полноэкранный режим и кликаем на иконку с изображением сети (вторая слева внизу, рядом с play).

Спасибо сайту infosthetics.com

Спасибо сайту infosthetics.com

