Задать вопрос
  • Можно ли преобразовать без копирования byte[,] в byte[]? Как избавится от пробелммы, что одной мат. библиотеке нужен [,], другой[] с width height?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант, использовать легковесный срез массива без копирования (Span<T>):
    byte[,] data2D = ...; 
    int width = data2D.GetLength(1);
    
    // Создаем Span byte из data2D.
    Span<byte> data1D = MemoryMarshal.CreateSpan(ref data2D[0, 0], data2D.Length); 
    
    // Передаем Span byte в функцию.
    ProcessData(data1D, width);
    Ответ написан
    2 комментария
  • Как лучше устраиваться, по ИП или ТК РФ?

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

    49500 руб в год + ежемесячный налог.
    Фиксированные взносы вычитаются из налога по УСН, поэтому при зарплате от 830 тыс в год их можно не учитывать.

    IKStantin
    Легко уволить, не выплатив даже увольнительные, легко уволить также со стажировки?

    Только расторжение договора. Нет нужных пунктов - нет и обязательств.
    2) По ТК РФ налоги 13% а не 6, но не уволят просто так и могут выплатить напоследок если не стерпеть

    Это лично Ваш налог 13%, но работодатель за Вас платит ещё порядка 30%.

    И что по итогу лучше?

    Чтобы ип или самозанятым было выгоднее работать исполнителю, нужно, чтобы заказчик платил раза в 2-3 большем, чем работнику по ТК (я про сумму на руки). Отпуска, выходного пособия и увольнения нет, есть расторжение договора.
    Ответ написан
    5 комментариев
  • Как войти в Telegram Web при помощи local storage?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Проходим аутентификацию на сайте телеги классическим образом, руками.
    2. Сохраняем полученную куку в файл.
    3. Передаём селениуму адрес до куку-файла.
    4. Заходим на сайт телеги через селениум - аутентификация уже пройдена.

    Важный момент, может потребоваться повторная аутентификация, если различаются ip или тип устройств (зависит от логики работы сервера телеги).
    Ответ написан
  • Что делать если в юнити c# выводит сообщение в консоль если она больше 5 хотя не должна?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Обратите внимание на ; после блока с условием if (hw <= 6), это означает, что блок кода, который идет дальше (в фигурных скобках), будет выполнен независимо от результата этого условия:
    // false
    if (1 > 2);
    
    // Но код все равно будет выполнен:
    {
        print("Welcome!");
    }

    Попробуйте так:
    if (hw <= 6)
    {
        print("Welcome!"); 
    }
    
    // Или так
    if (hw <= 6) print("Welcome!");
    Ответ написан
    1 комментарий
  • Как сделать, чтобы браузер, открытый при помощи Selenium работал как с мобильного телефона?

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

    У одного веб приложения есть проверка на текущее устройство.

    Никак, пока не будет известен алгоритм детекта НЕ мобильного устройства. Но, как вариант, использовать один из следующих методов (от простого к сложному):
    1. Открыть инструменты разработчика браузера, активировать "toggle device toolbar" и задать ширину и высоту дисплея, равную мобильному устройству (условно чекается).
    2. Использовать Appium + Android Virtual Device (слабо чекается).
    3. Использовать Appium + настоящий смартфон (слабо чекается).
    4. Использовать собственный браузер (не чекается).

    P.S. про всякие заголовки, ip, куки, локальные хранилища, частота подключений итп даже говорить не будут, это дефолт.
    Ответ написан
    Комментировать
  • Скрипт на Python работает медленно, как ускорить?

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

    Ваш скрипт выполняет запросы к ПС последовательно, по одному за раз (синхронно), дожидаясь завершения предыдущего. Чтобы радикально увеличить производительность, необходимо выполнять операции параллельно (асинхронно). Используйте asyncio для выполнения асинхронного выполнения скрипта, и aiohttp вместо requests в качестве асинхронного http клиента.
    Ответ написан
  • Почему корень в JS это null, а не Object.prototype?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Комментировать
  • В чем ошибка запуска Docker compose?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как подключить бд к серверу в docker-compose?

    DB_HOST: db

    Предположу, фронт использует localhost или 127.0.0.1 для подключения к бд? Если да, то заменяем ее на db.

    Можно проверить, кто использует сеть my_network (искать в Containers), фронт должен быть там:
    $ docker network inspect my_network

    MYSQL_USER: "root"
    MYSQL_PASSWORD:

    Ну и пароль рекомендую все таки установить.
    Ответ написан
    5 комментариев
  • Как создать личный кабинет в Wordpress со своим дизайном и функционалом?

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

    Плагины для создания ЛК не использовал, т.к. практически всегда необходимо реализовать что то, что быстрее и качественнее реализовать собственным плагином, нежели бороться с готовым. Но если прям требуется использовать готовый плагин, то можно использовать следующие:
    - WP-Recall.
    - Profile Builder.
    Может проще каким-то другим способом все это реализовать. Хочу разобраться и услышать как вы решали или решили бы эти задачи.

    Писал свой плагин, используя возможности custom post types (CPT):
    1. Создаем плагин, в нем регистрируем нужные возможности CPT (настройки в админке, url, шаблоны страниц), т.е. то, что не связано с получением основных данных с сервера из п2.
    2. Создаем дополнительную функциональность плагина из п1, где обрабатываем запросы к бд, права итп, т.е. то, что не связано с базовыми настройками плагина из п1.
    3. Создаем отдельные шаблоны страниц личного кабинета пользователя (я использовал React), из которых обращаемся к п2, для получения данных от сервера.
    4. Создаем отдельные шаблоны страниц для фронта, где так же обращаемся к п2, для получения данных от сервера.
    Ответ написан
    Комментировать
  • Как установить pg_dump на Windows?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Переустановка PostgreSQL, во время установки выбрать "Command Line Tools" (тогда установится так же pg_dump).

    pgAdmin не включает в себя pg_dump.

    UPD: проблема была в переменной окружения PATH (не указывала на место расположения на другом диске, куда был установлен PostgreSQL)?
    Ответ написан
    5 комментариев
  • Где взять эмодзи для мета тегов?

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

    Например https://unicodeplus.com/
    Те, какие нашел, не отображаются.

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

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    - 301 редирект с не нужной на нужную, тогда не нужная передаст весь свой вес нужной и пропадёт из органики, как и из любого другого доступа.
    - Уменьшить процент нужных ключей на не нужной странице. Если спустя месяц не помогло, то включить 301 редирект на месяц, затем отключить редирект.
    Ответ написан
    Комментировать
  • Возможно ли засунуть django в сайт написанный на bitrix 1c?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Возможно ли засунуть django в сайт написанный на bitrix 1c?

    Возможно. Нужно ли? - нет.
    Ответ написан
    Комментировать
  • Почему не выводит результат кода на рекурсию для ЕГЭ 16 задания?

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

    Ну почему же не выводит, выводит, но вначале падает, все таки это самый медленный ЯП из популярных.
    def f(n):
        print(f"Entering f({n})")
        if n == 1:
            print(f"Returning 1 for f({n})")
            return 1
        if n > 1:
            result = n * f(n - 1)
            print(f"Returning {result} for f({n})")
            return result
    
    print((f(2024) + f(2023)) / f(2022))

    console:
    # python f.py
    Entering f(2024)
    ...
    Entering f(1037)
    Entering f(1036)
    Entering f(1035)
    Entering f(1034)
    Entering f(1033)
    Entering f(1032)
    Entering f(1031)
    Entering f(1030)
    Entering f(1029)
    Entering f(1028)
    Entering f(1027)
    Entering f(1026)
    Traceback (most recent call last):
      File "f.py", line 11, in <module>
        print((f(2024) + f(2023)) / f(2022))
               ^^^^^^^
      File "f.py", line 7, in f
        result = n * f(n - 1)
                     ^^^^^^^^
      File "f.py", line 7, in f
        result = n * f(n - 1)
                     ^^^^^^^^
      File "f.py", line 7, in f
        result = n * f(n - 1)
                     ^^^^^^^^
      [Previous line repeated 996 more times]
    RecursionError: maximum recursion depth exceeded

    С#, console:
    dotnet run
    Entering F(2024)
    ...
    Entering F(1)
    Returning 1 for F(1)
    ...
    Returning 7,257415615307994E+306 for F(170)
    Returning ∞ for F(171)
    ...
    Returning ∞ for F(2023)
    Entering F(2022)
    ...
    Entering F(1)
    Returning 1 for F(1)
    ...
    Returning 7,257415615307994E+306 for F(170)
    Returning ∞ for F(171)
    ...
    Returning ∞ for F(2022)
    не число
    Ответ написан
    Комментировать
  • Какая альтернатива в React событию onchange в input type="range"?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    <Element
        type="range"
        value={value}
        onChange={handlerChange}
        onMouseUp={handlerEndInteraction}
        onTouchEnd={handlerEndInteraction}
    />
    Ответ написан
    5 комментариев
  • Как подключить Deepl на сайт?

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

    она просто сама берет содержимое сайта и переводит его

    У дипла нигде не могу найти такого решения

    Deepl работает аналогично Google Translate, просто Google Translate имеет более "коробочное решение", под которым скрываются те же api запросы на сервер.

    How to Localise Your Website With DeepL Translate.
    Ответ написан
    Комментировать
  • Как подключить бд к серверу в docker-compose?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Server=localhost

    Чей локалхост? У каждого контейнера он свой. Тогда какой указывать? Оптимально - по имени.
    https://docs.docker.com/compose/networking/
    Reference containers by name, not IP, whenever possible. Otherwise you’ll need to constantly update the IP address you use.

    Port=6002

    Чья туфля порт? Внутри докер-сети (Вы же указали: networks>postgres-network) контейнеры общаются по внутренним портам (рекомендуется).

    Если резюмировать, то будет примерно так (поправить местами при необходимости):

    "Postgres": "Server=localhost; Port=6002; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    "Postgres": "Server=postgres_db; Port=5432; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    docker-compose.yml:
    version: '3.8'
    
    networks:
      postgres-network:
        driver: bridge
    
    services:
      gchain.posts.api:
        image: gchain.posts.api
        build:
          context: .
          dockerfile: GChain.Posts.Api/Dockerfile
        ports:
          - "80:8080"
        networks:
          - postgres-network
        depends_on:
          - postgres_db
    
      postgres_db:
        container_name: postgres_post
        image: postgres:latest
        environment:
          POSTGRES_USER: ${POSTGRES_USER:-postgres}
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-passwd}
          POSTGRES_DB: post
        volumes:
          - postgres-data:/var/lib/postgresql/data
        ports:
          - "6002:5432"
        networks:
          - postgres-network
        restart: unless-stopped
    
    volumes:
      postgres-data:
    Ответ написан
    Комментировать
  • Как динамически изменять цвет контента блока в зависимости от фона?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Использовать IntersectionObserver для отслеживания момента пересечения необходимых элементов..
    2. Изменяем стили как угодно, если п1 выполнен.
    Ответ написан
    Комментировать
  • Что не так с favicon?

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

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