Сергей Рудюк 14 февраля 2009

Интересней выглядит статистика посещений за декабрь:

Операционная система Количество %

[-] Microsoft Windows 11793 100% 98,38

Microsoft Windows XP 10452 88,63 87,19

Microsoft Windows Vista 1062 9,01 8,86

Microsoft Windows Server 2003 118 1,00 0,98

Microsoft Windows 2000 113 0,96 0,94

Microsoft Windows 98 37 0,31 0,31

Microsoft Windows CE 6 0,05 0,05

Microsoft Windows 95 3 0,03 0,03

Microsoft Windows NT 4.0 1 0,01 0,01

Microsoft Windows ME 1 0,01 0,01

[-] Linux 136 100% 1,13

Linux Ubuntu 53 38,97 0,44

Linux - неизвестная версия 45 33,09 0,38

Linux Mandriva 13 9,56 0,11

Linux Debian 11 8,09 0,09

Linux SUSE 10 7,35 0,08

Linux SeaMonkey 2 1,47 0,02

Linux Fedora 2 1,47 0,02

[-] Macintosh 39 100% 0,33

Macintosh 39 100,00 0,33

[-] ОС мобильных устройств 11 100% 0,09

Неизвестная ОС мобильного устройства 11 100,00 0,09

[-] xBSD 5 100% 0,04

FreeBSD 5 100,00 0,04

[-] Другие ОС 3 100% 0,03

Symbian OS 2 66,67 0,02

Sun OS 1 33,33 0,01

Как видно, статистикой всё таки учитываются Макинтоши.

Просто, их сегмент - 0,33%.

Linux же занял стабильные - 1,13%.

Так же стабильно занимает позиции и Microsoft Windows - 98,38.

Где, WindowsXP - 87,19%, а Windows Vista - 8,86%...

Могу предположить, что если Microsoft будет навязывать Microsoft Vista, то он будет сильно терять позиции по Windows XP в пользу операционных систем не на базе Windows.

14.02.09, 9:08

Сергей Рудюк 14 февраля 2009

Вот статистика посещений нашего сайта по операционным системам:

Операционная система Количество %

[-] Microsoft Windows 441 100% 98,22

Microsoft Windows XP 396 89,80 88,20

Microsoft Windows Vista 35 7,94 7,80

Microsoft Windows 2000 5 1,13 1,11

Microsoft Windows Server 2003 3 0,68 0,67

Microsoft Windows 98 2 0,45 0,45

[-] Linux 6 100% 1,34

Linux Ubuntu 4 66,67 0,89

Linux SUSE 1 16,67 0,22

Linux Mandriva 1 16,67 0,22

[-] xBSD 2 100% 0,45

FreeBSD 2 100,00 0,45

Как видно, у большинства людей по прежднему установлен Windows XP. Хоть Window Vista уже давно продвигается компанией Microsoft.

Так же видно, что из Макинтошей никто не заходил (правда, может, это не отслеживается статистикой). Хоть, утверждается, что Макинтоши заняли почти 10% всего рынка.

И якобы до 1 % занимает Linux. Но, тем не менее посетители из Linux и FreeBSD есть. Очень мало в сегодняшнее время пользователей не с Windos. Как видно, мало кто ещё освоил работу с Linux. Хоть, давно уж было бы пора на него переходить...

Тем не менее, 1,34% Linux всё таки занял. Думаю, что со временем это количество должно возрастать. Т.к. на улице Кризис и люди ищут способы сэкономить.

А экономия - это использование бесплатного ПО и использование бюджетных аппаратных решений, например NetBooks.

14.02.09, 9:08

Сергей Рудюк 14 февраля 2009

Недавно столкнулся с проблемой не корректного восприятия значений в IE6, Safary, Opera.

Как оказалось, если информация передаётся из формы методом GET (возможно и POST), то к значению поля добавляется два лишних символа: ¬_

Т.е. если мы передаём $op=save, тогда увидим $_GET['op']='save¬_'

Соответственно, перестанут срабатывать сравнения if ($_GET['op']=='save'){'программный код'}

Для того, чтоб такого не происходило, в Корпорацию 2 была внесена ф-ция:

$GLOBALS["c"]->clrget('Поле');

Ф-ция возвратит корректное значение поля.

Т.е. если выполнить:

echo 'op= '.$GLOBALS["c"]->clrget($_GET["op"])

На экране увидите: op=save

P.S. Как оказалось, такая ситуация возникает, когда в форме смешиваются 2 типа доступа - GET и POST. Т.е. когда в action добавляется адрес с параметрами, а в методе доступа указано post.

14.02.09, 9:07

Сергей Рудюк 14 февраля 2009

Сегодня обнаружил интересную возможность в сервисе Яндекс: Веб-мастера могут "персонифицировать" свои сайты и в результате получать подробную информацию о работе поисковой машины с его сайтом.

Таким образом, Вы можете обнаруживать ошибки, которые возникают в результате обхода сайта поисковиком, увидеть когда обходил поисковик сайт, а так же увидеть причины блокировки сайта, если он был заблокирован.

Заходите, пользуйтесь сервисом для веб-мастеров от Яндекс: http://webmaster.yandex.ru/wmconsole/

14.02.09, 9:06

Сергей Рудюк 14 февраля 2009

Цитаты из статьи по PageRank (http://www.woweb.ru/publ/31-1-0-714):

Вычисление Pagerank

Представьте себе идеального веб-серфера перемещающегося по всемирной

паутине. Пусть сёрфер посещает страницу p, случайное блуждание

при этом находится в состоянии p.

На каждом шаге, веб-сёрфер либо перепрыгивает на другую страницу в сети, выбранную

псевдо-случайным образом, либо он следует по ссылке на текущей странице, при

этом не возвращаясь и не посещая одну и ту же страницу дважды. Вероятность

случайного прыжка обозначим как d тогда вероятность перехода по ссылке

будет 1-d.

Таким образом, вероятность нахождения пользователя на странице p

можно вычислить по следующей формуле:

где R(p) - PageRank страницы, С(p) - число

ссылок на странице, к - число ссылающихся на p страниц, d-

коэффициент затухания (damping factor). Обычно 0.1масштабировать PageRank таким образом, что

где N - число всех страниц, для которых
производится расчёт PageRank, то R(p)
можно рассматривать как распределение вероятности по всем страницам.

Для вычисления PageRank составляется матрица M размером
NxN, где каждому элементу mij матрицы присваивается
значение R0(p)=1N в том случае, если с i -й страницы имеется ссылка на
j-ую, все оставшиеся элементы матрицы заполняются нулями.
Таким образом, вычисление PageRank сводится к отысканию собственного вектора
матрицы M что достигается умножением матрицы M
на вектор Rj
на каждом шагу итерации. Введение коэффициента затухания
гарантирует, что процесс сходится.
Если зарегистрировать сайт во всех популярных каталогах, то PageRank
будет очень высоким
Не стоит обольщаться - PageRank
вычисляется не для сайта целиком, а для отдельно взятой страницы. Поэтому ссылка из глубокой поддириктории,
скажем в Yahoo, может быть менее ценна чем страница Васи Пупкина. Так что, тут можно
взять не качеством ссылок, а их количеством. Надо только обращать внимание на то,
чтобы ссылки из каталога шли напрямую на ваш сайт, а не через cgi-скрипт,
иначе они просто не будут учитываться. Кроме того, правила многих каталогах
требуют размещения корневой страницы, а не того документа, PageRank которого вы
собираетесь повышать. Поэтому гораздо эффективнее можно повысить PageRank
конкретной страницы ссылкой с корневой страницы своего собственного сайта.

PageRank уменьшается при проставлении внешних ссылок
Весьма спорное утверждение, как говорилось выше PageRank
понижается в случае симметричного
объединения ссылающихся страниц, вероятность получить которое при проставлении
внешней ссылки ничтожно мала. Если такую фобию в себе не перебороть, то можно
дать совет завести специальную страницу для обмена ссылками. Кстати, стоит
заметить, что при расчёте PageRank никто не обещал разделять ссылки на внешние и внутренние.

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

Если на какой-то сайт есть много ссылок с
FFA, гостевых книг или на сайтов другой тематики, то PageRank
будет занижен.
Не стоит путать понятия <индекс цитирования> и PageRank. При расчёте PageRank
анализ содержимого ни сайта ни текста ссылки не производится, учитываются
только общее число ссылок и их веса, поэтому никаких штрафных санкций при
наличии ссылок с <неправильных> страниц не применяется. 

14.02.09, 9:05

Сергей Рудюк 14 февраля 2009

Много раз мы использовали различные методы для того, чтоб маскировать динамический код под обычные html-страницы. Но, до последнего времени, эта информация была достаточно разрозненной, не систематизированной. Но, вот нашёл статью на http://www.woweb.ru/publ/36-1-0-336 и решил отметить в блоге - чтоб и самому не забыть...

Вот мы вплотную подошли к теме статьи, нам придется менять URL всех страниц и приводить его в нормальный вид.

Я знаю 4 способа, как это сделать.

1. Самый ламерский способ :). Мы пишем

ErrorDocument 404 script.php

в файле .htaccess, где script.php - файл, в котором обрабатывается запрошенный URL и выводится нужная страница. Способ основан на том, что вы можете выдумать любой URL по которому Вы потом однозначно можете отобразить нужную страницу, обработав его (URL) скриптом, который будет вызван, если страница, на которую Вы ссылаетесь не существует.

2. В httpd.conf или .htaccess мы пишем строку

Options Multiviews

Теперь сервер при запросе URL вида <адрес директории>/one/two/three будет искать файл one с любым расширением (например one.php), который Вы заблаговременно помещаете в <адрес директории>. А уже в one.php разбираем переменную окружения $REQUEST_URI и показываем нужную страницу.

3. В httpd.conf или .htaccess мы пишем


ForceType application/x-httpd-php

Этим мы говорим серверу, что если будет запрос <адрес директории>/index/one/two, то ему следует считать, что index, это не папка, а файл. Кроме того это еще и PHP-скрипт. Естественно Вам нужно будет создать файл index (без расширения), в котором Вы будете разбирать все запросы.

4. И наконец самый мощный инструмент подмены URL-ов программный модуль mod_rewrite. В httpd.conf или .htaccess мы пишем

RewriteEngine On

Options +FollowSymlinks

RewriteBase /

RewriteRule ^index/(.*)$ /index.php/$1

Этим мы запускаем сам модуль, устанавливаем действие модуля только на текущий каталог, определяем корневой URL и говорим серверу, что при запросе пользователя index/<какой_угодно_текст> пользователь будет перенаправлен по адресу /index.php/<какой_угодно_текст>. Вроде практической выгоды от такого перенаправления нет, но, если мы будем использовать пункты 3 и 4 одновременно, то может получиться интересный результат. На своем сайте (webshops.ru) я сделал так:

RewriteEngine On

RewriteBase /

RewriteRule ^index/(.*)$ /index.php/$1


ForceType application/x-httpd-php

Т.е. включил механизм mod_rewrite, определил корневой URL, сказал серверу изменять все запросы index/<какой_угодно_текст> на index.php/<какой_угодно_текст> и сказал, что такой URL нужно принять за PHP-скрипт, выполнив index.php. Просто и со вкусом :).

Теперь, например, написав в строке броузера http://webshops.ru/index/webshops, Вы (сами этого не подозревая) будете перенаправлены на http://webshops.ru/index.php/webshops, а этот запрос будет выполнен как http://webshops.ru/index.php с той лишь разницей, что в переменной $REQUEST_URI окажется "/index/webshops", что после благополучной обработки скриптом, покажет Вам список web-магазинов с их описаниями :).

Такие URLы придутся по вкусу любому поисковому роботу (да и с эстетической точки зрения они выглядят лучше). Остался последний штрих.

В тексте скрипта, до вывода на экран чего-либо (!) мы отправляем в header две волшебные строчки:

Header("HTTP/1.0 200 OK"); //строка нужна только для п. 1

Header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime("index.php"))." GMT"); //строка пригодится в любом случае

Первая строчка говорит роботу, что это обычная страница, а вторая - прописывает дату модификации, основываясь на дате последнего изменения index.php (файл, которым Вы обрабатываете все запросы).

Если у Вас не отображаются картинки на странице, Вы можете прописать абсолютные пути к каждой картинке. Но лучше вместо этого прописать в выдаваемой страницы строчку . Этим Вы скажете броузеру, что если посетитель забрел в виртуальную директорию (а именно так называются директории, которые мы только что научились делать), следует отсчитывать путь к картинке не от нее (ее нет :)), а от http://ваш_сайт.ru/.

14.02.09, 9:04

Сергей Рудюк 14 февраля 2009

« -- Задавайте уникальные заголовки документов, вкратце описывающие сайт и текущий документ (но не более 20-25 слов). Слова в заголовках имеют больший вес, чем остальные.

-- Давайте каждому документу описание в тэге description

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

-- Делайте подписи к картинкам в тэге alt Яндекс

-- Чем длиннее документ, тем менее заметны в нем будут слова, заданные в запросе и, следовательно, ваша страница будет ниже в результатах поиска при прочих равных. Старайтесь разбивать длинные документы на более короткие.

-- Яндекс работает только с текстами и не умеет распознавать графические изображения. Поэтому, если название нарисовано, стоит продублировать его в текстовом виде.

-- Соблюдайте правила оформления документов не набирайте слова в р а з р я д к у, если хотите, чтобы документ по ним находился (используйте для этого style sheet) не набирайте слова большими буквами без необходимости, если это не аббревиатура точки и запятые прижимайте к слову, за которым они стоят, после них ставьте пробел. Иначе Яндекс не распознает их как отдельные слова

-- И, наконец, подумайте, по каким словам и фразам вы сами искали бы сайт вашей тематики. Если ваш сайт посвящен разведению кур и вы не находите его по слову "куроводство" - значит, это слово мало используется в документах вашего сайта. Те, кто интересуется именно "куроводством", могут не найти ваш сайт. Давайте документам заголовки и редактируйте их текст соответственно тем запросам, по которым вы бы сами стали искать свой сайт.

-- Как работают ключевые слова (Meta keywords)?

Если слово из основного текста документа не расценено как спам и есть в "keywords" среди первых 50, то вес этого слова в запросе повышается, то есть документ получает более высокую релевантность.. Если слово есть в "keywords", но отсутствует в основном (видимом пользователю) тексте документа, то по умолчанию документ по этому слову не найдется.

Это означает, что, с точки зрения Яндекса количество повторов слова в "keywords" не может "поднять" документ в результатах поиска - на ранжирование влияет совпадение фактов наличия этого слова и в ключевых словах, и в основном тексте документа (ну и, естественно, в запросе пользователя).

--Поэтому повторов в "keywords" (как и в других местах) делать не рекомендуется. Во-первых, как сказано выше, это не помогает - вместо повторов лучше дать другие слова или варианты (например, перевод на другие языки, синонимы, транслитерацию и т.п.) - из тех, что есть в "видимом" тексте. Во-вторых, может и помешать - Яндекс может посчитать слишком частотные слова спамом.»

Резюме:

1 Определись со своим проектом, долгосрочный он или только на день

2 Выкладывай на сайт только качественный продукт, оптимизированный, заполненный и желательно без грубых ошибок.

3 Соблюдай правила Яндекса и ты будешь на вершине

4 Создай что-то интересное чтобы люди размещали ссылки на твой сайт

5 Дай людям то чего они хотят.

Источник информации: http://www.woweb.ru/publ/36-1-0-448

14.02.09, 9:03

Сергей Рудюк 14 февраля 2009

О некоторых нюансах конфигурирования файлового менеджера fckEditor можно прочитать по адресу: http://www.sergiusd.ru/scripts/fckfsys2#example

14.02.09, 9:02

Сергей Рудюк 14 февраля 2009

Не плохой сборник PHP-скриптов: http://www.woweb.ru

14.02.09, 9:01

Сергей Рудюк 14 февраля 2009

Как архивировать в формате zip PHP написано в статье: http://blog.webmasterschool.ru/php/48/

На http://www.phpclasses.org можно скачать класс Create ZIP File, предназначенный для создания zip-файлов с иерархией папок. Пример использования:

// Подключаем класс для работы с zip-архивами

include_once("createZip.inc.php");

$createZip = new createZip;

// Добавляем директорию

$createZip -> addDirectory("dir/");

// Добавляем файл

$fileContents = file_get_contents("img.jpg");

$createZip -> addFile($fileContents, "dir/img.jpg");

// Создаем архив

$fileName = "archive.zip";

$fd = fopen ($fileName, "wb");

$out = fwrite ($fd, $createZip -> getZippedfile());

fclose ($fd);

// Отдаем архив браузеру

$createZip -> forceDownload($fileName);

@unlink($fileName);

?>

Функция для извлечения файлов из архива:

/**

* Распаковывает zip-архив в указанный каталог.

* $dir - полный путь к каталогу.

* $file - полный путь к zip-архиву.

* $log - флаг вывода диагностики.

*/

function unpackZip($dir, $file, $log=0) {

if ($log) echo "Start unpack [$file] into [$dir] directory...

";

if ($zip = zip_open($file)) {

if ($zip) {

// создать каталог, если он не существует

if (! file_exists($dir)) mkdir($dir);

while ($zip_entry = zip_read($zip)) {

$name = zip_entry_name($zip_entry);

if ($log) echo " unpack : $name

";

// последний символ имени

$last = substr($name, strlen($name)-1);

// если это каталог

if ($last == "/" || $last == "\\") {

$subdir = $dir."/".$name;

// создать каталог, если он не существует

if (! file_exists($subdir)) mkdir ($subdir);

} else {

// распаковать файл

if (zip_entry_open($zip, $zip_entry, "r")) {

$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

$fp = fopen($dir."/".zip_entry_name($zip_entry), "w");

fwrite($fp, $buf);

zip_entry_close($zip_entry);

} else {

return false;

}

}

}

zip_close($zip);

}

} else {

return false;

}

return true;

}

?>

14.02.09, 9:00

Адрес и телефон
E-mail: rs@corp2.net Skype: rudjuk
г. Киев, ул. Белорусская 30, офис. К2Р (схема проезда)
Мы в сети
Меню
www.megastock.ru Здесь находится аттестат нашего WM идентификатора 000000000000
Проверить аттестат
Наверх