Сейчас каждая операционная система имеет разделение на пользовательский режим и режим ядра, в этой статье разбирается ядро 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 изображения
- включаем сохранение информации в базу данных
- выводим изображение в карточке товара
- Добавим произвольное поле в “Данные о товаре” на вкладку “Основные”:
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.