Задать вопрос
  • Как избавиться от ломающих тегов HTML которые создаются пользователем на странице?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Использовать санитайзеры, например, библиотеки:
    https://github.com/cure53/DOMPurify
    https://github.com/apostrophecms/sanitize-html
    Какие есть способы убрать эту лазейку ?

    Предположим, что пользователь вводит текст и жмет кнопку Сохранить > Получаем текст (на сервере или где?) > Чистим его (библиотеки выше) > Публикуем.
    Ответ написан
    2 комментария
  • Как обернуть в цикл консольную программу на Python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Погуглив нашел только вариант, где мы оборачиваем всю нашу программу в функцию и при согласии пользователя, повторяем выполнение этой функции. Есть ли другие варианты?

    Есть:
    import time
    from math import sqrt
    
    def visual_effects(f):
        def wrapper(*args, **kwargs):
            print('The result is being calculated, please wait...')
            time.sleep(2)
            res = f(*args, **kwargs)
            print(f'The area of the triangle is: {res} cm.')
    
        return wrapper
    
    @visual_effects
    def area_of_triangle(side1, side2, side3):
        if side1 <= 0 or side2 <= 0 or side3 <= 0:
            print('Error! All sides of the triangle must be greater than zero.')
            return None
        perimeter = (side1 + side2 + side3) / 2
        result = round(sqrt(perimeter * (perimeter - side1) * (perimeter - side2) * (perimeter - side3)), 2)
        return result
    
    # бесконечный цикл, пока пользователь его не прервет
    while True:
        try:
            side1 = float(input('Enter the length of side of triangle 1 (cm): '))
            side2 = float(input('Enter the length of side of triangle 2 (cm): '))
            side3 = float(input('Enter the length of side of triangle 3 (cm): '))
        except ValueError:
            print('Error! Please enter an integer or fractional number for the program to work correctly.')
            continue
    
        area_of_triangle(side1, side2, side3)
    
        user_input = input('Repeat calculate? (yes/no): ').lower()
        if user_input != 'yes':
            break  # Прерываем цикл, если пользователь ответил != yes
    Ответ написан
    Комментировать
  • Как с помощью python прочитать свойство fill-opacity в тэге path?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Заходим на сайт.
    2. Ищем html тег по css селектору.
    3. Достаем значение атрибута fill-opacity.
    4. Печатаем значение атрибута fill-opacity.
    import requests
    from bs4 import BeautifulSoup
    
    # go to website
    url = 'https://example.com'
    response = requests.get(url)
    
    if response.status_code == 200:
        soup = BeautifulSoup(response.text, 'html.parser')
        path_tag = soup.find('path', {'class': 'shape'})  # CSS selector
    
        if path_tag is not None:
            fill_opacity = path_tag.get('fill-opacity', 'Ошибка: fill-opacity не обнаружен!')
        else:
            fill_opacity = 'Ошибка: fill-opacity не обнаружен!'
    else:
        fill_opacity = f'Ошибка: не удалось подключиться к сайту {response.status_code}'
    
    # result
    print(fill_opacity)
    Ответ написан
    Комментировать
  • Как настроить локальную работу с уже созданным проектом Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    можно ли как-то этот проект переключить на локальную работу?

    Макеты страниц (Page Layout) в WordPress представляют собой шаблоны отдельных страниц, которые можно настроить, добавив или изменив содержимое блоков из административной панели.

    Соответственно, если это (некая конвертация) не предусмотрено макетом страницы, то ответ - нельзя. С другой стороны, Вы можете подключать свои стили, которые будут перебивать стили макета, но html и js отдельных блоков из макета перебить не удастся.
    Ответ написан
  • Бесплатный API антиплагиата?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Под "антиплагиатом" понимается https://antiplagiat.ru/ ?

    да. Проверка на уникальность, по сути

    Бесплатный API антиплагиата?

    Есть ли бесплатные API?

    https://docs.antiplagiat.ru/ru/api/index.html
    API у них только один, и он принимает токен в качестве одного из параметров запроса. Соответственно, API не может быть полностью бесплатным.
    Ответ написан
    Комментировать
  • Как спарсить начальную цену предмета стим на торговой площадке?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Не обновлялась пару лет, но можно исследовать исходники - https://github.com/offish/steam_community_market
    - Посмотреть, что шлет фронт для получения цены - https://tyrrrz.me/blog/parsing-steam-market
    - На край - https://steamapis.com/docs
    Ответ написан
    Комментировать
  • Как на сайте wordpress сделать вход по смс через otp?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    но плагины которые я пробовал не работают.

    Какие пробовали?
    Как на сайте wordpress сделать вход по смс через otp?

    Один из вариантов:
    1. Поставить необходимый плагин.
    2. Написать плагин самому.
    у них сделан вход по смс через OTP , как я понял это бесплатные СМС

    OTP - это лишь метод аутификации (в рамках одной сессии или менее), через одноразовые пароли:
    - Если речь именно про СМС, то не бесплатные. За СМС в любом случае кто то платит, обычно - это тот, кто предоставляет аунтификацию.
    - Если речь про приложение для аунтификации, то наиболее популярные в РФ - это Google Authenticator и Яндекс Ключ. В таком случае - да, код с аунтификацией будет бесплатный.
    - Если речь про Email аунтифиацию - то все тоже самое, что и выше, но отправка пароля идет на Email. Относительно бесплатно.
    Подскажите как можно подключить такое для своего сайта

    Гуглить конкретный вариант аунтификации и искать под него плагин, либо написать самому.
    нормально ли эта технология работает

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

    Это тоже по сути OTP (зависит от того, как настроена).
    Ответ написан
    Комментировать
  • Можно ли с next.js static export отправить данные формы?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А причём здесь next и в чем проблема отправить данные используя fetch?

    Отправляйте данные как с обычной html страницы, другой вопрос - как Вы преодолеете cors, если таковой имеется.
    Ответ написан
    Комментировать
  • Как заставить бота копировать строки в txt поочередно?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Открыть файл.
    2. Пройтись построчно файла циклом, при каждой итерации которого - "вставлять её куда нужно".
    Ответ написан
    Комментировать
  • Как убрать ошибку в боте?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    TypeError
    'NoneType' object is not subscriptable
    File "C:\Users\Administrator\Desktop\Bot\Bot.py", line 21, in handle_message
    photo=message.photo[-1] # Сохранение фото на ваш компьютер
    File "C:\Users\Administrator\Desktop\Bot\Bot.py", line 35, in
    bot.polling()
    TypeError: 'NoneType' object is not subscriptable

    Грешно обращаться к Null, как к списку или словарю. Добавьте проверку:
    if message.photo:
        photo = message.photo[-1]
        # other code
    else:
        bot.reply_to(message, 'Гони фотку.')
    Ответ написан
    Комментировать
  • Как расшифровать UTM_term?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Хотя нигде никакую рекламу не запускали

    Вот я только что "перешел по рекламе" https://example.com?utm_term=vsznl3w.
    Хотелось бы разобраться, как и кто к нам заходил

    Кто угодно, utm метки, как и другие url параметры не запрещено указывать.
    Также вот тут ничего не понятно, говорит, что источник - yandex или yandex direct, почему yandex считается переходом по рекламе, а не поисковым трафиком?

    Как Яндексу считать мой переход, я же вроде "по рекламе перешел", или нет..?
    Ответ написан
    2 комментария
  • Что делать, если телеграм бот на питоне открывает ссылку на другом устройстве?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Ссылка будет открываться на том компе, на котором запущен скрипт. Нужно отправлять ссылку сообщением в телегу, например:
    import telebot
    
    token = "TOKEN"
    bot = telebot.TeleBot(token)
    
    @bot.message_handler(commands=['website'])
    def send_video_link(message):
        # url
        video_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley'
        bot.send_message(message.chat.id, video_url)
    
    @bot.message_handler(commands=['start'])
    def send_welcome_message(message):
        user_name = message.from_user.first_name
        welcome_message = (
            f'Привет, {user_name}!\n'
            'Я с радостью поделюсь с тобой всей статистикой чемпионата F1. Просто отправь запрос!\n'
            'Введи /help, если возникнут вопросы'
        )
        bot.send_message(message.chat.id, welcome_message)
    
    # run bot
    bot.infinity_polling()
    Ответ написан
    1 комментарий
  • Как сделать скролл при нажатие на катогорию товаров в мобильной версии сайта на Wordpress Woocommerce?

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

    1. Прикрутить id к элементу, до которого необходима прокрутка, например <div id="test">products...</div>.
    2. Ссылке указать якорь с id этого элемента, например <a href="#test">Ссылко</a>.
    3. Жмякнуть по ссылке.
    Ответ написан
  • При добавлении в корзину и изменении количества - зависает Куда копать?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Куда копать?

    - Браузер > Инструменты разраба > Консоль.
    - Изменяем количество в корзине > ловим ошибку в консоли (wc_cart_fragments_params не объявлен).
    - Крайний /wp-content/themes/garden/js/minicart.js, строка 20.
    Ответ написан
    4 комментария
  • Есть Route но они не совмем так работают как нужно?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    https://www.robinwieruch.de/react-router-nested-routes
    https://www.positronx.io/react-js-nested-routes-us...
    import {BrowserRouter as Router, Routes, Route, Navigate} from 'react-router-dom';
    
    function App() {
      const {getUser, user, setUser} = useUser();
    
      return (
        <Router>
          <Routes>
            <Route path="/" element={<LoginForm user={user} getUser={getUser}/>}/>
            <Route path="login" element={<LoginForm user={user} getUser={getUser}/>}/>
            <Route path="dashboard/*" element={<PrivateRoute user={user}><DashboardRoutes user={user}/></PrivateRoute>}/>
          </Routes>
        </Router>
      );
    }
    
    export default App;
    
    const DashboardRoutes = ({user}) => (
      <Routes>
        <Route path="/" element={<Dashboard user={user}/>}/>
        <Route path="acts" element={<ActsPage user={user}/>}/>
      </Routes>
    );
    
    const PrivateRoute = ({user, children}) => {
      if(localStorage.getItem('token')) {
        return children;
      }
      return <Navigate to="/login"/>;
    }

    В DashboardRoutes() можно добавлять вложенные роуты.
    Ответ написан
    5 комментариев
  • Как выбрать монитор для программиста?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Flicker Free.
    - Вместо IPS > VA матрицу (посмотрите глазами на оба, сразу поймете в чем разница).
    - Не менее 24 дюймов (желательно больше, чтобы был именно широким) и разрешение 2/4к.
    Из вашего личного опыта, при работе к какими мониторами у вас напрягались глаза, а с какими нет?

    Если свет вокруг монитора будет аналогичен яркости монитора, то глаза гораздо неменьше напрягаются.
    Ответ написан
    Комментировать
  • Библиотека UI компонентов для (HTML/CSS/JS) + ReactJS?

    Mike_Ro
    @Mike_Ro Автор вопроса
    Python, JS, WordPress, SEO, Bots, Adversting
    Как и предполагалось, не удалось найти "серебряную пулю", соответственно, для обоих были выбраны разные инструменты, исходят из факта популярности, количества готовых компонентов и наборов в фигме:
    https://getbootstrap.com/
    https://mui.com/
    Ответ написан
    Комментировать
  • Как вывести свой блок со ссылкой в цикле Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть цикл который выводит блоки со ссылками внутри

    code

    <?php 
      $layout         = $settings['layout'];
      $prod_categories = get_terms( 'product_cat', $catargs );
      foreach ( $prod_categories as $key => $prod_cat ):
      $counter++;
      $bgc++;
      $cat_thumb_id = get_term_meta( $prod_cat->term_id, 'thumbnail_id', true );
      $cat_thumb = wp_get_attachment_image( $cat_thumb_id, $image_size );
      $term_link = get_term_link( $prod_cat, 'product_cat' );
      $thumbnails = $cat_thumb;
      ?>
      <div class="<?php echo esc_attr( $collumval ); ?>">
    
        <?php if( '1' === $layout ): ?>
        <div class="1"></div>
        <?php elseif( '3' === $layout ):?>
            <a>ссылка</a>
          
        <?php endif; ?>
    
      </div>
      <?php
      if( $bgc == 4 ){ $bgc = 0; }
      if( $counter == $limitcount ) { break; }
    endforeach;


    А кто писал этот код? Мне просто интересно...

    Слегка переделал:
    $layout = $settings['layout'];
    $prod_categories = get_terms('product_cat', $catargs);
    
    foreach ($prod_categories as $key => $prod_cat) {
        $counter++;
        $bgc++;
        $cat_thumb_id = get_term_meta($prod_cat->term_id, 'thumbnail_id', true);
        $cat_thumb = wp_get_attachment_image($cat_thumb_id, $image_size);
        $term_link = get_term_link($prod_cat, 'product_cat');
    
        echo '<div class="' . esc_attr($collumval) . '">';
    
        switch ($layout) {
            case '1':
                echo '<div class="1"></div>';
                break;
            case '3':
                echo '<a href="' . esc_url($term_link) . '">ссылка</a>';
                break;
        }
    
        echo '</div>';
    
        if ($bgc == 4) {
            $bgc = 0;
        }
    
        if ($counter == $limitcount) {
            break;
        }
    }
    
    if ('3' === $layout) {
        echo '<div class="3"><a href="#">test</a></div>';
    }
    Ответ написан
    Комментировать
  • Как называеться данное направление SWE? Что нужно для него учить?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как наказываться раздел разработки, когда ты пишешь софт, драйвера и тд. Под железо( видеокарты, процесоры, камеры), но не работаешь с ним напрямую.

    "Разработка системного программного обеспечения" или "low-level programming" или "system software development".
    Ответ написан
    Комментировать