Задать вопрос
  • Как добавить количество дней к текущей дате?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Зачем Вы добавляете дни к настоящей дате, а не к дате с обучением?
    // ...
    // var newDate = moment().add(missingDays, 'days');
    var newDate = endDate.clone().add(missingDays, 'days'); // update
    // ...
    Ответ написан
  • Как решить проблему с Allowed memory size в плагине Worpress?

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

    Я в php не силен, но быстрой гуглежкой нашел вариант логирования. Посмотрите, что будет писать и какое время займет различные части выполнения Вашего кода:
    - Пишем сообщение непосредственно в файл журнала ошибок сервера:
    error_log('Лог переменной: ' . print_r($var, true));

    - Получение временных меток перед и после выполнения кода:
    microtime(true)
    Ответ написан
  • Какая самая быстрая и эффективная библиотека в JS для работы с деньгами?

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

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Тайтл: Аренда Авто с Водителем в Сочи | Транспортные услуги

    Транспортные услуги - высокочастотный ключ, не рекомендую его сюда вставлять. Рекомендую сделать следующий ключ: Аренда авто с водителем в Сочи от 300 руб. Это более целевой ключ + более конверсионный, т.к. указана стоимость.
    Под него сделать заголовки:
    h1: Надежная аренда авто с водителем в Сочи
    h2: Профессиональная аренда авто с водителем и заказом в Сочи
    В вордстате отображает что лучше использовать слово авто нежели автомобиль.

    Лучше.

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

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Допустим есть сайт, продающий коттеджи. Пользователь находит этот сайт в поисковике google по запросу "Коттеджи купить в городе N" и переходит на него. Если на сайте установлена система аналитики rambler top-100 или яндекс метрика, то в отчётах будет ли видна поисковая фраза, приведшая пользователя на сайт?

    Если не переданы url параметры, то Поисковик видит ключ лишь со своей выдачи (Яндекс видит ключ, который пришел из Яндекса, но не видит ключ того, кто пришел из Google).
    Шифруется ли Url поискового запроса вида гуглком/search?q=слово1+слово2 ?

    Нет, но Вы можете это сами посмотреть, вот ключ hash в Google:
    https://www.google.com/search?q=hash
    Яндекс:
    https://www.yandex.ru/search/?text=hash
    Ответ написан
    2 комментария
  • Как внешне открыть файл с помощью python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Суть в том, чтобы открывать файл нажатием на него, а не выбором в приложении. (Как при открытии тех же .docx и .txt файлов, но с собственным расширением)

    Ниче не понятно...

    Пример открытия файла:
    import subprocess  # from all OS
    
    # open file win32
    filename = 'path/to/file.doc'
    subprocess.run(['open', filename])
    
    # subprocess.run(['open', filename])  # macOS
    # subprocess.run(['xdg-open', filename])  # linux
    Ответ написан
    4 комментария
  • Как сделать многостраничный сайт (онлайн-каталог)?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    На сайте могут быть представлены сотни позиций товаров, вручную верстать каждую страничку это бред, наверняка существуют какие-то оптимизированные методы для создания подобных проектов, хотел бы попросить рассказать о них, ибо я не смог найти нормальной информации по этому поводу.

    Есть, называется - cистема управления содержимым (CMS, Content Management System).
    вручную верстать каждую страничку это бред

    В большинстве CMS, Вы создаете шаблон страницы, который будет выводить "содержимое" страницы. Рекомендую сразу гребсти в сторону WordPress+WooCommerce, а когда его станет Вам не хватать (и Вы поймете, чего именно не хватает) - выберите себе более узкоспециализированный инструмент.
    Ответ написан
    2 комментария
  • Что я не так делаю?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вотакая ошибка: cannot access local variable 'd' where it is not associated with a value

    Обращение к переменной d происходит вне контекста (вне цикла for d in cur.fetchall()).

    Попробуйте так:
    for d in cur.fetchall():
        await call.message.edit_media(InputMediaPhoto(media=d['photo'], caption=smiles[page][1]), reply_markup=kb.paginator(url=d['url'], page=page))
    Ответ написан
    5 комментариев
  • Не могу определиться с пайплайном, как разобраться?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Изучил основы JavaScript, понял что всякие манипуляции DOM мне не нужны, потому что это не используется больше

    Где и кем больше не используется?
    Думаю такой, может мне надо выучить React?

    Но есть почему-то ощущение что React в чистом виде мне не нужен, чтобы пользоваться Next.js.

    NextJS: The React Framework for the Web...
    А в "грязном" виде React какой?
    Я остановился и понял что я занимаюсь какой-то фигней. Что я хватаю отовсюду понемногу знаний, но они не складываются в общую картинку.

    Собственно вопрос: по какому пути лучше пойти, чтобы потихоньку прийти к желаемому?

    Все так и есть. Вам необходимо изучать JS в следующем порядке:
    1. Vanilla JS.
    2. React.
    3. Frontend React + NextJS.
    4. Fullstack React + NextJS (+NestJS?).
    При этом чтобы не потратить время впустую на изучения вещей, которые абсолютно не нужны.

    А вот здесь интересный момент. Видите ли, исходя из количества вакансий, NodeJS и все ее производные в качестве backend фреймворков - не сильно востребованы, относительно более специализированных backend языков/фреймворков. Если у Вас нет особой страсти к NodeJS, то рекомендую сфокусироваться лишь на frontend (учитывая, Ваш контекст), а затем (если будет возможность) - учить в дополнение к frontend более специализированные backend языки/фреймворки.
    Ответ написан
    2 комментария
  • Как исправить TypeError: Node() takes no arguments?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    # class Node:
    #     def init(self, x, y, next):
    #         self.x = x
    #         self.y = y
    #         self.next = next
    
    #     def repr(self):
    #         return str((self.x, self.y))
    
    class Node:
        def __init__(self, x, y, next=None):
            self.x = x
            self.y = y
            self.next = next
    
        def __repr__(self):
            return str((self.x, self.y))
    Ответ написан
    Комментировать
  • Как определить изменение состояния видимости элемента?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Расширю ответ imko кодом:
    // return true, if element visible
    function isVisible(element) {
      return window.getComputedStyle(element).display !== 'none';
    }
    
    // MutationObserver
    const observer = new MutationObserver((mutations, obs) => {
      const modal = document.querySelector('#modalWindow'); // modal selector
      const dropdown = document.querySelector('#dropdownMenu'); // dropdown menu selector
    
      // check is visible?
      if (isVisible(modal) && isVisible(dropdown)) {
        console.log('Element is visible');
        obs.disconnect();
      }
    });
    
    // config
    const config = {
      attributes: true,
      attributeFilter: ['style']
    }
    
    // run
    observer.observe(document.querySelector('#modalWindow'), config);
    observer.observe(document.querySelector('#dropdownMenu'), config);
    Ответ написан
    1 комментарий
  • Ошибка установка плагинов WP. как исправить?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Вероятно, проблема с tmp директорией. Можно проверить методом тыка, объявите другую временную директорию, затем заново попробуйте установить плагины.

    wp-config.php:
    define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/test/');

    Важно! Директория /wp-content/test/ уже должна существовать.
    Ответ написан
    1 комментарий
  • Как определить локатор?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    BS4:
    import requests
    from bs4 import BeautifulSoup
    
    # go to url
    url = "example.com"
    res = requests.get(url)
    
    # pasing page
    soup = BeautifulSoup(res.text, 'html.parser')
    
    # search "Черновик" from span
    els = soup.find_all(lambda tag: tag.name == "span" and "Черновик" in tag.text)
    
    # ptint
    for els in el:
        print(el.text)

    Важно! Если необходимый элемент появляется динамически, то BS4 не сможет его дождаться.
    Ответ написан
    1 комментарий
  • Можно ли форму с отзывами считать сбором данных?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    152 ФЗ от 27.07.2006

    Персональные данные — это любая информация, прямо или косвенно относящаяся к физическому лицу, и позволяющая его определить. Это из статьи 3 ФЗ «О персональных данных», от 27.07.2006 № 152-ФЗ (далее — Закон).

    К персональным данным, согласно данному закону, относят:

    фамилия, имя, отчество;
    место, дата рождения;
    место постоянной или временной регистрации;
    фотография или видеозапись человека, позволяющие идентифицировать человека;
    сведения о детях, родственниках, семейном положении;
    сведения о заработной плате;
    оценка навыков, личностных качеств;
    индивидуальные личные данные (раса, национальность, политические или религиозные взгляды, философские убеждения; состояние здоровья);
    информация о судимостях, или их отсутствии;
    номер телефона, адрес электронной почты, иные идентификаторы в соц. сетях или мессенджерах;
    паспортные данные, СНИЛС, ИНН (хотя с ИНН вопрос спорный);
    биометрические данные.

    Можно ли форму с отзывами считать сбором данных?

    Присутствуют поля : ФИО*, телефон, номер участка*.

    - Не можно, а нужно на 146%.
    - Добавляйте в форму галочку "согласен на обработку своих персональных данных" с ссылкой на страницу с "политикой обработки персональных данных".
    - Пользователь должен выразить явное согласие, т.е. галочка не должна быть активна автоматически по умолчанию.
    - И еще момент, если Вы генерируете какие то данные на основе собранных ПД пользователя и сгенерированные данные "позволяют определить" этого пользователя - это ПД (id, ник, хеш итп). Если же по сгенерированному хешу (например) не получится "определить" конкретного пользователя, то - это не ПД, а обезличенные данные.
    Ответ написан
  • Почему парсер считывает всегда рандомное число обьявлений у пользователя, и как сделать так чтобы он мог нормально их считыывать?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    time.sleep(1)

    Рекомендую использовать WebDriverWait.
    soup = BeautifulSoup(driver.page_source, features="lxml")

    Вы создаете объект soup вне переходов по страницам, соответственно у Вас в soup лежит html начальной страницы. Попробуйте использовать soup в цикле:
    for i in range(57, 58):
        # ...
        soup = BeautifulSoup(driver.page_source, features="lxml")
        # ...
    Ответ написан
    2 комментария
  • Какой плагин подойдет для создания закрытого раздела в WP?

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Или сделать хотя бы какой-то контраст между ними?

    - File > Settings > Editor > Color Scheme > General > Gutter background (цвет фона под нумерацией строк).
    - File > Settings > Editor > Color Scheme > General > Caret row (цвет фона строки под кареткой).
    - File > Settings > Editor > Color Scheme > General > Line number (цвет нумерации строк).
    Ответ написан
    Комментировать
  • Какая ошибка допущена в коде? Либо почему не работает fetch?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А если так?
    return (
      <>
        {collections.map((obj) => (
          <Collection name={obj.name} images={obj.photos} />
        ))}
      </>
    );
    Ответ написан
    Комментировать
  • Не работает команда discord.py?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    https://www.folkstalk.com/2022/10/purge-command-di...
    @bot.command(pass_context=True)
    @commands.has_permissions(administrator=True)
    async def clean(ctx, limit: int):
            await ctx.channel.purge(limit=limit)
            await ctx.send('Cleared by {}'.format(ctx.author.mention))
            await ctx.message.delete()
    
    @clean.error
    async def clear_error(ctx, error):
        if isinstance(error, commands.MissingPermissions):
            await ctx.send("You cant do that!")
    Ответ написан