Фотогалерея на GreyBox

В 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 читать дальше?

Drupal 24 апреля в офисе Мастерхоста прошел бесплатный семинар по Drupal. Было довольно интересно. Рассказывали с нуля: что такое, как ставить, основные особенности. Народу пришло немного, впрочем, зал был рассчитан на 50 человек и был почти полным. Порадовал мастер-класс по созданию ресурса аля Хабр. Вот что из этого вышло http://shvabrashvabr.ru

РИТ

14,15 апреля проходила конференция РИТ-2008
С программой можно ознакомиться на официальном сайте
Было довольно интересно. Видео лежит на рутубе. Из халявы был лицензионный Expression Studio и подарочный сертификат на 1600 руб от nic.ru

РИТ-2008

wordpress-logo Удобный on-line справочник по функциям wordpress
http://wordpress.taragana.net/nav.html?_functions/index.html

так и хочется взять в руки лопату и тупо копать и не думать получится у тебя или нет... и не думать «мммм.. яма не копается... странно... я вроде бы той лопатой ведь копаю... мммм... может быть рукоятку надо было вставить другим концом... ммм.... мммм... а лопата то блин выпущена в 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. Около года использую эту библиотеку. Очень доволен