Ядро Linux и модули ядра

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





Читать

Следующая итерация Rust в Linux 6.2 возрождает споры о замене C на Rust

РустЛинукс

Интеграция Rust в Linux получила высокую оценку сообщества и разработчиков.

Одной из основные проблемы, возникшие при разработке ядра Linux в течение длительного времени, это идея найти идеального кандидата для смены языка программирования «C» для более современного, и до недавнего времени с появлением Rust эта идея не прекращалась.

С первым предварительным просмотром Rust на линукс 6.1, Поднимаю настроение большой части разработчиков из ядра, и Джонатан Корбет отмечает, что «в ядре по-прежнему будет недостаточно Rust, чтобы делать что-то интересное», включение этого языка вновь разожгло дебаты о необходимости отказа от языка C в пользу Rust с точки зрения системного программирования. Этот вопрос разделяет сообщество разработчиков.



Читать

Zulip 6 приходит с уведомлениями о прочтении, пометкой сообщений как непрочитанных и многим другим

зулип

Zulip — это приложение для командного чата с открытым исходным кодом, предназначенное для помощи людям в совместной работе.

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

Система поддерживает прямые сообщения между двумя людьми и групповые обсуждения. Zulip можно сравнить с сервисом Slack и рассматривать как внутрикорпоративный аналог Twitter, который используется для общения и обсуждения рабочих вопросов в больших группах сотрудников.



Читать

WooCommerce – изображение по ссылке для внешних/партнёрских товаров

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

Плюс – экономим место на хостинге. Помните, что WordPress при загрузке изображения, создаёт от 3 и выше копий разных размеров. Это нужно для оптимизации загрузки изображений на различных страницах сайта. Используя внешнее изображение, вы не создаёте лишние копии.

Минус – адрес изображение со временем может измениться, поэтому нужно эту ситуацию отслеживать. Фото может быть удалено, переименовано, перенесено на другой адрес или по другим причинам.

Этапы работы:

  • создаём произвольное поле, в котором будем хранить url изображения
  • включаем сохранение информации в базу данных
  • выводим изображение в карточке товара
  1. Добавим произвольное поле в “Данные о товаре” на вкладку “Основные”:
add_action( 'woocommerce_product_options_pricing', 'usota_add_to_products_external_image_url' );      
function usota_add_to_products_external_image_url() {          
    woocommerce_wp_text_input( array( 
        'id' => '_external_image_url', 
        'class' => 'short', 
        'label' => 'Image URL',
        'data_type' => 'url', 
    ));      
}
Поле для ссылки на внешнее изображение
Поле для ссылки на внешнее изображение

2. Включаем сохранение данных:

add_action( 'save_post_product', 'usota_save_external_image_url' );
  
function usota_save_external_image_url( $product_id ) {
    global $typenow;
    if ( 'product' === $typenow ) {
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
        if ( isset( $_POST['_external_image_url'] ) ) {
            update_post_meta( $product_id, '_external_image_url', $_POST['_external_image_url'] );
        }
    }
}

3. Выводим на странице товара. Также добавим Alt-текст для изображения.

add_filter( 'woocommerce_single_product_image_thumbnail_html', 'usota_public_image_external_image', 100, 2 );
 
function usota_public_image_external_image( $html, $post_thumbnail_id ) {
    global $product;
    if ( ! $product->is_type( 'external' ) ) return $html;
   
    $external_image_url = get_post_meta( $product->get_id(), '_external_image_url', true );

    if ( $external_image_url ) {
        
        $alt_text = $product->get_title();

        $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
        $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( $external_image_url ), $alt_text );
        $html .= '</div>';
    } else {
        $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
        $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
        $html .= '</div>';
    }
    
    return $html;
}

Конечно, это не закроет полностью вопрос по изображению для внешнего/партнёрского товара. Нам по-прежнему нужна миниатюра, чтобы показывать товар в категории, в админке или на других страницах сайта.

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

Весь код полностью, чтобы сразу добавить в functions.php

/**
 * Выводим изображение в карточке товара по внешнией ссылке
 * для внешних/партнёрских товаров
 */
  
// Добавляем произвольное поле external_image_url в данные о товаре
  
add_action( 'woocommerce_product_options_pricing', 'usota_add_to_products_external_image_url' );      
function usota_add_to_products_external_image_url() {          
    woocommerce_wp_text_input( array( 
        'id' => '_external_image_url', 
        'class' => 'short', 
        'label' => 'Image URL',
        'data_type' => 'url', 
    ));      
}
  
// Сохраняем произвольное поле external_image_url
  
add_action( 'save_post_product', 'usota_save_external_image_url' );
  
function usota_save_external_image_url( $product_id ) {
    global $typenow;
    if ( 'product' === $typenow ) {
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
        if ( isset( $_POST['_external_image_url'] ) ) {
            update_post_meta( $product_id, '_external_image_url', $_POST['_external_image_url'] );
        }
    }
}
  
// Выводим external_image_url в карточке товара на месте изображения товара
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'usota_public_image_external_image', 100, 2 );
 
function usota_public_image_external_image( $html, $post_thumbnail_id ) {
    global $product;
    if ( ! $product->is_type( 'external' ) ) return $html;
   
    $external_image_url = get_post_meta( $product->get_id(), '_external_image_url', true );

    if ( $external_image_url ) {
        
        $alt_text = $product->get_title();

        $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
        $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( $external_image_url ), $alt_text );
        $html .= '</div>';
    } else {
        $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
        $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
        $html .= '</div>';
    }
    
    return $html;
}

Сообщение WooCommerce – изображение по ссылке для внешних/партнёрских товаров появились сначала на Веб-студия Юсота.


Source: usota.ru woocommerce

Решено: Python не находит модуль или пакет на VPS

Запускаешь скрипт на локальной машине – всё работает. Переносишь проект на VPS – выдаёт ошибку ModuleNotFoundError: No module named ‘app’. Ошибка возникает, потому что интерпретатор не находит модуль в системе.

Для решения этой проблемы нужно указать полный путь к проекту:

import os
import sys
sys.path.append(os.path.abspath("../.."))

Как проверить, что путь указан верно? Напечатаем:

print(os.path.abspath("../.."))

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

Сообщение Решено: Python не находит модуль или пакет на VPS появились сначала на Веб-студия Юсота.


Source: usota.ru python

Как исправить проблему отсутствия сигнала HDMI в Windows 10

Ошибка «Windows 10 HDMI нет проблемы с сигналом» указывает на то, что второе устройство подключено через кабель HDMI, но не отображает дисплей. Это происходит из-за того, что подключенное устройство не получает никаких входных данных от выбранного источника. Другими причинами могут быть неправильное подключение кабеля HDMI, неактуальные графические драйверы или проблемы с аппаратным обеспечением. О конкретной ошибке сообщали различные пользователи Windows на дискуссионных форумах. Эта проблема может быть решена с помощью различных методов.

Эта статья направлена ​​​​на устранение ошибки «Проблема отсутствия сигнала HDMI в Windows 10» с помощью практической демонстрации.

Как решить проблему «Нет сигнала HDMI в Windows 10»?

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

  • Снова подключите кабель HDMI
  • Исправление настроек дисплея
  • Обновите графический драйвер
  • Запустите средство устранения неполадок оборудования

Давайте рассмотрим каждый из методов один за другим:

Исправление 1: повторно подключите кабель HDMI

Иногда кабель HDMI подключен неправильно. Что приводит к тому, что подключенное устройство не отображает экран. В этом случае правильно подключите кабель HDMI. После этого перезапустите Windows и посмотрите, решена ли проблема.

Исправление 2: Исправление настроек дисплея

Проверьте, установлен ли выходной экран дисплея на «Только экран ПК». Если выбран «Только экран ПК», то вы, вероятно, не увидите сигнала на втором экране монитора. В таком случае установите экран вывода в режим «Дублировать» или «Расширенный». По этой причине нажмите клавишу «Windows+P», чтобы открыть экран вывода/отображения, и выберите «Дублировать»:

Проверьте, решена ли проблема отсутствия сигнала. Выберите опцию «Продлить», если опция «Дублировать» не устранила указанную проблему.

Исправление 3: обновить графический драйвер

Поскольку это ошибка, связанная с графикой, давайте попробуем обновить графический драйвер, чтобы исправить указанную ошибку. По этой причине сначала откройте «Диспетчер устройств» в меню «Пуск» Windows:

Разверните раздел «Сетевые адаптеры». Найдите сетевой драйвер, щелкните его правой кнопкой мыши и выберите «Обновить драйвер»:

Это запустит окно обновления драйверов.

Щелкните левой кнопкой мыши на «Автоматический поиск обновленного программного обеспечения драйвера»:

Диспетчер устройств начал проверять наличие обновлений:

Как видите, графический драйвер начал обновляться:

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

Весь процесс займет некоторое время, чтобы установить/обновить графические драйверы:

Графический драйвер успешно обновлен.

Исправление 4: Запустите средство устранения неполадок оборудования

Запустите средство устранения неполадок оборудования, чтобы исправить проблемы, связанные с оборудованием. По этой причине, прежде всего, откройте окно «Выполнить», нажав клавишу «Windows+R». Введите «msdt.exe -id DeviceDiagnostic» в поле и нажмите кнопку «ОК»:

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

Как видите, устранение неполадок оборудования началось:

После устранения неполадок с оборудованием перезапустите Windows.

Вывод

Ошибку «Windows 10 HDMI нет проблемы с сигналом» можно исправить несколькими способами. Эти методы включают повторное подключение кабеля HDMI, исправление выходного дисплея, обновление графического драйвера или устранение неполадок оборудования. В этом блоге продемонстрировано несколько способов решения проблемы отсутствия сигнала HDMI.



2022-11-17T01:45:52
Вопросы читателей