Формальные критерии оценки качества вёрстки

Базовые критерии:

  1. Выполнена HTML-разметка всех страниц и всех элементов на страницах.
  2. Один стилевой файл на все страницы (с учётом normalize.css можно два).
  3. Вёрстка идентично отображается в последних версиях браузеров Chrome, Opera, Firefox, Safari, а также в Internet Explorer 10+.
  4. Сайт должен нормально смотреться на минимальном для данного макета разрешении:
    • При большем размере экрана макет должен оставаться по центру и не иметь горизонтального скролла.
    • На разрешениях экрана меньше ширины контейнера вёрстка не должна менять свою структуру.
  5. В корне документа должны быть папки css, img, js или аналогичные. Главная страница имеет название index.html. В названиях и расширениях файлов нет заглавных букв и пробелов.
  6. Единообразное написание и форматирование кода в HTML, CSS и JavaScript.
  7. Грубые ошибки в разметке отсутствуют. Например:
    • Ссылки сделаны не тегом < a >, а другими тегами.
    • Использование строчных элементов для создания крупных (сеточных) блоков.
    • Абзацы должны быть абзацами, а не < br >< br >
  8. Нельзя строить сетку с помощью таблиц и позиционирования.
  9. Нельзя использовать !important в CSS.
  10. При наполнении контентом как на макете элементы каждой страницы должны соответствовать макету:
    • Допускаются различия в 5 пикселей по высоте и 2 пикселя по ширине.
    • Допускаются отсутствия стилизации кастомных элементов форм.
    • Допускаются различия в отображении шрифтов, связанные со сглаживанием на различных платформах.
    • Должны быть подключены правильные шрифты, а их размеры и толщина должны соответствовать размерам в макетах и ТЗ.
  11. Выбран правильный формат изображений:
    • JPEG для фотографий.
    • Всё остальное в PNG.
  12. Документ должен проходить проверку на валидность validator.w3.org

Читать далее «Формальные критерии оценки качества вёрстки»

6 резонов в пользу адаптивного дизайна — будущего электронного образования и мобильного обучения

Известный блоггер, спикер, консультант и подкастер RJ Jacquez опубликовал статью, мысли которой о мобильном обучении и его революционном влиянии мне созвучны. Приводить полный перевод не буду, потому как в тексте есть неприкрытая реклама компании Adobe, софт которой у меня не пользуется популярностью не потому, что он плох, а потому, что в мои «пальцы не входит». Кто хочет может прочитать оригинал 6 Reasons Why Responsive Design Makes sense as the Future of e-Learning and m-Learning Design, а здесь будет изложение на заданную тему. Тем более, что есть возможность «отфильтровать» и показать только то, с чем согласен, надеюсь, автор не будет возражать.
Читать далее «6 резонов в пользу адаптивного дизайна — будущего электронного образования и мобильного обучения»

Два взгляда на программирование

Источник перевода: EWD540

В окружающем нас мире мы сталкиваемся с двумя коренным образом различными взглядами на программирование:

  • Точка зрения А: программирование в сущности очень просто.
  • Точка зрения В: программирование по сути очень сложно.

Дискуссию можно закрыть и на этом успокоиться, если сделать предположение, что одно и то же слово «программирование» в двух проекциях приобретает довольно различные значения. Однако, то какая точка зрения является преобладающей имеет огромное значение и оказывает влияние не только на учебные программы наших высших учебных заведений и кадровую политику организациях использующих компьютеры, но и даже на направление развития и исследования в самой науке о вычислениях. В связи с этим представляется целесообразным исследовать природу различий между этими двумя точками зрения и определить, если это возможно, исходные посылки, соответствующие каждой из них. Сделать это — цель настоящей статьи.
Читать далее «Два взгляда на программирование»

О природе информатики

Источник вдохновения: EWD896

Теперь, когда летние курсы подходят к концу [EWD895], самое время посмотреть на их тему под другим углом зрения.

Официальная тема курсов: «Потоки управления и потоки данных: Концепции распределенного программирования» — всего лишь определила направление, обычно мы приходили к гораздо более общим вопросам, которые, вероятно, жизненно важны для информатики в целом. Итак, какова природа информатики или, что возможно более точно, какой она должна быть?
Читать далее «О природе информатики»

Нажмите кнопку «Купить». Что это значит с юридической точки зрения?

Первоисточник: Мегамозг — толковая статья, где без всякого рода «туманностей» разъясняется то, что нам нужно.

 

В современном мире с помощью Интернета заключаются различные сделки и продаются самые разные товары (в экономическом смысле), как материальные, так и нематериальные (ПО, музыка, фильмы и другая интеллектуальная собственность). Процесс их покупки для конечного пользователя выглядит, как нажатие на кнопку на экране компьютера или смартфона на которой написано «Купить», принять, подтвердить и тому подобное. Иногда для покупки необходимо ввести специальный код, полученный по SMS.

Читать далее «Нажмите кнопку «Купить». Что это значит с юридической точки зрения?»

Персонализация страницы подключения WP

Следующий фрагмент php-кода файла function.php вашей темы делает 3 вещи…

Сначала он заменяет логотип в WordPress. Для этого создайте подходящий образ с именем logo-login.png и разместите его в папке images своей темы (или поменяйте эти имена во фрагменте).

Во-вторых он заменяет URL-адрес логотипа на URL вашей домашней страницы. По умолчанию ссылка приводит на сайте http://wordPress.org.

И наконец он заменяет содержимое параметра Alt этого изображения, именем вашего сайта так, как это определено в ваших настройках WP.

// This function loads your image in the login page
function custom_login_logo() {
	echo '';
}  
add_action('login_head', 'custom_login_logo');
 
// This functions changes the img url and alt text
function change_wp_login_url() {
	echo bloginfo('url');  // this is where a click on the logo would lead to
}  
 
function change_wp_login_title() {
	echo get_option('blogname'); // this is the alt text
}  
 
add_filter('login_headerurl', 'change_wp_login_url');  
add_filter('login_headertitle', 'change_wp_login_title');

Рассылка подписчикам уведомления о новой публикации

Довольно часто функционал интернет-ресурса требует рассылки пользователям ресурса уведомления о публикации новой статьи. Например, в часто мною используемых сайтах поддержки учебных курсов (что не курс, то сайт и так по 8-10 новых сайтов каждый год), где зарегистрированы все курсанты. Конечно, это можно сделать с помощью тяжеловесных плагинов-майлеров, но зачем? В файл function.php своей темы можно вставит небольшой код, который с успехом решает эту задачу.

Небольшими правками можно добиться более точного попадания в пользователя контента необходимой категории. И все это просто «ничего не весит» в сравнении с, например, Newsletter, e-mailing service или Newsletter Manager.

function email_registered_members($post_ID)  {
    //global $wpdb;
 
    //$userslistarray = $wpdb->get_results("SELECT user_email FROM $wpdb->users;");
 
    $wp_user_search = new WP_User_Query( array( 'fields' => array('user_email') ) );
    $userslistarray = $wp_user_search->get_results();
    $arrUsers = array ();
    for ($arr = $userslistarray, $mU = count ($arr), $iU = 0; $iU < $mU; $iU++) {
        $arrUsers[] = $arr[$iU]->user_email;
    }
 
    $users = implode(",", $arrUsers);
      
    mail($users, "New Post Published : " . get_bloginfo('name') , "at" . get_bloginfo('siteurl'). " Visit today to learn more" );
    return $post_ID;
}
add_action('publish_post', 'email_registered_members');