Задать вопрос
  • Как разработчики пользуются Git в компаниях?

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

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

    Вы только что сами ответили на свой вопрос. [сложность_проекта] * [количество_разработчиков] = [сложность_разработки]
    Ответ написан
    Комментировать
  • Почему теги "strong" и "b" рекомендуется заменять на стили CSS?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Вопрос по СЕО, почему СЕОшники говорят, что теги и не рекомендуется использовать на сайтах, лучше стили CSS использовать?

    Потому что нужно грамотнее выбирать сеошников. Основной аргумент таких сеошников - для оптимизации, ПС парсит лишь текст со страницы, оставляя html, скрипты и стили. На счет скриптов и части стилей - это может и верно, но не html.

    Нужно использовать теги в первую очередь, а затем, стилизовать их при необходимости (без крайностей). Но имейте ввиду, поисковики давно понимают, выделенный ли текст перед ними, или обычный. По моим наблюдениям, если выделить текст стилями, то сильного эффекта это не приносит, но вот если выделить текст тегом strong, то эффект заметен. Аналогичная ситуация с тегом strong и преобразованием его в обычный текст через css - поисковики это видят и не особо ранжируют этот текст из общей массы.
    <div class="strong">Не важный текст.</div>
    <strong style="font-weight: 400">Не важный текст.</strong>
    <strong class="strong-class">Важный текст.</strong>
    Ответ написан
  • Как настроить нагрузоспособность Nginx из расчета процессоров для стабильной работы?

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

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

    Передадим параметры железа nginx-у, nginx.conf:
    worker_processes  4; # cores
    events {
        worker_connections  1024; # 1024 * 4 ram = 4096 (max all rps)
    }


    Настроим ограничения так, чтобы каждый ip мог делать не более 10 rpm (в минуту), nginx.conf:
    http {
        limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/m;
    
        server {
            location / {
                limit_req zone=mylimit burst=20 nodelay; # we put no more than 20 requests in the queue over the limit (anti DDoS)
            }
        }
    }

    Эти настройки помогут контролировать общую нагрузку на сервер и предотвратят его перегрузку за счет ограничения количества обрабатываемых запросов как в целом (через worker_connections), так и на уровне отдельных IP-адресов (через limit_req_zone и limit_req). Это эффективный способ защиты от спама и DDoS, а также обеспечивает равномерное распределение ресурсов сервера между всеми пользователями.
    Ответ написан
    Комментировать
  • Как через xpath достать язык страницы?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как через xpath достать язык страницы?

    Если в html имеется атрибут lang, то можно получить его значение: /html/@lang
    Ответ написан
    Комментировать
  • Можно ли модулем requests скачать файл формируемым после запроса?

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

    Requests скачивает файлы, которые генерируются в ответ на запрос, а не после него.
    Remote end closed connection without response

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понял вопрос, то Вам нужна система управления проектами, вот лучшее, что мне попадалось в РФ (исключая санкционку):
    - Битрикс24.
    - Мегаплан.
    - Yandex Tracker.
    Ответ написан
    Комментировать
  • Как изменить переменную index, чтобы не работал бесконечно?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    def print_numbers(last_number):
        i = last_number
        while i >= 1:
            print(i)
            i -= 1
        print('finished!')
    
    print_numbers(last_number=4)
    
    # 4
    # 3
    # 2
    # 1
    # finished!
    Ответ написан
    1 комментарий
  • Изучение React. Стоит ли читать книгу?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть ли смысл ее читать или она уже не актуальна? Она 2022 года выпуска

    Стоит, недостающие знания React >=18 (Concurrent Rendering, fallback UI, Server Components итд) легко дополняются официальной докой.
    Или лучше офиц. доку?

    Не "или", а "и".
    Ответ написан
    2 комментария
  • Как правильно указать мультиязычные страницы для google?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Tell Google about localized versions of your page, а теперь по-русски:
    1. html lang="ru" должен быть указан и сообщать текущий язык страницы. Отдельный атрибут lang="ru" у элемента перебивает основной, указанный в html lang="ru".
    2. В head необходимо указывать мета атрибуты (ссылки) на аналогичные страницы, но на другом языке.
    3. В head необходимо указать мета атрибут (ссылку) на текущую страницу.
    4. В head необходимо указать мета атрибут (ссылку) на страницу с языком по умолчанию (hreflang="x-default"), если у пользователя в браузере установлен язык, который не обнаружен в мета атрибутах (ссылках) в head нашей страницы, обычно - это английский (стандартный). Здесь же обычно создают механизм выбора языка страницы с последующей переадресацией (если у нас такая имеется), либо перевод авто-переводчиком текущей страницы.

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

    Пример ru страницы (дефолтной):
    <html lang="ru">
    <head>
        <title>This is content ru lang (default)</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (ru) -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content ru lang (default)</div>
        <div lang="en">This is content en lang</div>
    </body>
    </html>

    Пример en страницы:
    <html lang="en">
    <head>
        <title>This is content en lang</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (en) -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content en lang</div>
        <div lang="ru">This is content ru lang</div>
    </body>
    </html>

    Пример страницы с не определенным языком (hreflang="x-default"), она же en версия страницы:
    <html lang="en">
    <head>
        <title>This is content en lang</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (en) -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content ru lang</div>
        <div lang="ru">This is content ru lang</div>
    </body>
    </html>

    Должен ли мой переключатель языка, к примеру, быть в виде ссылок < a>, или < button> + js тоже норм (как по умолчанию в opencart)?

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

    Желательно, чтобы каждая страница сообщала свой язык, используя атрибут land в html теге:
    <html lang="ru">
    Ответ написан
    2 комментария
  • Как отправить переменную из js в php?

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

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

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

    Выберет самый современный, на основе своих алгоритмов, или смотрите выше.

    Рекомендую раздробить шрифты на начертание (тонкий, стандартный, жирный итп), в таком случае, будет подключаться лишь тот, которому соответствует нужное начертание. Еще можно раздробить по языку (для русского языка - русский, для английского - английский итп), спецсимволам итп. В таком варианте у меня получалось сократить файл с конкретным шрифтом с ~90 до ~15кб.
    Ответ написан
    Комментировать
  • Как сделать невидимым обьект в конструкторе класса вне?

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    а что из этого будет чаще использоваться в проектах и/или на работе

    Что скажет teamlead, то и будет использоваться. Если Вы не знаете ответа, то использовать - встроенные валидаторы.
    Ответ написан
    Комментировать
  • Telethon - как пересылать видео/фото при этом скрывая имя пользователя?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    везде искал - не нашел

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

    Можно использовать метод forward_messages().

    Forwards the given messages to the specified entity.
    If you want to “forward” a message without the forward header (the “forwarded from” text), you should use send_message with the original message instead. This will send a copy of it.
    Ответ написан
    2 комментария
  • Почему не могу установить redux-thunk?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А самому прочитать ошибку?
    41 http fetch GET 200 https://registry.npmjs.org/redux-thunk 398ms (cache hit)
    42 silly fetch manifest redux@^4.2.1
    43 http fetch GET 200 https://registry.npmjs.org/redux 6ms (cache hit)
    44 silly fetch manifest redux@^5.0.0

    redux-thunk требует, чтобы в проекте был redux: ^5.0.0, а у Вас ^4.2.1, либо ставить указанный npm install redux@^5.0.0, либо использовать в режиме совместимости (возможна, нестабильная работа):npm install redux-thunk --legacy-peer-deps

    Бодрящий шрифт консоли, зачет!
    Ответ написан
    3 комментария
  • Как изменить цвет ссылок только панели nav?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    .navbar .nav-link {color: white}
    Ответ написан
  • Как гуглу удаётся работать так быстро? Какая у него память?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Многоканальная оперативная память (2, 4, 8 итд. каналов), этот процесс в контексте оперативной памяти обычно связан с такими технологиями и концепциями, как двухканальный (dual-channel), трехканальный (triple-channel) и многоканальный (multi-channel) режимы работы памяти.

    - Параллельное чтение для увеличения пропускной способности и уменьшения задержек чтения данных из оперативы с нескольких модулей памяти единовременно (Striped Memory Access или Parallel Memory Access), аналогично принципу работы торрентов, где данные загружаются частями сразу с нескольких источников.

    - В Linux так же имеется несколько способов организовать параллельное чтение и запись данных с использованием уже с жестких дисков (опять же, по примеру торрентов), чтобы увеличить производительность и надежность системы хранения данных. Эти методы включают в себя RAID-массивы, LVM (Logical Volume Manager) и файловые системы, специально разработанные для работы в распределенных и параллельных средах.
    Ответ написан
    Комментировать
  • Есть ли в питоне в стандартной библиотеке под типы целочисленные(знаковый\безнаковый, byte, short)?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть ли в питоне в стандартной библиотеке под типы целочисленные(знаковый\безнаковый, byte, short)?

    Нет.
    Вопрос как без бубна и доп.библиотек реализовать ограничение на целочисленную переменную,
    данные берутся из БД и тудаже сохраняются, в БД к примеру стоит тип поля byte[0..255] or byte[-128...+128] как кроме проверок обеспечить заданные параметры для переменной в питоне, что бы она не выходила за рамки заданного типа?

    - Использовать библиотеку (рекомендую), например Pydantic (используется в самом быстром (из популярных) веб-фреймворке FastAPI по дефолту).
    - Класс (с инкапсуляцией такого действия).
    - Простые проверки.
    Ответ написан
    3 комментария