На клиенте! Получить XML! Получить XSL! Сделать XHTML! Марш!
X-Task: «On your Client! Get XML! Get XSL! Do XHTML! Go!»
Вступление
Статья рассматривает преобразование XML в XHTML посредством XSLT на клиенте средствами JavaScript. К примеру, у вас есть какие-либо данные в виде XML, а вам требуется по какому-либо действию клиента (по клику на ссылке), оформить их в [X]HTML и динамически вставить в страницу. Это не так сложно, но по пути, как оказалось, встречается несколько подводных камней — в основном, относительно кросс-браузерности этого подхода и малой освещённости процесса в сети. Генерация XHTML-страниц средствами браузера (прямой запрос на XML файл, содержащий информацию о стиле) — это другая тема, она намного проще, и здесь затронута не будет.
Задача будет рассмотрена на банальном примере личного сайта. Дано: Файл с контактными данными (XML), некая главная страница (XHTML) и пять браузеров: Firefox 3, Opera 9.5, IE7, Safari 3, Google Chrome. На главной странице есть ссылка, при нажатии которой контактные данные преобразуются в несортированный список (UL) и отображаются в специально выделенной области прямо на этой странице. Это реальный рабочий пример, который я сейчас использую для создания своего сайта (ещё не выложенного).
Trac + Subversion @ Ubuntu: Revisited
Задача
Установить на только что инсталлированный Ubuntu последнюю версию Trac, создать репозитории для нескольких проектов и настроить окружение соответственно. Структура проектов должна быть полностью корректной, установка максимально быстрой при минимальном количестве пакетов. Авторизация в репозитории и окружения Trac может быть общей, но позволяющей индивидуальную настройку для каждого проекта. Также, установка должна быть максимально независима от версий.
[g]Vim в режиме Python: Рекомпиляция в Windows
Введение
Редактор Vim наиболее известен среди разработчиков в системах Unix — конкурент emacs, что-то вроде консольного IDE — этот редактор при должной сноровке и настройке (мне кажется, сноровке несколько меньшей и настройке более очевидной чем в emacs, но у последнего также есть мощная мультифункциональность — выбор за программистом) способен убыстрить и упростить многие процессы на этапах разработки не в ущерб таким удобствам как, например, авто-дополнение и навигация по проекту. Однако, если вы собираетесь использовать его для разработки на Python со всеми подобными удобствами — потребуются некоторые усилия: а именно, перекомпиляция…
Trac + Subversion + Ubuntu – интересная забава на день
Приветствую всех заинтересованных. Ведь вас, наверняка, не очень много :).
Upd.: Более структурированное и последовательное (правда менее повествовательное) руководство для Ubuntu Feisty находится здесь
Ну а я, в свою очередь, славлюсь среди знающих меня извращенными подходами к простым вещам, так что и в этот раз решил не ломать традиций :).
Предыстория статьи такова:
Автор находится на испытательном сроке в некой фирме и по прибытию туда обнаруживает, что единственный коллега кроме начальника пишет Систему Управления Проектами (не путать с блоггерскими захватчиками – СУПом) на PHP сроком на две недели (правда, за эти две недели начальник разумно (имхо) требует лишь на-коленочного-статуса). Автор присматривается к требованиям, удивляется и сообщает начальнику, что есть уже такая система, бесплатная, расширяемая и все-в-одном-что-вам-нужно – Trac – система, которой он с радостью и удовольствием пользовался на прошлой работе. Благо начальник знает что такое SVN, про его замечательную поддержку было упомянуто тоже. Ну и конечно за свои слова пришлось отвечать – за это автору было заказано установить эту хитрую систему (как некоторые пишут, один из самых сложных пакетов для установки).
В свою очередь, в связи с извращенскими посылами автора, он умолчал о непредназначенности для Trac’а такой заботливой-о-пользователе-системы как Ubuntu, да еще и поставил это дело для демонстрации a) на vmWare (что, собственно, сути не меняет) (далее – «твари») с опцией Host-Only и б) на apache2. Это потому что a) другого нового Unix’а у автора под рукой не было, а устанавдивать его основной ОС было делом неперспективным и б) руководства в инете для Trac + Ubuntu почему-то именно про apache2.
Соответственно, действующие лица aka Оперируемые:
Ubuntu 6.06 TLS (руссская, хе-хе :) ), Trac 0.10.3, Subversion 1.4.2 в роли Subversion 1.3.1 (почему – смотрите ниже), Python 2.4.3 (побоялся ставить на 2.5).
P.S. В сетевых вопросах я пока что чайник (а то и ламер), поэтому если ниже или выше по тексту я допустил какие-либо вопиющие ошибки в терминах, понятиях или даже принципах – я заранее полностью готов это признать (гм, тогда точно не ламер :) ) и прошу вас меня поправить – только умоляю – не орите благим матом :).
Более поздний P.S. В скором времени я, вероятно, буду ставить всю эту компанию (более злободневные версии) на Ubuntu 7.04 с Python 2.5, и статья, ввиду опыта нескольких установок, будет чуть пограмотнее…






