По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Вы забыли свой пароль пользователя root в Debian? Не волнуйтесь, мы покажем, как сбросить пароль root в Debian. Просто выполните следующие шаги и восстановите доступ и установите новый пароль root. Сброс пароля Запустите машину с Debian и нажмите любую клавишу, чтобы остановить процесс загрузки. Выберите “Debian GNU/Linux ” и нажмите клавишу “e” для редактирования параметров ядра в командной строке. Используйте клавишу «стрелка вниз» для прокрутки вниз. Перейдите к строке, которая начинается со слова linux и с помощью стрелок перейдите к концу строки или нажмите кнопку «end», а затем там (после quiet) добавьте init =/bin/bash. После добавления записи нажмите Ctrl + x или F10 для загрузки системы. Debian теперь загрузится в однопользовательском режиме, а корневая файловая система смонтирована в режиме только для чтения (read-only mode). Поэтому используйте команду ниже для монтирования корневой файловой системы в режиме чтения-записи (read-write mode). mount -o remount / Наконец, измените пароль пользователя root с помощью команды passwd. Тут указываем новый пароль и подтверждаем его. Перезагрузите систему и используйте новый пароль, который установили для пользователя root в вашей системе.
img
Что такое SEO? SEO (Search Engine Optimization – поисковая оптимизация) – это методика увеличения количества и качества трафика на веб-страницу путем использования результатов органической поисковой системы. Результаты органического поиска извлекаются из внутреннего алгоритма поисковой системы, а не в результате платной рекламы. Ниже приведен список соответствующей терминологии. SERP (Search Engine Results Page) или страница результатов поисковой системы – это просто страница результатов, которая собирает клики. Такие страницы собирают клики как платных, так и органических результатов поиска. SEM (Search Engine Marketing) или поисковый маркетинг – это методика маркетинга с использованием платной рекламы, которая появляется на SERP. PPC (pay-per-click) означает оплату за клик, модель интернет-маркетинга, в которой рекламодатели платят какую-то таксу каждый раз, когда кто-нибудь нажимает на одно из их объявлений. Изучение основ SEO, а также более сложных тем, может оказаться не самым простым процессом. В данной статье мы рассмотрим простые шаги, которые помогут создать SEO-дружественные веб-страницы, а также инструменты для их поддержки. Актуальный и значимый контент Уникальный, актуальный и содержательный контент является наиболее важным условием SEO-дружественного веб-сайта. Хоть это и кажется очевидным, но здесь очень легко ошибиться. Глубокое понимание пользователей веб-сайта очень важно для создания правильного контента. Контент, который «цепляет» пользователя, может повысить взаимодействие и снизить показатель «ненужных просмотров». Поисковые системы распознают время, проведенное пользователями на веб-сайте, а также уровни взаимодействия. Не хитри. SEO – это не карточная игра, в которой нужно умудриться перехитрить противника. «Сверхоптимизация» - это понятие, описывающее устаревшие методы, которые пытаются как-то обмануть поисковые системы. Например, метод «наполнения ссылками» или «наполнение контентом». Раньше подобные приемы могли оказаться эффективными, но в конечном итоге они были не долговечными. Стратегия ключевых слов может хорошо сработать, но только если все сделано правильно. Решающее значение для достижения успеха имеет правильно найденный баланс между использованием ключевых слов и релевантностью темы. Разнообразие содержания и формата – эффективный способ удерживать внимание. Богатый набор контента, включающий изображения, видео, таблицы и списки, может привлечь внимание пользователей. Организация контента в логическую иерархию веб-сайта – еще один фундаментальный аспект создания SEO-дружественного веб-сайта. Страница сервиса Google Search Console «Руководство по оптимизации поисковой системы (SEO) для начинающих» содержит подробное руководство по организации контента. Семантическая разметка и структурированные данные Хорошо структурированный контент является ключевым фактором для SEO наряду с хорошо сконструированным кодом, который наши браузеры и поисковые системы используют для интерпретации контента. Многие HTML-теги имеют семантическое значение, которое помогает интерпретаторам понимать и классифицировать контент. Как обычные веб-разработчики мы иногда чувствуем себя беспомощными в маркетинговом мире SEO, однако написание семантической разметки – один из самых эффективных инструментов. Незачем писать каждый HTML-элемент через div, когда у нас есть множество тегов для идентификации различного контента. Ниже приведены некоторые из наиболее полезных семантических тегов. Заголовки страниц Описание страницы Абзацы Списки Статьи Разделы Заголовки Нижние колонтитулы И т.д. Опять же, важно уметь создавать HTML-страницы, но не сильно мудрить с ними. Хорошо сбалансированное размещение ключевых слов в заголовках, описаниях, h1 и h2, может иметь большое значение. Заголовки и описания должны быть уникальными для разных страниц и релевантными по содержанию. Структурированные данные – это новый формат данных, соответствующий спецификации JSON-LD, который можно встраивать в HTML-страницы. Поисковые системы, такие как Google, интерпретируют структурированные данные для того, чтобы понять содержание страницы, а также собрать информацию об Интернете и мире в целом. Ниже приведен простой пример. <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": "Foo Software | Website Quality Monitoring", "url": "https://www.foo.software", "sameAs": [ "https://www.facebook.com/www.foo.software", "https://www.instagram.com/foosoftware/", "https://github.com/foo-software", "https://www.linkedin.com/company/foo-software" ] } Доступность и оценка работы веб-сайта Поисковые системы, определенно, поднимают планку допустимых веб-стандартов. Эффективность и доступность веб-страницы охватывают ориентированные на пользователя показатели, которые в конечном итоге могут повлиять на SEO. В процессе оценки работы веб-сайта запоминается путь пользователя, а также отмечаются действия пользователя. Ниже приведены самые важные показатели оценки работы. Первая отрисовка контента (FCP – First Contentful Paint): измеряет время от начала загрузки страницы до момента отображения любой части содержимого страницы на экране. Скорость загрузки основного контента (LCP – Largest Contentful Paint): измеряет время от начала загрузки страницы до момента отображения на экране самого большого изображения или текстового блока. Время ожидания до первого взаимодействия с контентом (FID –First InputDelay): измеряет время от момента, когда пользователь впервые начал взаимодействовать с вашим сайтом (т.е. когда он нажимает на ссылку, нажимает на кнопку или использует настраиваемый элемент управления на базе JavaScript), до момента, когда браузер фактически способен реагировать на это взаимодействие. Время до интерактивности (TTI – Time to Interactive): измеряет время с момента начала загрузки страницы до ее визуального отображения, загрузки ее исходных сценариев (если такие есть) и способности эффективно и быстро реагировать на вводимые пользователем данные. Общее время блокировки (TBT – Total Blocking Time): измеряет общее время между FCP и TTI, если основной поток был заблокирован на достаточно долгое время, чтобы он не реагировал на действия пользователей. Совокупное смещение макета (CLS – Cumulative Layout Shift): измеряет совокупный показатель всех неожиданных смещений макета, которые происходят в течение всего времени жизни страницы, начиная с загрузки страницы. Доступность веб-сайта – еще одна не менее важная концепция, которую следует учитывать при разработке веб-сайта, оптимизированного для поисковых систем. Наши веб-сайты просматривают не только люди, но и другие платформы, такие как программы для чтения с экрана, которые по факту делают тоже самое, что и люди. Улучшение доступности сделает ваш сайт более удобным для всех. Инструменты SEO В данной статье мы рассмотрели способы улучшения SEO. Но возникает вопрос: как поддерживать эти стандарты с течением времени? Существует множество инструментов, которые могут помогать нам анализировать и отслеживать SEO. Automated Lighthouse Check отслеживает качество веб-страниц с помощью Lighthouse. Он предоставляет подробные отчеты о SEO, качестве функционирования и доступности. Доступны бесплатные и премиум версии. Google Search Console обязательная для любого владельца веб-сайта, которому важна SEO. Он предоставляет информацию о том, какие поисковые запросы проходят через органический трафик, и детальный анализ. Заключение SEO – не самая простая методика, но среди трендовых приемов торговли, которые приходят и уходят, наиболее эффективный подход. Значимый и хорошо сформированный контент в сочетании с аналогичным кодом, представленные эффективным и доступным способом, несомненно ублажат богов SEO.
img
Что такое DOM? DOM (Document Object Model) – это объектная модель документа. Это интерфейс между JavaScript и веб-браузером.  С помощью DOM вы можете написать код JavaScript для создания, изменения или удаления элементов HTML, установки стилей, классов и атрибутов, а также для принятия событий и реагирования на них. Дерево DOM формируется из HTML-документа, и с ним уже можно будет взаимодействовать. DOM – это очень сложный API, у которого есть методы и свойства для взаимодействия с деревом DOM. Как работает DOM – за кадром DOM продуманно организован. Родительский элемент называется EventTarget. Приведенная ниже диаграмма поможет вам лучше понять, как это работает: EventTarget – это интерфейс, реализуемый объектами, которые могут принимать события и у которых могут быть обработчики этих событий. Иными словами, любой источник событий реализует три метода, которые связаны с этим интерфейсом. Самыми распространенными генераторами событий являются Element и его дочерние элементы, Document и Window. Другие объекты также могут выступать в качестве источников событий.  Объект Window - это окно браузера. Все глобальные объекты, функции и переменные JavaScript автоматически становятся частью объекта Window. Глобальные переменные – это свойства Window. Глобальные функции – это методы Window. И даже Document (DOM HTML) является свойством Window. window.document.getElementById("header"); // Both are same document.getElementById("header"); В модели дом DOM есть узлы., и все части документа, такие как элементы, атрибуты, текст и т.д., организованы в виде иерархической древовидной структуры, которая состоит из родителей и потомков. Все эти части документа называются узлами (Node). Node на приведенной выше диаграмме представлен как объект JavaScript. В основном мы работаем с document, у которого есть такие распространенные методы, как document.queryselector(), document.getElementBy Id() и т.д. Теперь давайте посмотрим на document.  Как выбирать, создавать и удалять элементы с помощью DOM С помощью DOM мы можем выбирать, удалять и создавать элементы в JavaScript. Как выбирать элементы  Существует несколько способов выбрать HTML-элементы (HTML Elements) в JavaScript. Здесь мы рассмотрим следующие методы:  document.getElementById(); document.getElementByClassName(); document.getElementByTagName(); document.querySelector(); document.querySelectorAll(); Как использовать метод document.getElementById() Метод getElementById() возвращает элемент, идентификатор которого соответствует переданной строке. Идентификаторы элементов HTML должны быть уникальными, поэтому это самый быстрый способ выбрать элемент с идентификатором.  Пример: const ele = document.getElementById("IDName"); console.log(ele); // This will log the whole HTML element Как использовать метод document.getElementByClassName() Метод document.getElementByClassName() возвращает HTMLCollection элементов, которые соответствуют имени переданного класса. Можно искать сразу несколько имен классов, передав их через пробел. Тогда этот метод вернет «живую» HTMLCollection. Что такое «живая» HTMLCollection? Это означает, что как только мы получим HTMLCollection для какого-то имени класса, и если мы добавим элемент с тем же именем класса, то HTMLCollection автоматически обновится.  Пример: const ele = document.getElementByClassName("ClassName"); console.log(ele); // Logs Live HTMLCollection Как использовать метод document.getElementByTagName() Метод document.getElementByTagName() возвращает HTMLCollection элементов, которые соответствуют переданному имени тега. Его можно вызывать для любого элемента HTML. Метод вернет «живую» HTMLCollection. Пример: const paragraph = document.getElementByTagName("p"); const heading = document.getElementByTagName("h1"); console.log(paragraph); // p element HTMLCollection console.log(heading); // h1 element HTMLCollection   Как использовать метод document.querySelector() Метод document.querySelector() возвращает первый элемент, который соответствует переданному селектору. Здесь мы можем передать имя класса, идентификатор и имя тега. Давайте посмотрим на пример ниже: const id = document.querySelector("#idname"); // using id const classname = document.querySelector(".classname"); // using class const tag = document.querySelector("p"); // using tagname Правила выбора: если вы выбираете по имени класса, то используйте (.) в начале. Например, (“.classname”). если вы выбираете по идентификатору, то используйте (#) в начале. Например, (“#id”). если вы выбираете по имени тега, то просто введите тег. Например,  (“p”).  Как использовать метод document.querySelectorAll() Метод document.querySelectorAll() - это расширение метода querySelector. Этот метод возвращает все элементы, которые соответсвуют переданному селектору. Он возвращает «неживую» коллекцию Nodelist.  Пример: const ele = document.querySelectorAll("p"); console.log(ele); // return nodelist collection of p tag   ПРИМЕЧАНИЕ : HTMLCollection – это «живая» коллекция, а коллекция Nodelist – статическая.    Как создавать элементы Вы можете создавать HTML-элементы в JavaScript и динамически добавлять их в HTML. Вы можете создать любой элемент HTML с помощью метода document.createElement(), просто передав имя тега в скобках.    После того, как элемент будет создан, вы сможете добавить к нему имя класса, атрибуты и текст.    Вот пример: const ele = document.createElement("a"); ele.innerText = "Click Me"; ele.classList.add("text-left"); ele.setAttribute("href", "www.google.com"); // update to existing element in HTML document.querySelector(".links").prepend(ele); document.querySelector(".links").append(ele); document.querySelector(".links").befor(ele); document.querySelector(".links").after(ele); // Simalar to below anchor tag // Click Me   В приведенном выше примере мы создали тег привязки (anchor) в JavaScript и добавили атрибуты и имя класса к этому тегу. Там же у нас есть четыре метода для того, чтобы обновить созданный элемент в HTML. prepend(): вставляет данные поверх своего первого дочернего элемента. append(): вставляем данные или содержимое внутрь элемента по последнему индексу. before(): вставляет данные перед выбранным элементом. after(): помещает элемент после указанного элемента. Или можно сказать, что он вставляет данные за пределами элемента (делая это содержимое элементом того же уровня) в набор подходящих элементов. Как удалять элементы Мы знаем, как создавать элементы на JavaScript и помещать их в HTML. Но, что если нам нужно удалить элементы в HTML? Это довольно просто! Нам достаточно воспользоваться методом remove() для нужного элемента.  Вот пример: const ele = document.querySelector("p"); // This will remove ele when clicked on ele.addEventListner('click', function(){ ele.remove(); })   Как управлять CSS из JavaScript Мы знаем, как управлять HTML из JavaScript. А теперь мы узнаем, как управлять CSS из JavaScript. Это может помочь вам динамически менять стиль ваших веб-страниц.  Например, если вы нажимаете на элемент, то его фоновый цвет должен поменяться. Это реально сделать, управляя CSS из JavaScript.    Вот пример синтаксиса: const ele = document.querySelector("desired element"); ele.style.propertyName = value; // E.g - ele.style.color = red;   Когда вы меняете свойства CSS с помощью JavaScript, помните, что всякий раз, когда в CSS печатается «-», в JavaScript там будет стоять заглавная буква. Например, в CSS вы бы написали background-color, а в JavaScript – backgroundColor (с большой буквы C).    Вот пример: const ele = document.querySelector("div"); ele.style.backgroundColor = "red"; Предположим, что вы написали код CSS для своего проекта и хотите добавить классы с помощью JavaScript. Это можно сделать с помощью classList в JavaScript.    Вот еще один пример: const ele = document.querySelector(".link"); ele.classList.add("bg-red"); // add class bg-red to existing class list ele.classList.remove("pb-4");// remove class bg-red from existing class list ele.classList.toggle("bg-green"); // toggle class bg-red to existing class list which means if it already exists then it will be removed, if it doesn't exist it will be added. classList добавляет, удаляет или переключает классы относительно какого-то элемента. Это чем-то похоже на обновление существующих классов.    В отличие от element.className, он удаляет все существующие классы и добавляет указанный класс.  И еще один пример: const ele = document.querySelector(".link"); ele.classList.add("bg-red"); // add class bg-red to existing class list ele.classList.remove("pb-4");// remove class bg-red from existing class list ele.className = "p-10"; // Now this will remove all existing classes and add only "p-10 class to element."   Как использовать обработчики событий Событие (Event) – это изменение состояния объекта. Обработка событий (Event Handling) – процесс реагирования на события.  События происходит всякий раз, когда пользователь щелкает кнопкой мыши, наводит курсор на элемент, нажимает клавишу и т.д. Поэтому, когда происходит событие, и вы хотите выполнить какое-то действие, то вы используете обработчики событий, чтобы это действие произошло.  Мы используем обработчики событий для того, чтобы выполнить определенный код, когда это конкретное событие происходит. В JavaScript есть несколько обработчиков событий, однако процесс их добавления к элементам одинаков.  Вот синтаксис: const ele = document.querySelector("a"); ele.addEventListner("event", function(){ // callback function }); Вот некоторые события, которые вы можете использовать: click mouseover mouseout keypress keydown А вот пример использования события «click» (нажатия на кнопку мыши): const ele = document.querySelector("a"); ele.addEventListner("click", function(){ ele.style.backgroundColor = "pink"; }); Распространение событий: всплывание событий и перехват событий Распространение событий определяет то, в каком порядке элементы будут получать события. Существует два способа обработки порядка распространения событий в DOM: всплывание событий и перехват событий.  Что такое всплывание событий? Когда в каком-то компоненте происходит событие, то он сначала на нем запускается обработчик событий, только потом на его родительском компоненте, а затем уже и на всех остальных компонентах, которых называют предками.  По умолчанию все обработчики событий перемещаются именно в этом порядке - от события центрального компонента к событию компонента, который находится от него дальше всех.    Что такое перехват событий? Этот способ – противоположность предыдущему. Обработчик событий запускается сначала на родительском компоненте, а уже потом на том компоненте, на котором он фактически и должен был сработать.  Проще говоря, это означает, что событие сначала перехватывается самым удаленным элементом, а затем распространяется на внутренние элементы. Также этот способ называют «просачиванием вниз».    Давайте попробуем запустить следующий пример:                Example           
           
    Этот код выдаст нам следующее: Теперь давайте внимательно изучим приведенный выше пример. Я добавил получатель событий к тегу nav и тегу anchor. Когда вы нажимаете на nav, то цвет фона меняется на зеленый. Когда вы нажимаете на тег anchor, то цвет фона меняется на розовый.  Но когда вы нажимаете на тег anchor, то цвет фона меняется как у nav, так и у anchor. Это происходит из-за всплывания событий.    Вот что происходит, когда вы нажимаете только на элемент nav:       А вот что происходит, когда вы нажимаете только на элемент anchor: Для того, чтобы остановить распространение событий, мы можем воспользоваться методом stoppropagation() на получателе событий, из-за которого и происходит распространение события. В таком случае в приведенном выше примере получатель событий элемента nav не сработает.                   Example           
           
    Как перемещаться по модели DOM «Хороший разработчик JavaScript должен знать, как перемещаться по модели DOM. Перемещаться по модели DOM значит выбирать один элемент из другого,» - Зелл Лью. Теперь посмотрим, почему лучше обойти модель DOM, чем использовать метод document.querySelector(), и как это выполнить на профессиональном уровне.  Есть три способа обхода модели DOM: Снизу-вверх Сверху-вниз Продольный Как обойти модель DOM снизу-вверх Существует два метода, которые помогут вам перемещаться по модели DOM снизу-вверх: parentElement closest parentElement – это свойство, которое выбирает родительский элемент, например: const ele = document.querySelector("a"); console.log(ele.parentElement); //
parentElement отлично подходит для того, чтобы выбрать элемент, который находится на один уровень выше. Но closest позволяет найти элемент, который может быть на несколько уровней выше текущего. closest позволяет вам выбрать ближайший элемент-предок, который соответствует селектору.  Вот пример с использованием closest:
   

This is sample

   

This is heading

   

This heading 2

const ele = document.querySelector(".heading"); console.log(ele.closest(".demo")); // This is heading В приведенном выше фрагменте кода мы пытаемся получить ближайший элемент к .heading, который имеет класс .demo. Как обойти модель DOM сверху-вниз Мы можем перемещаться вниз, используя метод селектора children. При таком подходе вы можете выбрать прямого потомка нужного элемента.   Вот пример:
   Link-1    Link-2    Link-3    Link-4
const ele = document.querySelector("div"); const child = ele.children; console.log(child); // gives HTMLCollection // 4 element inside div Как обойти модель DOM продольно Это очень интересный вопрос, как же мы можем продольно обойти DOM. В основном мы можем использовать лишь два метода: previousElementSibling nextElementSibling С помощью метода previousElementSibling мы можем выбрать предшествующие элементы в HTML:
   Link-1    

Heading

const ele = document.querySelector("h1"); console.log(ele.previousElementSibling); // Link-1 А с помощью метода nextElementSibling мы можем выбрать последующие элементы в HTML:
   Link-1    

Heading

const ele = document.querySelector("a"); console.log(ele.nextElementSibling); //

Heading

ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59