Задать вопрос
  • Почему сайт не поднимается в выдаче?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    В вебмастере включён js для роботов

    Пока можно не обращать на это внимание. Статика с сервера до сих пор вне конкуренции.

    Зашёл на главную, текста нет, увидел лишь 2 фразы со словом "гороскоп", ссылки без анкоров. О каком seo здесь можно говорить...
    Ответ написан
  • В чем отличие this.sort от this[sort]?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    - this.sort обращается напрямую к свойству объекта.
    - this[sort] использует вычисляемое имя свойства.
    const obj = {
      sort: 1,
      noSort: 2,
    }
    
    const x = 'noSort';
    
    console.log(obj.sort) // 1
    
    console.log(obj[x]) // 2
    // эквивалент в этом примере
    console.log(obj['noSort']) // 2
    Ответ написан
    3 комментария
  • Как скрыть код на питоне на мини-компьютере от пользвователя?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Решение, которое позволит поднять стоимость реверса Вашего приложения до неприличного значения:
    1. Обфусцируем код через https://github.com/dashingsoft/pyarmor .
    2. Перегоняем п1. через https://github.com/Nuitka/Nuitka в сишный код.
    3. Компилим п2. в машинный код.
    4. Запускаем п3. exe-шник на клиенте.

    Получаем:
    1. Увеличение производительности.
    2. Exe-шник из машинного кода.
    Ответ написан
    3 комментария
  • Как найти источник звука уведомления на сайте?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Пару вариантов есть:
    1. Дев режим > networks > media > перезагрузить страницу и наблюдать. Когда звук будет проигран - появится аудиофайл в media, а уже по названию этого файла - искать его в коде.
    2. Искать аудио файл (по расширению) сразу в коде в дев режиме, но если таких файлов много, то это не лучший вариант.
    Ответ написан
    3 комментария
  • Как создать ярлык программы с "тихим" запуском?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Если правильно понял задачу:
    1. Создаем ярлык указанного приложения.
    2. Запуск указанного приложения без окна консоли.
    3. Запущенное приложение не будет светиться в трее.
    4. Приложение будет добавлено в автозагрузку.
    5. Винда.

    1. Используем vbs скрипт для тихого запуска, silent.vbs:
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run chr(34) & "C:\machine\mynote.exe" & Chr(34), 0
    Set WshShell = Nothing

    2. Запуск и добавление в автозагрузку через Python:
    import os
    import winshell
    
    def create_autostart_link_for_vbs(application_path, link_name, start_directory="", icon_directory=None):
        # Путь к папке автозагрузки
        startup_folder = winshell.startup()
        
        # Путь, где будет храниться ярлык
        link_path = os.path.join(startup_folder, f"{link_name}.lnk")
        
        # Создание ярлыка
        with winshell.shortcut(link_path) as link:
            link.path = application_path
            link.description = f"Link for {application_path}"
            link.working_directory = start_directory
            if icon_directory:
                link.icon_location = (icon_directory, 0)
    
        return link_path
    
    # Путь до vbs скрипта
    path_to_vbs = r"C:\machine\silent.vbs"
    
    # Юзаем
    create_autostart_link_for_vbs(path_to_vbs, "AutostartAppWithoutWindow")

    Важно! Приложение может по разному реагировать на то, если его запускают в тихом режиме.
    Ответ написан
    3 комментария
  • Как сделать рекламный прелоадер?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Добрый день всем подскажите пожалуйста готовый код на html и javascript или направление куда копать

    Как насчёт гугло-поиска с фразой js прелоадер загрузки страницы и там миллиард ответов...

    https://ru.stackoverflow.com/a/427696/281029 здесь пример того, как отключать прелоадер через указанное время. А в самом диве прелоадера можете разместить свою рекламу
    Ответ написан
    1 комментарий
  • Что дает горизонтальный скролл?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    body дал overflow - x hidden, не помогает

    А просто overflow?
    Не могу понять что ломает верстку

    В дев режиме браузера удаляйте блоки по очереди, как скролл пропадёт - виновник найден.
    Ответ написан
    3 комментария
  • Бот на веб хосте?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Могу ли я купить веб-хост с поддержкой nodejs

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

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

    Итерированием объекта (если имеются вложенные объекты, то нужно обходить рекурсивно).

    Предположим, у нас имеется json объект, далее мы его итерируем и печатаем ключи и их значения (не зная названия ключей заранее):
    data = {
        "batchcomplete": "",
        "query": {
            "pages": {
                "18978754": {
                    "pageid": 18978754,
                    "ns": 0,
                    "title": "Apple",
                    "extract": "An apple is a round, edible fruit..."
                }
            }
        }
    }
    
    def print_key_value_pairs(obj, indent=0):
        if isinstance(obj, dict):
            for key, value in obj.items():
                print(' ' * indent + f"Key: {key}")
                if isinstance(value, (dict, list)):
                    print_key_value_pairs(value, indent+4)
                else:
                    print(' ' * (indent+4) + f"Value: {value}")
        elif isinstance(obj, list):
            for index, item in enumerate(obj):
                print(' ' * indent + f"Index: {index}")
                print_key_value_pairs(item, indent+4)
    
    print_key_value_pairs(data)
    Ответ написан
    7 комментариев
  • Как сделать элементы, как на фото?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Нужно чтобы размер автоматически менялся в зависимости от ширины экрана

    background-size: cover: https://developer.mozilla.org/en-US/docs/Web/CSS/b...
    и чтобы можно было заменить фото на девайсе

    picture > source/img: https://developer.mozilla.org/en-US/docs/Web/HTML/... (можно менять изображения в зависимости от различных параметров дисплея).
    Ответ написан
    Комментировать
  • Какие спецсимволы могут быть в h1 теге и title?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Если Вы до конца не понимаете, какие последствия могут ожидать при использование различных символов в meta=title, то есть набор символов, которые условно "проверенные/безопасные" и используются повсеместно: -, , |, !, ? и «».
    Ответ написан
    Комментировать
  • Как сохранить внесённые изменения в HTML и CSS загруженной в браузере страницы?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как бы мне сохранить свои изменения?

    Может есть плагины для браузера?

    Есть такой плагин, называется - "веб-разработчик". Это такой зверь, который напишет бэк для взаимодействия с фронтом, который будет сохранять внесенные Вами изменения на фронте.

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

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

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Алиасы до папок.
    2. Адрес до изображений (или чего угодно) на основе алиасов.

    https://habr.com/ru/articles/738132/
    Ответ написан
  • Какие существуют альтернативы scrollEnd?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Лучше все таки использовать scroll + setTimeout, но если прям совсем невмоготу, то есть следующие варианты:
    - IntersectionObserver.
    - requestAnimationFrame.
    Ответ написан
    Комментировать
  • Температура процессора 69 градусов (без нагрузок). Нормально ли это?

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

    Уверен, что так и есть.
    Ответ написан
    Комментировать
  • Почему вылетает ошибка об отсутствии модуля validators?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Импорты корректны?:
    from .validators import validate_even
    А эти?:
    from django.core.exceptions import ValidationError
    from django.utils.translation import gettext_lazy as _

    Вас не смущает условие?:
    # models.IntegerField('Оценка продукта', validators=[validate_even])
    if value != range(1,6)
    Ответ написан
    Комментировать
  • Как объединить результаты всех процессов Pool?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Используйте outcomes после выполнения Pool, попробуйте так:
    from itertools import repeat
    from multiprocessing import Pool, Manager
    
    def reader(entry, outcomes):
        # ...
        
        prediction = min(distances) + (mlc_data[min(distances)[1]],)
        outcomes[entry_pairs[' '.join(entry)]] = prediction
    
    manager = Manager()
    outcomes = manager.dict()
    
    with Pool(3) as p:
        # Обрабатываем каждый элемент из input[0] и сохраняем результаты в outcomes:
        p.starmap(reader, zip(input[0], repeat(outcomes)))
        p.close()
        p.join()
    
    print(outcomes)  # должен содержать все элементы
    Ответ написан
    4 комментария
  • В каких случаях применяются рекомендательные блокировки?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Предположу, что имелось ввиду не "рекомендательные блокировки", а "advisory locks" (советующие блокировки).

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

    Пример установления блокировки на время выполнения определенной операции:
    -- Пытаемся взять блокировку с ключом 1. Если она занята другим процессом, то мы её не получим.
    SELECT pg_try_advisory_lock(1);
    
    -- Если блокировка у нас, можем делать свою работу, спокойно зная, что никто другой её не делает одновременно с нами.
    
    -- После выполнения работы освобождаем блокировку, чтобы другие могли её использовать.
    SELECT pg_advisory_unlock(1);


    Некоторые из основных сценариев их использования:

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Попробуйте так:
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        -webkit-transition: background-color 9999s ease-in-out 0s;
        -webkit-text-fill-color: white !important;
    }
    Ответ написан
    Комментировать
  • Как сделать сетку изображений как в приложении Telegram?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Гуглить "Masonry CSS", например: https://fjolt.com/article/css-grid-masonry
    Ответ написан
    2 комментария