Programming

Блокировка доступа к сайту для AI-ботов

Чтобы заблокировать доступ AI-боту к своему сайту, нужно в файле .htaccess прописать следующую инструкцию:

Теперь каждый бот, который указан в инструкции в скобках, при попытке просканировать страницу вашего сайта, будет получать отлуп 403 — Forbidden.

В скобках, через | нужно перечислить названия ботов, которые нужно заблокировать.

Названия ботов можно подсмотреть в лог-фале: /var/log/apache2/other_vhosts_access.log

Например, для ChatGPT там будет строчки, примерно такого вида:

your_site.ru … «GET … HTTP/1.1» 304 2798 «-» «Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot»

где «ChatGPT-User» — это и есть название бота.

$a = &$b vs $a =& $b

Все кто работают с PHP, наверное знают, что такое «присваивание по ссылке».
Это инструкция вида $a = &$b, которая означает по сути, что переменная $a является ссылкой на переменную $b. Т.е. в результате:

будет выведено значение 20, т.к. $a просто ссылается на $b.

И такая запись, как по мне, выглядит логично. Слева переменная, в которую что-то присваиваем, посередине оператор присваивания «=», справа то, что присваиваем — ссылка на переменную $b, которая, чтобы понимать что это ссылка, обозначается при помощи &.

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

$a =& $b;

Она работает полностью эквивалентно. В результате все равно $a будет являться ссылкой на $b.

Но для меня такая запись гораздо менее информативна. Я все время вхожу в ступор, видя непривычный оператор присваивания «=&», который при такой записи выхватывается взглядом посередине.

Видимо, кому-то такая запись кажется удобнее. Но в чем же заключается ее удобство?
Не могу понять.

Из моего ТГ

Древодел — Telegram бот, помощник для мастеров по дереву, работающих на лазерных/фрезерных станках с ЧПУ

Древодел — Telegram бот, помощник для мастеров по дереву, которые занимаются столярным делом, работают на лазерных ЧПУ/фрезерных станках с ЧПУ.

Телеграм-канал для ArtCards

Для наполнения ArtCards контентом понемногу осваиваю AI генерацию картинок при помощи нейронных сетей.

Под это дело завел канал в телеграме, в который складываю заметки по генерациям: https://t.me/ArtCards_Interplanety

За оболочку взял ComfyUI, который кажется наиболее продвинутым и универсальным инструментом.

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

ArtCards — убираем поля масштабированием

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

ArtCards Intro

ArtCards Intro

Устранение ошибки Passing coroutines is forbidden, use tasks explicitly при использовании aioschedule в Python 3.11

В Python для выполнения задач через определенные интервалы времени, например, при разработке Telegram ботов, часто используется библиотека aioschedule.

К сожалению, пакет aioschedule не обновлялся уже несколько лет и потерял совместимость с последними версиями Python. При использовании в Python 3.11 в момент выполнения задачи выбрасывается ошибка

Passing coroutines is forbidden, use tasks explicitly.

Как запустить браузер Internet Explorer на Windows 10/11

В последнее время стало невозможно запустить браузер Internet Explorer на Windows 10/11. Если попытаться запустить его, браузер IE автоматически закроется и запустит браузер MS Edge вместо Internet Explorer.

Но если все же нужно воспользоваться браузером Internet Explorer, его можно запустить из скрипта vbs.

StarIce — простая CRM

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

Python: Как проверить, что список A входит в список B

Для того, чтобы убедиться, что список A полностью входит в список B, т.е. все элементы списка A присутствуют в списке B, можно воспользоваться методами «superset» и «subset» стандартного Python класса set.

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

subset

Метод subset действует от меньшего сета и проверяет, входит ли он в больший сет.

Андубликатор

Андубликатор — это онлайн инструмент для поиска и удаления дубликатов слов.

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

HTML-CSS: Создание колонки с фиксированной шириной в правой части страницы

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

 

Спроектировать подобный шаблон проще всего используя разметку таблицей, однако это вполне возможно и на стандартных элементах «<div>».

Python: информация об операционной системе

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

system

Метод system() возвращает текстовое название операционной системы:

Как получить Webhook URL для канала Discord

Что такое «Webhook URL» в Discord и для чего он нужен

Webhook URL это адресная ссылка, указывающая на определенный канал на сервере в Discord.

Она выглядит следующим образом:

На этот URL можно отправлять запросы POST для автоматического создания постов на канале Discord.

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

Плагин WordPress: Copy Permalink to Clipboard

Copy Permalink to Clipboard — WordPress плагин, добавляющий в интерфейс редактора для работы с постами кнопку «to Clipboard» рядом с полями редактирования ссылки на пост. Нажатие на нее копирует в буфер обмена полную ссылку на пост.

Страница плагина на WordPress.org

Плагин бесплатный.

Кнопка для сворачивания всех окон в панель задач в Windows 10

Для того, чтобы добавить в панель задач Windows 10 кнопку, по клику на которой все открытые окна будут свернуты, нужно:

  1. Кликнуть правой кнопкой на рабочем столе
  2. Выбрать: Создать — Ярлык
  3. В поле «Укажите расположение объекта» ввести: