Показаны сообщения с ярлыком веб-разработка. Показать все сообщения
Показаны сообщения с ярлыком веб-разработка. Показать все сообщения

18.12.2008

Шаблоны на CSS

intensivstation

All templates are XHTML 1.0 and CSS2.

Basic CSS TEMPLATES

  • template 2 columns fixed centered
  • template 3 columns fixed centered

Freeflux Templates

  • freeflux Special Templates for FLUX CMS

Border Trick TEMPLATES

  • template 2 columns fixed centered
  • template 3 columns fixed centered

CSS TEMPLATES AND SAMPLES

  • template Menu and content dynamic
  • template Menu fixed, Content dynamic
  • template Menu and content dynamic
  • template 3 columns, all dynamic
  • template 4 columns, all dynamic
  • template Menu floating
  • template Menu fixed, content & header dynamic
  • template 3 columns fixed centered
  • template dynamic with header and footer
  • template fixed BOX centered
  • template dynamic BOX centered
  • template fixed Box totally centered

Обзор бесплатных WYSIWYG редакторов

Оригинал статьи на Временно.нет — статьи по верстке и веб-дизайну

Представляем вашему вниманию обзор 17 бесплатных WYSIWYG редакторов. О некоторых из них вы скорее всего слышали, другие же являются мало известными, но, тем не менее, могут пригодиться вам в работе.

РедакторXHTMLТoolbarAPIБраузерыОписание
ConceptRTEданетнетInternet ExplorerFirefoxOperaNetscapeSafariЭволюция кроссбраузерного редактора RTEditor с некоторыми улучшениями, но без проверки орфографии и просмотра HTML кода. Дочерний проектConceptCMS.
RTEditorданетнетInternet ExplorerFirefoxOperaNetscapeSafariRTE основан на designMode(), встроенном в Internet Explorer 5, и который был добавлен в Mozilla 1.3 при использовании Mozilla Rich Text Editing API.
eAreaнетданетInternet ExplorerFirefoxOperaNetscapeSafariМаленький кроссбраузерный WYSIWYG редактор. Скорее подойдет для формы комментариев.
FCKeditorдададаInternet ExplorerFirefoxOperaNetscapeSafariМощный и очень известный WYSIWYG редактор. Позиционируется как веб аналог MS Word. Работает под всеми платформами и основными браузерами.
FreeTextBoxнетдадаInternet ExplorerFirefoxOperaNetscape ASP.NET компонент, написанный на C#. Работает в браузерах Mozilla и Firefox на всех платформах.
htmlAreaнетдадаInternet ExplorerFirefoxOperaNetscapeSafariОчень популярный и гибкий редактор. Но, кажется, его развитие остановилось.
KupuданетнетInternet ExplorerFirefoxOperaNetscape Поддерживает стандарты, легко встраивается, настраивается и расширяется.
NicEditданетнетInternet ExplorerFirefoxOperaNetscapeSafariПопулярный маленький редактор, хотя довольно глючный. Есть русская локализация.
openWYSIWYGнетданетInternet ExplorerFirefoxOperaNetscapeSafariВ последнее время о нем много говорят на западных блогах.
SPAW EditorдаданетInternet ExplorerFirefoxOperaNetscapeSafariПлатформонезависимый WYSIWYG редактор, который можно настраивать по своему вкусу. Доступны различные темы оформления и локализации. Есть PHP и .NET версии.
TinyMCEдададаInternet ExplorerFirefoxOperaNetscapeSafariРабота в Safari пока реализована не полностью. Доступно множество плагинов, скинов и локализаций. Так же возможно сохранение и загрузка контента с использованием AJAX.
TTW WYSIWYG EditorнетнетдаInternet ExplorerFirefox Netscape Редактор контента для CMS. Возможности небогаты.
Web Wiz Rich Text EditorнетдадаInternet ExplorerFirefoxOperaNetscape Написан на ASP, Javascript и HTML.
WhizzywigдаданетInternet ExplorerFirefoxOperaNetscape Легкий (в плане веса) WYSIWYG редактор. Опять же, скорее подойдет для форм комментариев.
widgEditorнетданетInternet ExplorerFirefox NetscapeSafariМаленькая функциональность.
WYMeditorдададаInternet ExplorerFirefoxOperaNetscapeSafariВыдает валидный код, для оформления текста использует CSS. Есть скины и локализации.
XinhaдададаInternet ExplorerFirefoxOperaNetscapeSafariПродолжение редактора htmlArea. Есть плагины.

Выбор за вами! ;-)

16.12.2008

8 правил оформления ссылок

Ссылка — один из важнейших элементов сайта (страницы). Именно на них основана идея гипертекста. Без ссылок любая страница превращается в отформатированный текстовый файл.

Как оформить гиперсылки, что бы посетителям сайта было приятно пользоваться.

1. Ссылки нужно подчеркивать

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

2. Цвет ссылок должен меняться

Цвет неактивной, активной, и посещенной ссылок должен отличаться друг от друга. Так проще ориентироваться.

3. Разные типы ссылок должны отличаться друг от друга

Разделяйте ссылки на типы, и выделяйте каждый тип по-своему. Предлагаю следующую систему

4. Ссылка должна открываться в том же окне

Не стоит насильно удерживать посетителя и открывать внешние ссылки в новом окне. Если ему нужно, он сам сможет это сделать. В редких случаях новое окно действительно будет лучше.

5. Используйте дополнительные атрибуты

Используйте дополнительные атрибуты тега a, такие как rel и title. И поисковику и посетителю в некоторых случаях поможет понять, куда ведет ссылка.

6. Ссылка не должна быть длинной

Не нужно делать ссылкой целый абзац или предложение. Выделяйте актуальную часть и делайте ее ссылкой. Так же ссылка не должна начинаться или оканчиваться на знаки препинания, пробелы, скобки или кавычки. Старайтесь не разрывать ссылку на несколько строк.

7. Не делайте «живых» ссылок

Под «живыми» ссылками я имею ввиду ссылки, которые шевелятся :-) при наведении или потере фокуса. Такое может происходить когда изменяется размер или начертание шрифта. Если это не является дизайнерской фишкой, лучше использовать классические методы форматирования ссылок.

8. Думайте, перед тем, как изменить фон

В 90% случаев, изменение фона ссылки при наведении и потере фокуса - убогое зрелище. Особенно это касается длинных и крупных ссылок, например — заголовков в блогах.

Ссылки по теме

Источник Доступно о веб-дизайне

Как отразить в бухгалтерском учете создание сайта, а также его поддержку и обслуживание?

Какие же затраты ждут компанию, решившую создать свой сайт в сети Интернет: ­

  • разработка сайта; ­
  • регистрация адреса в сети Интернет; ­
  • размещение сайта в сети Интернет; ­
  • периодические расходы: поддержка, обновление и т.п.
Расходы по поддержке и сервисному обслуживанию сайта Как правило, создавая сайт, компания нуждается в его последующей поддержке и обновлению. Затраты на сервисное обслуживание состоят из сумм, выплаченных за услуги сторонних организаций по ее обновлению, и расходов, связанных с подготовкой информации для обновления. К расходам по подготовке информации для обновления сайта могут быть отнесены: расходы по оплате труда сотрудника, амортизационные отчисления по оборудованию, которым пользуется этот сотрудник и т. п. Если целями сайта являются производственные цели, реализация продукции, работ, услуг, то суммы затраченные на ее обновление и поддержание, могут быть отнесены на затраты предприятия, уменьшающие налогооблагемую базу по налогу на прибыль. Следует обратить внимание на то, что необходимость поддержки и обновления сайта должна быть экономически обоснована, а проведение данной процедуры подтверждено документально (договор, акт приема-передачи, счет-фактура и т. д.). При этом затраты на обновление интернет-ресурса являются рекламными расходами и подлежат налогооблажению налогом на рекламу. Исключение могут составить сайты организаций, распостраняющих информацию не о себе. Это могут быть сайты средств массовой информации, организаций, оказывающих информационные услуги. Базы данных, из патентов на изобретения, права на ноу-хау и др., которые используются в хозяйственной деятельности предприятия свыше 12 месяцев и приносят доход, относятся к нематериальным активам. На основании вышесказанного, после того, как окончательно согласованы макет, дизайн, схема функционирования сайта и подписан акт приемки работ, компания-заказчик отражает расходы по созданию ресурса сети интернет по дебету счета «Вложения во внеоборотные активы». И когда сайт становится рабочим, т. е. доступным для всей аудитории сети интернет, он учитывается в составе нематериальных активов. Продолжение статьи на сайте Euroweb

Оценка затрат или во сколько обойдется создание сайт?

Оценка затрат или во сколько обойдется создание сайт? Возвращаясь к теме «Как определить стоимость сайта», стоит рассмотреть какие затраты ожидают компанию, желающую разработать сайт. * Дизайн сайта и разработка структуры – 500 долларов * Программное обеспечение сайта – 500 * Верстка – 200 * Регистрация доменного имени в зоне Ru – 24 Итого: 1224 доллара составляет минимальная цена на разработку профессионального и качественного мини-сайта Продолжение статьи на сайте Euroweb

Как определить стоимость сайта

Как же происходит ценообразование сайта? На первый взгляд кажется: за что тут платить такие безумные деньги? Но это только кажется. Интеллектуальный труд всегда был и есть самым высокооплачиваемым, а сайт требует временных и умственных затрат. Но каждая компания - вольный художник, то есть каждый разработчик оценивает свой умственный труд по-разному. А именно: в одной компании за дизайн у вас могут попросить 300 долларов, а в другой 1300, но это совсем не значит, что у второй дизайн будет намного качественней, просто в этой компании дизайнер ценится намного выше, чем в первой. А как же здесь быть? У каждого проекта есть свой примерный бюджет, если Вы представитель малого бизнеса, то, наверняка, не сможете позволить себе сайт за 10 000 долларов. Исходите из своего бюджета, но не забывайте основной принцип: «скупой платит дважды!» Данное высказывание справедливо и к разработке сайтов. Часто бывает, что компании заказывают свое виртуальное представительство у студентов технических ВУЗов, заплатив при этом не больше 500 долларов. А в результате, сайт не окупает даже эту достаточно малую сумму, и превращается в головную боль: то какой-то модуль не работает, то посещаемость маленькая. И все равно, глядя на сайты конкурентов, компания позднее переделывает сайт уже гораздо за большие деньги и несет при этом финансовые потери. Так зачем наступать на одни и те же грабли, когда при правильном подходе можно сделать качественный и удобный сайт. В любом случае, вашим спутником должно стать «знание». Вы же, наверняка, прежде, чем работать в компании, узнали сферу ее деятельности, изучили специфику, а потом уже начали профессионально и качественно работать. В Интернет-бизнесе те же правила: изучите ситуацию, определитесь с мотивацией: для чего нужен сайт, проанализируйте предложения и, мы уверены, вы сделаете достойный выбор. Продолжение статьи на сайте Euroweb

Модуль Apache mod_rewrite

Добро пожаловать в мир mod_rewrite, швейцарский нож URL преобразований!

Данный модуль представляет собой основанный на правилах механизм (синтаксический анализатор с применением регулярных выражений), выполняющий URL преобразования на лету. Модуль поддерживает неограниченное количество правил и  связанных с каждым правилом условий, реализуя действительно гибкий и мощный механизм управления URL. URL преобразования могут использовать разные источники данных, например переменные сервера, переменные окружения,HTTP заголовки, время и даже запросы к внешним базам данных в  разных форматах, — для получения URL нужного вам вида.

Этот модуль оперирует с полными URL (включая path-info) и в контексте сервера (httpd.conf) и в контексте каталога (.htaccess) и даже может генерировать части строки запроса в качестве результата. Преобразованный результат может приводить к внутренней обработке, внешнему перенаправлению запроса или даже к прохождению через внутренний прокси модуль.

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

Этот модуль был придуман и написан в апреле 1996 и эксклюзивно подарен The Apache Group в июле 1997 

Спецификация на русском языке можно почитать на сайте http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html

Статьи по теме: .htaccess и Человеко-Понятные Урлы

28.11.2008

Совместимость браузеров W3C DOM Compatibility - CSS

This compatibility table details support for the W3C DOM CSS Level 2 modules and assorted Microsoft extensions in all modern browsers. This page contains five tables. The first three are quite important, the last two aren't.

18.11.2008

CakePHP

Что-то я все чаще стал натыкаться на посты о Ruby On Rails, MVS и разных php-фреймворках. Думаю, пора обратить свое пристальное внимание на эту область веб-разработки.

С этого поста начну рассматривать один из самых популярных php-фреймворков на сегодняшний день – CakePHP.
Мы уже рассматривали различные js-фрейморки – jQuery и Dojo. Суть php-фреймворков все та же – упростить процесс разработки приложения.
Фреймворк CakePHP имеет архитектуру MVC (Model-Viewer-Controller) – “Модель-Вид-Представление”. Суть этой архитектуры заключается в разделении приложения на три составляющих – модель данных, пользовательский интерфейс и управляющая логика. Причем архитектура спроектирована так, что изменения одного из компонентов практически не отражается на других двух. Ключевым моментом тут является то, что представление и поведение зависят от модели, модель не зависит ни от представления, ни от поведения. Подобная организация позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
С официального сайта CakePHP.org я скачал последнюю стабильную версию для своих экспериментов. После распаковки архива внутри вы увидите несколько папок: app, cake, docs и vendors.
Вот их предназначение: App – ваше приложение Cake – ядро фреймворка Docs – ну тут документация небольшая, лицензия, все дела. Vendors – тут можно будет складывать сторонние библиотеки
Раз все наше приложение будет находиться внутри папки app, следует разобраться, что там к чему. А внутри этой папки находится еще несколько папок: config, controllers, models, plugins, tmp, vendors, views, webroot.
С папкой config понятно – тут лежат конфиги фреймворка, конфиги для работы с базой данных и т.д.
Сontrollers, views и models соответственно будут содержать наше приложение разделенное на три компоненты, которые я упоминал ранее.
Plugins и vendors – плагины и сторонние библиотеки “быстрого доступа”, которые можно будет подгружать средствами фреймворка.
Tmp – тут временные файлы фрейморка (логи, кэш, сессии и т.д.).
Webroot – это, собственно, рабочая папка нашего проекта, которая также будет содержать папки с картинками, css-файлами и js-криптами.
Переходим к практической части.
Итак, быстрый старт. Продолжение на: http://i-novice.net/cakephp-bystryj-start/#more-120

Sypex Dumper

Sypex Dumper — это PHP-скрипт, с помощью которого можно просто и быстро создать резервную копию (бекап, дамп) базы данных MySQL, а также восстановить в случае необходимости базу данных из резервной копии. Sypex Dumper в отличии от многих подобных скриптов не загружает бекап-файл целиком в память, благодаря чему, ему безразличен размер базы данных и он одинаково быстро работает, как с маленькими, так и с большими объемами данных. Sypex Dumper создан специалистами украинской компании БИНОВАТОР. Sypex Dumper Lite распространяется по лицензии GNU GPL, т. е. является абсолютно бесплатным.

Облако тегов

Рассмотрим такую задачку как генерация облака тегов. ММы все конечно ни раз встречали это облако на других сайтах и блогах, но не все задумывались над реализацией этого облака на php. Общие моменты ясны из определения с wiki: “визуальное представление списка ярлыков (или категорий). Частота упоминаний, поисков, ссылок в интернете с определенного сайта неких слов, терминов, имен, отображается на специальной странице в виде изображения этих слов в формате гиперссылок. Размер изображения тем больше, чем выше релевантность данного слова (термина, имени).” Релевантность в нашем случае определяется количеством вхождений одного тега в их общую массу. Учитывая все вышесказанное, весь алгоритм построения облака тегов можно разделить на два этапа: Генерация списка пар Тег-Количество вхождений Вывод облака с учетом релевантности тегов Первая задача решается довольно просто с технической точки зрения. Вторая тоже, но здесь возможны вариации. Ниже приведу небольшой класс, который я написал для генерации облака тегов. исходниккопировать в буферпечать? tags = $tags; } private function get_tag_count($tag_name, $tags) { $count = 0; foreach ($tags as $tag) { if ($tag == $tag_name) { $count ; } } return $count; } private function tagscloud($tags) { $tags_list = array(); foreach ($tags as $tag) { $tags_list[$tag] = self::get_tag_count($tag, $tags); } return $tags_list; } private function get_min_count($tags_list) { $min = $tags_list[$this->tags[0]]; foreach ($tags_list as $tag_count) { if ($tag_count < $min) $min = $tag_count; } return $min; } public function get_cloud() { $cloud = Array(); $tags_list = self::tagscloud($this->tags); $min_count = self::get_min_count($tags_list); foreach ($tags_list as $tag=>$count) { $font_steps = $count - $min_count; $font_size = $this->font_size_min $this->font_size_step * $font_steps; $cloud[] = "".$tag.""; } return $cloud; } } ?> Скачать этот класс можно здесь: tagscloud.php, а работать с этим классом примерно так: исходниккопировать в буферпечать? get_cloud(); foreach ($tags_list as $tag) { echo $tag.' '; } ?> В результате работы этого примера в окне браузера Вы получите следующее: Второй этап построения облака тегов (вывод облака) заключается в преобразовании показателя релевантности (кол-во вхождений) в размер шрифта результирующей надписи. В классе я реализовал это следующим образом: в настройках задается минимальный размер шрифта, который соответствует минимальному уровню релевантности (одно вхождение). Все теги с большей релевантностью имеют размер на столько пикселей больше, на сколько больше они имеют вхождений. Шаг изменения можно задавать полем font_size_step, а минимальный размер шрифта полем font_size_min. Для дальнейшего усовершенствования внешнего вида можно прикрутить облако к небольшому js-скрипту. В результате чего получится такое облако: http://nacmnogo.ru/cloud.html. Подробнее про этот скрипт можно почитать здесь http://habrahabr.ru/blogs/javascript/38264/ Источник: http://i-novice.net/oblako-tegov/#more-101

Простая защита от DoS-атак с помощью MySQL

Организовать простую защиту от DoS-атак для сайтов, использующих PHP MySQL, можно следующим образом. В MySQL создается таблица (будем называть ее ip_check) с полями lasttime, count, ip (все поля — типа INTEGER, причем ip — первичный ключ).

Сразу после подключения к базе данных выполняется проверка, есть ли для данного IP-адреса запись в таблице. Если записи нет, она создается, при этом в count пишется 1, в lasttime — текущее время. Если запись уже есть, то проверяется, когда она была сделана (поле lasttime), и если прошло менее определенного количества секунд, то поле count увеличивается на 1, в противном случае приравнивается единице, и производится обновление записи в таблице (записывается новый count и lasttime). Далее происходит проверка величины count, и если она превысила некоторое пороговое значение, выдается статус 500 (или 403 или 503), сообщение об ошибке, и выполнение скрипта завершается.

Таким образом, для выполнения проверки требуется всего одной таблица с предельно простой структурой и 2 запроса SQL. Также можно добавить еще одно поле status, в которое ставить 1, если IP-адрес забанен навсегда по каким-то причинам, и совместить проверку на DoS-атаки с проверкой на забаненные IP-адреса без добавления дополнительных запросов. При необходимости можно еще одним запросом добавить учет суммарной нагрузки за все время или нагрузки по подсетям.

Кроме того, перед завершением скрипта можно добавить проверку, сколько времени заняло его выполнение, и если оно превышает какую-то пороговую величину (например, 10 секунд), начислять этому IP-адресу “штрафные очки” (т.е. дополнительно увеличивать поле count).

В виде кода это можно представить следующим образом:

// $link -- соединение с БД, $ip_text -- IP-адрес
define('ALERT_TIME',300);
define('ALERT_COUNT',150);

function check_dos($ip_text, $link)  {
$ip=ip2long($ip_text);
$res=mysql_query($link,'SELECT lasttime, count, status FROM ip_check WHERE ip="'.$ip.'"');
if (mysql_num_rows($res)==0) { // нет такого IP
$count=1;
mysql_query($link,'INSERT INTO ip_check (lasttime,count,ip,status) VALUES ('.time().',1,"'.$ip.'",0)');
}
else {
$data=mysql_fetch_row($res);
$status=$data[2];
if ($status!=2 && ($data[0]<time()-ALERT_TIME || $data[1]<ALERT_COUNT)))   $count=1;
elseif ($status!=2) { $count=$data[1] 1; if ($count>=ALERT_COUNT) $status=1; }
if ($status!=2) {
  mysql_query($link,'UPDATE ip_check SET count='.$count,', status='.$status.', lasttime='.time().' WHERE ip="'.$ip.'"';
}
if ($status) {
  header($_SERVER['HTTP_PROTOCOL'].' 503 Temporary Unavailable');
  trigger_error('Превышено число допустимых запросов!',E_USER_ERROR);
}
}

Кроме того, периодически следует очищать базу от старых записей (например, по cron). Кроме того, если ожидается большая интенсивность атак, возможно, имеет смысл заменить UPDATE-запрос на последовательность DELETE/INSERT, но в этом случае необходимо будет регулярно проводить оптимизацию таблицы.

Источник: Профессиональный Блог 4X_Pro http://www.xpro.su/archives/59

30.10.2008

Оформление гиперссылок

Гиперссылки позволяют людям переходить от страницы к странице, от сайта к сайту. Столь важный инструмент нельзя обойти вниманием при разработке дизайна, чтобы посетители могли легко ориентироваться на сайте, ссылки должны хорошо выделяться, быть абсолютно ясными и информативными. Правила

Текстовые гиперссылки должны хорошо выделяться на фоне остального текста.
Наведение мышки на ссылку должно вызывать эффект подсветки.
Текст ссылки должен быть, по возможности коротким, но достаточно длинным, чтобы четко описать следующее:
  • куда вы попадете.
  • что увидите
  • что произойдет
Гиперссылки на различные документы должны четко различаться. Продолжение статьи на сайте: http://designformasters.info/posts/clear-hyperlinks/#bytes-in-links

22.10.2008

Создаем удобные, практичные вкладки с помощью jQuery

Вот пример: http://dimox.name/examples/accessible-tabs-with-jquery.html

А здесь подробное описание реализации этой чудной вещицы: http://dimox.name/accessible-tabs-with-jquery/

29.09.2008

Работа с датой и временем в PHP 5.2

Рано или поздно при разработке проекта встает вопрос о работе с датой и временем.

Начиная с версии 5.2 ядро PHP предоставляет для этой работы классы DateTime иDateTimeZone.

Существующие в PHP 4 и 5 функции для работы с датой и временем:

  • checkdate - Проверяет правильность даты по грегорианскому календарю
  • date и gmdate - Форматирует системную дату/время (gmdate форматирует по Гринвичу)
  • getdate - Возвращает информацию о дате/времени
  • gettimeofday - Возвращает текущее время
  • localtime - Возвращает системное время
  • mktime(gmmktime) - Возвращает метку времени для заданной даты (по Гринвичу)
  • strftime(gmstrftime) - Форматирует дату/время с учетом текущей локали (по Гринвичу)
  • strtotime - Преобразует текстовое представление даты на английском языке в метку времени Unix.

Улучшения работы с датами, начиная с PHP 5.1.

  • Использование 64-битного типа для хранения даты. Теперь граница интервала использования данного типа 4 Декабря 292277026596 год (ранее таймстамп представлялся в виде 32-битного целого, из-за чего ограничение его использования находилось между 1902 и 2038 годами).
  • Функция strtorime была переписана, за счет чего сократились издержки выполнения и количество ошибок в ней.
  • Полная поддержка временных зон, перевода часов и модификаторов дат, чего не было ранее.
  • Новый формат модификаторов временных зон.
  • Более продвинутые функции для работы с датами.

Форматы представления даты и времени, начиная с PHP 5.1

  • Американский формат: 9/11;4:08 pm;12/22/78; 8:51:00 am
  • Комбинированный формат: Sat, 24 Apr 2004 21:48:40 0200; 2001-11-29T13:20:01.123-05:00
  • Описательный формат: tomorrow; four months ago; last saturday; 20 days 2 hours
  • Текстовый формат: December 22. 1978; 22-december-1978
  • Все ISO 8601 форматы: 1978/12/22; 13:03:12.45678; 13:03:12.45678 0100; 15:57-8; 1978-12-22; 15:57:41 pdt; 13:03:12.45678 CEST; 231431 CEST; 70-4-25; 13:03 CEST; 04:05 -0930; 23:41F
  • Форматы баз данных: 1999-Jan-08; 1999.238

Временные зоны, начиная с PHP 5.1

  • Встроенная база на 551 временную зону
  • Нет зависимости от аббревиатуры временной зоны
  • Названия временных зон имеют формат - Continent/Location или Continent/Location/Sublocation. Зоны разделены на 10 больших групп: Африка, Америка, Антарктика, Арктика, Азия,Европа,Индия,Тихий океан. Каждая временная зона идентифицируется городом с наибольшим населением на данной территории. Существует также группа Другие, состоящая из вышедших из употребления названий и служащая для обеспечения обратной совместимости.

Изменение информации по временным зонам.

  • Обновления информации по временным зонам происходят около 20 раз в год
  • Большинство обновлений происходят неожиданно
  • Чтобы не потерять актуальность, релизы php должны быть достаточно часты
  • Расширение pecl, которое исправляет данные недостатки, называется timezonedb (pecl install timezonedb)

16.09.2008

Сборник лучших сайтов на sites.bestwebdevs.ru

Авторы сайта http://sites.bestwebdevs.ru/ публикуют наиболее качественно спроектированные и реализованные сайты и лучших дизайнеров, программистов, флешеров и т. д..

15.09.2008

Настройка Dreamweaver’a

После установки программы, для комфортной работы нужно произвести настройку предпочтений. Открываем окно предпочтений Edit > Preferences. В категории Fonts выбираем значение Font Settings: Кириллица, а в выпадающем поле со списком Code viewCourier New. В категории Invisible Elements отобразим дополнительные маркеры: Scripts, Comments, Line Break.

Переход с Денвера-2 на Денвер-3

У меня установлен Денвер-2, на нем "крутится" множество проектов. Как установить Денвер-3, сохранив все эти проекты?.. Денвер-3 не совместим с Денвером-2 на уровне пакетов расширений и (частично) версий программных компонентов. Поэтому способ миграции только один: сделать это вручную. Запаситесь терпением и не отчаивайтесь. Предположим, что у вас установлен Денвер-2, и вы хотите установить Денвер-3, переведя на него все имеющиеся проекты. Для этого:

  • Остановите Денвер-2. Сделайте резервную копию директории Денвера-2 (например, C:\WebServers), чтобы в случае неудачи можно было вернуться к старой версии. Наличие копии - гарантия того, что вы сможете к ней вернуться, ведь Денвер автономен и не изменяет ничего вне своей директории.
  • Удалите (или переместите куда-нибудь) директорию Денвера-2.
  • Установите Денвер-3, но не поверх старой версии, а в отдельную директорию!
  • Скопируйте директорию /home из Денвера-2 в Денвер-3.
  • Скопируйте базы данных MySQL из Денвера-2 в Денвер-3. В простейшем случае для этого достаточно скопировать содержимое /usr/local/mysql4/data в /usr/local/mysql5/data нового Денвера-3.
  • При помощи phpMyAdmin вновь создайте пользователей, укажите пароли и задайте привилегии.
  • Если вы использовали базы данных InnoDB, то трюк с копированием файлов СУБД не пройдет. В этом случае придется вручную делать дамп всех баз данных (например, при помощи phpMyAdmin, входящий в соствав Денвера-2 и Денвера-3) и закачивать его вручную в новый Денвер-3.
Помните две вещи: 1. Что бы вы не делали, вы не сможете испортить то, что у вас уже есть. (Конечно, если вы сделали резервную копию так, как рекомендовалось выше.) Вы всегда сможете удалить директорию нового Денвера-3 и вернуться к старому Денверу-2, просто вернув назад старую директорию Денвера. Только следите за тем, чтобы она не повредилась. 2. В любой момент вы можете только что установленный остановить Денвер-3 и запустить старый Денвер-2, даже если перенесли его директорию на другой диск (или в другую папку). Денверу все равно, из какой директории вы его запускаете: он полностью автономен. Для запуска и остановки Денвера-2 используйте программы /etc/Run.exe и /etc/Stop.exe соответственно. Ну и, наконец, после миграции может потребоваться внести дополнительные настройки в систему или проекты, т.к. они могли не рассчитывать на работу с той конфигурацией PHP5, которая настроена в Денвере-3. Хотя, скорее всего, настроек не потребуется. Источник: http://www.denwer.ru/faq/migrate.html

21.08.2008

Учебные пособия для веб-разработчиков и руководителей

26.07.2008

TYPO3 Web Content Management Framework

Одним из наиболее мощных представителей CMS с открытым исходным кодом является система TYPO3. Эта система достигла наиболее высокого профессионального уровня, очень универсальна и легко изменяема в зависимости от применения. Разработка TYPO3 начата 1998 году датским программистом Каспером Скархей. Сейчас TYPO3 распространена во всем мире. TYPO3 интенсивно развивается: ежегодно выпускаются 2 новые версии системы, активно работает TYPO3 Ассоциация. Как и многие другие системы с открытым исходным кодом, TYPO3 распространяется под бесплатной лицензией GPL и свободно доступна через интернет. Для разработки крупных многосайтовых и многоязычных проектов можно использовать TYPO3, но таких проектов не слишком много, и данная система распространена не так сильно, как другие. Ссылки по теме: Документация по TYPO3: http://typo3.biz/cms-typo3/documentation.html Руссская документация по typo3: http://infostore.org/info/2764048 Статья в Википедии: http://ru.wikipedia.org/wiki/TYPO3 Сравнение Typo3 vs Drupal, Joomla и Wordpress

Архив блога