text: -- phpMyAdmin SQL Dump
  -- version 4.6.5.2
  -- https://www.phpmyadmin.net/
  --
  -- Хост: 78.108.80.119
  -- Время создания: Янв 04 2018 г., 15:28
  -- Версия сервера: 5.5.57-MariaDB-1ubuntu0.14.04.1
  -- Версия PHP: 5.5.11
  
  SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  SET time_zone = "+00:00";
  
  
  /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  /*!40101 SET NAMES utf8mb4 */;
  
  --
  -- База данных: `b182758_laravel`
  --
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `categories`
  --
  
  CREATE TABLE `categories` (
    `id` int(10) UNSIGNED NOT NULL,
    `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `categories`
  --
  
  INSERT INTO `categories` (`id`, `title`, `slug`, `created_at`, `updated_at`) VALUES
  (8, 'Web-разработка', 'web-razrabotka', '2018-01-04 11:02:03', '2018-01-04 11:02:03'),
  (9, 'Книги', 'knigi', '2018-01-04 11:06:36', '2018-01-04 11:06:36'),
  (10, 'Музыка', 'muzyka', '2018-01-04 11:06:43', '2018-01-04 11:06:43'),
  (11, 'Физ. подготовка', 'fiz-podgotovka', '2018-01-04 11:16:35', '2018-01-04 11:16:35'),
  (12, 'Здоровье', 'zdorove', '2018-01-04 11:16:41', '2018-01-04 11:16:41'),
  (13, 'Кулинария', 'eda', '2018-01-04 11:16:48', '2018-01-04 11:16:57'),
  (14, 'Программирование', 'programmirovanie', '2018-01-04 11:20:35', '2018-01-04 11:20:35'),
  (15, 'Космос', 'kosmos', '2018-01-04 11:22:44', '2018-01-04 11:22:44'),
  (16, 'Разное', 'raznoe', '2018-01-04 11:35:33', '2018-01-04 11:35:33');
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `comments`
  --
  
  CREATE TABLE `comments` (
    `id` int(10) UNSIGNED NOT NULL,
    `text` text COLLATE utf8mb4_unicode_ci NOT NULL,
    `user_id` int(11) NOT NULL,
    `post_id` int(11) NOT NULL,
    `status` int(11) NOT NULL DEFAULT '0',
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `migrations`
  --
  
  CREATE TABLE `migrations` (
    `id` int(10) UNSIGNED NOT NULL,
    `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `batch` int(11) NOT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `migrations`
  --
  
  INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
  (17, '2014_10_12_000000_create_users_table', 1),
  (18, '2014_10_12_100000_create_password_resets_table', 1),
  (19, '2017_12_30_222920_create_categories_table', 1),
  (20, '2017_12_30_223652_create_tags_table', 1),
  (21, '2017_12_30_223821_create_comments_table', 1),
  (22, '2017_12_30_223844_create_posts_table', 1),
  (23, '2017_12_30_223921_create_subscriptions_table', 1),
  (24, '2017_12_30_225212_create_posts_tags_table', 1),
  (25, '2017_12_31_222053_add_avatar_column_to_users', 2),
  (26, '2017_12_31_232222_make_password_nullable', 3),
  (27, '2018_01_01_003155_add_date_to_posts', 4),
  (28, '2018_01_01_005229_add_image_to_posts', 5),
  (29, '2018_01_01_140811_add_description_to_posts', 6);
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `password_resets`
  --
  
  CREATE TABLE `password_resets` (
    `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `created_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `posts`
  --
  
  CREATE TABLE `posts` (
    `id` int(10) UNSIGNED NOT NULL,
    `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
    `category_id` int(11) DEFAULT NULL,
    `user_id` int(11) DEFAULT NULL,
    `status` int(11) NOT NULL DEFAULT '0',
    `views` int(11) NOT NULL DEFAULT '0',
    `is_featured` int(11) NOT NULL DEFAULT '0',
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL,
    `date` date DEFAULT NULL,
    `image` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `description` text COLLATE utf8mb4_unicode_ci
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `posts`
  --
  
  INSERT INTO `posts` (`id`, `title`, `slug`, `content`, `category_id`, `user_id`, `status`, `views`, `is_featured`, `created_at`, `updated_at`, `date`, `image`, `description`) VALUES
  (16, 'Установка фреймворка Yii2', 'ustanovka-freymvorka-yii2', '<p><strong>&nbsp;</strong>Мы можем воспользоватся одним из способов:</p>\r\n\r\n<ol>\r\n	<li><strong>установка yii2 через comoser</strong></li>\r\n	<li><strong>установка yii2 через архив</strong></li>\r\n</ol>\r\n\r\n<p><strong>ВНИМАНИЕ! Версия php должна быть &gt;= 5.4.0</strong></p>\r\n\r\n<p>Так же стартовый шаблон yii2 может быть двух типов:</p>\r\n\r\n<ol>\r\n	<li><strong>yii2 advanced</strong></li>\r\n	<li><strong>yii2 basic</strong></li>\r\n</ol>\r\n\r\n<p>Теперь более детально разберем каждый из способов установки&nbsp;каждого шаблона.</p>\r\n\r\n<h2>Установка yii2&nbsp;basic и advanced шаблонов через composer</h2>\r\n\r\n<p>Заходим в консоль&nbsp;<strong>openserver&nbsp;</strong>(если вы его уже запустили), как показано на рисунке ниже:</p>\r\n\r\n<p><img alt=\"openserver-consol\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/openserver-consol.jpg\" /></p>\r\n\r\n<p>Далее необходимо проверить&nbsp;установлен ли<strong>&nbsp;composer.&nbsp;</strong>Обычно он присутствует в стандартной сборке&nbsp;<strong>openserver,&nbsp;</strong>но лучше удостовериться. Для этого в консоле вводим команду:</p>\r\n\r\n<p><big><small><strong><em>composer -v</em></strong></small></big></p>\r\n\r\n<p>Вы должны увидеть на экране следующее:<br />\r\n<img alt=\"composer-install\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/composer-install-300x93.jpg\" />&nbsp;</p>\r\n\r\n<p>Если на экране отобразиться что то другое, значит вам необходимо самостоятельно установить&nbsp;<strong>composer &nbsp;-&nbsp;<a href=\"https://getcomposer.org/doc/00-intro.md\">Инструкция</a>.</strong></p>\r\n\r\n<p>&nbsp;Переходим к&nbsp;установке&nbsp;<strong>yii2</strong>. Через консоль переходим в папку домена куда будем&nbsp;<strong>устанавливать yii2.&nbsp;</strong>Если&nbsp;домен&nbsp;localhost, то команда будет выглядеть так:&nbsp;</p>\r\n\r\n<p><strong><em>cd domains/localhost</em></strong></p>\r\n\r\n<p>После выполнения команды проверьте в какой директории вы находитесь:</p>\r\n\r\n<p><img alt=\"directory\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/directory-300x37.jpg\" /></p>\r\n\r\n<p>Убедившись в соответствии каталога, вводим&nbsp;команду:</p>\r\n\r\n<p><strong><em>composer global require &quot;fxp/composer-asset-plugin:~1.0.3&quot;</em></strong></p>\r\n\r\n<p><br />\r\nТеперь, чтобы установить&nbsp;<strong>basic</strong>&nbsp;версию используем команду:</p>\r\n\r\n<p><strong><em>composer create-project --prefer-dist yiisoft/yii2-app-basic yii2-basic</em></strong></p>\r\n\r\n<p>А для установки&nbsp;<strong>advanced:</strong></p>\r\n\r\n<p><em><strong>composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2-advanced</strong></em></p>\r\n\r\n<p><br />\r\nЧерез коменду composer<strong>&nbsp;</strong>мы создаем проект и скачиваем в него фалы&nbsp;фреймворка. Последний параметр &laquo;yii2-basic&raquo; &mdash; это имя каталога в который установиться yii2.&nbsp;</p>\r\n\r\n<p>&nbsp;Теперь можно проверить установку перейдя по адресу http://localhost/yii2-basic/web или http:///localhost/yii2-advanced/frontend/web/.&nbsp;</p>\r\n\r\n<p>Иногда при&nbsp;установке&nbsp;<strong>yii2&nbsp;</strong>через&nbsp;<strong>composer&nbsp;</strong>можно встретить такую ошибку:</p>\r\n\r\n<p><img alt=\"error\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/error-1-300x74.jpg\" /></p>\r\n\r\n<p>Для того что бы её решить, необходимо скачать архив yii2, взять оттуда папку&nbsp;<strong>vendor</strong>&nbsp;и переместить в корневую папку фреймворка. После этого все должно заработать.</p>\r\n\r\n<p>Другая распространенная ошибка:</p>\r\n\r\n<p><img alt=\"error-2\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/error-2-300x90.jpg\" /></p>\r\n\r\n<p>В данном случае нам необходимо найти файл&nbsp;<strong>web.php&nbsp;</strong>в папке&nbsp;<strong>config&nbsp;</strong>открыть его и в&nbsp;<strong>cookieValidationKey&nbsp;</strong>поставить любое значение.</p>\r\n\r\n<p><img alt=\"cookieValidation\" src=\"http://web-sprints.ru/wp-content/uploads/2016/07/cookieValidation-300x125.jpg\" /></p>\r\n\r\n<h2>Установка yii2 basiс и advanced шаблонов через архив.</h2>\r\n\r\n<p>Создаем директорию домена в который будем&nbsp;<strong>устанавливать yii2</strong>&nbsp;или новый домен. Переходим по&nbsp;&nbsp;<a href=\"http://www.yiiframework.com/download/\">ссылке</a>&nbsp; и ищем на странице заголовок: &laquo;Install from an Archive File&raquo;, сразу под ним будут предложены 2е ссылки для скачивания&nbsp;<strong>basic</strong>&nbsp;и&nbsp;<strong>advanced&nbsp;</strong>версии. Скачиваем необходимую и распаковываем в раннее созданную директорию. Все, на этом установка закончена. Можно проверить работу фреймворка перейдя по адресу:</p>\r\n\r\n<p>Для basic &mdash; Ваш_домен/Директория_Разархивирования/web/</p>\r\n\r\n<p>Для advanced &mdash; Ваш_домен/Директория_Разархивирования/frontend/web/</p>', 8, 5, 0, 0, 0, '2018-01-04 10:59:01', '2018-01-04 11:20:11', '2016-03-24', 'OGrH79Fwtw.jpeg', '<p>Рассмотрим установку фреймворка&nbsp;Yii на Openserver.</p>'),
  (17, 'Плавающая кнопка наверх для сайта.', 'plavayushchaya-knopka-naverh-dlya-sayta', '<p>Делается все в 2 этапа:</p>\r\n\r\n<p><big><em>1. Подключение библиотеки jQuery.</em></big></p>\r\n\r\n<p>Если вы используете WordPress или другую стандартную CMS, то эта библиотека, скорее всего, подключена по умолчанию. В таком случае, этот пункт вы можете пропустить.</p>\r\n\r\n<p>Для подключения библиотеки jQuery, вам нужно прописать в разделе</p>\r\n\r\n<p>вашего сайта следующую строку:</p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p><br />\r\n<big><em>2. Подключение скрипта, выводящего кнопку.</em></big></p>\r\n\r\n<p>Код скрипта можно вставить двумя способами:</p>\r\n\r\n<ul>\r\n	<li>либо поместить его целиком между тегами ,</li>\r\n	<li>либо разместив скрипт в отдельном фале, а в коде страницы прописать его подключение.</li>\r\n</ul>\r\n\r\n<p>Вот сам скрипт (автор Тимур Камаев wp-kama.ru):</p>\r\n\r\n<p><em><strong><script type=\"text/javascript\"></strong></em></p>\r\n\r\n<p><em><strong>jQuery(document).ready(function($){</strong></em></p>\r\n\r\n<p><em><strong>$(\'<style>\'+\'.scrollTop{ display:none; z-index:9999; position:fixed;\'+</strong></em></p>\r\n\r\n<p><em><strong>\'bottom:20px; left:90%; width:88px; height:125px;\'+\'background:url(http://biznessystem.ru/img/arrow.png) 0 0 no-repeat; }\' +</strong></em></p>\r\n\r\n<p><em><strong>\'.scrollTop:hover{ background-position:0 -133px;}\'+\'</style>\').appendTo(\'body\');</strong></em></p>\r\n\r\n<p><em><strong>var speed = 550,</strong></em></p>\r\n\r\n<p><em><strong>$scrollTop = $(\'<a href=\"#\" class=\"scrollTop\">\').appendTo(\'body\');</strong></em></p>\r\n\r\n<p><em><strong>$scrollTop.click(function(e){</strong></em></p>\r\n\r\n<p><em><strong>e.preventDefault(); $( \'html:not(:animated),body:not(:animated)\' ).animate({ scrollTop: 0}, speed );</strong></em></p>\r\n\r\n<p><em><strong>});</strong></em></p>\r\n\r\n<p><em><strong>//появление</strong></em></p>\r\n\r\n<p><em><strong>function show_scrollTop(){</strong></em></p>\r\n\r\n<p><em><strong>( $(window).scrollTop() > 330 ) ? $scrollTop.fadeIn(700) : $scrollTop.fadeOut(700); }</strong></em></p>\r\n\r\n<p><em><strong>$(window).scroll( function(){ show_scrollTop(); } ); show_scrollTop(); });</strong></em></p>\r\n\r\n<p><em><strong></script></strong></em></p>\r\n\r\n<p><br />\r\nЕсли вы будете использовать для скрипта отдельный файл,&nbsp;то в него помещаете код, находящийся между тегами , сами теги копировать в файл не нужно. Файл размещаете у себя на хостинге.Замените в скрипте ссылку<strong>&nbsp;http://biznessystem.ru/img/arrow.png</strong>&nbsp;на ту, где будет храниться ваша картинка.</p>\r\n\r\n<h3>Картинка для кнопки</h3>\r\n\r\n<p><img alt=\"Кнопка наверх\" src=\"http://biznessystem.ru/img/arrow.png\" /></p>\r\n\r\n<p>Для того, чтобы изображение кнопки менялось, файл картинки должен состоять из двух половинок, на одной изображается обычная стрелка, на другой активная стрелка (под наведенным курсором). Посетителю одновременно показывается только одна половина. У меня верхняя стрелка сделана полупрозрачной, вторая непрозрачная (яркая).</p>\r\n\r\n<p>Заданные цифры приведены для картинки размером 88 на 250 пикселей (каждая стрелка сделана по 125 пикселей в высоту). Если вы будете использовать другое изображение, то изменяете в коде значения width и height на свои.</p>\r\n\r\n<p>Значение&nbsp;<strong>background-position</strong>&nbsp;&ndash; это смещение картинки, его делаете чуть больше половины всей высоты изображения.</p>\r\n\r\n<p><strong>Bottom&nbsp;</strong>&ndash; это отступ от нижнего края экрана.&nbsp;<strong>Left&nbsp;</strong>&ndash; отступ от левого края экрана, здесь он задан в процентах, а можно задать в пикселях, как это было в примере с HTML. Там параметр&nbsp;<strong>right&nbsp;</strong>(отступ справа) был задан в пикселях.</p>\r\n\r\n<p>Код можно упростить, если удалить из него вот эту строку:</p>\r\n\r\n<p><br />\r\n<em><strong>+ &#39;.scrollTop:hover{ background-position:0 -133px;}&#39;</strong></em></p>\r\n\r\n<p>Она отвечает за изменение отображаемой части картинки при наведении курсора и если ее убрать, то кнопка всегда будет выглядеть одинаково. В этом случае вам не нужна будет картинка с двойным изображением, поставьте любую стрелку.</p>\r\n\r\n<p>Еще несколько готовых вариантов кнопок:</p>\r\n\r\n<p><img alt=\"Кнопка наверх\" src=\"http://biznessystem.ru/img/arrow.png\" /><img alt=\"Кнопка наверх 1\" src=\"http://biznessystem.ru/img/arrow1.png\" /><img alt=\"кнопка наверх 3\" src=\"http://biznessystem.ru/img/arrow2.png\" /><img alt=\"Кнопка наверх 3\" src=\"http://biznessystem.ru/img/arrow3.png\" /><img alt=\"Кнопка наверх 4\" src=\"http://biznessystem.ru/img/arrow4.png\" /></p>\r\n\r\n<p>Источник статьи -&nbsp;<a href=\"http://biznessystem.ru/knopka-naverh-dlya-sajta/\">http://biznessystem.ru/knopka-naverh-dlya-sajta/</a></p>', 8, 5, 0, 0, 0, '2018-01-04 11:03:26', '2018-01-04 11:05:48', '2015-07-22', 'gN0KSblzBj.jpeg', '<p>Реализуем плавающую&nbsp;кнопку&nbsp;&quot;Наверх&quot; для сайта, она обладает следующими достоинствами:</p>\r\n\r\n<ol>\r\n	<li>Кнопка не будет постоянно маячить перед глазами, а появится только тогда, когда посетитель пролистает страницу вниз;</li>\r\n	<li>Эффект возвращения наверх страницы будет плавным, что выглядит стильно;</li>\r\n	<li>Кроме того, наша кнопка будет меняться при наведении курсора (менять цвет или яркость).</li>\r\n</ol>'),
  (18, '«No Logo. Люди против брендов»', 'no-logo-lyudi-protiv-brendov', '<p>Наоми Кляйн родилась в Монреале (Канада) в 1970 году. Ее отец, врач и убежденный пацифист, и мать, активистка движения в защиту прав женщин, известная своим антипорнографическим фильмом&nbsp;This is Not A Love Story,переехали из США в Канаду в 60-х годах в знак протеста против войны во Вьетнаме.</p>\r\n\r\n<p>Наоми Кляйн училась в Университете Торонто; в студенческие годы активно занималась политической деятельностью, участвовала в движении за права женщин. В 1989 году (в то время, когда в Палестине шла&nbsp;интифада &mdash;восстание палестинцев) за небольшую статью в студенческой газете, содержащую критику политики Израиля, неоднократно получала угрозы расправы от неизвестных лиц. Вынужденная бросить учебу, она работала обозревателем газеты&nbsp;The Toronto Star,редактором журнала&nbsp;This magazineи других леворадикальных изданий. Материалы, накопленные в ходе этой журналистской работы, и легли в основу книги&nbsp;NO LOGO: Taking Aim At The Brand Bullies.На протяжении последних шести лет Наоми Кляйн путешествовала по Северной Америке, Азии, Латинской Америке и Европе, изучая экономические и социальные последствия глобализации и становление антикорпоративного движения в различных странах мира.</p>\r\n\r\n<p>Работа над книгой&nbsp;NO LOGOбыла завершена в 2000 году. В настоящее время книга переведена уже на 25 языков мира; газета&nbsp;The New York Timesназвала ее &laquo;библией антикорпоративного движения&raquo;. В 2000 году редакция газеты&nbsp;The Guardianноминировала&nbsp;NO LOGOна звание &laquo;лучшей книги года&raquo;&nbsp;(NO LOGOпопала в шорт-лист конкурса), а в 2001 году в Канаде получила престижную награду&nbsp;National Business Book Awardи была признана лучшей деловой книгой года. В настоящее время Наоми Кляйн в качестве обозревателя сотрудничает с газетами&nbsp;The Globe and Mail(Канада) и&nbsp;The Guardian(Великобритания). Ее статьи выходили на передовицах&nbsp;The New York Times, The Village Voice, Ms., The Nation, New Statesmanи многих других изданий. Наоми Кляйн &mdash; частый гость на телевидении, где выступает в качестве эксперта и политического обозревателя; читает лекции и ведет семинары по проблемам антикорпоративного движения. В октябре 2002 года был издан сборник ее статей, названный&nbsp;&laquo;Заборы и окна: хроники антиглобализацион-ного движения&raquo;(вышел в свет в издательстве &laquo;Добрая книга&raquo; в 2005 г.).</p>\r\n\r\n<p>В марте 2001 года был создан веб-сайт NoLogo. org , который задумывался как Интернет-портал для тех читателей&nbsp;NO LOGO,которые хотели бы продолжать изучать проблемы, поставленные в книге Наоми Кляйн и присоединиться к международному движению против глобализации и неолиберализма. Можно сказать, что этот веб-сайт стал расширением книги&nbsp;NOLOGOкак своеобразного брэнда. Сайт предоставляет посетителям возможность общаться друг с другом и быть в курсе той работы, которую ведут члены различных движений за социальную справедливость. Сайт содержит информацию о различных общественных движениях и инициативных группах, а также богатую коллекцию ссылок на соответствующие ресурсы в сети Интернет. NoLogo. org действует как информационный центр, освещающий текущие события, общественные акции и кампании, в которых может принять участие каждый, и играет роль своеобразного научно-исследовательского ресурса для тех, кто хочет глубже изучить проблемы, лежащие в основе большинства современных общественных движений за справедливое социальное и экономическое переустройство мира. На сайте вы найдете последние статьи и выступления Наоми Кляйн, а также полный архив ее работ.</p>\r\n\r\n<p>Источник -&nbsp;<a href=\"https://profilib.net/kniga/5741/naomi-klyayn-no-logo-lyudi-protiv-brendov.php\">https://profilib.net/kniga/5741/naomi-klyayn-no-logo-lyudi-protiv-brendov.php</a></p>', 9, 5, 0, 0, 1, '2018-01-04 11:08:25', '2018-01-04 11:08:25', '2017-11-21', 'tSArq7rC4J.png', '<p>&quot;No Logo&quot; - это одновременно серьезное экономическое и культурологическое исследование, политический манифест, научная монография и увлекательное журналистское расследование, критикующее глобализацию, неолиберализм и современный экономический порядок, при котором мир, опутанный сетями глобальных брэндов, лишен возможности свободного выбора и не может полноценно развиваться.</p>'),
  (19, 'Установка WordPress на OpenServer.', 'ustanovka-wordpress-na-openserver', '<p>Переходим на сайт&nbsp;<a href=\"https://ru.wordpress.org/\">https://ru.wordpress.org/</a>, нажимаем &laquo;Скачать&raquo;, чтобы загрузить последнюю версию ВордПресс.</p>\r\n\r\n<p><img alt=\"скачиваем wordpress с оффсайта\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/skachat-wordpress.png\" /></p>\r\n\r\n<p>После того, как дистрибутив загрузится на Ваш компьютер, создайте в папке OpenServer папку для вордпресса и поместите загруженный архив в нее.</p>\r\n\r\n<h2>Создаем папку сайта на WP для OpenServer.</h2>\r\n\r\n<p>Переходим в папку &laquo;Openserver&raquo; &gt; &laquo;domains&raquo; и создаем в ней папку, в которой будет установлен WordPress, например &laquo;wpfolder&raquo;.</p>\r\n\r\n<p><img alt=\"делаем папку для размещения движка\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/sozdaem-papku-dlja-wordpress.png\" /></p>\r\n\r\n<p>Загружаем в нее архив с CMS.</p>\r\n\r\n<p><img alt=\"помещаем архив в папку сайта\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/arhiv-v-papke.png\" /></p>\r\n\r\n<p>Теперь необходимо распаковать архив. При необходимости, распакованные файлы нужно будет перенести в корневую папку (в примере &ndash; &laquo;wpfolder&raquo;), иначе сайт будет открываться не по адресу &laquo;wpfolder&raquo;, а</p>\r\n\r\n<p>по адресу &laquo;wpfolder/wordpress&raquo;:</p>\r\n\r\n<p><img alt=\"разархивируем вп\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/izvlekaem-fajly-iz-arhiva.png\" /></p>\r\n\r\n<p>Вот так выглядит папка с распакованной CMS WordPress:</p>\r\n\r\n<p><img alt=\"файлы WP после распаковки\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/fajly-cms.png\" /></p>\r\n\r\n<h2>Создаем базу данных и пользователя в PhpMyAdmin.</h2>\r\n\r\n<p>Вордпресс использует для хранения информации базу данных MySQL. Т.е. сайт, созданный на вордпрессе &ndash; динамический. Что это означает? Когда посетитель открывает какую-либо страницу сайта, из сохраненных в базе данных элементов формируется HTML код, который в итоге и видит посетитель.</p>\r\n\r\n<p>Поэтому для корректной работы WP необходима база данных и пользователь &ndash; администратор этой базы данных. Проще всего создать базу и пользователя через утилиту PhPMyAdmin, которая входит в состав OpenServer.</p>\r\n\r\n<p>Открываем PhpMyAdmin:</p>\r\n\r\n<p><img alt=\"старт php my admin\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/zapusk-phpmyadmin.png\" /></p>\r\n\r\n<p>Откроется окно входа. По умолчанию логин &ndash; &laquo;root&raquo;, пароль &ndash; отсутствует.</p>\r\n\r\n<p><img alt=\"логин под рутом\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/vhod-v-panel.png\" /></p>\r\n\r\n<p>Нажимаем &laquo;ОК&raquo;, попадаем в интерфейс PhpMyAdmin. Мы сейчас не будем рассматривать основные возможности скрипта, нам нужно только добавить пользователя и прикрепить к нему базу данных.</p>\r\n\r\n<p>Переходим на вкладку &laquo;Пользователи&raquo;, нажимаем &laquo;Добавить пользователя&raquo;:</p>\r\n\r\n<p><img alt=\"добавление юзера\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/dobavljaem-novogo-polzovatelja.png\" /></p>\r\n\r\n<p>В открывшемся окне выполняем следующие действия:</p>\r\n\r\n<p><img alt=\"пользовательские настройки\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/dobavlenie-bazy-dannyh-i-polzovatelja.png\" /></p>\r\n\r\n<ol>\r\n	<li>Заполняем имя пользователя.</li>\r\n	<li>Генерируем пароль для него (чем сложнее пароль, тем лучше &ndash; злоумышленники не смогут получить доступ к базе данных методом подбора пароля).</li>\r\n	<li>Отмечаем флажками поля &laquo;Создать базу данных с именем пользователя в названии и предоставить на нее полные привилегии&raquo;, &laquo;Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\\_%)&raquo;.</li>\r\n	<li>Предоставляем пользователю возможность производить любые действия с этой базой данных (нажимаем на ссылку &laquo;Отметить все&raquo;, после чего в блоках &laquo;Данные&raquo;, &laquo;Структура&raquo; и &laquo;Администрирование&raquo; все поля будут отмечены флажками).</li>\r\n	<li>Сохраняем логин и пароль в текстовом файле у себя на компьютере, затем нажимаем &laquo;ОК&raquo;.</li>\r\n</ol>\r\n\r\n<p>Видим, что был выполнен ряд запросов, в результате которых мы получили базу данных и пользователя.</p>\r\n\r\n<p><img alt=\"пользователь и база добавлены\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/dobavlenie-proshlo-uspeshno.png\" /></p>\r\n\r\n<h2>Чтобы установить, переименовываем wp-config-sample.</h2>\r\n\r\n<p>Следующий шаг &ndash; в папке с WordPress переименовываем конфигурационный файл. Из &laquo;wp-config-sample.php&raquo; в &laquo;wp-config.php&raquo;. Это требуется для дальнейших действий. &laquo;Sample&raquo; - означает &laquo;шаблон&raquo;,</p>\r\n\r\n<p>переименовав файл мы делаем его рабочим конфигурационным файлом для WordPress.</p>\r\n\r\n<p><img alt=\"переименуем конфиг\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/renejm-konfiga.png\" /></p>\r\n\r\n<h2>Вставляем БД, логин и пароль в wp-config.</h2>\r\n\r\n<p>Теперь нужно вписать адрес базы данных, логин пользователя и его пароль в конфигурационный файл - wp-config.php.</p>\r\n\r\n<p>Открываем его с помощью NotePad++:</p>\r\n\r\n<p><img alt=\"куда вносить данные\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/konfiguracionnyj-fajl.png\" /></p>\r\n\r\n<p>В обозначенные поля нам нужно внести сохраненные данные. Название базы данных и имя пользователя совпадают, т.к. в PhpMyAdmin быза выбрана опция &laquo;Создать базу данных с именем пользователя в названии</p>\r\n\r\n<p>и предоставить на нее полные привилегии&raquo;. Так будет выглядеть заполненный файл:</p>\r\n\r\n<p><img alt=\"вносим данные\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/primer-zapolnennogo-wp-konfiga.png\" /></p>\r\n\r\n<p>Сохраняем файл, переходим к установке WordPress.</p>\r\n\r\n<h2>Запускаем процесс установки WordPress.</h2>\r\n\r\n<p>Для запуска установки &ndash; нужно либо открыть сайт через OpenServer, либо ввести его в адресной строке браузера.</p>\r\n\r\n<p><img alt=\"откроем сайт\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/otkryvaem-sajt.png\" /></p>\r\n\r\n<p>Откроется окно установки WordPress, где необходимо заполнить следующие поля:</p>\r\n\r\n<p><img alt=\"заполним поля для установки\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/ustanovka-wp.png\" /></p>\r\n\r\n<ol>\r\n	<li>Название сайта. Это НЕ домен сайта, это то, что будет показано в шапке сайта. &laquo;Блог математика Василия&raquo;, &laquo;Все про породы кошек&raquo; и т.д.</li>\r\n	<li>Имя пользователя. При установке вводить можно только латинские буквы, пробелы, подчёркивания, дефисы, точки и символ @. В дальнейшем можно установить кириллическое имя администратора и пользователей с помощью плагина.</li>\r\n	<li>Пароль &ndash; чем сложнее, тем лучше. WordPress &ndash; самая распространенная CMS в мире, поэтому и ломают ее методом перебора чаще, чем другие. Используйте сложный пароль.</li>\r\n	<li>Адрес вашей электронной почты. Наобум указывать не нужно, т.к. при запросе восстановления пароля он будет отправлен именно на этот адрес.</li>\r\n	<li>Если флажок не установлен &ndash; в файл robots.txt будет прописана директива, запрещающая поисковым системам индексировать сайт. Снимать его нужно только в случае, если Вы знаете, что доработка и наполнение сайта займет 2-3 недели. И только спустя это время Вы готовы показать сайт посетителям.</li>\r\n	<li>Нажимаем &laquo;Установить WordPress&raquo;</li>\r\n</ol>\r\n\r\n<p>Мы не рекомендуем снимать флажок &laquo;Разрешить поисковым системам индексировать сайт&raquo;. Лучше в течение 3-5 дней заполнить основные разделы сайта.&nbsp;<strong>Чем раньше сайт появляется в &laquo;зоне видимости&raquo;</strong></p>\r\n\r\n<p><strong>поисковых систем, тем раньше он получит первых посетителей.</strong>При этом только индексация сайта может занять 2-4 недели, зачем увеличивать этот срок?</p>\r\n\r\n<h2>Проверяем &ndash; установился ли ВордПресс.</h2>\r\n\r\n<p>Если все предыдущие шаги были выполнены без ошибок, мы увидим окно, подтверждающее корректную установку WordPress.</p>\r\n\r\n<p><img alt=\"проверяем после установки\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/proverka-ustanovki.png\" /></p>\r\n\r\n<p>Проверяем &ndash; все ли работает корректно. Открываем пользовательскую часть сайта. Все в порядке.</p>\r\n\r\n<p><img alt=\"морда сайта\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/frontend.png\" /></p>\r\n\r\n<p>Проверяем администраторскую часть (чтобы попасть в админпанель WordPress нужно ввести логин и пароль администратора, после перехода по ссылке названиесайта/wp-login.php).</p>\r\n\r\n<p><img alt=\"входим в админку\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/vhod-v-adminku.png\" /></p>\r\n\r\n<p>С админкой сайта тоже все в порядке:</p>\r\n\r\n<p><img alt=\"проверяем админку\" src=\"https://www.ipipe.ru/newcss/img/ustanovka-wordpress-na-openserver/proverka-adminpaneli.png\" /></p>\r\n\r\n<p>На этом процесс установки WordPress на OpenServer закончен.</p>\r\n\r\n<p>Источник -&nbsp;<a href=\"https://www.ipipe.ru/info/ustanovka-wordpress-na-openserver.html\">https://www.ipipe.ru/info/ustanovka-wordpress-na-openserver.html</a></p>', 8, 5, 0, 0, 1, '2018-01-04 11:11:24', '2018-01-04 11:11:24', '2016-12-03', 'zpwr8M1gDm.jpeg', '<p>Пошаговая инструкция &ndash; как скачать, установить и запустить&nbsp;WordPress на OpenServer.</p>'),
  (20, 'Виктор Пелевин \"Тхаги\".', 'viktor-pelevin-thagi', '<p>На нем была черная водолазка с металлической искрой, темные брюки и лаковые ботинки, покрытые разводами грязи. Он был примотан к железному стулу &mdash; тонкой веревкой, много-много раз обернутой вокруг его ног, рук и туловища, словно его вязали лилипуты или привычная к мелкому вышиванию женщина.</p>\r\n\r\n<p>&mdash;&nbsp;Вроде оклемался. Эй, как дела?</p>\r\n\r\n<p>Видимо, решив, что изображать забвение непродуктивно, молодой человек открыл глаза.</p>\r\n\r\n<p>Перед ним стояли двое.</p>\r\n\r\n<p>Женщине в строгом брючном костюме было под пятьдесят. У нее были длинные распущенные по плечам волосы рыжеватого цвета, мелкие черты лица и очень деловой вид. В ее ушах блестели две серебряные монетки, красиво приспособленные в качестве сережек.</p>\r\n\r\n<p>Мужчина примерно тех же лет был солнечно-круглым и лысым, с лицом покорным и одновременно хитрым. Он походил на колобка, который в юности имел беседу с медведем-прокурором и навсегда усвоил, что в России он просто малая булка, которая никуда ни от кого не уйдет,&nbsp;&mdash; но постепенно приладился в этом скромном качестве, обжился и неплохо так покатил. На нем были джинсы, серый твидовый пиджак и неуместный галстук из желтого шелка.</p>\r\n\r\n<p>Помещение вокруг было странным. Это был просторный подземный склад со стенами из серого бетона и низким потолком, опирающимся на несколько четырехугольных колонн. Один угол склада был чуть подремонтирован, выкрашен белой краской и превращен в подобие открытого офиса с крохотной кухонькой. На остальном пространстве, видимо, должны были храниться какие-то товары &mdash; но сейчас там было пусто, только у дальней стены чернел штабель новеньких автомобильных покрышек.</p>\r\n\r\n<p>Та часть помещения, которая была складом, выглядела именно так, как положено подземному хранилищу. Необычной была офисная зона. Стол с оргтехникой, стоящий в углу, был малопримечателен, но стену рядом с ним почему-то украшали две огромные, почти в человеческий рост, черно-белые фоторепродукции. Одна изображала каменную женщину в хламиде, с мечом в руке стоящую на вершине холма. На второй тоже была каменная женщина с мечом, парящая над бородатыми воинами &mdash; только не статуя, а барельеф.</p>\r\n\r\n<p>Между репродукциями, как раз напротив стула с примотанным к нему молодым человеком, в стене была устроена ниша-альков, доходящая до потолка и скрытая багровым занавесом.</p>\r\n\r\n<p>Увидев фотографии каменных воительниц, молодой человек довольно ухмыльнулся и кивнул, словно именно этого и ждал.</p>\r\n\r\n<p>&mdash;&nbsp;Голова болит?&nbsp;&mdash; спросил колобок.</p>\r\n\r\n<p>&mdash;&nbsp;Болит,&nbsp;&mdash; ответил молодой человек.&nbsp;&mdash; Чем вы меня так?</p>\r\n\r\n<p>&mdash;&nbsp;Травматика. Повезло, что на вас шапочка была. Кость цела, я проверил. Но шишка будет долго.</p>\r\n\r\n<p>&mdash;&nbsp;Меня зовут Борис,&nbsp;&mdash; сказал молодой человек.</p>\r\n\r\n<p>&mdash;&nbsp;Очень приятно,&nbsp;&mdash; с отчетливым сарказмом отозвался колобок.&nbsp;&mdash; Я Аристотель Федорович. А это,&nbsp;&mdash; он указал на безучастную женщину,&nbsp;&mdash; Румаль Мусаевна.</p>\r\n\r\n<p>Борис улыбнулся Румали Мусаевне, словно старой знакомой.</p>\r\n\r\n<p>&mdash;&nbsp;Развяжите меня,&nbsp;&mdash; попросил он.</p>\r\n\r\n<p>&mdash;&nbsp;А вот это кажется мне преждевременным.</p>\r\n\r\n<p>Борис грустно улыбнулся.</p>\r\n\r\n<p>&mdash;&nbsp;Кажется, я не вызываю у вас доверия.</p>\r\n\r\n<p>&mdash;&nbsp;А почему вы должны его вызывать после того, что вы учудили?</p>\r\n\r\n<p>Борис пристально поглядел на Аристотеля Федоровича и вдруг произнес странную скороговорку на неизвестном языке, в которой из близких русскому уху созвучий можно было уловить только какое-то &laquo;каляка-маляка&raquo; &mdash; или, может быть, нечто вроде &laquo;калитта-малитта&raquo;.</p>\r\n\r\n<p>Аристотель Федорович нахмурился и переглянулся с Румалью Мусаевной.</p>\r\n\r\n<p>&mdash;&nbsp;Вызывай милицию, Аристотель,&nbsp;&mdash; впервые нарушила та свое молчание.&nbsp;&mdash; И скорую помощь.</p>\r\n\r\n<p>Борис побледнел.</p>\r\n\r\n<p>&mdash;&nbsp;Какую еще милицию? Может быть, я немного не так произнес, я никогда не слышал, как правильно говорят. Все приходилось по книгам, самому. Наставника не было. Но теперь-то, надеюсь, будет?</p>\r\n\r\n<p>&mdash;&nbsp;Вы, Борис, говорите какими-то загадками,&nbsp;&mdash; сказал Аристотель Федорович.&nbsp;&mdash; Вы, похоже, приличный молодой человек, но чем-то&hellip; э-э&hellip; взволнованы. Может быть, вы успокоитесь и расскажете, что вас сюда привело?</p>\r\n\r\n<p>&mdash;&nbsp;Охотно,&nbsp;&mdash; ответил Борис,&nbsp;&mdash; охотно. Только рассказ получится длинным.</p>\r\n\r\n<p>Аристотель Федорович еще раз переглянулся со своей спутницей. Та пожала плечами.</p>\r\n\r\n<p>&mdash;&nbsp;Ну что ж,&nbsp;&mdash; сказал Аристотель Федорович,&nbsp;&mdash; спешить нам некуда, послушаем. Заварим вот только чайку&hellip;</p>\r\n\r\n<p>Румаль Мусаевна подошла к кухоньке и включила электрочайник. Аристотель Федорович взял стул, поставил его напротив Бориса спинкой вперед и сел на него как на лошадку, сложив на спинке руки и опустив на них подбородок. Почему-то он сразу перестал походить на колобка и напоминал теперь усталого следователя, хорошего по своим человеческим качествам, но из-за нехватки кадров вынужденного поочередно работать то хорошим, то плохим.</p>\r\n\r\n<p>&mdash;&nbsp;Ну,&nbsp;&mdash; сказал он,&nbsp;&mdash; валяйте.</p>\r\n\r\n<p>Борис закрыл глаза и некоторое время сосредотачивался.</p>\r\n\r\n<p>&mdash;&nbsp;Чтобы вы правильно все поняли,&nbsp;&mdash; заговорил он,&nbsp;&mdash; начать придется издалека. Я чуть-чуть расскажу о своем детстве. Замечу без ложной скромности, что я был умным ребенком. А умный ребенок не просто мечтает стать кем-то, когда вырастет. Он еще придает этой мечте особый недетский статус, если вы понимаете, о чем я говорю. Он понимает, что все детишки мечтают о разной ерунде и забывают об этом, когда подрастают. Но он считает себя другим и держится за свою мечту совсем иначе&hellip;</p>\r\n\r\n<p>&mdash;&nbsp;Борис,&nbsp;&mdash; сказал Аристотель Федорович,&nbsp;&mdash; давайте без психологических отступлений. Строго по делу.</p>\r\n\r\n<p>&mdash;&nbsp;Извольте. Итак, господа, с самого детства я мечтал стать адептом чистого зла.</p>\r\n\r\n<p>&mdash;&nbsp;Ой,&nbsp;&mdash; испуганно всплеснула руками Румаль Мусаевна у чайника.&nbsp;&mdash; И почему же это с вами произошло?</p>\r\n\r\n<p>&mdash;&nbsp;Знаете,&nbsp;&mdash; ответил Борис,&nbsp;&mdash; точную причину указать невозможно. Фильмы, книги, компьютерные игры &mdash; семя могло быть где-то там. А могло и вообще остаться из прошлой жизни. Неважно. Главное, я с самого начала знал, что именно в этом моя судьба. Я, однако, вполне понимал &mdash; таких начинающих магистров тьмы в городе пруд пруди. Было ясно, что надо чем-то от них отличаться&hellip; В первую очередь, разумеется, следовало забыть про все ролевые модели, представленные на рынке. Особенно в фильмах. Знаете, эти недотепы в черных плащах, которые рушатся в багровую бездну как раз тогда, когда в зале доедают последний поп-корн. Пошлые мещане, кривляющиеся перед камерой за небольшие деньги. Даже в детстве мне было ясно &mdash; они лишь унижают зло, и, следовательно, служат добру&hellip;</p>\r\n\r\n<p>&mdash;&nbsp;Позвольте,&nbsp;&mdash; вмешался Аристотель Федорович,&nbsp;&mdash; а что такое, по-вашему, добро и зло? .....</p>\r\n\r\n<p>Продолжение здесь -&nbsp;<a href=\"http://e-libra.su/read/227540-txagi.html\">http://e-libra.su/read/227540-txagi.html</a></p>', 9, 5, 0, 0, 0, '2018-01-04 11:14:12', '2018-01-04 11:14:22', '2017-08-15', 'YQyxS2L8Fd.jpeg', '<p>Даже в связанном виде молодой человек был весьма элегантен. Длинная челка, мушкетерская бородка и подкрученные вверх усы делали его похожим на представителя творческой, но немного двусмысленной профессии &ndash; так мог бы выглядеть элитный сутенер, карточный шулер или преподаватель Высшей школы экономики.</p>'),
  (21, '3 способа подключения к MySQL с помощью PHP', '3-sposoba-podklyucheniya-k-mysql-s-pomoshchyu-php', '<p>В этом руководстве описывается следующие три метода вместе с соответствующей программой примера на PHP, которая объяснит, как подключиться с помощью&nbsp;PHP к&nbsp;базе данных&nbsp;MySQL.</p>\r\n\r\n<ul>\r\n	<li>Подключение с помощью расширения&nbsp;Mysqli (рекомендуется)</li>\r\n	<li>Подключение с помощью PDO (рекомендуется)</li>\r\n	<li>Подключение с помощью традиционных функций устаревших mysql_ (устар)</li>\r\n</ul>\r\n\r\n<p>Для этого необходимо установить пакет PHP-MySQL.</p>\r\n\r\n<p>После того, как все установлено, страница phpinfo будет отображать&nbsp;MySQL&nbsp;модуль, как показано ниже:<br />\r\n<a href=\"https://andreyex.ru/wp-content/uploads/2017/05/Rasshirenie-PHP-i-MySQL.png\"><img alt=\"Расширение PHP и MySQL\" src=\"https://andreyex.ru/wp-content/uploads/2017/05/Rasshirenie-PHP-i-MySQL.png\" /></a></p>\r\n\r\n<p>Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать:&nbsp;<strong><a href=\"https://andreyex.ru/bazy-dannyx/baza-dannyx-mysql/mysql-uchebnik-ustanovka-sozdanie-bd-i-tablicy-vstavka-i-vybor-zapisej/\">MySQL &ndash; Руководство для начинающих</a></strong>.</p>\r\n\r\n<p>Примечание: Все, что описано здесь также будет работать с&nbsp;MariaDB, как это работает на&nbsp;MySQL.</p>\r\n\r\n<h2>1. Подключение на&nbsp;PHP с использованием расширения Mysqli</h2>\r\n\r\n<p>MySQLi означает MySQL Improved.</p>\r\n\r\n<p>Обратите внимание, что в большинстве дистрибутивов (например:&nbsp;CentOS), PHP-MySQLi уже является частью пакета PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-MySQLi. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение Mysqli на вашей системе.</p>\r\n\r\n<p>Создайте следующий файл mysqli.php в DocumentRoot в Apache:</p>\r\n\r\n<p><strong>&lt;?php</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;$conn = new mysqli(&quot;localhost&quot;, &quot;root&quot;, &quot;mySecretDBpass&quot;, &quot;andreyex&quot;);</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;if ($conn-&gt;connect_error) {</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;die(&quot;Ошибка: не удается подключиться: &quot; . $conn-&gt;connect_error);</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;}</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;echo &#39;Подключение к базе данных.&lt;br&gt;&#39;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;$result = $conn-&gt;query(&quot;SELECT name FROM employee&quot;);</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;echo &quot;Количество строк: $result-&gt;num_rows&quot;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;$result-&gt;close();</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;$conn-&gt;close();</strong></p>\r\n\r\n<p><strong>?&gt;</strong></p>\r\n\r\n<p>В приведенном выше:</p>\r\n\r\n<ul>\r\n	<li>MySQLi &ndash; Эта функция будет инициировать новое соединение, используя расширение Mysqli. Эта функция будет принимать четыре аргумента:\r\n	<ol>\r\n		<li>Имя хоста, где база данных MySQL работает</li>\r\n		<li>Имя пользователя для подключения&nbsp;MySQL</li>\r\n		<li>Пароль для пользователя mysql</li>\r\n		<li>База данных MySQL для подключения.</li>\r\n	</ol>\r\n	</li>\r\n	<li>Функция запроса &ndash; Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец имени из&nbsp;базы данных&nbsp;employee.</li>\r\n	<li>Наконец, мы отображаем количество строк, выбранных с помощью переменной num_rows. Мы также закрываем&nbsp;соединение, как показаны выше.</li>\r\n</ul>\r\n\r\n<p>При вызове mysqli.php из&nbsp;вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что&nbsp;PHP&nbsp;был в состоянии подключиться к базе данных MySQL и сделать выборку данных:</p>\r\n\r\n<p><strong>Подключение к базе данных.</strong></p>\r\n\r\n<p><strong>Количество строк: 4</strong></p>\r\n\r\n<p>Примечание: Если вы пытаетесь подключиться к удаленной базе данных MySQL, то вы можете сделать это, чтобы избежать ошибки запрета подключения к хосту: Как разрешить клиенту MySQL &nbsp;подключиться к удаленному серверу MySQL.</p>\r\n\r\n<h2>2. Подключение при&nbsp;помощи PHP к MySQL с расширением PDO</h2>\r\n\r\n<p>PDO означает PHP Data Objects.</p>\r\n\r\n<p>PDO_MYSQL реализует интерфейс PDO, предоставляемый РНР для подключения программы к базе данных MySQL.</p>\r\n\r\n<p>В большинстве дистрибутивов Linux (например,&nbsp;CentOS&nbsp;и&nbsp;RedHat), PHP-PDO пакет уже входит в пакет PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-PDO. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение PDO_MYSQL PHP в вашей системе.</p>\r\n\r\n<p>Создайте следующий файл MySQL-pdo.php в&nbsp;вашим Apache DocumentRoot:</p>\r\n\r\n<p><strong>&lt;?php</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;try {</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;$conn = new PDO(&quot;mysql:host=localhost;dbname=andreyex&quot;, &quot;root&quot;, &quot;mySecretDBpass&quot;);</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;echo &#39;Подключение к базе данных.&lt;br&gt;&#39;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;$sql = &#39;SELECT name FROM employee&#39;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;print &quot;Имя Сотрудника:&lt;br&gt;&quot;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;foreach ($conn-&gt;query($sql) as $row) {</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print $row[&#39;name&#39;] . &quot;&lt;br&gt;&quot;;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;}</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;$conn = null;</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;}</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;catch(PDOException $err) {</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;Ошибка: не удается подключиться: &quot; . $err-&gt;getMessage();</strong></p>\r\n\r\n<p><strong>&nbsp;&nbsp;}</strong></p>\r\n\r\n<p><strong>?&gt;</strong></p>\r\n\r\n<p>В приведенном выше примере:</p>\r\n\r\n<ul>\r\n	<li>новый PDO &ndash; Создаст новый объект PDO, который будет принимать следующие три аргумента:\r\n	<ol>\r\n		<li>Строка подключения MySQL: будет в формате &ldquo;mysql:host=$hostname;dbname=$dbname&rdquo;. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.</li>\r\n		<li>Имя пользователя для подключения к&nbsp;MySQL.</li>\r\n		<li>Пароль для пользователя mysql.</li>\r\n	</ol>\r\n	</li>\r\n	<li>$sql variable &ndash; создание запроса SQL, который вы хотите выполнить. В этом примере, мы выбираем столбец name&nbsp;из таблицы employee.</li>\r\n	<li>query($sql) &ndash; здесь мы выполняем&nbsp;SQL запрос, который мы только что создали.</li>\r\n	<li>foreach &ndash; вот&nbsp;здесь мы пробегаем по вышеуказанным командам&nbsp;и сохраняем&nbsp;их в переменной строке $, а затем мы показываем их&nbsp;с помощью команды печати.</li>\r\n	<li>В MySQL PDO, чтобы закрыть соединение, просто обнулите значение переменной $conn.</li>\r\n</ul>\r\n\r\n<p>При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.</p>\r\n\r\n<p><strong>Подключение к базе данных.</strong></p>\r\n\r\n<p><strong>Имя Сотрудника:</strong></p>\r\n\r\n<p><strong>AndreyEx</strong></p>\r\n\r\n<p><strong>Ruslan</strong></p>\r\n\r\n<p><strong>Maria</strong></p>\r\n\r\n<p><strong>Oleg</strong></p>\r\n\r\n<h2><br />\r\n3. Подключение на PHP с использованием функций mysql_ (устар).</h2>\r\n\r\n<p>Используйте этот метод, только если вы используете более старую версию PHP и не можете обновить ее до новой версии по какой-то причине.</p>\r\n\r\n<p>Рекомендуется использовать метод #2 и #3, показанный выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендация к использованию.</p>\r\n\r\n<p>Это устаревшее&nbsp;расширение PHP 5.5 версии. Но начиная с PHP 7.0 версии, это не будет работать, так как она была удалена.</p>\r\n\r\n<p>Начиная с PHP 5.5 версии, когда вы используете эти функции, они будет генерировать ошибку E_DEPRECATED.</p>\r\n\r\n<p>Создайте следующий файл MySQL-legacy.php под Apache DocumentRoot:</p>\r\n\r\n<p><strong>&lt;?php</strong></p>\r\n\r\n<p><strong>$conn = mysql_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;mySecretDBpass&#39;);</strong></p>\r\n\r\n<p><strong>mysql_select_db(&quot;andreyex&quot;);</strong></p>\r\n\r\n<p><strong>if (!$conn) {</strong></p>\r\n\r\n<p><strong>die(&#39;Ошибка: не удается подключиться: &#39; . mysql_error());</strong></p>\r\n\r\n<p><strong>}</strong></p>\r\n\r\n<p><strong>echo &#39;Подключение к базе данных.&lt;br&gt;&#39;;</strong></p>\r\n\r\n<p><strong>$result = mysql_query(&#39;SELECT name FROM employee&#39;);</strong></p>\r\n\r\n<p><strong>$row = mysql_fetch_row($result);</strong></p>\r\n\r\n<p><strong>echo &quot;Сотрудник 1: &quot;, $row[0], &quot;&lt;br&gt;\\n&quot;;</strong></p>\r\n\r\n<p><strong>mysql_close($conn);</strong></p>\r\n\r\n<p><strong>?&gt;</strong></p>\r\n\r\n<p><br />\r\nВ приведенном выше:</p>\r\n\r\n<ul>\r\n	<li>Функция mysql_connect принимает три аргумента: 1) имя хоста, где база данных MySQL работает, 2) Имя пользователя для подключения к MySQL, 3) Пароль для пользователя MySQL. Здесь подключаемся к базе данных MySQL, которая выполняется на локальном сервере, используя имя пользователя root и его пароль.</li>\r\n	<li>Функция mysql_select_db &ndash; Как следует из названия, будет выбирать базу данных, к которой вы хотите подключиться. Это эквивалентно команде &laquo;use&raquo;. В этом примере мы подключаемся к базе данных andreyex.</li>\r\n	<li>Функция mysql_query &ndash; Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец name из базы данных employee.</li>\r\n	<li>mysql_fetch_row &ndash; используйте эту функцию для извлечения строк из запроса SQL, который мы только что создали.</li>\r\n	<li>Наконец закрыть соединение с помощью команды mysql_close, как показано выше.</li>\r\n</ul>\r\n\r\n<p>При вызове MySQL-legacy.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.</p>\r\n\r\n<p>PHP</p>\r\n\r\n<p><strong>Подключение к базе данных.</strong></p>\r\n\r\n<p><strong>Сотрудник 1: AndreyEx</strong></p>', 8, 5, 0, 0, 1, '2018-01-04 11:18:52', '2018-01-04 11:18:52', '2017-03-06', 'gtYsKMLHQu.jpeg', '<p>Для того, чтобы получить максимальную отдачу от вашей базы данных MySQL, важно понять, как подключиться из пользовательской&nbsp;программы на PHP в базу данных MySQL.</p>'),
  (22, 'Что такое тест Купера?', 'chto-takoe-test-kupera', '<p>В своё время в 1968 году для определения уровня физического развития бойцов армии США американский учёный Кеннет Купер предложил своеобразный беговой тест. Суть теста крайне проста: в 18 и 60 лет у каждого из нас разные возможности, и то, что было доступно в 18, очень редко кому удастся в 60. А способом испытания работоспособности Купер избрал обычный 12-тиминутный бег. Та дистанция, которая будет пройдена за 12 минут, и есть уровень работоспособности человека в любом возрасте. А результаты и нормативные показатели Купер свёл в единую таблицу, где нормы взяты для каждой возрастной группы.</p>\r\n\r\n<p><strong><em>Почему Купер выбрал именно бег?</em></strong>&nbsp;Потому, что это нагрузка, требующая больших кислородных затрат, и в нём используется около 2\\3 всех мышц человека. При беге задействованы не только опорно-двигательная, но также дыхательная и сердечнососудистая системы, о состоянии которых также можно сделать вывод на основе теста. Кстати, заменой бега может послужить езда на велосипеде или плаванье. Естественно, с адаптированной таблицей измерения.</p>\r\n\r\n<p><strong><em>Почему 12 минут?</em></strong>&nbsp;Купер посчитал, что за это время организм испытает достаточное кислородное голодание, но без особого вреда для человека. Тем не менее, Купер был против прохождения теста людьми с ослабленным здоровьем и старше 35 лет.</p>\r\n\r\n<p><strong><em>Итак, давайте попробуем пройти тест Купера!</em></strong></p>\r\n\r\n<p>Разминка &mdash; обязательное условие. Желательные упражнения для разминки &mdash; растяжки, общие упражнения на все группы мышц, и лёгкий бег трусцой, который подготовит организм непосредственно к тесту. Неправильная разминка (слишком короткая или слишком длинная и активная) может повлиять на результаты теста: человек может не показать своих реальных возможностей или просто утомиться до старта.</p>\r\n\r\n<p>По команде берем в руки таймер, засекаем 12 минут и стартуем бегом по ровной поверхности, желательно по асфальту, чтобы исключить неровности почвы, усложняющие задачу.</p>\r\n\r\n<p>По истечении 12 минут восстанавливаем дыхание и замеряем пройденное расстояние. Результаты, согласно своей возрастной категории, смотрим в таблице Купера.</p>\r\n\r\n<p><img alt=\"\" src=\"https://www.professionalsport.ru/ckeditor_assets/pictures/articles/photo_for_articles/%D0%9A%D1%83%D0%BF%D0%B5%D1%80.png\" /></p>\r\n\r\n<p>Кеннет Купер создал более 30 подобных тестов, один из них вы можете посмотреть на видео:</p>\r\n\r\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"https://www.youtube.com/embed/lMxoKZjd8as\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" width=\"640\"></iframe></p>', 11, 5, 0, 0, 1, '2018-01-04 11:20:00', '2018-01-04 11:20:00', '2017-01-20', NULL, '<p><strong><em>Тест Купера</em></strong>&nbsp;&mdash; это своеобразное определение физических возможностей и уровня развития организма в любом возрасте. Но дело в том, что каждый организм индивидуален: одни люди развиты в силовых упражнениях, другие &mdash; гибки и подвижны, но неспособны на сильный рывок. Кого же тогда считать физически развитым?</p>');
  INSERT INTO `posts` (`id`, `title`, `slug`, `content`, `category_id`, `user_id`, `status`, `views`, `is_featured`, `created_at`, `updated_at`, `date`, `image`, `description`) VALUES
  (23, 'Регистрация на Github, работа через GitHub Desktop', 'registraciya-na-github-rabota-cherez-github-desktop', '<p>На странице регистрации вам предложат ввести обязательные данные:</p>\r\n\r\n<ul>\r\n	<li>имя пользователя;</li>\r\n	<li>адрес электронной почты;</li>\r\n	<li>пароль.</li>\r\n</ul>\r\n\r\n<p><img alt=\"Страница регистрации на Гитхабе\" src=\"https://assets.htmlacademy.ru/img/blog/85/registration@1x.png\" /></p>\r\n\r\n<p>Страница регистрации.</p>\r\n\r\n<p>Следующий шаг &mdash; выбор тарифного плана, с которым вы собираетесь работать.</p>\r\n\r\n<p>Обращаем внимание, что Гитхаб полностью бесплатный сервис. Однако, он предоставляет и платные возможности. Например, приватные репозитории.</p>\r\n\r\n<p><img alt=\"Тарифный план\" src=\"https://assets.htmlacademy.ru/img/blog/85/plan@1x.png\" /></p>\r\n\r\n<p>Выбираем бесплатное использование (Free) и нажимаем кнопку &laquo;Finish sign up&raquo;.</p>\r\n\r\n<p>После этого вы попадаете на страницу профиля, а на указанную ранее почту придёт письмо с просьбой подтвердить электронный адрес. Для завершения регистрации пройдите по полученной ссылке. Аккаунт для Гитхаба создан, всё готово к дальнейшей работе.</p>\r\n\r\n<h2>Скачивание и установка GitHub Desktop</h2>\r\n\r\n<p>Переходим на сайт&nbsp;<strong><a href=\"https://desktop.github.com/\">https://desktop.github.com/</a></strong>. На главной странице сайта скачиваем последнюю актуальную версию для своей операционной системы.</p>\r\n\r\n<p><img alt=\"Скачивание GitHub Desktop\" src=\"https://assets.htmlacademy.ru/img/blog/85/desktop.github.com@1x.png\" /></p>\r\n\r\n<p>Главная страница сайта.</p>\r\n\r\n<p>Устанавливаем и запускаем программу.</p>\r\n\r\n<p>При первом запуске вас попросят ввести логин и пароль от&nbsp;<strong><a href=\"https://github.com/\">Гитхаба</a></strong>, а также имя и почту пользователя, от которого будут идти коммиты. Обратите внимание, что адрес электронной почты должен совпадать с почтой пользователя Гитхаб.</p>\r\n\r\n<h2>Клонирование репозитория в GitHub Desktop</h2>\r\n\r\n<p>Чтобы склонировать репозиторий в GitHub Desktop, есть несколько способов.</p>\r\n\r\n<p>Первый способ &mdash; через интерфейс сайта&nbsp;<strong><a href=\"https://github.com/\">Гитхаба</a></strong>. Находясь в нужном репозитории, нажимаем кнопку склонировать репозиторий в GitHub Desktop (Save [имярепозитория] to your computer and use it in GitHub Desktop).</p>\r\n\r\n<p><img alt=\"Клонирование репозитория через интерфейс сайта\" src=\"https://assets.htmlacademy.ru/img/blog/85/repository_cloning@1x.png\" /></p>\r\n\r\n<p>Клонирование репозитория через интерфейс сайта.</p>\r\n\r\n<p>После этого вам будет предложено выбрать папку, в которую склонируется проект. Далее он автоматически скачается и запустится в GitHub Desktop.</p>\r\n\r\n<p>Второй способ &mdash; склонировать напрямую из GitHub Desktop. Для этого нужно нажать на значок плюса в левом верхнем углу интерфейса и перейти на вкладку Clone.</p>\r\n\r\n<p><img alt=\"Клонирование репозитория через GitHub Desktop\" src=\"https://assets.htmlacademy.ru/img/blog/85/app_repository_cloning@1x.png\" /></p>\r\n\r\n<p>Клонирование репозитория через GitHub Desktop.</p>\r\n\r\n<p>Выбираем в списке нужный нам репозиторий и нажимаем &laquo;Clone&raquo;. После этого будет предложено выбрать папку, в которую склонируется проект.</p>\r\n\r\n<p>Теперь, независимо от выбранного способа клонирования, с репозиторием можно работать.</p>', 14, 5, 0, 0, 1, '2018-01-04 11:22:11', '2018-01-04 11:22:11', '2016-10-19', 'xero2YCzMP.png', '<p>Чтобы начать работать с сервисом&nbsp;<strong><a href=\"https://github.com/\">Гитхаб</a></strong>, нужно иметь на нём активированный аккаунт.</p>'),
  (24, 'Международная Космическая Станция (МКС)', 'mezhdunarodnaya-kosmicheskaya-stanciya-mks', '<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"480\" src=\"https://sketchfab.com/models/1617d44d5d7c4430aecfa48b2e85e529/embed\" width=\"640\"></iframe></p>\r\n\r\n<p><a href=\"https://sketchfab.com/models/1617d44d5d7c4430aecfa48b2e85e529?utm_medium=embed&amp;utm_source=website&amp;utm_campain=share-popup\" target=\"_blank\">МЕЖДУНАРОДНАЯ КОСМИЧЕСКАЯ СТАНЦИЯ (МКС)</a>&nbsp;by&nbsp;<a href=\"https://sketchfab.com/vmaster?utm_medium=embed&amp;utm_source=website&amp;utm_campain=share-popup\" target=\"_blank\">IZ.RU</a>&nbsp;on&nbsp;<a href=\"https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campain=share-popup\" target=\"_blank\">Sketchfab</a></p>\r\n\r\n<p>&nbsp;</p>', 15, 5, 0, 0, 0, '2018-01-04 11:24:24', '2018-01-04 11:24:24', '2017-07-14', 'eQUSOUk9ji.jpeg', '<p>Международная космическая станция (МКС) &mdash; пилотируемая орбитальная станция, используемая как&nbsp;исследовательский комплекс. Это международный проект, в котором участвуют 14 стран: США, Россия, Япония, Канада, Бельгия, Германия, Дания, Испания, Италия, Нидерланды, Норвегия, Франция, Швейцария, Швеция. Изначально в составе участников также были Бразилия и Великобритания.</p>'),
  (25, 'PhpStorm. Горячие клавиши', 'phpstorm-goryachie-klavishi', '<h2>Подсказки</h2>\r\n\r\n<h2>Форматирование</h2>\r\n\r\n<p><kbd><strong>Ctrl</strong></kbd><strong><small>+</small><kbd>D&nbsp;</kbd></strong></p>\r\n\r\n<p>Дублировать строку под курсором.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small><kbd>D</kbd><small>&nbsp; &nbsp;</small><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>Y</strong>&nbsp;</kbd></p>\r\n\r\n<p>Удалить строку под курсором.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Alt</kbd><small>+</small></strong><kbd><strong>R</strong>&nbsp;</kbd></p>\r\n\r\n<p>Отформатировать код.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>&uarr;&darr;</strong>&nbsp;</kbd></p>\r\n\r\n<p>Меняет строки местами, перемещает текущую строку вверх/вниз.</p>\r\n\r\n<h2>Навигация</h2>\r\n\r\n<h3>Закладки (Bookmark)</h3>\r\n\r\n<p><kbd><strong>Ctrl</strong></kbd><small>+</small><kbd><strong>F11</strong></kbd>&nbsp;или&nbsp;<kbd><strong>F11</strong></kbd></p>\r\n\r\n<p>Поставить закладку.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small><kbd>F11</kbd></strong></p>\r\n\r\n<p>Поставить закладку с указанием мнемоники (идентификатора, номера закладки)</p>\r\n\r\n<p><strong><kbd>Shift</kbd><small>+</small></strong><kbd><strong>F11</strong></kbd></p>\r\n\r\n<p>Показать закладки</p>\r\n\r\n<h2>Кодинг и рефакторинг</h2>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>P</strong></kbd></p>\r\n\r\n<p>Показать подсказку по параметрам метода или функции. (<em><strong>Parameter Info</strong></em>)</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>Enter</strong></kbd></p>\r\n\r\n<p>Дополнение языковых конструкций (if, switch, for, foreach)</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>I</strong></kbd></p>\r\n\r\n<p>Показать реализацию метода/функции, применяемые стили HTML класса,&nbsp;<em>etc</em>.. (<strong><em>Quick Definition</em></strong>)</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>B</strong></kbd></p>\r\n\r\n<p>Открыть файл реализации класса по выделенному имени класса. То же, что и&nbsp;<kbd>Ctrl</kbd><small>+</small><kbd>Click</kbd>.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>J</strong></kbd></p>\r\n\r\n<p>Окно Live Template шаблонов.</p>\r\n\r\n<p><strong><kbd>Alt</kbd><small>+</small><kbd>&uarr;</kbd></strong>&nbsp; &nbsp; &nbsp;<kbd>&nbsp;<strong>Alt</strong></kbd><strong><small>+</small></strong><kbd><strong>&darr;</strong></kbd></p>\r\n\r\n<p>Перемещение между методами класса - предыдущий метод, следующий метод</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>F12</strong></kbd></p>\r\n\r\n<p>Окно со списком методов класса (сигнатура класса)</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>E</strong></kbd></p>\r\n\r\n<p>Окно с последними измененными файлами</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>N</strong></kbd></p>\r\n\r\n<p>Быстрый поиск и открытие файла (выделите часть имени файла или класса и нажмите сочетание клавиш).</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Alt</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>N</strong></kbd></p>\r\n\r\n<p>Быстрый поиск и переход к&nbsp;символу (классу, методу, переменной, константе). &nbsp;Поиск также работает по первым символам&nbsp;<code>CamelCase</code>&nbsp; имени.&nbsp;</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>-/+</strong></kbd></p>\r\n\r\n<p>Свернуть/развернуть (collapse/expand) блок под курсором</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>-/+</strong></kbd></p>\r\n\r\n<p>Свернуть/развернуть (collapse/expand) все</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Alt</kbd><small>+</small></strong><kbd><strong>-/+</strong></kbd></p>\r\n\r\n<p>Свернуть/развернуть (collapse/expand) все комментарии (это кастомный хоткей)</p>\r\n\r\n<p><strong><kbd>Alt</kbd><small>+</small></strong><kbd><strong>Enter</strong></kbd></p>\r\n\r\n<p>Это универсальный контекстный помощник. Отображает контекстное меню с доступными действиями, в зависимости от того где находится курсор. Тут и:</p>\r\n\r\n<ul>\r\n	<li>Импорт класса под курсором в секцию&nbsp;<code>use</code>;</li>\r\n	<li>Обновление блока комментариев по сигнатуре метода;</li>\r\n	<li>Добавление методов интерфейса, которые необходимо реализовать;</li>\r\n	<li>Замена кавычек для строк;</li>\r\n</ul>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>W</kbd></strong>&nbsp; &nbsp;<em>или&nbsp;</em>&nbsp;<strong><kbd>Alt</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>&uarr;</strong></kbd></p>\r\n\r\n<p>Последовательное выделение области под кареткой. (<em><strong>Select Word at Caret)</strong></em>. Я добавил еще и хоткей&nbsp;<kbd>Alt</kbd><small>+</small><kbd>A</kbd>&nbsp;- он сподручней.</p>\r\n\r\n<p><strong><kbd>Alt</kbd><small>+</small></strong><kbd><strong>1</strong></kbd></p>\r\n\r\n<p>Показать/скрыть панель дерева файлов проекта (<em><strong>Project Tool Window</strong></em>)</p>\r\n\r\n<p><strong><kbd>Alt</kbd><small>+</small></strong><kbd><strong>3</strong></kbd></p>\r\n\r\n<p>Показать/скрыть панель с результатами последнего поиска (<em><strong>Find Tool Window</strong></em>)</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>X</strong></kbd></p>\r\n\r\n<p>Панель&nbsp;<em><strong>Command Tools Console</strong></em>. Консоль командных инструментов как-то Composer, Symfony 2 (app/console), Laravel (artisan), etc.. Есть поддержка дополнения кода.</p>\r\n\r\n<p><strong><kbd>Shift</kbd><small>+</small></strong><kbd><strong>Escape</strong></kbd></p>\r\n\r\n<p>Скрыть текущую активную панель (<em><strong>Hide Active Tool Window</strong></em>). Я добавил на этот экшн просто клавишу&nbsp;<kbd>Escape</kbd>.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>Tab</strong></kbd></p>\r\n\r\n<p>Переключение между 2-мя последними вкладками редактора.</p>\r\n\r\n<p><strong><kbd>Shift</kbd><small>+</small></strong><kbd><strong>F6</strong></kbd></p>\r\n\r\n<p>Переименовать переменную (или теги HTML элемента) везде, где она используется.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Alt</kbd><small>+</small></strong><kbd><strong>V</strong></kbd></p>\r\n\r\n<p>Извлечь (вынести) выделенный код в переменную.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Alt</kbd><small>+</small></strong><kbd><strong>M</strong></kbd></p>\r\n\r\n<p>Извлечь (вынести)&nbsp;выделенный код в метод</p>\r\n\r\n<p><kbd><strong>F6</strong></kbd></p>\r\n\r\n<p>Перенести&nbsp;<code>static</code>&nbsp;методы в другой класс вместе с обновлением всех участков кода, в которых эти методы вызываются.</p>\r\n\r\n<p><strong><kbd>Alt</kbd><small>+</small></strong><kbd><strong>F7</strong></kbd></p>\r\n\r\n<p>Найти в проекте все (<strong>явные</strong>) места, в которых используется класс, метод, свойство, ф-ция (под курсором).</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>O-M</strong></kbd></p>\r\n\r\n<p>Список&nbsp;<em>magic</em>&nbsp;или родительских методов для переопределения (<em>Override Methods</em>). Переопределил с&nbsp;<kbd>Ctrl</kbd><small>+</small><kbd>O</kbd>.</p>\r\n\r\n<h2>Отладка</h2>\r\n\r\n<p><strong><kbd>Shift</kbd><small>+</small></strong><kbd><strong>F7</strong></kbd></p>\r\n\r\n<p>Выбрать функцию/метод для следующего &quot;Step into&quot;.</p>\r\n\r\n<h2>Окна</h2>\r\n\r\n<p><kbd><strong>F12</strong></kbd></p>\r\n\r\n<p>Переключить полноэкранный режим (<em>Toggle Full Screen Mode</em>). Переопределил&nbsp;<em>Jump to Last Tool Window</em>.</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small><kbd>Shift</kbd><small>+</small></strong><kbd><strong>P</strong></kbd></p>\r\n\r\n<p>Быстрый поиск действий (<em>Find Action</em>).&nbsp;</p>\r\n\r\n<p><strong><kbd>Ctrl</kbd><small>+</small></strong><kbd><strong>O</strong></kbd></p>\r\n\r\n<p>Открыть файл или&nbsp;проект. Забрал комбинацию у&nbsp;<em>Override Methods</em>.</p>', 14, 5, 0, 0, 0, '2018-01-04 11:30:40', '2018-01-04 11:30:40', '2017-05-19', 'xYG478uErT.jpeg', '<p><strong>PhpStorm</strong>&nbsp;предоставляет очень гибкую и мощную систему горячих клавиш. Мы можем выбрать несколько предустановленных пресетов клавиш (<code>keymaps</code>, карта хоткеев) -&nbsp;<em>Visual Studio</em>,&nbsp;<em>XWin</em>,&nbsp;<em>Gnome</em>,&nbsp;<em>KDE</em>,&nbsp;<em>Eclipse</em>&nbsp;и&nbsp;<em>Eclipse (Mac OS X)</em>,&nbsp;<em>NetBeans</em>.</p>'),
  (26, 'Кордицепс китайский: лечебные свойства и применение.', 'kordiceps-kitayskiy-lechebnye-svoystva-i-primenenie', '<h2>Что такое кордицепс китайский?</h2>\r\n\r\n<p>Древние китайцы считали, что кордицепс &ndash; это не обычное растение, а живой организм. Все дело в его особенном цикле размножения. Это гриб, паразитирующий на муравьях, некоторых гусеницах и бабочках. В дикой природе он произрастает на северо-западе Китая и в горах Тибета.</p>\r\n\r\n<p>Несмотря на то, что по своей природе это паразит, кордицепс относится к лечебным грибам. Китайская медицина начала использовать его не менее 5000 лет назад, а позже растение взяли на вооружение знахари по всему миру. Этот гриб нейтрализует свободные радикалы, борется с всевозможными инфекциями и воспалениями. Поэтому народные целители издавна применяют растение для лечения и профилактики ряда заболеваний.</p>\r\n\r\n<h2>Состав</h2>\r\n\r\n<p>Было проведено множество исследований, результаты которых подтверждают ценность химического состава кордицепса китайского. В нем присутствует большое количество биоактивных компонентов, важных для организма:</p>\r\n\r\n<ul>\r\n	<li>множество микроэлементов &ndash; от кальция, железа и селена до марганца и цинка;</li>\r\n	<li>аминокислоты (укрепляют иммунитет и повышают общий тонус, не оказывая пагубного действия на ЦНС и не вызывая бессонницу, повышение давления, раздражительность);</li>\r\n	<li>аденозин (поддерживает кровеносные сосуды в тонусе, что улучшает кровоток и активизирует процессы восстановления);</li>\r\n	<li>бета-каротин (внутри организма трансформируется в витамин A, важный для здоровья глаз и кожи, а также укрепления стенок сосудов);</li>\r\n	<li>фосфолипиды и жирные кислоты (образуют клеточные мембраны и участвуют в обновлении тканей);</li>\r\n	<li><a href=\"http://safeyourhealth.ru/koenzim-q10-polza-i-vred-primenenie/\">коэнзим Q10</a>&nbsp;(улучшает работу сердца, сосудов, почек);</li>\r\n	<li>полисахариды (укрепляют иммунитет и полезны в борьбе с опухолями);</li>\r\n	<li>витамины группы В (поддерживают работу печени, ЦНС и нормализуют метаболизм в тканях);</li>\r\n	<li>кордицептин (натуральный антибиотик, эффективный против стафилококков и стрептококков);</li>\r\n	<li>витамин Е (мощный природный антиоксидант для сильного иммунитета).</li>\r\n</ul>\r\n\r\n<h2>Полезные свойства</h2>\r\n\r\n<p>Люди начали принимать кордицепс, заметив, что съедающие его животные становятся крепкими и выносливыми. Поэтому первыми гриб начали применять фермеры, добавляя его в чай и питье. Позже растение стали сушить под солнцем и делать из него порошок, чтобы сохранить полезные качества.</p>\r\n\r\n<p>Кордицепс обладает широким спектром действия:</p>\r\n\r\n<ol>\r\n	<li>Активизирует функции всех органов.</li>\r\n	<li>Способствует выведению шлаков и токсинов.</li>\r\n	<li>Тонизирует.</li>\r\n	<li>Нормализует обменные процессы.</li>\r\n	<li>Всесторонне воздействует на процесс кроветворения.</li>\r\n	<li>Устраняет нарушения иммунной системы.</li>\r\n	<li>Активизирует выработку гормонов гипофиза и гипоталамуса.</li>\r\n</ol>\r\n\r\n<p>Результаты исследований также показывают, что в ряде случаев китайский гриб проявляет эффективность в качестве натурального средство от онкозаболеваний. В сочетании с курсом химиотерапии он подавляет рост опухолей, наиболее эффективно воздействуя на новообразования на коже и в легких.</p>\r\n\r\n<p>С противовоспалительным действием кордицепса связывают его положительное действие на иммунитет и способность нейтрализации повреждений, вызванных процессами окисления. Также это уникальное растение стимулирует деятельность защитных клеток, устраняющих инфекции и разные мутации в организме.</p>\r\n\r\n<h2>Применение для лечения и профилактики</h2>\r\n\r\n<p>Кордицепс широко используется как в народной медицине, так и в официальной в качестве вспомогательного средства. Эффективность гриба в 2012 г. отметил советник китайской олимпийской сборной. Он заявил, что теннисисты из Поднебесной стали чемпионами во многом благодаря тому, что принимали кордицепс. Это было обязательным при подготовке к соревнованиям.</p>\r\n\r\n<p>Китайский гриб применяется при лечении множества болезней, среди которых:</p>\r\n\r\n<ul>\r\n	<li>грипп, ОРВИ, кашель;</li>\r\n	<li>болезни почек и печени (в том числе гепатит B);</li>\r\n	<li>нарушения репродуктивной системы и сексуальная дисфункция;</li>\r\n	<li>болезни сердца;</li>\r\n	<li>аритмия;</li>\r\n	<li>инфекции дыхательных путей (хронический бронхит и другие);</li>\r\n	<li>инфекции мочевого пузыря и трудности с мочеиспусканием;</li>\r\n	<li>нарушения кровообращения;</li>\r\n	<li>повышенный холестерин;</li>\r\n	<li>слабость в мышцах;</li>\r\n	<li>хроническая усталость;</li>\r\n	<li>головокружения.</li>\r\n</ul>\r\n\r\n<p>Ценное растение используется в качестве иммуномодулятора: при гипоиммунных состояниях повышает иммунитет, ослабленный болезнью, при аутоиммунных &ndash; понижает гиперактивность иммунной системы.</p>\r\n\r\n<p>Препараты кордицепса китайского применяют и для лечения опухолей, поскольку при их правильном приеме активизируется выработка мелатонина. Это вещество &ndash; один из главных гормонов щитовидки, поэтому параллельно нормализуются суточные ритмы и, как следствие, ночной сон.</p>\r\n\r\n<p>Кордицепс китайский используют и при хронической усталости, стрессах, частых простудах. Он является адаптогеном, который помогает организму противостоять вредным факторам окружающей среды.</p>\r\n\r\n<p>Назначают такие препараты для ускорения акклиматизации и восстановления после острых заболеваний. В уникальном грибе обнаружено вещество кордицепин, которое помогает организму сопротивляться бактериям и вирусам.</p>\r\n\r\n<p>Кордицепс применяют для рассасывания тромбов, предотвращения сгущения крови и улучшения кроветворения. Это растение восстанавливает нормальные уровни лейкоцитов и тромбоцитов.</p>\r\n\r\n<p>Женщинам китайский гриб назначают в рамках комплексного лечения бесплодия и для увеличения выработки эстрогена, что помогает вылечить остеопороз в период менопаузы. Мужчинам такие препараты рекомендуют для профилактики преждевременной эякуляции и лечения импотенции, поскольку они стимулирует выброс тестостерона.</p>\r\n\r\n<h2>В каком виде используется кордицепс?</h2>\r\n\r\n<p>Из дикорастущего кордицепса, высушенного под лучами солнца, делают порошок, который продается в магазинах китайской медицины. При его применении важно соблюдать дозировку &ndash; не более 5-10 г в день.</p>\r\n\r\n<p>Сегодня кордицепс китайский также выращивают в лабораторных условиях. Из него создают препараты, выпускаемые в форме таблеток и капсул, а также порошков. Они прошли клинические испытания и широко применяются в медицине. По отзывам кордицепс, выращенный в условиях лаборатории, не уступает натуральному по эффективности. Хотя препараты стоят значительно дешевле, поэтому доступны широкому кругу людей.</p>', 12, 5, 0, 0, 1, '2018-01-04 11:33:44', '2018-01-04 11:33:44', '2016-12-29', 'NlxWZea7MB.jpeg', '<p>Кордицепс китайский известен как чудо-продукт, который может помочь человеку на пути к здоровью и&nbsp;долголетию. И если раньше он был редким и дорогостоящим, доступным лишь немногим, то сейчас ученые научились выращивать это растение, поэтому его уникальные свойства могут оценить все желающие.</p>'),
  (27, 'Что такое ГАБА чай?', 'chto-takoe-gaba-chay', '<h2>Полезные свойства</h2>\r\n\r\n<p>Ароматный напиток выделяется не только безукоризненным вкусом, но и полезными свойствами:</p>\r\n\r\n<ul>\r\n	<li>активизирует мыслительные процессы;</li>\r\n	<li>способствует снижению физического и нервного напряжения;</li>\r\n	<li>нормализует ночной сон;</li>\r\n	<li>успокаивающе действует на вегетативную нервную систему;</li>\r\n	<li>нормализует артериальное давление;</li>\r\n	<li>улучшает память и концентрацию;</li>\r\n	<li>нивелирует вероятность образования песка в почках;</li>\r\n	<li>имеет в своем составе большое количество антиоксидантов;</li>\r\n	<li>препятствует опьянению, при условии приема до употребления&nbsp;<a href=\"http://chaemania.ru/tag/alkogolnye/\">алкогольных</a>&nbsp;напитков.</li>\r\n</ul>\r\n\r\n<p>Перечисленные полезные свойства обусловлены присутствием в компонентах чая амино-масляной кислоты, посредством которой обеспечивается оперативная передача нервных импульсов между отдельными клеткам в головном мозге человека. Если в человеческом организме формируется дефицит указанного компонента, то нормально работать головной мозг уже не может, возникает необоснованная раздражительность, которая постепенно сменяется нарастающей депрессией.</p>\r\n\r\n<p><img alt=\"gaba-3\" src=\"http://chaemania.ru/wp-content/uploads/gaba-3.jpg\" /></p>\r\n\r\n<h2>Вкусовые особенности</h2>\r\n\r\n<p>Габа &ndash; невероятно ароматный и очень вкусный напиток. Речь идёт о том замечательном случае, когда полезное на пробу оказывается еще и очень приятным.</p>\r\n\r\n<p>Во вкусе присутствует ярко выраженная мягкость с небольшой долей кислинки, как у любого качественного вина, выдержанного несколько лет. Впрочем, если кислинка довольно сильная, то это свидетельствует о том, что напиток приготовлен не по предписаниям и часть полезных свойств уже утрачена.</p>\r\n\r\n<p>Правильно заваренный чай отличается освежающим и продолжительным послевкусием. Чем более качественными являются его ингредиенты, тем послевкусие дольше и нежнее.</p>\r\n\r\n<h2>Рекомендации по завариванию</h2>\r\n\r\n<p>Существует две разновидности известного чая габа &ndash; зеленый и красный. Различия определяются отличиями в производственном цикле и уровнем ферментации ингредиентов. Опытные специалисты рекомендуют заваривать ароматный напиток по известным правилам:&nbsp;<a href=\"http://chaemania.ru/zelenyj-chaj/\">зеленый чай</a>&nbsp;&ndash; по аналогии с традиционными&nbsp;<a href=\"http://chaemania.ru/ulun/\">улунами</a>, а вот красный &ndash; как обычный красный чай.</p>\r\n\r\n<p><img alt=\"gaba-4\" src=\"http://chaemania.ru/wp-content/uploads/gaba-4.jpg\" /></p>\r\n\r\n<h2>Самый доступный способ</h2>\r\n\r\n<p>На 120-150 мл воды достаточно взять щепотку чая (не более 5 грамм). Воду довести до состояния кипения, но не более (не стоит слишком долго кипятить жидкость). Сразу же после того как на поверхности чайника начнут появляться крупные пузырьки, его можно снимать с огня. При заваривании чая следует ориентироваться на 90 градусов. После того как жидкость закипит, можно подождать 1-2 минуты. Затем воду наливают в посуду с чаем и сразу же сливают. Таким образом легко удаляются нотки сырости. Посуду наполняют горячей водой во второй раз и закрывают крышкой. Напиток должен настаиваться не менее 10 минут. После напиток можно употреблять.</p>\r\n\r\n<h2>Противопоказания</h2>\r\n\r\n<p>Специалисты настоятельно рекомендуют быть предельно осторожным с напитком гражданам, которые страдают от пониженного давления, почечной недостаточности и сахарного диабета. Предварительно следует проконсультироваться с врачом.</p>', 12, 5, 0, 0, 1, '2018-01-04 11:34:55', '2018-01-04 11:34:55', '2016-03-15', '8B7bjgrDOk.jpeg', '<p>Свое странное название этот чай получил от английской аббревиатуры, сокращения от gamma-aminobutyric acid. Это вещество участвует в работе мозга, усиливает кровообращение, увеличивает потенциал нейронов и оказывает стимулирующее действие на головной мозг млекопитающих, а значит, и человека.</p>'),
  (28, 'Зеркала Козырева - порталы в параллельные миры?', 'zerkala-kozyreva-portaly-v-parallelnye-miry', '<p>Зеркала Козырева&nbsp;малоизвестны, а ведь это изобретение двадцатого столетия можно назвать своеобразной машиной времени, попыткой проникнуть в прошлое или будущее. Эффекты, которые получаются при экранировании пространства с использованием&nbsp;зеркал&nbsp;пока ещё не изучены и не объяснены, тем не менее, давно известны гадания на суженного с помощью зеркального коридора. Но сегодня не о гаданиях (кстати, они опасны), а о странных конструкциях, изменяющих время &ndash;&nbsp;зеркалах Козырева.</p>\r\n\r\n<h2>Что же представляют собой зеркала Козырева?</h2>\r\n\r\n<p>Зеркалами эти конструкции называются условно. Это в основном алюминиевые конструкции, выполненные в форме спирали, которые, по утверждению ученого, способны отражать физическое время, а так же могут фокусировать некоторые виды излучений, подобно линзам. Этими излучателями могут быть и биологические объекты. Самая распространенная конструкция, с которой проводилось наибольшее число экспериментов &ndash; это зеркальный лист полированного алюминия, который свернут особым образом &ndash; в форме спирали в полтора оборота по часовой стрелке. Внутри этой конструкции ставится кресло для добровольца и специальная аппаратура. На голову одевается &laquo;шлем&raquo;, похожий на кастрюлю, с датчиками.</p>\r\n\r\n<p><img alt=\"\" src=\"https://imgprx.livejournal.net/d9a77103ef6c9434470b4beca5fb11b64953497f/tkE4KFonIYY7qZJd9kL_nX_e21AMUnDJewGSOBFQrmCtcR1vIeYicSU-bjA92r1QszEO2QtL7FcQJYO1Au1XmsL_X0jlOxIiV5wfxwJ75WU\" />Проводилось много экспериментов в начале девяностых годов прошлого века, в частности опыты по сверхчувственному восприятию. Результаты экспериментов не совсем понятны. Например,&nbsp;добровольцы, помещенные внутри этих спиралей, испытывали самые различные аномальные ощущения, такие, как &laquo;выход из тела&raquo;, телекинез, телепатию, передачу мыслей на расстоянии&hellip; Все это подробно занесено в протоколы исследований. Одной из целей было изучение способностей человека к ясновидению и тренировка этих способностей, предвидение Будущего, возможности заглянуть в события Прошлого.</p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>Эти способности, по данным исследования, резко возрастали внутри &laquo;помещения&raquo; из искривленных металлических &laquo;зеркал&raquo;.&nbsp;По теории Козырева, внутри его зеркал Время изменяло свою плотность,&nbsp;что и послужило причиной повышения сверхчувственного восприятия. Интересные истории рассказывали те, кто пробыл в зеркальной камере несколько часов. Они начинали ощущать себя непосредственными участниками исторических событий, о которых читали в школьных учебниках. Прямо перед ними разворачивались те или иные события, знакомые и незнакомые действия и персонажи. Всё это они видели, как на большом киноэкране. Как все это происходит пока остается загадкой. Механизм действия зеркал Козырева на человеческое сознание и время пока не известен и только-только начал изучаться. Сложно сказать, переносятся ли испытуемые во времени или события тех времен транслируются перед ними в Настоящем.</p>\r\n\r\n<p><br />\r\n<img alt=\"\" src=\"https://imgprx.livejournal.net/8fd273e027a7daa85676aea9c208a1fb30200168/tkE4KFonIYY7qZJd9kL_nX_e21AMUnDJewGSOBFQrmCtcR1vIeYicSU-bjA92r1QjLMgkVE7Tvj_OwkxZhTUV97dshMQmwgB2N4UXIUR6NCuaf4knHOF3uZBoYKfzjsdLR7ueLcN4HH7OPRUScP2uGCbch7c4SmQHvA_t25cPkM\" /></p>\r\n\r\n<p>Опыты были прерваны, поскольку обнаружилась некая опасность их продолжения. Но они когда-то будут возобновлены и мы сможем узнать все тайны, которые хранят&nbsp;Зеркала Козырева.&nbsp; А может быть даже будет сконструирована первая машина времени для путешествий в Прошлое или Будущее, как в фантастических фильмах. Ведь многое, что раньше считалось фантастикой, стало нашей обычной реальностью.</p>\r\n\r\n<p>Кстати, известный врач и исследователь Эрнст Мулдашев не один раз побывавший в научной экспедиции на Тибет, говорит, что по сравнению с пирамидами Египта и Мексики, тибетские пирамиды намного крупнее и большинство из них сопряжены с вогнутыми каменными конструкциями, которые образно были названы &laquo;зеркалами&raquo;. У этих тибетских &laquo;зеркал&raquo; неизвестного происхождения есть сходство с&nbsp;&laquo;зеркалами Козырева&raquo;. Козырев утверждал, что время &ndash; это энергия, способная концентрироваться, сжиматься или растягиваться. В экспериментах, проведенных с использованием его конструкций, был достигнут феномен сжатия времени.</p>\r\n\r\n<p><img alt=\"\" src=\"https://imgprx.livejournal.net/056f231d1904453c0c8f085e5addc4a3c9badb48/tkE4KFonIYY7qZJd9kL_nX_e21AMUnDJewGSOBFQrmCtcR1vIeYicSU-bjA92r1QszEO2QtL7FcQJYO1Au1XmpC6rhHf9XTRAJNRGw1yUMLDwsmqI-jtZ4luA5vekjFc\" /></p>\r\n\r\n<p>Именно поэтому можно предположить, что каменные зеркала на Тибете обладают способностью сжимать время. А потому как они огромны по своим размерам, то и время сжимается там в значительной степени. Именно этим действием можно объяснить странное происшествие с четырьмя альпинистами, побывавшими в районе одного из таких зеркал. Всего за один год после экспедиции все они состарились и умерли. И возможно по этой же причине ламы настоятельно&nbsp; рекомендуют не отклоняться от &laquo;священной тропы&raquo;, а долина, лежащая перед каменным зеркалом, называется &laquo;долиной смерти&raquo;</p>\r\n\r\n<p>Время &ndash; одно из самых необъяснимых понятий в философии и физике. Возможно, что дальнейшее изучение феномена&nbsp;зеркал Козырева&nbsp;приблизит нас к его пониманию.</p>\r\n\r\n<p>Источник -&nbsp;<a href=\"http://geogen-mir.livejournal.com/605003.html\">http://geogen-mir.livejournal.com/605003.html</a></p>', 16, 5, 0, 0, 1, '2018-01-04 11:36:34', '2018-01-04 11:36:35', '2015-06-17', 'p6lSecxjNz.jpeg', '<p><strong>Легенд и преданий, народных примет и реальных случаев, связанных с загадочными свойствами зеркал, история накопила немало. Сообщения носят поистине глобальный характер: они поступают с разных континентов, принадлежат разным эпохам и культурам. Во многих из них утверждается, что зеркала позволяют увидеть картины прошлого, пространственно удаленного настоящего и даже заглянуть в будущее. Мистики и прорицатели издревле уверяли, что зеркала, особенно вогнутые, способны наделять человека способностью к ясновидению. С необычными свойствами зеркал сталкиваются и современные ученые: физики, биологи, генетики, психологи...</strong></p>'),
  (29, 'The Shamen', 'the-shamen', '<p>Сразу после появления шотландская группа тяготела к&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%9F%D1%81%D0%B8%D1%85%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D0%BA%D0%B0\" title=\"Психоделика\">психоделическому</a>&nbsp;инди-року. Но лидеры коллектива, Колин Ангус и Уилл Синнот, постепенно уходили в сторону&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%AD%D0%B9%D1%81%D0%B8%D0%B4-%D1%85%D0%B0%D1%83%D1%81\" title=\"Эйсид-хаус\">эйсид-хауса</a>. В&nbsp;<a href=\"https://ru.wikipedia.org/wiki/1988_%D0%B3%D0%BE%D0%B4\" title=\"1988 год\">1988 году</a>&nbsp;после долгих экспериментов с&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BA%D0%B2%D0%B5%D0%BD%D1%81%D0%BE%D1%80\" title=\"Секвенсор\">секвенсорами</a>&nbsp;и музыкальными программами, ребята открыли для себя что-то новое в музыке. Для них рок-концерт перестал быть просто концертом, в котором группа дарит музыку поклонникам, он должен был стать частью каждого, чтобы каждый смог привнести что-то своё. Вскоре лидеры сократили группу до&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%94%D1%83%D1%8D%D1%82\" title=\"Дуэт\">дуэта</a>&nbsp;и на выступления стали приглашать разных&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B4%D0%B6%D0%B5%D0%B9\" title=\"Диджей\">диджеев</a>&nbsp;и&nbsp;<a href=\"https://ru.wikipedia.org/wiki/MC\" title=\"MC\">MC</a>. Именно в таком составе был записан их очередной альбом &laquo;En-Tact&raquo;, ставший символом группы. Ребята были в экстазе от своих достижений, и, казалось, они могут всё. Но в мае&nbsp;<a href=\"https://ru.wikipedia.org/wiki/1991_%D0%B3%D0%BE%D0%B4\" title=\"1991 год\">1991 года</a>&nbsp;Синнот утонул в океане, и на его место в группу пришел рэпер Мистер Си. После этого популярность группы начала падать, и вскоре коллектив распался.</p>\r\n\r\n<h2><strong>Состав:</strong></h2>\r\n\r\n<ul>\r\n	<li>Колин Ангус -&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%92%D0%BE%D0%BA%D0%B0%D0%BB\" title=\"Вокал\">вокал</a>,&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D1%82%D0%B0%D1%80%D0%B0\" title=\"Гитара\">гитара</a>,&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%D0%BD%D1%8B%D0%B5\" title=\"Клавишные\">клавишные</a>&nbsp;(1985&ndash;1999)</li>\r\n	<li>Боб Брикс - клавишные (1992-1999)</li>\r\n	<li>Гевин Найт -&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%A3%D0%B4%D0%B0%D1%80%D0%BD%D1%8B%D0%B5\" title=\"Ударные\">ударные</a>&nbsp;(1992-1999)</li>\r\n	<li>Дерек МакКензи - вокал (1985&ndash;1987)</li>\r\n	<li>Кейт МакКензи - ударные (1985&ndash;1988)</li>\r\n	<li>Аллисон Моррисон - клавишные, бэк-вокал (1985&ndash;1986)</li>\r\n	<li>Питер Стефенсон - клавишные (1986&ndash;1988)</li>\r\n	<li>Уилл Синнотт -&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%81-%D0%B3%D0%B8%D1%82%D0%B0%D1%80%D0%B0\" title=\"Бас-гитара\">бас</a>, вокал, клавишные (1987&ndash;1991)</li>\r\n	<li>Ричард Вест (Mr C) - вокал, клавишные (1990&ndash;1999)</li>\r\n</ul>\r\n\r\n<h3>Студийные альбомы:</h3>\r\n\r\n<table>\r\n	<tbody>\r\n		<tr>\r\n			<th rowspan=\"2\">Год</th>\r\n			<th rowspan=\"2\">Название</th>\r\n			<th colspan=\"3\">Позиция</th>\r\n		</tr>\r\n		<tr>\r\n			<th><small><a href=\"https://ru.wikipedia.org/wiki/UK_Albums_Chart\" title=\"UK Albums Chart\">UK</a></small></th>\r\n			<th><small><a href=\"https://ru.wikipedia.org/wiki/Billboard_200\" title=\"Billboard 200\">US</a></small></th>\r\n		</tr>\r\n		<tr>\r\n			<td>1987</td>\r\n			<td><em>Drop</em></td>\r\n			<td>-</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1989</td>\r\n			<td><em>In Gorbachev We Trust</em></td>\r\n			<td>-</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1989</td>\r\n			<td><em>Phorward</em></td>\r\n			<td>-</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1990</td>\r\n			<td><em>En-Tact</em></td>\r\n			<td>31</td>\r\n			<td>138</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1992</td>\r\n			<td><em>Boss Drum</em></td>\r\n			<td>3</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1995</td>\r\n			<td><em>Axis Mutatis</em></td>\r\n			<td>27</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1996</td>\r\n			<td><em>Hempton Manor</em></td>\r\n			<td>-</td>\r\n			<td>-</td>\r\n		</tr>\r\n		<tr>\r\n			<td>1998</td>\r\n			<td><em>UV</em></td>\r\n			<td>-</td>\r\n			<td>-</td>\r\n		</tr>\r\n	</tbody>\r\n</table>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<h2><a data-date-filtered-anchor=\"top_tracks\" href=\"https://www.last.fm/ru/music/The+Shamen/+tracks?date_preset=LAST_7_DAYS\">Лучшие&nbsp;</a>видеоклипы и выступления:</h2>\r\n\r\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"https://www.youtube.com/embed/vrocu-Eknpo\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" width=\"640\"></iframe></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"https://www.youtube.com/embed/CgSPpiUvOzo\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" width=\"640\"></iframe></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"https://www.youtube.com/embed/q99tjv4VnZA\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" width=\"640\"></iframe></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>Выступление Mr. C на&nbsp;Live at Amnesia в августе 2009 года:</p>\r\n\r\n<p><iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"https://www.youtube.com/embed/NgZAhsvP94s\" style=\"position:absolute;top:0;left:0;width:100%;height:100%\" width=\"640\"></iframe></p>', 10, 5, 0, 0, 1, '2018-01-04 12:06:35', '2018-01-04 12:06:35', '2018-01-02', 'Af1RZav28q.jpeg', '<p><strong>The Shamen</strong>&nbsp;&mdash; британская группа, первоначально игравшая&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B8-%D1%80%D0%BE%D0%BA\" title=\"Инди-рок\">инди-рок</a>, а затем сосредоточившаяся на&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%AD%D0%B9%D1%81%D0%B8%D0%B4-%D1%85%D0%B0%D1%83%D1%81\" title=\"Эйсид-хаус\">эйсид-хаусе</a>&nbsp;и&nbsp;<a href=\"https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE\" title=\"Техно\">техно</a>, которые и принесли группе коммерческий успех (хиты &laquo;Move Any Mountain&raquo; и &laquo;Ebeneezer Goode&raquo;). В середине 1990-х гг. группа распалась.</p>'),
  (30, 'Ускорение работы сайта на WordPress.', 'uskorenie-raboty-sayta-na-wordpress', '<h2>Шаг 1. Анализ текущей ситуации со скоростью загрузки.</h2>\r\n\r\n<p>Проанализируйте свой сайт на WordPress с помощью сервиса<strong>&nbsp;<a href=\"https://developers.google.com/speed/pagespeed/insights/\">Google&nbsp;PageSpeed Insights</a></strong>&nbsp;и если результат загрузки сайта меньше 85 &mdash; читайте дальше.</p>\r\n\r\n<h2>Шаг 2. Устанавливаем плагины для ускорения.</h2>\r\n\r\n<p><strong>WP Fastest Cache</strong></p>\r\n\r\n<p>Плагин для кэширования сайта, сжатия файлов, минимизации и объединения css, js, очень широкий функционал. Плагин в нужной комплектации бесплатный.</p>\r\n\r\n<p>Зайдите в админке сайта на WP в &laquo;Плагины&raquo; -&gt; &laquo;Добавить новый&raquo;. Впишите название плагина, нажмите &laquo;Поиск&raquo;. Первый плагин с изображением животного кошачьего типа &mdash; наш плагин. Устанавливаем.</p>\r\n\r\n<p><strong>EWWW Image Optimizer</strong></p>\r\n\r\n<p>Плагин для оптимизации изображений. Сжимает существующие и загружаемые картинки без потери качества.</p>\r\n\r\n<p>Зайдите в админке сайта на WP в &laquo;Плагины&raquo; -&gt; &laquo;Добавить новый&raquo;. Впишите название плагина, нажмите &laquo;Поиск&raquo;. Первый плагин с изображением молотка, который бьет по картинкам&nbsp;&mdash; наш плагин. Устанавливаем.</p>\r\n\r\n<h2>Шаг 3. Настройка ускорения сайта на WordPress</h2>\r\n\r\n<p>Настроим кеширование и минимизацию css, js файлов. В панели администратора новым пунктом меню у вас появился WP Fastest Cache. Зайдите по ссылке, внизу вы увидите поле language, установите русский язык. Установите галочки во всех пунктах, как на скриншоте ниже. В другие вкладки плагина можете не заходить &mdash; там платные функции, за которые вам вряд ли захочется отдавать деньги.</p>\r\n\r\n<p><a href=\"https://seokrem.com/wp-content/uploads/2015/07/Snimok-e%60krana-2015-07-06-v-23.25.22.png\"><img alt=\"Настройка WP Fastest Cache\" src=\"https://seokrem.com/wp-content/uploads/2015/07/Snimok-e,P60krana-2015-07-06-v-23.25.22.png.pagespeed.ce.dLOwU9ydDq.png\" /></a></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>После этого сожмём картинки на сайте. В панели админки WP наведите на медиафайлы, выберите пункт &laquo;Оптимизировать&raquo;. В выбранном окне воспользуйтесь двумя функциями &mdash; оптимизацией картинок из библиотеки и оптимизация других картинок (шаблона, движка и т.д.). Этими действиями вы сжимаете уже существующие изображения на сайте, загружаемые после установки плагина&nbsp;картинки&nbsp;будут сжиматься&nbsp;автоматически при загрузке на сервер.</p>\r\n\r\n<p><a href=\"https://seokrem.com/wp-content/uploads/2015/07/Snimok-e%60krana-2015-07-06-v-23.35.24.png\"><img alt=\"Оптимизация изображений в WordPress\" src=\"https://seokrem.com/wp-content/uploads/2015/07/Snimok-e,P60krana-2015-07-06-v-23.35.24-1024x352.png.pagespeed.ce.tla3JiL6YT.png\" /></a></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p>Всего 2 этих шага существенно ускорит загрузку страниц, что увеличит лояльность поисковых машин и улучшит отношение людей к вашему сайту на WordPress.</p>\r\n\r\n<h3>Дополнительно</h3>\r\n\r\n<p><strong>Не используйте оригиналы изображений, если необходимо вывести картинку в маленьком размере.</strong></p>\r\n\r\n<p>Это заметно снижает&nbsp;скорость загрузки&nbsp;и отношение Google к сайту. Простой пример &mdash; в моем блоге на главной вы увидите над лентой последних постов текст и небольшое фото. Если бы я поставил в атрибут src тега img ссылку на изображение оригинал разрешением ~1000&times;2000 и вывел картинку 100&times;100, серверу пришлось бы загружать изображение&nbsp;1000&times;2000, браузер сжал бы ее до нужных размеров, которые я прописал в стилях отображения, но реально-то загружался оригинал. Поэтому я не поленился отресайзить её в Photoshop и только после этого&nbsp;использовать в шаблоне. Загружайте изображения ровно в таком разрешении, в котором хотите её отобразить.</p>\r\n\r\n<p><strong>Меньше графики &mdash; быстрее сайт.</strong></p>\r\n\r\n<p>Графика занимает&nbsp;в сотни и тысячу раз места больше, чем несколько строк в CSS и HTML. Старайтесь делать элементы сайта при помощи этих языков разметки во всех случаях, где это возможно.</p>\r\n\r\n<p><strong>Меньше плагинов &mdash; меньше запросов к базе данных.</strong></p>\r\n\r\n<p>Не ставьте плагины-пустишки, которые нужны для каких-то сомнительных&nbsp;целей, без которых можно обойтись. Поставив всего лишь десяток лишних плагинов, вы заметно увеличите нагрузку на базу данных, а соответственно и снизите скорость работы сайта.</p>', 8, 5, 0, 0, 0, '2018-01-04 12:08:08', '2018-01-04 12:08:08', '2017-03-13', 'n0wdI6SSA3.jpeg', '<p>Для Google, Яндекса и других поисковых систем скорость загрузки сайта является важным фактором ранжирования. Рассмотрим ускорение загрузки и работы сайта на CMS WordPress.</p>');
  INSERT INTO `posts` (`id`, `title`, `slug`, `content`, `category_id`, `user_id`, `status`, `views`, `is_featured`, `created_at`, `updated_at`, `date`, `image`, `description`) VALUES
  (31, 'Сокращения в Emmet — справочник. Ускоряем верстку.', 'sokrashcheniya-v-emmet-spravochnik-uskoryaem-verstku', '<p><strong><a href=\"http://emmet.io/\">Emmet</a></strong>, ранее известный как Zen Coding, является самым производительным и экономным во времени плагином для текстового редактора. Простые сокращения мгновенно расширяются в сложные фрагменты кода, Emmet превратит вас в более продуктивного разработчика.</p>\r\n\r\n<p><strong>Как это работает?</strong><br />\r\nПосмотрим правде в глаза: написание HTML-кода требует времени, со всеми тегами, атрибутами, кавычками, скобками и так далее. Конечно, в большинстве текстовых редакторов есть подсказки, которые сильно помогают, но все равно придется много печатать. Emmet мгновенно преобразовывает простые аббревиатуры в полноценные блоки кода.</p>\r\n\r\n<p><strong>HTML аббревиатуры</strong><br />\r\nПодготовка к работе с новым HTML документом занимает менее чем секунду. Просто введите&nbsp;<strong>!</strong>&nbsp;или&nbsp;<strong>html:5</strong>, нажмите &laquo;Tab&raquo;, и вы увидите HTML5 doctype с несколькими тегами и отправной точкой для вашего приложения.<br />\r\n<br />\r\n<img src=\"https://habrastorage.org/storage2/0a0/13d/24b/0a013d24becc519a7b9a2a55fe486f81.gif\" /><br />\r\n&nbsp;</p>\r\n\r\n<ul>\r\n	<li><strong>html:5</strong>&nbsp;или&nbsp;<strong>!</strong>&nbsp;для HTML5 doctype</li>\r\n	<li><strong>html:xt</strong>&nbsp;для XHTML transitional doctype</li>\r\n	<li><strong>html:4s</strong>&nbsp;для HTML4 strict doctype</li>\r\n</ul>\r\n\r\n<p>Легко добавить классы, ID<em>ы</em>, текст и атрибуты<br />\r\nПоскольку синтаксис Emmet для описания элементов похож на CSS селекторы, привыкнуть к нему очень легко. Попробуйте объединить название тега с идентификатором (например,&nbsp;<strong>p#desc</strong>).<br />\r\n<br />\r\n<img src=\"https://habrastorage.org/storage2/5b5/6bb/47a/5b56bb47a4fef147bbc5190b9a0aa429.gif\" /><br />\r\n<br />\r\nКроме того, вы можете комбинировать классы и идентификаторы. Например,&nbsp;<strong>p.bar#foo</strong>&nbsp;выведет:</p>\r\n\r\n<pre>\r\n<strong><code>&lt;p class=&quot;bar&quot; id=&quot;foo&quot;&gt;&lt;/p&gt;</code></strong>\r\n\r\nТеперь давайте посмотрим, как указать содержимое и атрибуты для HTML элементов. Фигурные скобки используются для содержания. К примеру,&nbsp;<strong>h1{foo}</strong>&nbsp;преобразится в:\r\n</pre>\r\n\r\n<pre>\r\n<strong><code>&lt;h1&gt;foo&lt;/h1&gt;</code></strong></pre>\r\n\r\n<p><br />\r\nКвадратные скобки используются для атрибутов. Итак,&nbsp;<strong>a[href=#]</strong>&nbsp;выдаст следующее:</p>\r\n\r\n<pre>\r\n<strong><code>&lt;a href=&quot;#&quot;&gt;&lt;/a&gt;</code></strong></pre>\r\n\r\n<p><br />\r\n<img src=\"https://habrastorage.org/storage2/f56/295/296/f5629529660786fd7dba68909281a0c1.gif\" /></p>\r\n\r\n<p><strong>Вложенность элементов</strong><br />\r\nИспользуя вложенные сокращения, вы можете построить целую страницу, используя всего одну строку кода. Во-первых, дочерний селектор, в лице&nbsp;<strong>&gt;</strong>, позволяет вкладывать элементы. Селектор соседних элементов, в лице&nbsp;<strong>+</strong>, позволяет размещать элементы рядом друг с другом, на том же уровне. Наконец, новый оператор перехода на уровень выше, в лице&nbsp;<strong>^</strong>, позволяет перейти по дереву элементов вверх на один уровень.<br />\r\n<br />\r\n<img src=\"https://habrastorage.org/storage2/575/f7b/28b/575f7b28beb25d8327f01fa104a2f620.gif\" /></p>\r\n\r\n<p><strong>Группировка</strong><br />\r\nЧтобы эффективно использовать вложения не превращая их в запутанный беспорядок операторов, вам нужно сгруппировать несколько кусков кода. Это как математика &mdash; нужно просто использовать скобки вокруг определенных частей.&nbsp;<br />\r\nНапример,&nbsp;<strong>(.foo&gt;h1)+(.bar&gt;h2)</strong>&nbsp;преобразится в:</p>\r\n\r\n<pre>\r\n<strong><code>&lt;div class=&quot;foo&quot;&gt;\r\n  &lt;h1&gt;&lt;/h1&gt;\r\n&lt;/div&gt;\r\n&lt;div class=&quot;bar&quot;&gt;\r\n  &lt;h2&gt;&lt;/h2&gt;\r\n&lt;/div&gt;</code></strong>\r\n\r\n<img src=\"https://habrastorage.org/storage2/b6c/bc2/1d0/b6cbc21d0ff1c36829fd16ebe90491f0.gif\" />\r\n</pre>\r\n\r\n<p><strong>Неявные имена тегов</strong><br />\r\nЧтобы объявить тег с классом, просто введите&nbsp;<strong>div.item</strong>, сокращение преобразуется в .<br />\r\nВ прошлом, вы могли бы опустить имя тега&nbsp;<strong>div</strong>, так что, просто нужно было ввести&nbsp;<strong>.item</strong>, и он бы генерировал . Теперь Emmet умнее. Он проверяет имя родительского тега каждый раз, когда вы разворачиваете сокращение с неявным именем.</p>\r\n\r\n<p><code><code><img src=\"https://habrastorage.org/storage2/72f/ccc/31d/72fccc31df02ae009de863340c7bc374.gif\" /></code></code></p>\r\n\r\n<p><code><code>Вот список всех неявных имен тегов:</code></code></p>\r\n\r\n<ul>\r\n	<li><code><code><strong>li</strong>&nbsp;для&nbsp;<strong>ul&nbsp;</strong>и&nbsp;<strong>ol</strong></code></code></li>\r\n	<li><code><code><strong>tr</strong>&nbsp;для&nbsp;<strong>table</strong>,&nbsp;<strong>tbody</strong>,&nbsp;<strong>thead&nbsp;</strong>и&nbsp;<strong>tfoot</strong></code></code></li>\r\n	<li><code><code><strong>td&nbsp;</strong>для&nbsp;<strong>tr</strong></code></code></li>\r\n	<li><code><code><strong>option&nbsp;</strong>для&nbsp;<strong>select&nbsp;</strong>и&nbsp;<strong>optgroup</strong></code></code></li>\r\n</ul>\r\n\r\n<p><strong><code><code>Умножение</code></code></strong><br />\r\n<code><code>Вы можете определить, сколько раз элемент должен быть выведен с помощью оператора&nbsp;<strong>*</strong>.<br />\r\nНапример,&nbsp;<strong>ul&gt;li*3</strong>&nbsp;превратится в:<br />\r\n<strong>&lt;ul&gt; &lt;li&gt;&lt;/li&gt; &lt;li&gt;&lt;/li&gt; &lt;li&gt;&lt;/li&gt; &lt;/ul&gt;</strong></code></code></p>\r\n\r\n<p><br />\r\n<code><img src=\"https://habrastorage.org/storage2/188/0e7/f5a/1880e7f5a2d04b1e81e29f94d8b907f9.gif\" /></code></p>\r\n\r\n<p><strong><code>Нумерация</code></strong><br />\r\n<code>Как на счёт комбинации оператора умножения и нумерации? Просто поставьте оператор&nbsp;<strong>$</strong>&nbsp;в конце названия атрибута или элемента и будем вам счастье! Например&nbsp;<strong>ul&gt;li.item$*3</strong>&nbsp;превратится в:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>&lt;ul&gt;\r\n  &lt;li class=&quot;item1&quot;&gt;&lt;/li&gt;\r\n  &lt;li class=&quot;item2&quot;&gt;&lt;/li&gt;\r\n  &lt;li class=&quot;item3&quot;&gt;&lt;/li&gt;\r\n&lt;/ul&gt;\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/9e7/3e6/4db/9e73e64dbb039453f1a41a2c34e526b5.gif\" /></code>\r\n\r\n</pre>\r\n\r\n<p><strong><code>CSS аббревиатуры</code></strong></p>\r\n\r\n<p><strong><code>Значения</code></strong><br />\r\n<code>Emmet предназначен для упрощения написания не только HTML, но и CSS кода. Допустим, вы хотите задать ширину. Сокращение&nbsp;<strong>w100</strong>&nbsp;превратится в:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>width: 100px;\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/5fe/0e4/3a0/5fe0e43a060733bf095169b799e47401.gif\" />\r\n\r\nЗначение px ставится по умолчанию. Другие единицы измерения используют свои символы. К примеру&nbsp;<strong>h10p+m5e</strong>:</code>\r\n</pre>\r\n\r\n<pre>\r\n<strong><code><code>height: 10%;\r\nmargin: 5em;</code></code></strong>\r\n<code>Вот список возможных значений:</code>\r\n</pre>\r\n\r\n<ul>\r\n	<li><code><strong>p</strong>&nbsp;&rarr; %</code></li>\r\n	<li><code><strong>e</strong>&nbsp;&rarr; em</code></li>\r\n	<li><code><strong>x&nbsp;</strong>&rarr; ex</code></li>\r\n</ul>\r\n\r\n<p><strong><code>Дополнительные опции</code></strong></p>\r\n\r\n<p><br />\r\n<code>Вы уже знаете много интуитивных сокращений, таких как&nbsp;<strong>@f</strong>, который преобразуется в:</code></p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<pre>\r\n<strong><code><code>@font-face {\r\n  font-family:;\r\n  src:url();\r\n}\r\n</code></code></strong>\r\n<code>У некоторых свойств - таких как&nbsp;<em>background-image, border-radius, font, @font-face, text-outline, text-shadow</em>&nbsp;&mdash; есть некоторые дополнительные варианты, которые вы можете активировать при помощи знака&nbsp;<strong>+</strong>. Например,&nbsp;<strong>@f+</strong>&nbsp;произведет:</code>\r\n</pre>\r\n\r\n<pre>\r\n<strong><code><code>@font-face {\r\n  font-family: &#39;FontName&#39;;\r\n  src: url(&#39;FileName.eot&#39;);\r\n  src: url(&#39;FileName.eot?#iefix&#39;) format(&#39;embedded-opentype&#39;),\r\n     url(&#39;FileName.woff&#39;) format(&#39;woff&#39;),\r\n     url(&#39;FileName.ttf&#39;) format(&#39;truetype&#39;),\r\n     url(&#39;FileName.svg#FontName&#39;) format(&#39;svg&#39;);\r\n  font-style: normal;\r\n  font-weight: normal;\r\n}\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/1a0/999/3d1/1a09993d17f817ef88deb7232e830f4d.gif\" /></code>\r\n</pre>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p><strong><code>Автоматический поиск</code></strong><br />\r\n<code>Модуль CSS использует автоматический поиск, чтобы найти неизвестные сокращения. Так, каждый раз, когда вы ищите неизвестное сокращение, Emmet попытается найти самое близкое значение. Например,&nbsp;<strong>ov:h</strong>,&nbsp;<strong>ov-h</strong>,&nbsp;<strong>ovh</strong>&nbsp;и&nbsp;<strong>oh</strong>&nbsp;произведет то же самое:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>overflow: hidden;\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/175/34e/8c6/17534e8c682109a5b2cdffa03c942d01.gif\" /></code>\r\n</pre>\r\n\r\n<p><strong><code>Приставки браузеров</code></strong><br />\r\n<code>CSS3 крут, но вендорные префиксы &mdash; реальная боль для всех нас. Теперь уже нет, Emmet нам поможет.<br />\r\nНапример,&nbsp;<strong>trs</strong>&nbsp;будет преобразовано в:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>-webkit-transform: ;\r\n-moz-transform: ;\r\n-ms-transform: ;\r\n-o-transform: ;\r\ntransform: ;\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/421/837/254/421837254aeb306d645a81d012dc9f10.gif\" />\r\nТакже вы можете приписать свои префиксы. Просто используйте приставку&nbsp;<strong>-</strong>. Так,&nbsp;<strong>-super-foo</strong>преобразится в:</code>\r\n</pre>\r\n\r\n<pre>\r\n<strong><code><code>-webkit-super-foo: ;\r\n-moz-super-foo: ;\r\n-ms-super-foo: ;\r\n-o-super-foo: ;\r\nsuper-foo: ;\r\n</code></code></strong>\r\n<code>Что, если вы не хотите все те приставки? Нет проблем, просто укажите первые буквы их названий.\r\nНапример,<strong>&nbsp;-wm-trf</strong>&nbsp;преобразуется в:</code>\r\n</pre>\r\n\r\n<pre>\r\n<strong><code><code>-webkit-transform: ;\r\n-moz-transform: ;\r\ntransform: ;</code></code></strong>\r\n</pre>\r\n\r\n<ul>\r\n	<li><code>w &rarr; -webkit-</code></li>\r\n	<li><code>m &rarr; -moz-</code></li>\r\n	<li><code>s &rarr; -ms-</code></li>\r\n	<li><code>o &rarr; -o-</code></li>\r\n</ul>\r\n\r\n<p><strong><code>Градиенты</code></strong><br />\r\n<code>Говоря о раздражающих особенностях CSS3, мы не можем забыть градиенты. Все те сложные выражения, что вы писали вручную, можно заменить на одну аббревиатуру.<br />\r\nК примеру&nbsp;<strong>lg(left, #fff 50%, #000)</strong>&nbsp;преобразуется в:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, #fff), to(#000));\r\nbackground-image: -webkit-linear-gradient(left, #fff 50%, #000);\r\nbackground-image: -moz-linear-gradient(left, #fff 50%, #000);\r\nbackground-image: -o-linear-gradient(left, #fff 50%, #000);\r\nbackground-image: linear-gradient(left, #fff 50%, #000);\r\n</code></code></strong></pre>\r\n\r\n<p><br />\r\n<code><img src=\"https://habrastorage.org/storage2/10b/0ed/234/10b0ed23401674b521c96e0f9333fad5.gif\" /></code></p>\r\n\r\n<p><strong><code>Дополнительные возможности</code></strong></p>\r\n\r\n<p><strong><code>Lorem ipsum</code></strong><br />\r\n<code>Забудьте о сторонних сервисах, которые производят текст &ldquo;Lorem ipsum&rdquo;. Теперь вы можете сделать это быстро в своем редакторе. Просто используйте&nbsp;<strong>lorem</strong>&nbsp;или&nbsp;<strong>lipsum</strong>&nbsp;для сокращения. Вы можете определить сколько слов требуется вывести. Например,&nbsp;<strong>lorem10</strong>&nbsp;выведет:</code></p>\r\n\r\n<pre>\r\n<strong><code><code>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero delectus.\r\n</code></code></strong>\r\n<code><img src=\"https://habrastorage.org/storage2/bf5/ed6/d4f/bf5ed6d4f37fa95e2e6e415bca911602.gif\" />\r\n\r\nКроме того, lorem может быть присвоен к другим элементам. Например,&nbsp;<strong>p*3&gt;lorem5</strong>&nbsp;преобразуется в:</code>\r\n</pre>\r\n\r\n<pre>\r\n<strong><code><code>&lt;p&gt;Lorem ipsum dolor sit amet.&lt;/p&gt;\r\n&lt;p&gt;Voluptates esse aliquam asperiores sunt.&lt;/p&gt;\r\n&lt;p&gt;Fugiat eaque laudantium explicabo omnis!&lt;/p&gt;</code></code></strong>\r\n</pre>\r\n\r\n<p><strong><code>Настройка</code></strong><br />\r\n<code>Emmet предлагает широкий диапазон опций, которые вы можете использовать для тонкой настройки взаимодействия с плагином. Есть три файла, которые Вы можете отредактировать, чтобы сделать это:</code></p>\r\n\r\n<ol>\r\n	<li><code>Чтобы добавить Ваш собственный или обновить существующий отрывок, отредактируйте&nbsp;<a href=\"http://docs.emmet.io/customization/snippets/\">snippets.json</a>.</code></li>\r\n	<li><code>Чтобы изменить поведение фильтров и действий Emmet, попытайтесь редактировать&nbsp;<a href=\"http://docs.emmet.io/customization/preferences/\">preferences.json</a>.</code></li>\r\n	<li><code>Чтобы определить, как HTML или XML должны выполняться, отредактируйте&nbsp;<a href=\"http://docs.emmet.io/customization/syntax-profiles/\">syntaxProfiles.json</a>.</code></li>\r\n</ol>', 14, 5, 0, 0, 0, '2018-01-04 12:09:25', '2018-01-04 12:09:25', '2017-05-10', 'rLgp4yMYv0.jpeg', '<p>Еще в 2009 году&nbsp;<a href=\"http://habrahabr.ru/users/chikuyonok/\">Сергей Чикуёнок</a>&nbsp;<a href=\"http://coding.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/\">опубликовал статью</a>, в которой представил новый способ написания HTML и CSS кода. Этот революционный плагин, назывался Zen Coding, он помогал многим разработчикам на протяжении многих лет и в настоящее время вышлел на новый уровень.</p>'),
  (32, 'Сафонкин Сергей \"Секреты мастера Тхэквондо. Методика обучения технике взаимодействия ударов ногой и рукой\"', 'safonkin-sergey-sekrety-mastera-thekvondo-metodika-obucheniya-tehnike-vzaimodeystviya-udarov-nogoy-i-rukoy', '<p>Именно Сергей Сафонкин стоял у истоков появления тхэквондо в России, воспитал не одно поколение выдающихся спортсменов, чемпионов мира и Европы по тхэквондо.</p>\r\n\r\n<p>&nbsp;В своей новой книге мастер Сафонкин объединил многолетний опыт и накопленные знания с серьезной научно-исследовательской работой. Впервые в России подготовлен учебно-методический труд, который позволяет занимающимся перейти на новый уровень изучения тхэквондо &ndash; от простого копирования &laquo;делай как я&raquo; к глубокому пониманию техники тхэквондо, к пониманию целесообразности, обретению смысла каждого движения в процессе занятий.</p>\r\n\r\n<p>&nbsp;Основные вопросы, рассматриваемые в книге:</p>\r\n\r\n<p>- Биомеханика ударных действий</p>\r\n\r\n<p>- Классификации стоек</p>\r\n\r\n<p>- Классификации ударов и ударных связок</p>\r\n\r\n<p>- Подводящие упражнения</p>\r\n\r\n<p>- Специальная общефизическая подготовка</p>\r\n\r\n<p>- Техника взаимодействия ударов ногой и рукой</p>\r\n\r\n<p>Книга &laquo;секреты мастера тхэквондо&raquo; - первый в России опыт научного изучения техники тхэквондо. Предложенные в книге методические указания и рекомендации проиллюстрированы огромным количеством схем, фотографический материал подготовлен с помощью ведущих российских мастеров тхэквондо, дано подробное описание специально-подготовительных упражнений для занимающихся таэквондо. Однако аудитория книги не ограничивается людьми, изучающими тхэквондо - изложенные в книге принципы ударной техники, особенности связок и ударных комбинаций имеют универсальный характер и представляют интерес для представителей всех видов и направлений единоборств.</p>\r\n\r\n<p>В данном пособии автор излагает собственный метод обучения технике взаимодействия ударов рукой и ногой. Перед читателем открывается богатейший теоретический материал, основанный на многолетнем опыте тренерской работы автора, подробно описываются наиболее эффективные специально-подготовительные упражнения различной сложности, необходимые для овладения техникой взаимодействия ударов.</p>', 9, 5, 0, 0, 1, '2018-01-04 12:10:56', '2018-01-04 12:10:56', '2016-02-17', NULL, '<p>Автор книги &ndash; заслуженный тренер России, обладатель черного пояса VI дан, международный инструктор, судья категории &quot;А&quot;, признанный мастер восточных единоборств, широко известный в нашей стране и за рубежом.</p>');
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `post_tags`
  --
  
  CREATE TABLE `post_tags` (
    `id` int(10) UNSIGNED NOT NULL,
    `post_id` int(11) NOT NULL,
    `tag_id` int(11) NOT NULL,
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `post_tags`
  --
  
  INSERT INTO `post_tags` (`id`, `post_id`, `tag_id`, `created_at`, `updated_at`) VALUES
  (1, 1, 3, NULL, NULL),
  (2, 14, 3, NULL, NULL);
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `subscriptions`
  --
  
  CREATE TABLE `subscriptions` (
    `id` int(10) UNSIGNED NOT NULL,
    `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `token` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `subscriptions`
  --
  
  INSERT INTO `subscriptions` (`id`, `email`, `token`, `created_at`, `updated_at`) VALUES
  (2, 'adssad@das.ru', NULL, '2018-01-01 20:05:29', '2018-01-01 20:05:29'),
  (3, 'asdsa@asd.ru', 'LctDZvue4sViBJA7daioVTyIon3on6rSmBkFzNmjf06tPgq3KM', '2018-01-01 20:31:33', '2018-01-01 20:31:33'),
  (4, 'erwer@df.df', 'KcaSCwJbBNTlBVDMAbdjjAIbYj78eWlQJqdAyOJlAGoywCHGoc', '2018-01-01 20:31:53', '2018-01-01 20:31:53');
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `tags`
  --
  
  CREATE TABLE `tags` (
    `id` int(10) UNSIGNED NOT NULL,
    `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  -- --------------------------------------------------------
  
  --
  -- Структура таблицы `users`
  --
  
  CREATE TABLE `users` (
    `id` int(10) UNSIGNED NOT NULL,
    `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `is_admin` int(11) NOT NULL DEFAULT '0',
    `status` int(11) NOT NULL DEFAULT '0',
    `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `created_at` timestamp NULL DEFAULT NULL,
    `updated_at` timestamp NULL DEFAULT NULL,
    `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  
  --
  -- Дамп данных таблицы `users`
  --
  
  INSERT INTO `users` (`id`, `name`, `email`, `password`, `is_admin`, `status`, `remember_token`, `created_at`, `updated_at`, `avatar`) VALUES
  (1, 'admin', 'admin@example.com', '$2y$10$pGpUFHnn02yWYblOIaI4Q.LQoqMYD44jHFVjNUvkFchEAsdVPEqrq', 1, 0, NULL, '2018-01-04 12:27:27', '2018-01-04 12:27:27', NULL);
  
  --
  -- Индексы сохранённых таблиц
  --
  
  --
  -- Индексы таблицы `categories`
  --
  ALTER TABLE `categories`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `comments`
  --
  ALTER TABLE `comments`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `migrations`
  --
  ALTER TABLE `migrations`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `password_resets`
  --
  ALTER TABLE `password_resets`
    ADD KEY `password_resets_email_index` (`email`(191));
  
  --
  -- Индексы таблицы `posts`
  --
  ALTER TABLE `posts`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `post_tags`
  --
  ALTER TABLE `post_tags`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `subscriptions`
  --
  ALTER TABLE `subscriptions`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `tags`
  --
  ALTER TABLE `tags`
    ADD PRIMARY KEY (`id`);
  
  --
  -- Индексы таблицы `users`
  --
  ALTER TABLE `users`
    ADD PRIMARY KEY (`id`);
  
  --
  -- AUTO_INCREMENT для сохранённых таблиц
  --
  
  --
  -- AUTO_INCREMENT для таблицы `categories`
  --
  ALTER TABLE `categories`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
  --
  -- AUTO_INCREMENT для таблицы `comments`
  --
  ALTER TABLE `comments`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;
  --
  -- AUTO_INCREMENT для таблицы `migrations`
  --
  ALTER TABLE `migrations`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=30;
  --
  -- AUTO_INCREMENT для таблицы `posts`
  --
  ALTER TABLE `posts`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=33;
  --
  -- AUTO_INCREMENT для таблицы `post_tags`
  --
  ALTER TABLE `post_tags`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
  --
  -- AUTO_INCREMENT для таблицы `subscriptions`
  --
  ALTER TABLE `subscriptions`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
  --
  -- AUTO_INCREMENT для таблицы `tags`
  --
  ALTER TABLE `tags`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
  --
  -- AUTO_INCREMENT для таблицы `users`
  --
  ALTER TABLE `users`
    MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
  /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  