Задать вопрос
  • Как найти вхождения #слово в JS?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Как из строки
    привет #username text text #username2
    сделать массив
    [привет, #username, text text, #username2]

    https://regex101.com/r/CtgWXN/1
    const string = "привет #username text text #username2";
    const regex = /#\w+|[^#\s][^\s#]*(?:\s+[^#\s][^\s#]*)*/g;
    console.log(string.match(regex)); // ['привет', '#username', 'text text', '#username2']
    Ответ написан
  • Как проверить соответствует ли одна строка другой?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно регулярками, но я бы использовал специализированную библиотеку path-to-regexp:
    import pathToRegexp from 'path-to-regexp';
    
    // real route
    const route = '/notifications/:id/';
    
    // regexp
    const keys = [];
    const regexp = pathToRegexp(route, keys);
    
    // test route
    const testRoute = '/notifications/123/';
    
    if (regexp.exec(testRoute)) {
      console.log(`URL match from: ${route}`);
    } else {
      console.log(`URL not match from: ${route}`);
    }
    Ответ написан
    Комментировать
  • Google Forms - как получить только уникальные заполнения?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как можно зафиксировать, что человек уже заполнял форму?

    Гугл аккаунт люди меняют и заполняют 2ой раз.

    Если на 100% надежно, то - никак! Максимально надежно - то только централизованной аунтификацией на Вашем сайте. Т.к. любое хранение куки, localStorage да и тот же Google аккаунт можно изменить. Но опять же, им ничего не мешает зарегать новый аккаунт у Вас в сайте и повторить все махинации.

    В итоге, все упирается в баланс затрат на защиту и выгоду, получаемой в результате данной защиты.
    Ответ написан
    Комментировать
  • Как уменшить потребление памяти Selenium?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Т.к. Вы не показали код своего бота, то вполне вероятно, что сам бот может быть не сильно оптимизирован. Но все равно есть базовые рекомендации:
    - Изначально, не мешало бы измерить потребление памяти в обычном браузере, вполне вероятно, что это стандартное потребление оперативы именно это страницы. Вот например текущая страница в моменте потребляла 177 мб.
    177 мб

    655d9ff7a2446362541329.png

    - Отключить изображения и js браузера, например:
    chrome_options.add_argument("--disable-javascript")
    chrome_options.add_argument("--disable-images")

    - Включить headless (как ранее подметил сергей кузьмин ), помогает сэкономить множество ресурсов:
    options = Options()
    options .add_argument("--headless")

    - Использовать другие браузеры.
    Ответ написан
    2 комментария
  • Как личный кабинет на поддомене влияет на SEO?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть раздел сайта "за авторизацией", закрытый от поисковиков, само-собой.

    А счётчик метрики установлен внутри админки? Если нет, то повлияет на seo, но незначительно.
    Ответ написан
  • Пропадают данные localStorage после нескольких перезагрузок?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    В представленном коде нет мест, где происходит принудительная очистка localStorage после перезагрузки. Вероятнее всего - проблема в браузере, особенно если настроены определённые настройки конфиденциальности или режим инкогнито.
    Ответ написан
    Комментировать
  • Можно ли поставить преролл поверх окна с видео?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    можно ли поставить поверх встроенной рекламы свой преролл чтобы воиспрозвелись оба?

    Можно, но не в самом iframe, а сделав это слоем выше iframe.
    Такое возможно реализовать с помощью JS?

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

    Хозяин - барин.
    Ответ написан
    Комментировать
  • Как исправить ошибку при редактировании сайта?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    - Включить другую тему и попробовать снова нажать "Редактировать сайт".
    - Отключить плагины и попробовать снова нажать "Редактировать сайт".
    - Возможно, у Вас слишком древний браузер, который не поддерживает JS метод .at(), зайдите с современного браузера и снова нажмите "Редактировать сайт".

    Попробуйте и сообщите о результате.
    Ответ написан
    9 комментариев
  • Что нужно знать junior php backend разработчику?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что нужно знать junior php backend разработчику?

    То, что указано у заказчика в ТЗ или в вакансии.
    Всем найденным ответам на этом ресурсе - больше 3 лет, возможно уже ситуация заметно изменилась.

    Не изменилась.
    помогите пожалуйста сориентироваться и понять с чего начать и в каком порядке изучать.

    С формулирования более конкретных вопросов.
    Ответ написан
    Комментировать
  • Пару вопросов по использованию докера в продакшене?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Использовать докер в продакшене - нормальное решение?

    Нормальное.
    3. У меня был сервер на 50 гигов

    Докер хранит все слои, образы и логи, периодически, необходимо чистить не используемые образы docker system prune.
    4. Автоматический бекап базы данных

    Я бы cron использовал для этого.
    5. Как не терять данные из бд при перезапусках контейнера?

    Не использовал, но слышал много хорошего про Docker volumes.
    6. Node.js приложение само пишет нужные мне логи и кладет в корень проекта.

    Docker volumes.
    Ответ написан
    Комментировать
  • Есть ли разница для поисковой системы как написан номер запчасти?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    А что мешает самом посмотреть поисковую выдачу и определить наиболее популярный морфологический вариант ключа?
    https://www.yandex.ru/search/?text=%D0%B7%D0%B0%D0...
    https://www.yandex.ru/search/?text=%D0%B7%D0%B0%D0...
    Яндекс в приоритете показывает форму ключа запчасть F3A212, а не запчасти F3-A212.
    Если в поиске будут искать номер с включением символов то какой из номеров будет найден а какой нет.

    Оба.
    Имеет ли смысл нормализовать номер или добавлять и нормализованный и исходный варианты номеров ?

    Имеет смысл делать как у конкурентов из топа.
    Ответ написан
    Комментировать
  • Будет ли работать пк без видеокарты, с процессором без встроенной видеопамяти?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Будет ли работать пк без видеокарты, с процессором без встроенной видеопамяти?

    Т.к. Вы не пояснили, что подразумевается под словом "будет", то да, можно:
    - Поставить linux без gui и использовать ноут удаленно, через ssh (без gui).
    - Поставить linux + gui, и использовать его gui за счет удаленного подключения, например по VNC.
    Ответ написан
    8 комментариев
  • Отзывы на сайте, скопированные с отзовиков: как указать источник?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Чтобы поисковые системы не ругались на копипасту, буду указывать источник, откуда отзыв скопирован. Например, «Я.Карты»

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

    Автоматическая пессимизация в выдаче все равно будет.

    Как вариант - подгружается отзывы динамически на js спустя несколько секунд, после загрузки страницы. Либо, подгружайте отзывы в iframe.
    Ответ написан
    Комментировать
  • Как изменить скрипт перезагрузки стараницы?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно ли сделать при этом перезагрузку на определённую ссылку

    Изменить перезагрузку страницы на переход по указанному url (Window.location):
    // window.location.reload();
    window.location= 'http://example.com/next';
    Ответ написан
    1 комментарий
  • Нужен redux или переборщил с разделением на компоненты?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Или можно обойтись без него?

    Чем больше приложение, тем более оправданно использование централизированного хранения состояния.
    Ответ написан
    2 комментария
  • Ошибка с SQL запросом?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Operand should contain 1 column(s)

    The error message “Operand should contain 1 column(s)” indicates that the query is referencing more than one column in the WHERE clause, when it should only reference one.
    Ждет 1 значение, а передано несколько.
    cur.execute(f"UPDATE aromki SET photo = {date[3]} WHERE id = '{pg}'")
    date[3]  # ?

    Что передается в date[3]?
    Ответ написан
  • Почему не могу словить чекбокс из шаблона в представлении?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting

    form method="post"

    а в этом представлении не могу его словить:


    def make_qr_connection_request(request, code):
        if request.method == 'GET':


    Отправляем POSTом, а условие пишем на GET, давайте все таки определимся, предлагаю так:
    def make_qr_connection_request(request, code):
        if request.method == 'POST':

    И еще, Ваша форма шлет запрос на make_connection_request, разумеется Вы ничего не поймаете в make_qr_connection_request (посмотрите на наименования). Вам нужно либо создать 2 формы с разными:
    <form method="post" id="connectRoomForm" action="{% url 'make_connection_request' %}" >
    <form method="post" id="connectRoomForm" action="{% url 'make_qr_connection_request' %}" >

    либо написать js, который сможет слать формы сразу по 2 адресам.
    Ответ написан
    4 комментария
  • Что происходит после окончания подписки на плагин для Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Плагины перестанут работать и сайт накроется? Или, может, я просто потеряю право на обновление и поддержку?

    Все указанное + размещение рекламы в местах, где ранее выводились плагины.
    Или у каждого плагина своя история?

    Верно, но зависит от лицензии.

    Предскажу Ваш возможный ход - при использование nulled плагинов, имеется уникальная возможность подцепить дополнительных пассажиров для Вашего сайта (от безобидного - реклама разных скамов, до более интересных вроде кражи различных данных пользователей и попытке заражения вирусами), так что аккуратнее.
    Ответ написан
  • Почему перенаправление на watsapp считается 302 редиректом?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Я правильно понимаю, что 302 редирект и отсутствие нормального перехода в WhatsApp как-то связаны?

    Нет. 302 redirect (Temporary redirect) - используется для временного перенаправления, сообщая, что целевая страница была перемещена временно, и краулеры не должны обновлять свои ссылки или кэш на постоянной основе. С другой стороны, 301 редирект (Moved Permanently) сообщает, что страница была перемещена навсегда, и краулеры должны обновить свои ссылки.
    Почему ссылка на WhatsApp считается 302 редиректом, нормально ли это, и как это исправить?

    Причина, по которой ссылка на WhatsApp обрабатывается как 302 редирект, может быть связана с тем, как WhatsApp управляет переходами, особенно если они ведут на внешнюю страницу или службу. Это может быть сделано для того, чтобы обеспечить гибкость в обработке запросов, например, при определении, установлен ли WhatsApp на устройстве пользователя. Если коротко - так задумано, нормально, никак.
    Ответ написан
    1 комментарий
  • Как вести два почти идентичных проекта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Базовый репозиторий со всеми основными (одинаковыми) компонентами.
    - Ru репозиторий, который подключает основные компоненты + отдельно те, которые индивидуально под Ru сегмент.
    - En репозиторий, который подключает основные компоненты + отдельно те, которые индивидуально под En сегмент.

    Аналогично и микро сервисы я бы организовал.
    Ответ написан
    Комментировать