В GreyBox при появлении всплывающего окна основной сайт несколько затемняется (что автоматически фокусирует ваш взор на нужном контенте); всплывающее окно всегда расположено вверху основного окна приложения. Задействовать GreyBox можно в разных ситуациях: просмотр картинок, показ страниц, видео или флэш-анимации и т. д.
Существует изветсный аналог LightBox. Эта библиотека мне понравилась меньше по двум причинам: невозможно нормально сохранить фото (при правом клике на картинке) и не все пользователи сразу догадаются жать на правую/левую половины фото для листания. В GreyBox навигацию видно сразу.
Я использовал GreyBox для галереи фотографий на сайте про военные сборы
Довольно часто проблема кэширования возникает при тестировании скриптов на локальной машине.
Лекарство:
header("Expires: Mon, 08 Jun 1985 03:00:00 GMT"); // мой день рождения:)
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: ".gmdate('D, d M Y H:i:s')." GMT");
Файл Sitemap - это список страниц вашего веб-сайта в формате XML. Создание файла Sitemap позволяет обеспечить в Google наличие данных обо всех страницах на вашем сайте, включая URL-адреса, которые невозможно обнаружить в ходе стандартного процесса сканирования. Более подробно о Sitemap.
Для Wordpress существует плагин Google Sitemap Generator for WordPress, который сгенерирует нужный Sitemap. Вот так выглядит sitemap для моего блога.
Атрибут alt задает альтернативный текст, который выводится, если у пользователя отключено отображение графики. Это знает каждый веб-мастер. Кроме того, атрибут alt играет небольшую роль в ранжировании результатов поиска. Недавно обнаружил еще один плюс от использования атрибута alt читать дальше?
24 апреля в офисе Мастерхоста прошел бесплатный семинар по Drupal. Было довольно интересно. Рассказывали с нуля: что такое, как ставить, основные особенности. Народу пришло немного, впрочем, зал был рассчитан на 50 человек и был почти полным. Порадовал мастер-класс по созданию ресурса аля Хабр. Вот что из этого вышло http://shvabrashvabr.ru
14,15 апреля проходила конференция РИТ-2008
С программой можно ознакомиться на официальном сайте
Было довольно интересно. Видео лежит на рутубе. Из халявы был лицензионный Expression Studio и подарочный сертификат на 1600 руб от nic.ru
так и хочется взять в руки лопату и тупо копать и не думать получится у тебя или нет... и не думать «мммм.. яма не копается... странно... я вроде бы той лопатой ведь копаю... мммм... может быть рукоятку надо было вставить другим концом... ммм.... мммм... а лопата то блин выпущена в 98 году, а для этой ямы нужна как минимум 2000 года... ммм.. а может место где я копаю не совместимо с мой маркой лопаты?»
Не буду взламывать сервер, не буду использовать sql-инъекции, не буду воровать cookies. Потому что большинство этих способов уже не работает – дыры в почтовых сервисах залатывают. Большинство статей по взлому почты безнадежно устарели. Буду использовать социальную инженерию. читать дальше ?
Условия:
- адреса должны быть активными
- сбор адресов должен быть автоматизированным
- количество адресов должно быть достаточным (более 100 000)
- формат спам-листа: таблица в MySQL
приступаем?
DbSimple - библиотека, реализующая единый интерфейс доступа к разным СУБД и включает в себя некоторое количество улучшений, упрощающих работу с СУБД.
Основные возможности
- Поддержка PHP 4 и 5, СУБД: MySQL, PostgreSQL и InterBase/FireBird.
- Простой и лаконичный интерфейс (см. примеры ниже).
- Функции непосредственной выборки: всего результата, строки, столбца, ячейки, ассоциативного массива, многомерного массива, связанного дерева.
- Поддержка различных видов placeholder-ов (параметров запроса): списковый, ассоциативный, идентификаторный
- Код библиотеки весьма компактен: один файл - базовый класс, один файл - драйвер конкретной СУБД.
и многое другое!
Основным недостатком традиционного подхода является разделение операций "выполнение запроса" и "получение результата запроса". Например необходимо получить список email пользователей со статусом 2
Традиционный подход
$rusult = $mysqli->query('SELECT email FROM user WHERE status='.$status);
$email_array = array();
while ($email = $rusult->fetch_assoc()) {
$email_array = $email['email'];
}
DbSimple
$email_array = $DB->selectCol('SELECT email FROM user WHERE status=?d', $status);
'SELECT email FROM user WHERE status='.$status - уязвим для sql-иньекций, если не проверить переменую $status
'SELECT email FROM user WHERE status=?d' - ?d это как раз и есть placeholder. Вместо него подставляется $status как целое число. Нам не нужно заморачиваться с проверкой - это сделает библиотека.
Это далеко не все возможности DbSimple. Более подробно в официальной документации
p.s. Около года использую эту библиотеку. Очень доволен