Задать вопрос
  • Хватит 16 гб озу и i3-7100 для офисного компьютера (word excel pdf много вкладок в браузере) на следующие 10 лет?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    i3-7100

    2 ядра/4 потока - это скромно даже сегодня, не говоря уже про "на следующие 10 лет".
    16 одной планкой или 8+8?

    Двумя одинаковыми, чтобы сформировать двухканальный режим памяти. 16 гигов в целом нормально, но больше - лучше.
    Ответ написан
    3 комментария
  • Какой посоветуете учебник/книгу JavaScript?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как повысить релевантность страницы запросу?

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

    Что бы вы посоветовали сделать для решения этой проблемы?

    Спрятать калькулятор за изображением калькулятора (или кнопку), при клике на который - динамически загружать сам калькулятор. Тогда, содержимое калькулятора будет минимально влиять на ранжирование (т.к. поисковик не кликает по кнопкам), а пользователи все равно получат необходимый функционал.
    Ответ написан
    Комментировать
  • Как устранить конфликт стилей в WordPress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как устранить конфликт стилей в WordPress?

    - Либо удалить тот класс, который не нужен (лучше).
    - Либо перекрыть новым классом старый, увеличив css специфичность.
    Пробовала все делать с помощью Elementor, он ужасно тормозит как в процессе верстки, так и в готовом виде,
    поэтому я решила установить Gutenberg и стараться обходится без своих кастомных блоков, ACF групп полей и вообще максимально пользоваться тем, что "из коробки", а если не хватает, дополнять шорткодом.

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

    Можно завести домен 3 уровня и там размещать тестовую версию сайта, например dev.56proba.ru.
    Ответ написан
    8 комментариев
  • Возможны ли санкции поисковых систем, если в интернет-магазине на странице товара писать просьбу оставить отзыв за вознаграждение?

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

    Возможны, например, по причине жалоб пользователей (втч. конкурентов). Десятки жалоб на малом промежутке времени ни к чему не приведут, а вот сотни жалоб на протяжении месяцев - реально могут пессимизировать сайт в органике, особенно отчетливо это заметно в гугле, но яша не сильно отстает.
    Ответ написан
    3 комментария
  • Синхронный код в асинхронном эндпоинте fastapi - блокирует ли он event loop?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Синхронный код, вызванный напрямую внутри асинхронного эндпоинта (не через систему зависимостей) - будет блокировать event loop. Если у вас есть синхронная функция, которую нужно вызвать из асинхронного эндпоинта (и она не является зависимостью fastapi), вы должны явно отправить ее на выполнение в пул потоков, например:
    from starlette.concurrency import run_in_threadpool
    import asyncio
    
    @app.get("/async-endpoint")
    async def async_endpoint():
        # starlette style (python<3.9)
        # r = await run_in_threadpool(sync_func)
        
        # asyncio style (python>=3.9)
        r = await asyncio.to_thread(sync_func)
    
        return {"data": r}
    Ответ написан
    Комментировать
  • Какая минимальная конфигурация пк подойдёт для домашнего сервера?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Кто может поделиться опытом - какая минимальная конфигурация будет ок под мои цели?

    Вы написали очень много текста, но не написали конкретные цифры по нагрузке в пике (mRPS). Приблизительно, можно выбрать любой процессор с количеством ядер >=4, потоков процессора >=8 (избегайте intel 13-14 поколения) и оперативной памяти >=8 гигов (лучше 16). Соответственно, если сервер будет испытывать большую нагрузку, то необходимо увеличивать ядра/потоки/оперативу. SSD выбирайте по деньгам, в идеале, можно все хранить на SSD, но если "денег нет", то обычные "домашние" данные (музыка/фильмы) можно складывать и на простом HDD.

    Если будите хостить какой то коммерческий проект (домашний сервер + коммерческий проект = хреновая идея), где важна доступность, то нужно будет взять ИБП и настроить его так, чтобы он давал команду скриптам, которые безопасно завершат работу проекта и дождутся возобновление подачи электричества. Ну и про резервирование интернет-канала не забывайте, а то кто нить покусает кабель/роутер/техника.
    Ответ написан
    1 комментарий
  • Как найти заработок начинающему верстальщику?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    начинающему верстальщику

    Никак. Даже если увеличить скилы до джуна + фронтенд разработчика - почти никак.
    Может как найти наставника или программиста

    Идете на фриланс, размещаете заказ, оплачиваете наставника.
    Может как найти наставника или программиста, который даст заказы?

    Фантастика.
    Ответ написан
    Комментировать
  • Где надо хранить sitemap.xml и robots.txt?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Хранить в корне.
    2. The ultimate guide to robots.txt, XML-формат файла Sitemap.
    И как должен выглядеть robots.txt файл и sitemap.xml

    Гугл.
    И есть какое-либо ограничение на размер этих файлов

    Есть для sitemap - гугл.
    Ответ написан
    2 комментария
  • Хватит ли MacBook Air 13 с чипом M3 с конфигурацией 16/512 для разработки?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Хватит, но лучше мощнее.
    Ответ написан
    Комментировать
  • Как перенести контент в одного WordPress на другой?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Вопрос, каким наиболее простым способом перенести сам контент?

    Migrate content wordpress
    Ответ написан
    Комментировать
  • Что лучше выбрать для интерфейса программы?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Первый, что лучше на сегодняшний день, веб или desktop.

    Если в рамках соц.сети - смотрите на успешных конкурентов, а у них:
    1. Веб: SPA/SSR (React/Vue).
    2. Мобильное приложение (Kotlin/Swift или Flutter).
    И второй вопрос, про то, что выбрать для пользовательского интерфейса: flet, HTML/CSS/JS, QT.

    - Или React/Vue + SCSS + (Django + DRF или FastAPI).
    - Или (если нет знаний современного фронта) то vanilla JS + SCSS + все это рендерить на бэке (Django или FastAPI) и отдавать посетителю готовые страницы.
    Собираюсь разработать пет-проект

    Пет-проект с целью чего? Если найти работу, то QT/Flet/Desktop + Python = экзотика в мире заказчика (в вакансиях или на фрилансе) вообще, и экзотика*100 в мире заказчика в соц.сетях и подобных проектах.
    будет намного производительней

    Python не про производительность.
    Ответ написан
    Комментировать
  • Как запретить (ограничить) ботов грузить сайт?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Заметил, что за последние 2 месяца резко выросла нагрузка на сайт

    Если источники трафика на сайт не изменялись - 100% боты.
    основные посетители это Android 13, которые находятся на сайте от 0 до 20 секунд

    Новичков видно издалека.
    Я так понимаю - это могут спокойно делать конкуренты, чтобы понизить сайт в поисковой выдаче?

    Не обязательно, но вполне вероятно.
    Как это можно ограничить?

    Вариантов много (а также разные cdn и капчи, вроде cloudflare, akamai, recaptcha и smartcaptcha), но все это действует лишь на простых и частично, на средних ботов.
    Ответ написан
    2 комментария
  • Откуда на маркетплейсах новые ноутбуки с процами 5-6 летней давности?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Больше похоже на БУ по видом новых / почти новых, так часто с серверами делают. Ну и нераспроданные остатки со складов никто не отменял (маловероятно, но возможно).
    Ответ написан
    Комментировать
  • Как настроить minimize webpack?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    По идее, первый optimization будет перезаписан вторым optimization=false. Либо удалите второй блок, либо замените его на такой:
    const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
    const TerserPlugin = require("terser-webpack-plugin");
    
    optimization: {
        minimize: true,
        minimizer: [
            new TerserPlugin({
                terserOptions: {
                    mangle: true,
                    keep_classnames: true,
                    keep_fnames: false,
                },
            }),
            new CssMinimizerPlugin(),
        ],
        splitChunks: {
           chunks: 'all',
        },
    },

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

    Минимизация !== обфускация, код может быть изменен, но не с целью "защиты".
    Ответ написан
  • Как выбрать нужный ответ из JSON файла?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант (добавить проверок и исключений):
    ERRORS_FILE = 'error.json'
    IMAGES = 'error_images'
    
    error_data = {}
    
    with open(ERRORS_FILE, 'r', encoding='utf-8') as f:
        error_data = json.load(f)
    
    # Код бота:
    
    error_code = call.data
    error_description = error_data.get(error_code)
    
    # bot.send_message(call.message.chat.id, "Ошибка 501")
    bot.send_message(call.message.chat.id, f"Ошибка {error_code}: {error_description}")
    
    # photo = open('501.jpg', 'rb')
    image_path = os.path.join(IMAGES, f"{error_code}.jpg")
    with open(image_path, 'rb') as photo:
        bot.send_photo(call.message.chat.id, photo, caption=error_code)

    Так же, я бы подключал json файл 1 раз при запуске бота, а не каждый раз при нажатие его кнопок.
    Ответ написан
    Комментировать
  • Почему люди проводят всего 1сек на сайте, согласно яндекс метрики?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Либо боты, либо "случайный" клик (реклама например), либо поздно инициализируется счётчик.
    Ответ написан
    Комментировать
  • Что выбрать для хостинга сайта: 2 ядра до 5 ГГц или 6 ядер до 3.2 ГГц?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что выбрать для хостинга сайта: 2 ядра до 5 ГГц или 6 ядер до 3.2 ГГц?

    В зависимости от основного типа нагрузки:
    - IO bound - больше ядер.
    - CPU bound - больше частота.
    сайт работает на CMS DLE.

    Если это основная нагрузка, то больше ядер. А вот сколько конкретно ядер - можно вычислить в админке хостера (самый простой способ), если нагрузка на машину доходит до 100%, то пора докинуть ядер или оперативки.
    Текущая посещаемость — около 3000 уникальных пользователей в день.

    Правильнее считать не общую нагрузку, а максимальное количество запросов к серверу в секунду (max rps).
    Ответ написан
    Комментировать
  • Можно ли менять значения импортируемого файла после билда проекта?

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

    Нельзя, нужно пересобрать проект.
    Ответ написан
    Комментировать
  • Как сделать, чтобы при парсинге bs4 как то надо нажать на кнопку "показать еще", чтобы подгрузило еще 20 постов?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Как сделать, чтобы при парсинге bs4 как то надо нажать на кнопку

    Никак, bs4 как и requests лишь получают то, что отдал сервер при первом ответе. Вы можете попробовать исследовать то, какой запрос на сервер отправляется, при нажатие этой кнопки, а затем отправлять запросы из bs4 напрямую к этому серверу. А вообще, для таких задач (нажатие кнопок на сайте итп), используйте Selenium или CDP.
    так как я учусь пасингу в bs4

    А чего там учить?
    Ответ написан
    Комментировать