По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
На сегодняшний день предприятия генерируют огромные объемы данных. Большую часть из этих данных можно использовать. Наука о данных позволяет компаниям находить закономерности и тенденции, чтобы лучше понимать своих клиентов и обслуживать их соответственно. Но прежде чем данные можно будет анализировать, их для начала необходимо организовать. Перейдем к администраторам базы данных. Администраторы базы данных (DBA - Database Administrator) организуют данные и управляют ими, проектируют и разрабатывают базы данных, архивируют данные и т.д. Также они могут заниматься обслуживанием, устранением неполадок, безопасностью, документацией и обучением. Давайте рассмотрим подробнее каждую из этих обязанностей. Организация и управление данными Как мы уже говорили ранее, администраторы баз данных организуют и подготавливают данные для того, чтобы их могли использовать специалисты по обработке данных, такие как ученые и аналитики данных. Эти специалисты анализируют данные, чтобы найти тенденции и сделать обоснованные прогнозы, которые помогут принять решения компаниям. К сфере деятельности администратора баз данных относятся такие типы данных, как истории покупок, финансовые отчеты и сведения о клиентах. Одним из этапов организации данных является настройка баз данных и обеспечение их эффективной работы. Это часто включает в себя моделирование и создание проекта, который подразумевает сбор пользовательских требований к проектам и то, что требуется для их работы. Администраторы баз данных также помогают обеспечить безопасность данных. Это включает в себя управление доступом к конфиденциальной информации, чтобы ее могли видеть только авторизированные пользователи компании. Обновление баз данных Есть несколько способов обновления базы данных. И это подразумевает не только ввод в него последних данных. Администратор баз данных может обновлять разрешения на доступ к базе данных, чтобы не отставать от кадровых изменений или изменений в обязанностях людей, работающих в компании. Они также могут обновлять языки и системы, используемые в базе данных, проверять наличие обновлений программного обеспечения или писать новый код SQL, чтобы удовлетворять всем потребностям компании. Им также может потребоваться проверить, насколько хорошо функционирует база данных – возможно, требуется совершенно новая система. Или администраторы баз данных могут настроить функции базы данных в соответствии с результатами анализа данных, которые хочет получить компания. Проектирование и разработка Проектирование базы данных может включать в себя такие элементы как: Методы ввода и накопления данных Протоколы данных То, как администрируются права доступа Проверка целостности и точности данных Планы восстановления функционирования Обновления программы Поиск Администратор базы данных должен учитывать потребности пользователей базы данных и на их основе создавать понятные и логичные модели данных. Даже если они не пишут код базы данных самостоятельно, они в любом случае должны знать, как выглядит эффективный код и что он делает. Администратор базы данных должен быть в состоянии поддерживать разработку базы данных, позволяя тем самым поддерживать приложения и инфраструктуру. Архивирование данных Для того, чтобы понять в чем заключается эта роль администратора баз данных, вам необходимо знать, что такое архивирование, его назначение и способы его выполнения. При архивации находятся данные, которые используются неактивно, откладываются в сторону и переносятся из рабочей системы в долговременное хранилище. Если информация потребуется вновь, ее можно извлечь из этого долговременного хранилища. Администраторы баз данных архивируют данные для того, чтобы не тратить активную рабочую емкость впустую, чтобы обеспечить резервное копирование информации и обеспечить более эффективное функционирование. И последнее, но не менее важное: администраторы баз данных обеспечивают максимальное использование облачных ресурсов, а значит, ценная инфраструктура и системы управления данными используются только для текущих активных действий, а не тратятся на устаревшие и ненужные данные. Техническое обслуживание и устранение неполадок Техническое обслуживание базы данных включает в себя выполнение периодических тестов и внесение изменений с целью убедиться, что база данных работает корректно и в полной мере. Для того, чтобы выполнять обязанности по техническому обслуживанию, администраторы баз данных должны знать и понимать системы управления баз данных, которые имеют непростую структуру. Администраторы баз данных должны понимать, на что необходимо обращать внимание как в программном обеспечении, так и в аппаратном оборудовании для того, чтобы устранить неполадки, а при обнаружении проблемы, они должны знать, как ее исправить. Техническое обслуживание баз данных включает в себя и несколько обычных задач, таких как: Регулярное резервное копирование Контроль операционных элементов, таких как откат транзакций, дисковое пространство и нарушение системных ограничений Предотвращение прерывания приложений Администраторы баз данных также должны иметь практические знания языка программирования языка SQL. Это позволяет им решать проблемы, исправляя ошибки в самом коде SQL. Безопасность Администраторы баз данных защищают целостность и безопасность информации компаний. Здесь могут подразумеваться элементы кибербезопасности, когда доступ к базам данных осуществляется удаленно или через Интернет. Еще одной проблемой безопасности для администраторов баз данных является конфиденциальность данных. Вот некоторые из задач администратора баз данных, связанных с безопасностью: Предупреждение, обнаружение и исправление проблем Обучение коллег аспектам безопасности данных Внедрение упреждающих мер на каждом уровне компании Плановое взаимодействие с руководством Быть в курсе технологических достижений, связанных с функциями безопасности Документация Разумеется, члены команды из других отделов мало что могут сделать с базой данных, если у них нет руководства, как ее использовать. Администраторы баз данных создают документацию по базе данных для того, чтобы конечные пользователи знали, как и что работает. Документация по базе данных описывает базу данных, содержащиеся в ней данные, способы ее использования, ее источники и поддерживаемые приложения. Также она содержит такую информацию, как: Как идентифицируются авторизированные пользователи Как можно получить доступ к базе данных Как при необходимости перезапустить или восстановить базу данных Обучение Документация – это обязательное условие этого этапа работы, которую выполняют администраторы баз данных. Последние помогают обучать своих коллег тому, что им необходимо для работы с базами данных. Документация или руководства по базам данных являются справочными материалами для создания учебных курсов. Члены группы администраторов баз данных должны быть обучены, чтобы понимать концепции базы данных, то, как получить доступ к базе данных, способы ввода данных, процесс выполнения запросов в базе данных и создания отчетов из базы данных. Администраторы баз данных подгоняют учебные программы под потребности и обязанности слушателей курсов. Администраторам баз данных также может потребоваться документировать то, что люди прошли обучение и поняли все то, что им необходимо знать. Администраторы баз данных: специалисты с широким спектром обязанностей Как вы уже, наверное, поняли, у администраторов баз данных много хлопот. Они не только проектируют, создают и поддерживают базы данных, но также занимаются и второстепенными вопросами, которые включают в себя работу с коллегами, конечными пользователями и руководством с целью убедиться в том, что они знают все, что им необходимо для работы с базой данных. Именно поэтому зарплаты администраторов баз данных такие привлекательные.
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

img
Первая статья из цикла про lsof тут. У команды lsof очень много параметров, которыми, вы возможно, и не пользуетесь. Давайте изучим их для, повышения эффективности своей работы. В нашей первой статье мы рассмотрели ряд опций , которые использовали с командой lsof для вывода информации, необходимой для устранения возможных неполадок в системах Unix. В связи с тем, что lsof имеет огромное количество опций, запоминание того, какую опцию использовать и для каких целей, вызывает затруднение использование этой команды часто и/или эффективно. Итак, то, что мы изучим в этой статье - это рассмотрим несколько способов упрощенного использования этого очень полезного инструмента. Мы создадим полезные псевдонимы (aliases), разработаем что-то вроде "шпаргалки" и создадим простой скрипт с использованием параметров команды lsof. Использование псевдонимов Оба псевдонима, показанные ниже, содержат список всех файлов, открытых от текущего пользователя. Есть подозрения, что некоторые системные администраторы захотят использовать команду "showmyopenfiles". Другие администраторы будут использовать выражение "showmine", но оно имеет двойной смысл - это мои открытые файлы или мои процессы? Обратите внимание, что большинство этих псевдонимов требуют привилегий root и предполагают, что у вас есть привилегии sudo. Возможно лучше использовать выражения "showfiles", "showmyfiles" или просто "ofiles". Выше показано использование псевдонимов "showfiles", "showmyfiles" и "ofiles" Ниже на скриншоте мы ищем процессы, открытые в каталоге /usr/sbin/lsof самой командой lsof. Конечно, чрезмерно замудренное использование данных псевдонимов может сделать их более трудными в использовании, чем просто использование базовых команд lsof. Другой вариант-создать псевдонимы для нескольких вариантов, которые вы, вероятно, будете использовать чаще всего. Любой, кто использует эти псевдонимы, просто должен не забыть добавить аргумент (имя пользователя, PID и т. д.). Аналогичным образом вы можете настроить псевдонимы, которые отображают информацию для ваших сетевых подключений. Использование "шпаргалки" Наличие под рукой шпаргалки с краткими пояснениями к параметрам команды lsof также может помочь вам воспользоваться ее многочисленными функциями, не запоминая их. Простые пояснения и примеры команд - полезная вещь при использовании lsof. Вот пример: Применение скриптов Вы также можете упростить использование команды lsof, создав скрипт. Скрипт, показанный ниже, пытается определить, что вы ищете, оценивая аргумент, который вы приводите. Например, если вы вводите IP-адрес, предполагается, что вы хотите видеть сетевую активность для этого конкретного IP-адреса. Можете изменять его, под свои нужды для устранения неполадок.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59