Задать вопрос
  • В чем ошибка запуска 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
    Это просто рекомендация или это означает, что с фавиконом все еще есть проблемы?

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

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

    1. Если понадобится, то будут искать.
    2. Затем, зависит от желания товарищамайора разбираться в этих ваших впэенах, проще срубить ближайшую палку.

    Что может произойти такого, чтобы стали искать? Ну например кто то куда то задонатит или напишет сочнейший коммент в нужном месте...
    Ответ написан
    Комментировать
  • Какими сервисами полезен KeyCollector? Он теперь перестал корректно собирать ядро?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Раздумываю над покупкой KeyCollector

    Он теперь перестал корректно собирать ядро?

    Да, помянем. Учитывая, что бизнес KeyCollector-а модель имеет тип "разовой продажи", то разрабу остается не очень много смысла переписывать приложение под "новые обстоятельства".
    KeySo тоже вроде может это?

    Фраза "тоже может" не корректна в контексте минимального тарифа 5 300 ₽/мес. Он то может, но не за разовый платеж ~2500р, который просил KeyCollector.

    Key Collector работает сейчас или нет?
    Ответ написан
    Комментировать
  • Как убрать кавычки после php кода?

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

    Проблема не здесь. WP функция the_post_thumbnail() уже возвращает полный img тег (включая атрибуты src и alt) и получается, что у Вас внутри атрибута src вставляется еще один полноценный img тег.

    Попробуйте так ("full" аргумент указывает на размер изображения):
    <a href="<?php the_permalink(); ?>">
        <?php the_post_thumbnail('full', ['class' => 'lazy']); ?>
    </a>

    Но, если необходимо собрать свой собственный тег с указанием адреса до изображения, то можно использовать функцию get_the_post_thumbnail_url():
    <a href="<?php the_permalink(); ?>">
        <img class="lazy" src="<?php echo get_the_post_thumbnail_url(null, 'full'); ?>" >
    </a>
    Ответ написан
    3 комментария
  • Как автоматически проверять наличие способов оплат для неавторизованных пользователей на странице checkout (Woocommerce)?

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вы изменяете цвет консоли внутри делегата с уже сформированной строкой. Как вариант, можно разделить текст на слова и выводить нужные слова с нужным цветом:
    using System;
    using System.Text.RegularExpressions;
    
    public class Example
    {
        public static void Main(string[] args)
        {
            string text = "This is the great city of Sevsar, the harbor of humanity";
            string[] keywords = { "great", "harbor" };
    
            HighlightKeywords(text, keywords, ConsoleColor.Red);
            Console.WriteLine();
        }
    
        public static void HighlightKeywords(string text, string[] keywords, ConsoleColor highlightColor)
        {
            string pattern = $@"\b({string.Join("|", keywords)})\b";
            MatchCollection matches = Regex.Matches(text, pattern, RegexOptions.IgnoreCase);
    
            int lastIndex = 0;
            foreach (Match match in matches)
            {
                Console.Write(text.Substring(lastIndex, match.Index - lastIndex));
    
                Console.ForegroundColor = highlightColor;
                Console.Write(match.Value);
                Console.ResetColor();
    
                lastIndex = match.Index + match.Length;
            }
    
            Console.Write(text.Substring(lastIndex));
        }
    }

    КартинкО

    6641ffe274e9d095852691.png
    Ответ написан
    1 комментарий
  • Next JS что за ошибка?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Build error occurred
    Error: Page "/client/[clientId]" is missing "generateStaticParams()" so it cannot be used with "output: export" config.

    Предположительно, Вы пытаетесь выполнить статическую генерацию на нексте, при этом у Вас имеется страница с динамическим маршрутом (/client/[clientId]). Для динамических маршрутов необходимо использовать функцию getStaticPaths().

    Базовый пример:
    // /pages/client/[clientId].js
    
    export async function getStaticPaths() {
      const clientIds = await fetchClientIdsFromDatabase(); 
    
      return {
        paths: clientIds.map(clientId => ({params: {clientId: clientId}})),
        fallback: false,
      };
    }

    // next.config.js
    
    export default {
        output: 'export',
    }
    
    // или
    
    module.exports = {
      output: 'export',
    }
    Ответ написан
    Комментировать
  • Выдает предупреждение о размере куи памяти в IDE PyCharm, хочу понять на что это влияет и как увеличить память?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    The IDE is running low on memory and this might affect performance. Please consider increasing the heap size.

    https://www.jetbrains.com/help/pycharm/increasing-...
    Рекомендуется увеличить для ide объем выделяемой памяти: Settings > Help > Change memory settings.
    я в будущем собираюсь размещать бота на сервере и хочу уточнить будет ли он работать быстро, или необходимо подшаманить над размером памяти?

    IDE в этот момент не имеет отношения к Вашему скрипту.
    Ответ написан