Как выбрать соседний элемент после первого дочернего в JavaScript?

Чтобы выбрать соседний элемент после первого дочернего элемента в JavaScript, вы можете использовать свойство nextElementSibling. Вот пример кода:

// Получаем родительский элемент по классу
const parentElement = document.querySelector('.parent-class');

// Получаем первый дочерний элемент
const firstChild = parentElement.firstElementChild;

// Получаем соседний элемент после первого дочернего
const nextSibling = firstChild.nextElementSibling;

// Выводим результат в консоль
console.log(nextSibling);

Объяснение:

  • parentElement.firstElementChild возвращает первый дочерний элемент родителя.
  • firstChild.nextElementSibling возвращает следующий элемент-сосед после первого дочернего.

Таким образом, вы можете легко получить соседний элемент после первого дочернего. Замените '.parent-class' на ваш класс родителя.

Как добавить третье поле цены в карточку товара WooCommerce?

Этот код добавит третье поле цены в карточку товара сайта WooCommerce с возможностью сохранения, редактирования и вывода на фронтенде.

1. Регистрация мета-поля в functions.php:

function poet_register_additional_price_meta() {
    add_post_type_support('product', 'custom_price_field');
    
    register_post_meta('product', 'additional_product_price', [
        'show_in_rest' => true,
        'type' => 'number',
        'single' => true,
        'default' => '',
    ]);
}
add_action('init', 'poet_register_additional_price_meta');

2. Добавление поля в панель редактирования карточки товара:

function poet_add_custom_price_field_to_product_data() {
    woocommerce_wp_text_input([
        'id' => 'additional_product_price',
        'label' => __('Дополнительная цена', 'textdomain'). ' (' . get_woocommerce_currency_symbol() . ')',
        'placeholder' => __('Введите дополнительную цену', 'textdomain'),
        'desc_tip' => true,
        'description' => __('Третье поле цены для специальных условий', 'textdomain')
    ]);
}
add_action('woocommerce_product_options_pricing', 'poet_add_custom_price_field_to_product_data');

3. Сохранение значения поля:

function poet_save_additional_price_meta($post_id) {
    $additional_price = isset($_POST['additional_product_price']) 
        ? wc_clean($_POST['additional_product_price']) 
        : '';
    
    update_post_meta($post_id, 'additional_product_price', $additional_price);
}
add_action('woocommerce_process_product_meta', 'poet_save_additional_price_meta');

4. Сохранение значения поля:

function poet_display_additional_product_price() {
    global $product;
    
    $additional_price = get_post_meta($product->get_id(), 'additional_product_price', true);
    
    if ($additional_price) {
        echo '<div class="additional-product-price">';
        echo '<span class="label">' . __('Специальная цена:', 'textdomain') . '</span>';
        echo '<span class="price">' . wc_price($additional_price) . '</span>';
        echo '</div>';
    }
}
add_action('woocommerce_single_product_summary', 'poet_display_additional_product_price', 25);

5. Для REST API (опционально):

function poet_add_additional_price_to_product_response($response, $post, $request) {
    $additional_price = get_post_meta($post->ID, 'additional_product_price', true);
    
    if ($additional_price) {
        $response->data['additional_price'] = $additional_price;
    }
    
    return $response;
}
add_filter('woocommerce_rest_product_object_response', 'poet_add_additional_price_to_product_response', 10, 3);

Как сделать выбор элементов из DOM на JavaScript?

В этой статье проведём обзор способов выбора элементов на чистом JavaScript.

Базовые методы querySelector:

// Выбор первого совпадения
const element1 = document.querySelector('.class');      // по классу
const element2 = document.querySelector('#id');         // по ID
const element3 = document.querySelector('div');         // по тегу
const element4 = document.querySelector('[data-attr]'); // по атрибуту

// Выбор ВСЕХ совпадений
const elements1 = document.querySelectorAll('.class');

Классические методы DOM:

// По ID
const elementById = document.getElementById('myId');

// По имени класса
const elementsByClass = document.getElementsByClassName('myClass');

// По тегу
const elementsByTag = document.getElementsByTagName('div');

Вложенные селекторы:

// Nested селекторы
const nestedElement = document.querySelector('.parent .child');

// Прямой потомок
const directChild = document.querySelector('.parent > .child');

// Nth элемент
const nthElement = document.querySelector('.list li:nth-child(2)');

Методы с деструктуризацией:

// Первый и последний элемент
const [firstElement] = document.querySelectorAll('.items');
const [lastElement] = [...document.querySelectorAll('.items')].reverse();

Поиск ближайших элементов:

// Родительский элемент
const parentElement = currentElement.parentElement;

// Дочерние элементы
const childElements = currentElement.children;

// Соседние элементы
const nextSibling = currentElement.nextElementSibling;
const prevSibling = currentElement.previousElementSibling;

Безопасный выбор с проверкой:

Пример реализации через функцию:

function safeSelect(selector) {
    const element = document.querySelector(selector);
    
    if (!element) {
        console.warn(`Элемент с селектором ${selector} не найден`);
        return null;
    }
    
    return element;
}

? Рекомендации:

  • querySelector медленнее, чем getElementById
  • Используйте const для неизменяемых селекторов
  • Кэшируйте часто используемые элементы
  • Проверяйте существование элемента перед работой
  • Для производительности используйте делегирование событий
  • Учтите, что querySelectorAll() возвращает NodeList
  • Всегда проверяйте поддержку браузеров

? Производительность (от быстрого к медленному):

  1. getElementById() — Самый быстрый
  2. getElementsByClassName()
  3. getElementsByTagName()
  4. querySelector()
  5. querySelectorAll()

Как автоматически заполнять поле alt и title при загрузке картинок в WordPress?

Вот полный код плагина для WordPress, который автоматически прописывает alt и title при загрузке изображений:

<?php
/*
Plugin Name: Auto Image Alt and Title
Plugin URI: http://yoursite.com
Description: Автоматическая генерация alt и title для загружаемых изображений
Version: 1.0
Author: Your Name
Author URI: http://yoursite.com
*/

class AutoImageMetaPlugin {
    public function __construct() {
        // Хуки для обработки загрузки изображений
        add_filter('wp_generate_attachment_metadata', [$this, 'auto_set_image_meta'], 10, 2);
        add_action('add_attachment', [$this, 'set_image_meta_on_upload'], 10, 1);
    }

    // Генерация метаданных при загрузке
    public function set_image_meta_on_upload($post_id) {
        // Проверяем, что это изображение
        if (wp_attachment_is_image($post_id)) {
            $image_meta = $this->generate_image_meta($post_id);
            
            // Обновляем метаданные
            update_post_meta($post_id, '_wp_attachment_image_alt', $image_meta['alt']);
            
            // Обновляем заголовок вложения
            wp_update_post([
                'ID' => $post_id,
                'post_title' => $image_meta['title']
            ]);
        }
    }

    // Генерация метаданных при создании миниатюр
    public function auto_set_image_meta($metadata, $attachment_id) {
        if (wp_attachment_is_image($attachment_id)) {
            $image_meta = $this->generate_image_meta($attachment_id);
            
            // Обновляем метаданные изображения
            if (!isset($metadata['image_meta'])) {
                $metadata['image_meta'] = [];
            }
            
            $metadata['image_meta']['title'] = $image_meta['title'];
            
            return $metadata;
        }
        
        return $metadata;
    }

    // Генерация метаданных для изображения
    private function generate_image_meta($attachment_id) {
        // Получаем информацию о файле
        $file_path = get_attached_file($attachment_id);
        $file_name = basename($file_path);
        
        // Очищаем имя файла
        $clean_name = $this->sanitize_filename($file_name);
        
        // Генерация заголовка и alt
        $title = $this->generate_title($clean_name);
        $alt = $this->generate_alt($clean_name);
        
        return [
            'title' => $title,
            'alt' => $alt
        ];
    }

    // Очистка имени файла
    private function sanitize_filename($filename) {
        // Удаляем расширение
        $filename = pathinfo($filename, PATHINFO_FILENAME);
        
        // Заменяем служебные символы
        $filename = preg_replace('/[^a-zA-ZА-Яа-я0-9\s-]/', '', $filename);
        
        // Заменяем несколько пробелов на один
        $filename = preg_replace('/\s+/', ' ', $filename);
        
        return trim($filename);
    }

    // Генерация заголовка
    private function generate_title($clean_name) {
        // Capitalize first letter
        $title = ucfirst(str_replace(['-', '_'], ' ', $clean_name));
        
        // Усечение до разумной длины
        return mb_substr($title, 0, 100);
    }

    // Генерация alt
    private function generate_alt($clean_name) {
        // Преобразуем в нижний регистр
        $alt = strtolower(str_replace(['-', '_'], ' ', $clean_name));
        
        // Добавляем общие теги
        $alt_variants = [
            $alt . ' фото',
            $alt . ' изображение',
            'фото ' . $alt,
            'изображение ' . $alt
        ];
        
        // Случайный выбор варианта
        return $alt_variants[array_rand($alt_variants)];
    }

    // Административные настройки (опционально)
    public function add_settings_page() {
        add_options_page(
            'Настройки Auto Image Meta', 
            'Auto Image Meta', 
            'manage_options', 
            'auto-image-meta', 
            [$this, 'render_settings_page']
        );
    }

    // Рендер страницы настроек
    public function render_settings_page() {
        ?>
        <div class="wrap">
            <h1>Настройки Auto Image Meta</h1>
            <form method="post" action="options.php">
                <p>Автоматическая генерация alt и title для изображений</p>
                <!-- Можно добавить дополнительные настройки -->
            </form>
        </div>
        <?php
    }
}

// Инициализация плагина
function init_auto_image_meta_plugin() {
    new AutoImageMetaPlugin();
}
add_action('plugins_loaded', 'init_auto_image_meta_plugin');

// Хук для обновления существующих изображений (опционально)
function bulk_update_image_meta() {
    $attachments = get_posts([
        'post_type' => 'attachment',
        'post_mime_type' => 'image',
        'numberposts' => -1
    ]);

    $plugin = new AutoImageMetaPlugin();

    foreach ($attachments as $attachment) {
        $plugin->set_image_meta_on_upload($attachment->ID);
    }
}
register_activation_hook(__FILE__, 'bulk_update_image_meta');

Функционал плагина:

  1. Автоматическая генерация alt и title
  2. Очистка имени файла
  3. Несколько вариантов генерации alt
  4. Capitalize заголовка
  5. Ограничение длины

Преимущества:

  • Полностью автоматическая работа
  • Поддержка кириллицы
  • Случайный выбор alt-текста
  • Очистка имени файла
  • Минимальные настройки

Установка:

  1. Сохраните код в файл auto-image-meta.php
  2. Загрузите в папку wp-content/plugins/
  3. Активируйте в панели управления

Рекомендации:

  • Протестируйте на staging-сервере
  • Настройте под свои нужды
  • Используйте осторожно с большим количеством изображений

Дополнительно:

  • Можно добавить страницу настроек
  • Реализовать кастомные правила генерации
  • Добавить поддержку мультиязычности

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

Как скачать видео с Ютьюб на компьютер? (непростой путь)

Скачивать видео мы будем при помощи программы из этого репозитория: https://github.com/yt-dlp/yt-dlp — это форк популярного проекта youtube-dl и на сегодняшний день это активно развивающийся open-source проект. Его можно использовать совершенно бесплатно.

Скачиваем ролики из Windows 11

Шаг 1: Загрузите релиз для ОС Windows на свой компьютер

Откройте официальный сайт проекта и в разделе который касается УСТАНОВКИ программы, кликните по версии релиза для операционной системы Windows

screenshot 00033 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

и сохраните файл в любое место на вашем компьютере (P.S. главное чтобы Вы его смогли потом отыскать)

screenshot 00034 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Шаг 2: Скачайте зависимости для работы программы

Далее, необходимо скачать зависимости (дополнительные программы), которые обеспечат правильную работу основной программы.

Следуем вот к этому разделу «DEPENDENCIES» и кликаем по любой ссылке из примера

screenshot 00035 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

После этого мы будем перемещены в специальный раздел, где нам необходимо скачать на компьютер файл с зависимостями (желательно в тоже место, куда и основную программу yt-dlp.exe)

Осуществляем загрузку по клику на кнопочку :

screenshot 00036 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

В данной статье мы рассматриваем пример для 64-разрядной версия Windows. В подавляющем большинстве случаев вероятнее всего у вас будет именно эта версия. Но если что-то пошло не так или есть сомнения, то можно всегда проверить и убедиться в этом.

Руководство для проверки версии Windows

Или воспользуйтесь этой кнопкой

screenshot 00037 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

В итоге у вас должно получится следующее:

screenshot 00038 - Как скачать видео с Ютьюб на компьютер? (непростой путь)
  1. Файл основной программы yt-dlp.exe
  2. Архив с зависимостями

Шаг 3: Разархивируйте содержимое архива.

Любой программой которой вы пользуетесь для этой цели или стандартными средствами Windows

screenshot 00039 - Как скачать видео с Ютьюб на компьютер? (непростой путь)
screenshot 00040 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Содержимое внутри извлечённой папки «ffmpeg-master-latest-win64-gpl» будет следующим:

screenshot 00041 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Нас интересует содержимое папки «bin«, именно это и есть зависимости для правильной работы основной программы:

screenshot 00042 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Шаг 4: Создайте отдельную папку и перенесите в неё файлы которые вы загрузили

Это необходимо сделать для удобства.

Я создал папку с названием «YT» и перенёс в неё файлы из папки bin и основной файл программы, итоге у меня получилось:

screenshot 00043 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Далее, для удобства я перенёс эту папку в папку Видео, чтобы видео-ролики были для простоты навигации и логичности в соответствующем разделе.

screenshot 00044 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Подготовительный этап позади. Теперь рассмотрим непосредственно работу в программе.

Как скачивать видео через yt-dlp?

Быстрое скачивание одиночного ролика

Шаг 1: Запуск программы

По привычке, пользователи ОС Windows могут быть искушены сделать двойной клик по приложению, чтобы запустить программу. И скорее всего увидят предупреждение от ОС:

screenshot 00047 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Если всё равно продолжить запуск, то он увенчается неудачей. В консоли мы получим уведомление, о том, что запуск программы и её работа осуществляются иначе.

screenshot 00048 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

На самой верхней строке можно увидеть, как использовать программу. Нужно из консоли (терминала) обратиться к этому файлу и передать в него ссылку на видео.

Первый способ

Для этого в папке с программой, или любом другом месте, где у вас находится файл yt-dlp.exe, нажмите правой кнопкой мыши, для того чтобы вызвать контекстное меню

screenshot 00046 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Затем нажмите Открыть в Терминале.

Второй способ

В адресной строке текущей папки напишите cmd и нажмите Enter

screenshot 00066 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Откроется терминал. Проверьте правильность пути. Он должен вести в ту папку в которой вы его запускали и в которой находятся ваш файл программы и программки-зависмости.

screenshot 00049 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Убедиться в этом можно при помощи команды DIR

screenshot 00051 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Содержимое текущей директории должно быть с этими файлами.

Может сработать аналогичная UNIX-команда ls Результат отображение будет такой же:

screenshot 00050 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Шаг 2: Откройте на платформе YouTube понравившийся ролик

screenshot 00045 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Скопируйте ссылку ролика для скачивания.

Шаг 3: Обратитесь к основному файлу программы

Теперь необходимо в терминале прописать название нашего основного файла и передать через пробел ему скопированную ссылку.

screenshot 00053 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Возможная ошибка при запуске

Suggestion [3,General]: Команда yt-dlp.exe не найдена, однако существует в текущем расположении. По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения. Если вы уверены в надежности команды, введите «.\yt-dlp.exe». Для получения дополнительных сведений вызовите справку с помощью команды «get-help about_Command_Precedence».

Правильная запись
.\yt-dlp.exe https://www.youtube.com/watch?v=9KXgLQXtibk

«Точка» и «Обратный слэш» это говорит терминалу, о том, что обращаемся мы к файлу в текущей директории, т.е. в той в которой находимся в данный момент.

Вот реальный пример правильного запуска программы:

screenshot 00054 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Если всё прошло правильно, то в этой же папке с программой, у вас должен оказаться загружаемый ролик 🙂

screenshot 00055 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Как скачать весь плейлист с YouTube?

Загрузка всего плэйлиста происходит аналогично одиночному видео, то есть принцип действия лежит такой же.

  1. Необходимо найти нужный плэйлист:
screenshot 00056 - Как скачать видео с Ютьюб на компьютер? (непростой путь)
  1. Кликнуть на него и скопировать ссылку всего плэйлиста:
screenshot 00057 - Как скачать видео с Ютьюб на компьютер? (непростой путь)
  1. Вставить через пробел в терминал (по аналогии с одиночным видео)

Ниже мы видим, что в плэйлисте программа обнаружила 31 видео и начала загрузку…

screenshot 00058 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Ниже скриншот иллюстрирует загрузку уже 10-го видео из 31-го…

screenshot 00059 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Ниже пример того, что некоторые ролики загрузились неполностью. Об этом сигнализирует белый файлик неопределённого типа.

В этом случае, нужно повторить загрузку! Успешно загруженные ролики будут пропущены, а завершённые с ошибкой догрузятся.

screenshot 00061 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

На примере ниже видно, что несколько видео было пропущено, так как они есть уже на нашем диске, а ролик номер 5 стал догружаться.

screenshot 00062 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

В итоге у нас загрузился весь плейлист:

screenshot 00063 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Рекомендация. Для удобство можно сделать отдельную папку и переместить загруженные видео по смыслу туда:

screenshot 00064 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Как использовать параметры?

Если взглянуть на схему использования данной программы, то можно заметить, что перед URL (ссылка на видео) мы можем , также через пробел, ещё указывать передавать параметры (настройки) программе.

yt-dlp [OPTIONS] [--] URL [URL...]

Например, чтобы загрузить все миниатюры к видео нам необходимо передать в программу специальную опцию --write-all-thumbnails или одну миниатюру —-write-thumbnail Это послужит предписанием для программы сохранить все форматы миниатюр (или один) на ваш диск.

screenshot 00065 - Как скачать видео с Ютьюб на компьютер? (непростой путь)

Тогда запись нашей строки будет следующего вида:

.\yt-dlp.exe --write-thumbnail https://www.youtube.com/watch?v=9KXgLQXtibk

Думаю с опциями принцип понятен 🙂

Видео-инструкция

https://www.youtube.com/watch?v=ANfJiEn0lL8

Как включить BitLocker без TPM и зашифровать диск в Windows 11?

BitLocker — это функция безопасности Windows, которая обеспечивает шифрование для целых томов, устраняя угрозы кражи или раскрытия данных с потерянных, украденных или неправильно списанных устройств.

Чтобы задействовать BitLocker необходимо нажать правой кнопочкой мышки на нужном диске и включить функцию

2024 12 06 121416 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Но может случиться так, что BitLocker при включении закапризничает и выдаст ошибку

screenshot 00001 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

В этом случае, для успешного включения необходимо сделать дополнительную настройку.

Шаг 1

Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc и нажмите Enter.

screenshot 00003 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

откроется вот такое окно редактора групповых политик Windows

screenshot 00004 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Шаг 2

Перейдите к разделу по следующему пути: Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Шифрование диска BitLocker — Диски операционной системы.

screenshot 00005 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Далее, в правой части окна найдите параметр «Этот параметр политики позволяет настроить требование дополнительной проверки подлинности при запуске» и дважды кликните по нему мышью.

screenshot 00006 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Этот параметр политики позволяет указать, требует ли BitLocker дополнительной проверки подлинности при каждом запуске компьютера, а также используется ли BitLocker в сочетании с доверенным платформенным модулем или без него.

screenshot 00007 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Если вы хотите использовать BitLocker на компьютере без доверенного платформенного модуля, установите флажок «Разрешить использование BitLocker без совместимого доверенного платформенного модуля». В этом режиме для запуска необходим либо пароль, либо USB-накопитель. При использовании ключа запуска ключевые сведения, применяемые для шифрования диска, хранятся на USB-накопителе, образуя USB-ключ. При установке USB-ключа проверяются права на доступ к диску, и диск становится доступным. Если USB-ключ потерян или недоступен или вы забыли пароль, вам придется воспользоваться одним из параметров восстановления BitLocker, чтобы получить доступ к диску.

Шаг 3

Повторите включение шифрования и выберите метод подтверждения: или при помощи пароля, или при помощи ключа сохранённого на USB-устройство

screenshot 00008 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

есть возможность сохранения ключа в учетную запись Майкрософт или даже его печать 🙂

screenshot 00009 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

далее указываем какую часть диска требуется зашифровать. Выбираю весь диск.

screenshot 00010 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

режим шифрования

screenshot 00011 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?
screenshot 00012 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

и перезагружаем компьютер …

screenshot 00013 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

После перезагрузки повторим клик по нашему диску

screenshot 00014 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Видим, что название сменилось на новое слово Управление.

При переходе по этой ссылки мы видим состояние наших дисков. Выбранный ранее диск зашифрован и работает в режиме BitLocker

screenshot 00015 - Как включить BitLocker без TPM и зашифровать диск в Windows 11?

Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Шаг 1. Скачайте на компьютер образ диска с Ubuntu

Загрузить дистрибутив (установочный файл) можно с официального сайта https://ubuntu.com/download/desktop

С Главной страницы сайта путь до загрузки будет следующий:

ScreenShot00169 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

далее

ScreenShot00170 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

для стабильной работы и совместимости рекомендуется загружать версию LTS (Long term support) т.е. версия с долгосрочной поддержкой от разработчиков.

ScreenShot00171 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Шаг 2. Откройте командную оболочку Windows

Не знаете как запустить командную строку (cmd) в Windows? Очень просто!

Вариант 1

Нажмите сочетания клавиш Win + R

88ee1799 41a4 43b2 bd74 b6e6bfa84ab7 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

В открывшемся окне Выполнить напишите cmd и нажмите кнопку OK

ScreenShot00172 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Перед Вами откроется примерно вот такое окно, куда мы и будем вносить команды по созданию нашего загрузочного USB-носителя.

ScreenShot00173 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Вариант 2. Через Поиск

Второй универсальный метод заключается в поиске через глобальный поиск Windows. Например, в версии Windows 11 можно нажать на иконку поиск или сразу воспользоваться поиском через меню Пуск

ScreenShot00174 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку
ScreenShot00175 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Шаг 3. Вставьте USB-устройство флэш-памяти в работающий компьютер или ноутбук

Убедитесь, что оно появилось в системе, например, это можно увидеть в разделе Мой компьютер. Чтобы убедиться, Вы можете при открытом окне Мой компьютер вынуть и снова вставить в разъем USB ваш носитель. Естественно, он должен снова отобразиться

ScreenShot00187 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Шаг 4. Работа в командной строке

Далее, нам предстоит выполнить последовательность команд, которые и создадут загрузочный носитель с операционной системой Ubuntu

Введите первую команду diskpart

Далее подтвердите действие и перед вами должно появиться вот такое рабочее окно утилиты DISKPART — помогает управлять дисками компьютера (дисками, секциями, томами или виртуальными жесткими дисками).

ScreenShot00176 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

В открывшемся новом окне командной строки введите list disk

ScreenShot00188 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

В моём случае это диск с объемом в 7 Гб (7651 Мб).

В командной строке введите select disk «X» , где X — номер диска или буквы диска USB-устройства флэш-памяти, а затем нажмите клавишу ENTER.

В моём случае это цифра 3.

ScreenShot00189 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Введите clean и нажмите клавишу ENTER. Эта команда удаляет все данные с USB-устройства флэш-памяти.

ScreenShot00190 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Далее создадим новый основной раздел на USB-устройстве флэш-памяти, для этого введите create partition primary, и нажмите клавишу ENTER.

ScreenShot00191 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Чтобы выбрать созданный раздел, введите select partition 1 и нажмите клавишу ENTER.

ScreenShot00192 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Далее, отформатируем раздел. Для этого введите format fs=ntfs quick и нажмите клавишу ENTER.

Если серверная платформа поддерживает Единый интерфейс EFI (UEFI), следует отформатировать USB-устройство флэш-памяти в файловой системе FAT32, а в NTFS. Чтобы отформатировать раздел в файловой системе FAT32, введите format fs=fat32 quickи нажмите клавишу ENTER.

ScreenShot00193 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

И финальным действием нужно пометить раздел как активный, для этого введите active и нажмите клавишу ENTER.

ScreenShot00194 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Отлично! Подготовка будущего установочного накопителя прошла успешно! Можно завершить работу с DISKPART набрав exit и нажав ENTER.

все команды из командной строки

Теперь нам необходимо скопировать файлы из образа (который мы скачали) на подготовленный носитель.

Шаг 5. Скопируйте все файлы на подготовленный носитель

Сперва мы должны смонтировать образ который скачали. Нажимаем на нём правой кнопочкой мышки и затем Подключаем (монтируем)

ScreenShot00184 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Откроется окно с файлами этого скаченного образа Ubuntu

ScreenShot00185 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Ну а в знакомом для многих пользователей разделе Мой компьютер будет находится в виртуальном дисководе ваш подключенный носитель с Ubuntu

ScreenShot00196 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Тут главное не запутаться в дисках. Будьте внимательны.

Копирование мы будем осуществлять в командной строке, напомню что ранее мы закрыли окно DISKPART и вернулись к командной строке (cmd)

Попробуйте там ввести robocopy, если всё идёт правильно, то вы непременно должны увидеть вот такое окно

image - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Robocopy (от англ. Robust File Copy) — утилита командной строки которая копирует данные файлов и папок из одного расположения в другое.

Отлично. Теперь внимательно взгляните на ваши диски, вернее на их буквы и точно поймите что куда вы будете копировать.

В моём случае это из носителя с назначенной буквой G в носитель с буквой E. Ещё раз, G: — подключенный ISO-файл c Ubuntu, а E: — это устройство флэш-памяти).

/s — копирует вложенные каталоги. Этот параметр автоматически исключает пустые каталоги.

robocopy G: E: /s
ScreenShot00197 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

копирование успешно запушено. Теперь можно пойти попить кофе 🙂

ScreenShot00198 - Как создать загрузочную флешку с Ubuntu на Windows 11 через командную строку

Копирование завершено. Наш установочный носитель с Убунту готов! Теперь осталось сделать перезагрузку системы и загрузиться с нашего носителя. Но это уже совершенно другая история 🙂

Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

Шаг 1. Откройте терминал

Как открыть Терминал в MacOS

Terminal on MacOS

Шаг 2. Вставьте команду для генерации

Вставьте в окно теминала текст ниже, заменив адрес электронной почты, использованный в примере, на свой.

ssh-keygen -t ed25519 -C "your_email@example.com"

Если вы используете устаревшую систему, которая не поддерживает алгоритм Ed25519, используйте:

ssh-keygen -t rsa -b 4096 -C «your_email@example.com»

Подробнее...

Этапы перед генерацией SSH-ключа:

Место куда будет сохранён ключ (нажимаем «Энтр»)

2024 11 16 10 25 50 - Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

Дополнительный пароль защиты ключа можно пропустить, нажав снова «Enter»:

2024 11 16 10 26 20 - Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

И после следующего клика наша пара ключей (публичный и приватный) будут сгенерированы и сохранены в указанную директорию

2024 11 16 10 26 49 - Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

Шаг 3. Копирование публичного ключа в буфер обмена

Зачастую, вы будете делиться своим публичным ключем с другими разработчиками или сервисами такими, как GitHub, поэтому нам нужно научиться копировать значение публичного ключа в буфер обмена. Но прежде давайте проверим и посмотрим как называется наш ключ.

Обзор существующих ключей SSH

Чтобы проверить и увидеть наш сгенерированный ключ введите в терминал следующую команду:

ls -al ~/.ssh

Эта команда отобразит наши ключи. Нас интересует ключ с расширением .pub

2024 11 16 10 38 15 - Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

Копируем содержимое ключа в буфер обмена

cat ~/.ssh/id_ed25519.pub | pbcopy

или вот так:

pbcopy < ~/.ssh/id_ed25519.pub

В итоге содержимое вашего ключа (по сути это и есть ключ) будет в буфере обмена и вот что он из себя представляет:

2024 11 16 10 48 51 - Как генерировать SSH-ключ в MacOS и скопировать его в буфер обмена?

Как открыть терминал (командная строка) в MacOS?

В приложении «Терминал» можно управлять macOS с помощью интерфейса командной строки.

Подробнее

Открытие Терминала

На компьютере Mac можно открыть терминал двумя не хитрыми методами:

Способ 1. Launchpad

Нажмите значок Launchpad a1f94c9ca0de21571b88a8bf9aef36b8 - Как открыть терминал (командная строка) в MacOS? в панели Dock, введите «Терминал» в поле поиска и нажмите значок Терминала.

2024 11 16 09 50 02 - Как открыть терминал (командная строка) в MacOS?
2024 11 16 09 51 27 - Как открыть терминал (командная строка) в MacOS?

Способ 2. Finder

В окне Finder 058e4af8e726290f491044219d2eee73 - Как открыть терминал (командная строка) в MacOS? откройте папку «Программы/Утилиты» и дважды нажмите приложение «Терминал».

2024 11 16 10 06 35 - Как открыть терминал (командная строка) в MacOS?

Готово!

2024 11 16 10 08 39 - Как открыть терминал (командная строка) в MacOS?

Как отключить JavaScript в браузере Opera?

Шаг 1: Откройте меню нажав O в левом верхнем углу, чтобы открыть меню

Откройте меню нажав O в левом верхнем углу, чтобы открыть меню

Шаг 2: Нажмите на ссылку Настройки.

Обратите внимание, что открыть настройки можно при помощи комбинации горячих клавиш Alt+P

ScreenShot00108 1 jpg - Как отключить JavaScript в браузере Opera?

Шаг 3: В разделе «Конфиденциальность и безопасность» выберите «Настройки сайтов»

ScreenShot00109 jpg - Как отключить JavaScript в браузере Opera?

Шаг 4: Чтобы запретить всем сайтам использовать JavaScript выберите Запретить сайтам использовать JavaScript

ScreenShot00111 jpg - Как отключить JavaScript в браузере Opera?

В этом случае JS будет отключен для всех посещаемых сайтов. Для того, чтобы запретить выполнение JavaScript на выборочных сайтах используйте настройки ниже

выборочно выключаем джаваскрипт

Здесь необходимо добавить адреса сайтов для которых будет запрещён или наоборот разрешен JavaScript

ScreenShot00115 1 jpg - Как отключить JavaScript в браузере Opera?

Как проверить на PHP, является ли число чётным или нечётным?

При разработке иногда требуется (зачастую в циклах) проверка переменной на чётное или нечётное значение. На PHP это можно сделать следующим образом.

Представим что у нас есть переменная , со значением целого числа:

$num = 7;

Простая проверка сводится к тому чтобы проверить это число на деление по модулю $a % $b, результатом выражения должен быть целочисленный остаток:

<?php

$num = 7;

if ( $num % 2 === 0 ) {
	echo "Чёт";
} else {
	echo "Нечет";
}

Вот и всё 🙂 Если эту же запись представить с помощью тернарного оператора, то получим следующее:

<?php

$num = 7;

echo ( $num % 2 === 0 ) ? "Чёт" : "Нечет";

Если мы в цикле перебираем массив, то не секрет, что его первый элемент будет иметь цифру 0. А отсюда нужно понимать , к чему мы желаем её относить (к чётному или нечётному), в таком случае наш код может дополниться условием:

<?php

$num = 7;

echo ( $num === 0 || $num % 2 === 0 ) ? "Чёт" : "Нечет";

Так же проверку можно осуществить ещё одним способом

<?php

$num = 7;

if ( ( 1 & $num ) ) {
	echo "Цифра {$num} нечётное число";
}

Parser2GIS — парсер сайта 2GIS с помощью браузера Google Chrome.

НУЖНА ГОТОВАЯ БАЗА КОМПАНИЙ? СДЕЛАЕМ ЗА ВАС!
Не хотите разбираться с парсером самостоятельно? Соберу для вас ЛЕГАЛЬНУЮ базу контактов любых компаний по вашим критериям!
💰 ЦЕНЫ:
До 500 компаний = 2,000₽
До 1,000 компаний = 3,500₽
До 5,000 компаний = 8,000₽
До 10,000 компаний = 12,000₽
Более 10,000 = обсуждается индивидуально

Напишите в телеграмм @codeispoetry_bot

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

В этой статье мы рассмотрим бесплатную программу для парсинга известного сайта электронного справочника с картами городов от компании-разработчика ООО «ДубльГИС».

Сам по себе парсинг сайта, как и прочих открытых информационных ресурсов полностью законен, информация находится в открытом доступе и для её получения мы ничего не взламываем и ничего противозаконного не делаем. Мы просто аналогично человеческим действиям по копированию данных делаем тоже самое только при помощи программы.

На сайте 2ГИС есть интересный пункт:

https://law.2gis.ru/rules#rec617424131

3.4. Использование Платформы и (или) Сайта Администрации иными способами, в том числе путем копирования (воспроизведения) размещенного на Сайте Контента, а также входящих в состав Платформы и (или) Сайта Администрации элементов дизайна, программ для ЭВМ и баз данных, их декомпиляция и модификация, строго запрещены.

Этот пункт мы тоже никоем образом не нарушаем.

Встречайте! Бесплатный парсер — Parser2GIS

Официальный сайт проекта

Документация

Описание

Парсер для автоматического сбора базы адресов и контактов предприятий, которые работают на территории России

Парсер для автоматического сбора базы адресов и контактов предприятий, которые работают на территории России, Казахстана, Беларуси, Азербайджана, Киргизии, Узбекистана, Чехии, Египта, Италии, Саудовской Аравии, Кипра, Объединенных Арабских Эмиратов, Чили, Катара, Омана, Бахрейна, Кувейта .

? Абсолютно бесплатный
? Успешно обходит анти-бот блокировки на территории РФ
?️ Работает под Windows, Linux и MacOS
? Три выходных формата: CSV таблица, XLSX таблица и JSON список
? Наличие генератора ссылок по городам и рубрикам

Начало работы

Учтите, что для работы парсера необходимо установить браузер Google Chrome. С установкой «Гугл Хром» в MacOS можно ознакомиться в этом видео.

Шаг №1 Скачайте программу

Первым делом скачайте релиз программы для вашей операционной системы (Windows, MacOS или Linux)

Шаг №2 Извлеките из скаченного архива программу

Вот что из себя представляет скаченный файл. Это архив, внутри которого и находится сама программа.

Извлеките из скаченного архива программу

После разархивирования (извлечения из архива) программы, нам требуется её запустить, но прежде давайте взглянем что из себя представляет этот файл на Рабочем столе в ОС Windows 11

Дистрибутив парсера

Шаг №3 Запустите программу

Двойным кликом запустите программу.

Вероятнее всего вы увидите при запуске вот такое окно:

Защитник Windows

И в этом нет ничего удивительного. Просто дело в непроверенном издателе, так сказать. И естественно Защитник Windows или какой то другой антивирус может как то на это отреагировать 🙂

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

Защитник Windows

Та-дам! Наш парсер запущен!

Парсер запущен! Окно программы при запуске

Вот так выглядит окно программы при запуске.

Что же умеет парсер? Parser2GIS способен автоматически собрать информацию о всех интересующих Вас предприятиях и организациях, опубликованных в онлайн-справочнике 2GIS. И сейчас мы в этом убедимся!

Вернемся к Главному окну программы. Перед нами GUI — графический интерфейс парсера, сделанный для простых людей, за что отдельное спасибо автору!

Шаг №4 Работа программы

Вначале нам необходимо сгенерировать, подготовить ссылки электронного справочника которые наш парсер будет разбирать для осуществления сбора данных.

окно парсера

Откроется дополнительное окно, в котором нам нужно кликнуть на кнопку Сгенерировать

Рабочее окно парсера

Далее, мы увидим ещё одно окно поверх предыдущих. Здесь нам нужно указать, выбрать рубрику для парсинга. Нажимаем на троеточие, рядом с полем Рубрика

ScreenShot00083 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

При выборе рубрик можно воспользоваться поисковым запросом, для исключения остальных рубрик в название которых не попадает ваш запрос, например, мы хотим найти Тату-салоны. При поиске ключевого слова «тату» видим, что есть данная рубрика и следовательно выбираем её.

Рабочее окно парсера

Затем, кликаем ok

Рабочее окно парсера

Далее, убедитесь что выбрана нужная рубрика и отметьте города в которых будет осуществляться поиск и парсинг Тату-салонов. Выбирать можно (как в примере ниже) выборочно, либо выбрать все города России, или другой страны.

После окончательной предустановки (настройки) нажмите ok

Рабочее окно парсера

В следующем окне программы появятся ссылки для парсинга выбранных городов + рубрик. Нажимаем ok

Рабочее окно парсера

Убедитесь, что ваши ссылки прописались в поле URL, что ничего не сбилось

Рабочее окно парсера

Настройки программы

Кликнув на шестерёнку можно задать настройки для парсинга. Я оставляю всё по умолчанию. Обратите внимание, что скрытый режим отключён, а это значит мы увидим воочию работу парсера в браузере google Chrome (P.S. надеюсь вы не забыли его установить 🙂 )

Эта работа программы будет напоминать переход по ссылкам человеческими руками, но только с бешенной скоростью обработки информации.

ScreenShot00089 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Всё готово! Выберите нужный формат исходных данных (по умолчанию CSV) , далее, через кнопку Обзор выберите место на компьютере куда будет сохранён результат работы парсера и третим действием запустите работу программы.

ScreenShot00090 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Вот так выглядит окно выбора пути сохранения файла. На этом этапе нужно задать ему имя. Я назвал его по имени категории которую собираюсь парсить в северных городах России:

ScreenShot00091 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Запомните место сохранения файла. Перед запуском парсера проверьте еще раз путь в строке и запустите парсер:

Рабочее окно парсера

В процессе работы отроется окно браузера а в Главном окне программы вы будите видеть последовательность событий (log) работы программы:

После успешного завершения работы программы вы должны увидеть в логах вот такое сообщение о завершении парсинга:

Рабочее окно парсера

А в месте сохранения файла обнаружить непосредственно файл с результатами работы программы:

файл и данные

В файле будут находится «спарсеные» данные из справочника 2ГИС.

Что делать с данными?

Если вы владеете навыками работы с Excel, то вам не составит наверное труда разобрать эти данные по столбикам. Но учтите, если открыть файл в формате CSV при помощи Эксель, то мы обнаружим слитые в строках данные

ScreenShot00096 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Вот так это выглядит. Необходим разбор. На самом деле это не составит труда для человека имеющего даже небольшой опыт работы с Эксель

ScreenShot00097 1 - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Но в качестве примера я продемонстрирую разбор и форматирование данных через бесплатную программу Гугл Таблицы

Создаём пустую таблицу и через главное меню программы импортируем данные из нашего файла (Файл -> Импортировать)

Файл -> Импортировать

Затем, во вкладке Добавить через кнопку Обзор выбираем и подгружаем наш файл формата .CSV

Файл -> Импортировать

Настройки я не меняю и оставляю по умолчанию

ScreenShot00101 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

После импорта данных мы видим что они распределены строго по столбикам, как мы того и ожидали.

ScreenShot00102 1 jpg - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

При желании мы можем работать с выборочными столбиками:

ScreenShot00103 - Parser2GIS - парсер сайта 2GIS с помощью браузера Google Chrome.

Ну вот и всё! Благодарю за внимание 🙂

Запуск и принцип работы парсера можно посмотреть в этом видео:

НУЖНА ГОТОВАЯ БАЗА КОМПАНИЙ? СДЕЛАЕМ ЗА ВАС!
Не хотите разбираться с парсером самостоятельно? Соберу для вас ЛЕГАЛЬНУЮ базу контактов любых компаний по вашим критериям!
💰 ЦЕНЫ:
До 500 компаний = 2,000₽
До 1,000 компаний = 3,500₽
До 5,000 компаний = 8,000₽
До 10,000 компаний = 12,000₽
Более 10,000 = обсуждается индивидуально

Напишите в телеграмм @codeispoetry_bot