Книги, учебники, документация (html, php, mysql, ajax ...)

пятница, 11 января 2008 г. | Ярлыки: , | 0 коммент. |

Веб-дизайн
Веб-дизайн. Книга Якоба Нильсена.
Веб-дизайн: книга Стива Круга или «не заставляйте меня думать!».
Веб-редизайн: книга Келли Гото и Эмили Котлер.
Экономичный Web-дизайн, Кэрри Бикнер.
Администрирование Web-сервера Apache и руководство коммерции.
Руководство пользователя Apache
Электронная коммерция, Козье Д.
Macromedia Dreamweaver MX 2004. Наиболее полное руководство, Владимир Дронов.
Macromedia Flash MX ActionScript. Библия пользователя, Роберт Рейнхардт, Джой Лотт.
Язык программирования Python.
Учимся программировать вместе с Питоном.
Управление версиями в Subversion.

HTML, xHTML, DHTML, CSS …

XHTML™ 1.0: Рекомендации W3C от 26 января 2000.
Спецификация CSS2, Рекомендация W3C от 12 мая 1998 г.
HTML по шагам, Влад Мержевич.
CSS по шагам, Влад Мержевич.
Формы по шагам, Влад Мержевич.
Теги HTML.
Универсальный Dynamic HTML, Хэйзер Вильямсон.
Введение в XML, КА “ШАГ”.

JavaScript, Ajax

AJAX and PHP, Building Responsive Web Applications.
AJAX и PHP, Разработка динамических веб-приложений.
Ajax в действии.
Самоучитель JavaScript, Вадим Дунаев.
JavaScript. Энциклопедия пользователя, Аллен Вайк.
JavaScript: наглядный курс создания динамических Web-страниц, Келли Л. Мэрдок.
Web Kit DOM Programming Topics.
Освой самостоятельно JavaScript за 24 часа, 2-е издание, Майкл Монкур.

PHP, PHP5

Разработка Web-приложений на РНР и MySQL, Лаура Томсон и Люк Веллинг.
Самоучитель PHP 4, Котеров Д. В.
Профессиональное PHP программирование Второе издание, Аргерих Л. и др.
РНР 5. Полное руководство, Коггзолл, Джон.
Online Учебник РНР 4.

MySQL, SQL

MySQL. Справочник по языку, Компания MySQL AB.
Понимание SQL, Мартин Грубер.

------------------------------------------------
ВСЕ ЧТО ЕСТЬ - http://www.gramond.com.ua/docs

Источник: Webmascon.com

var_dump для javascript

четверг, 10 января 2008 г. | Ярлыки: , | 0 коммент. |

Код функции:

function var_dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j

if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];

if(typeof(value) == 'object') { //If it is an array,
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}


Пример использования:

alert(var_dump(window.location));

Документация и всякие интересности по XSLT

| Ярлыки: , | 0 коммент. |

XSLT Questions and Answers.
XPath / Справочная информация
XSLT / Справочная информация
XSLT FAQ (русский)

XML+XSLT при разработке сайта RSSNews часть 1

среда, 26 декабря 2007 г. | Ярлыки: , , | 0 коммент. |

Когда в воздухе витала идея создания сайта rssnews.org.ua первым делом надо было выбрать базовые методы разработки данного сайта. В тот момент как раз начал делать первые применения технологии XML, XSLT на работе, и мне показалось что данная связка будет наиболее удачной для данного проекта. Ведь если подумать RSS ленты это в принципе XML который только следует привести к нужному виду в XHTML.

Организовывать хранилище лент было решено в XML файле, так как планировался небольшой обьем и простая организация данных. Таким образом получил структуру XML (База лент) -> XSLT -> XHTML
Тоесть в рузультате обработки базы одним XSLT файлом получим готовый сайт. Заманчиво ? Мне именно так и показалось.

Создал простенький PHP файлик в котором было только несколько вещей, а именно:

  1. Выполнение XSL трансформации
  2. Открытие удаленной ленты. Обработка случаев, когда удаленная RSS лента не доступна + кеширование + проверка валидности RSS ленты.
  3. Передача параметров XSL трансформации (ведь единственный XSL файл должен знать показывать папку или предпросмотр ленты)
Идем дальше в наши дебри :) Рассмотрим процесс когда пользователь открывает папку к примеру /news/ php передает в XSLT параметры что нужно вывести рубрику. XSL файл выбирает из базы раздел с именем news проходится по лентам которые есть внутри и выводит их списком расставляя по пути нужные ссылки на конечные ленты. Вывод меню справа делается вообще просто, берем из XML файла, список рубрик, считаем сколько узлов внутри и выводим список с количеством лент рядышком. Красота! Ну и конечно же не забываем выделить текущую рубрику в менюшке. Список лент показали, меню тоже, страница фактически готова ;) Все получается очень просто - берем файл, обрабатываем его в соответствиями с условиями и ТУТ ЖЕ выводим. Буквально несколько десятков строк и мертвый XML файл базы оживает и уже есть по чему щелкать и что смотреть.
А что же происходит если мы нажимаем на просмотр ленты ? Собственно следующее ... XSLT вызывает php функцию которая решает скачивать ли ленту или показать из кеша. И возвращает DOM обьект на базе RSS ленты которую мы собираемся смотреть. Проходимся по узлам RSS ленты и выводим их, тоесть за один проход. Ставим ссылочки на ленты источника, выводим текст, смотрим есть ли еще какая-то дополнительная информация для выводи и при необходимости тоже ее выводим. Ну и не забываем подсветить в менюшке в каком разделе мы находимся. В принципе вот и все ;) Если бы мне рассказали что если все делается именно так, я бы не поверил, но это правда. Разработка становится простой и приятной, данные есть нужно только вывести никаких тебе запросов к БД, они заменены простым выражением XPATH. Честно сказать верстка самого дизайна заняла больше времени чем написание основы на которой все это должно вертеться.
Если вы спросите о скорости работы сайта, то честно признаюсь теста показали около 30-35 запросов в секунду. Кто-то скажет мало, но когда узнают что на сайте нет БД, то удивляются и говорят что неплохо.

Ну и напоследок, хотите посмотреть живые исходники сайта ? Точнее сказать тот файл который все выводит - можете посмотреть, а если вам и показалось что много всего написано, то учтите что процентов 30 написаного там - просто HTML ;)

Разрядный лазер.tea laser

| Ярлыки: | 0 коммент. |


Накопал в инете про разрядный тип лазеров, которые работают при атмосферном давлении и не отличаются особой сложностью. Может кого-то заинтересует такая интересная штука. пробовал сделать, особо хороших результатов не получилось, после нового года попробую снова повторить попытку. Уж больно хочется такую штуку

Немного о моем сайте rssnews.org.ua

| Ярлыки: | 2 коммент. |

Изначально идея сайта для просмотра RSS лент была немножко другая. Хотел просто читать свои любимые ленты с работы и с дома, не устанавливая различных ридеров и других примочек. Изначально RSS ленты читал при помощи браузера Flock и первая версия дизайна сайта была подобна отображению лент в Flock'е. Но отображение это не так важно, хотелось чтобы сайт который я создал изначально для себя был полезен другим. Немного помучавшись решил изменить внутреннюю структуру сайта, сделал безтабличную верстку, накидал около 100 лент, сделал форму добавления ленты и стал ждать, когда же ко мне придут люди :)
Кое-как, скрипя, начали тянуться люди, начали добавляться ленты. Самое приятное было наблюдать как ссылки на мой сайт расползаются по интернету и появляются в блогах и различных сайтах. После появления в блогах, блоггеры просто сошли с ума, в день по 60 новых лент. Много мусора конечно было, но модерировать стало сложнее, зато было приятно осознавать что процесс пошел, мой сайт заметили и мой труд не прошел даром! Останавливаться не собираюсь, хочу доделать еще много вещей по сайту в том числе регистрацию пользователей и выбором своих лент для просмотра и многое многое другое. PDA версия сайта уже в работе, правда с посещаемостью напряг.
В общем буду развивать то, что начал, по-моему более 2000 лент для сайта данной тематики это довольно неплохо и останавливаться не стоит.