Задать вопрос
  • Как добавить alt в плагине ddslick?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Попробуйте так:
    document.addEventListener('DOMContentLoaded', () => {
        $('#colorDropdown').ddslick({
            data: ddData,
            background: '#fff',
            imagePosition: "left",
            selectText: "Выбрать цвет",
            onSelected: (data) => {
                const colorInput = $('#form-popup-catalog input[name="color-product"]');
                const ralColors = $('.ral-colors');
                const ralColorProduct = $('.ral-colors .ral-color-product');
    
                colorInput.val(data?.selectedData?.text);
                ralColors.css('display', 'block');
                
                const imgHtml = `<img src="${data?.selectedData?.imageSrc}" alt="${data?.selectedData?.alt}">`;
                
                ralColorProduct.empty().html(`${data?.selectedData?.text}${imgHtml}`);
            }
        });
    });
    Ответ написан
    Комментировать
  • Почему не работает код?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    # balls.append([balls, dx, dy])
    balls.append([ball, dx, dy])
    
    # x,y = balls[i][0].positions()
    x,y = balls[i][0].position()
    
    # while True:
        # for i in range(count):
    while True:
        window.update()
        for i in range(count):
    Ответ написан
  • Как прослушать .ogg файл?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно заюзать либу PyGame:
    def play(file_path):
        pygame.mixer.init()
        pygame.mixer.music.load(file_path)
        pygame.mixer.music.play()
    
        while pygame.mixer.music.get_busy():  # if True, the melody is being played
            time.sleep(1)
    
    play('path_to_file/file.ogg')  # dancing dancing dancing...
    Ответ написан
    Комментировать
  • Как избежать создания папки .idea в PhpStorm?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Подскажите пожалуйста, как убрать создание этой папки?

    Никак, в ней размещаются настройки ide для настоящего проекта.
    Ответ написан
    Комментировать
  • Почему вылазит ошибка self.querySelector(...) is null?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Почему вылазит ошибка self.querySelector(...) is null?

    Потому, что элемент не был обнаружен в момент его получения. Используйте DOMContentLoaded.
    Ответ написан
  • Как передать переменную из Js в python(Flask)?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Ajax (fetch):
    async function getValue() {
        const input = document.querySelector('#input-id');
    
        try {
            const res = await fetch('/', {
                method: 'POST',
                headers: {'Content-Type': 'application/json'},
                body: JSON.stringify({'value': input.value})
            });
    
            if (res.ok) {
                console.log('Send success!');
            } else {
                throw new Error(`Send error, ${res.statusText}`);
            }
        } catch (error) {
            console.error('Error', error);
        }
    }

    Принимаем и возвращаем, если все ок:
    from flask import Flask, render_template, request, jsonify
    import json
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def index():
        if request.method == 'GET':
            return render_template('index.html')
        elif request.method == 'POST':
            try:
                data = request.json
                if 'value' in data:
                    value = validate(data['value'])
                    return jsonify({'message': 'Success!', 'value': value}), 200
                else:
                    raise KeyError('Value key not found')
            except (KeyError, json.JSONDecodeError) as e:
                return jsonify({'error': 'Invalid data format'}), 400
    
    def validate(value):
        return value
    
    if __name__ == '__main__':
        app.run(debug=True)
    Ответ написан
    Комментировать
  • Можно ли обмануть программиста с проектной работой?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Могут ли обмануть с работой на хх компании что ищут специалиста по гпх, самозанятого.

    Могут и обманут, как только станет выгодно это сделать.

    Учитывая Ваш вопрос и его постановку, вероятнее всего, Вы не в состояние самостоятельно составить или проверить уже составленный договоров на юридическую чистоту.

    Единственный Ваш вариант - обращаться к юристу для составления платного договора, допников, актов итп. Если Вы обратитесь к юристу (в целом, к любому исполнителю) без четкого ТЗ, то получите соответствующий результат. Добавлю, что не каждый заказчик/работодатель согласится подписывать Ваш договор.
    Ответ написан
    2 комментария
  • Почему БД не принимает буквы, а только цифры?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    # cursor.execute(f'UPDATE Settings SET remember_pass = {user_pass.get().strip()} WHERE id = 1')
    cursor.execute("UPDATE Settings SET remember_pass = ? WHERE id = ?", (user_pass.get().strip(), 1))
    Ответ написан
    Комментировать
  • Что делает функция?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Принимает любой массив и коллбэк.
    2. Обходит массив, применяя к каждому элементу массива коллбэк.
    3. Возвращает новый массив с модифицированными элементами.
    Ответ написан
  • Летит бот-трафик с разных сайтов?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Ребят, как найти источник злодеяния?

    Искать ничего не нужно, нужно блокировать то, что возможно заблокировать с минимальными издержками. Самый быстрый вариант - CloudFlare, гуглить "CloudFlare Bot Blocking guide". Сразу говорю, CloudFlare слегка просаживает позиции сайта за счет увеличения времени доступа к контенту сайта, НО! Если удастся отфильтровать большинство ботов, то тем самым Вы поднимите ПФ сайта, и можно рассчитывать на то, что сайт как минимум вернется на изначальные позиции, а может и выше.
    Кстати, я заходил на эти самые говносайты и линкбэк я на свой сайт не обнаружил - вероятно их используют как рефер может быть или просто перенаправление.

    Бот может создавать ссылку в dom страницы и кликать по ней. Анкор ссылки может быть разным, но видел следующие варианты: "сайт продает наркотические вещества", "сайт обманывает пользователей", "сайт крадет данные кредитных карт" итп. Как Вы понимаете, на этом сайте стоят счетчики всех популярных ПС, которые видят клик по ссылке с этим анкором. Насколько эффективно ПС могут бороться с таким "SEO" - это другой вопрос.
    Также сразу вызывает подозрение, что IP адреса - все от мобильных операторов.

    Потому что это самый эффективный вариант маскировки ботов, особенно, если в Вашей тематике итак было 80%+ мобильных ip.
    Ответ написан
    Комментировать
  • React. Нормальная ли практика выносить картинки за пределы src в папку public?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Нормальная, и не только в react, но и в сборщике webpack с его шаблонизаторами.
    Ответ написан
  • Возможно ли создавать приложения для Windows и Linux на JavaScript, html и css?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Возможно:
    - ElectronJS
    - Tauri
    Ответ написан
    Комментировать
  • Как высчитать уровень исходя из массива?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    const LVLS = [
        {exp: 10, lv: 1},
        {exp: 25, lv: 2},
        {exp: 45, lv: 3},
        {exp: 70, lv: 4},
        {exp: 100, lv: 5},
    ]
    
    console.log(LVLS.reduce((acc, l) => (47 >= l.exp ? l.lv : acc), 0)); // 3

    Все работает, но кажется, что достаточно криво.

    Теперь ровнее.
    Ответ написан
    2 комментария
  • Внешние ссылки. Расскажите про алгоритм?

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

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

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

    А кто то запрещает? Можете конечно. Другой вопрос, что человек без опыта не соберет качественный ссылочный профиль.
    Если вы считаете всё это абсурдом и это меня ни к чему не приведете - не стесняйтесь, выражайтесь!)

    В целом, вероятнее всего так и будет. Произойдет расход средства и времени не соразмерный результату.
    Ответ написан
    3 комментария
  • Что учить Python бэкенд разработчику?

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

    1. Django для большинства проектов, FastAPI для остальных, т.к. Flask стремительно проигрывает рынок FastAPI:
    - https://blog.jetbrains.com/pycharm/2023/12/django-...
    - https://lp.jetbrains.com/python-developers-survey-2022/
    2. БД mysql/postgresql.
    3. Очереди по типу Celery.
    4. Asyncio.
    Ответ написан
    Комментировать
  • Как сделать это на css grid?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    2 ряда, 6 единиц ширины колонки в ряду:
    - 1 ряд, каждая колонка занимает 3 единицы ширины.
    - 2 ряд, каждая колонка занимает 2 единицы ширины.
    Ответ написан
    Комментировать
  • Как разместить вентиляторы в корпусе LIAN LI PC-O11 Dynamic?

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

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

    Если Вы будите придерживаться схемы выше, то сзади сверху уже будет поток горячего воздуха, соответственно радиаторы водянки будут обдуваться максимально горячим воздухом собранным со всего корпуса, эффективность охлаждения будет соответственной, поэтому лучшие снизу спереди, или на край снизу сзади.
    f5.jpg
    Ответ написан
    3 комментария
  • Тормозит фильтр товаров на wordpress, что делать?

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

    Фриланс.
    Или как можно решить ее самому.

    1. Быстро и дешево - кэширование, но не все можно закэшировать.
    2. Медленно и дорого - переписывание фильтра + оптимизация wp/wc + кэширование.
    3. Очень медленно и очень дорого - переписывание сайта под конкретные задачи.

    Рекомендую к ознакомлению (вместо Python/Django можно выбрать любую понравившуюся технологию) - Что выбрать WP или Python+Django для сайта?
    Ответ написан
    Комментировать