Задать вопрос
  • Как конвертировать tdata в session + json?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    TFileNotFound: Could not open key_data [ Called by ReadFile() ]

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    VPN не всегда на 100% надежен, он может пропускать некоторые данные, либо его можно попробовать обойти - это утечка DNS или WebRTC, для проверки используйте DNS/WebRTC Leak Test. Меня так забугорная платежная система палила.
    Ответ написан
  • Как вставить содержимое в iframe без src?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вставить содержимое в iframe без src?

    document.write():
    1. Создать iframe на странице.
    2. Получить ссылку на document внутри п1.
    3. Вставить данные внутрь п2, используя document.write().
    и будут ли работать при таком решении ссылки через proxy, которые находятся внутри iframe?

    В рамках указанного домена - да, если домен другой - зависит от CORS сервера.
    Ответ написан
    Комментировать
  • Из-за слайдера не открывается всплывающая форма?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    В чем может быть проблема?

    Слайдер fancybox определяет, показывать ему слайдер или нет на основе класса в < html> теге, если там класс десктопа .desktop.portrait (в десктопной версии сайта), то слайдер инициализируется верно и затем может быть открыт по команде, а вот если там класс смартфона .android.mobile.landscape (в мобильной версии сайта), то слайдер пытается инициализироваться, не находит нужный класс в < html>, но все равно продолжает инициализацию, в следствие чего - сыплются ошибки.
    655f00550eb57787059247.png
    Ответ написан
    Комментировать
  • Как корректно работать с react router?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вы создали не правильную структуру компонентов React Router. < Router> должен быть размещен в самом верху относительно вложенности всех компонентов, обычно это в районе < App>. Так же, для навигации Вы используете href, когда должны использовать компонент React Router - Link.

    Это что такое?
    <Route exact path='/contacts' Component={Contacts} />
    // Component={Contacts} ???

    Попробуйте так (если App является корневым компонентом):
    import React from 'react';
    import {BrowserRouter as Router, Routes, Route, Link} from 'react-router-dom';
    import './App.scss';
    
    import Header from './components/Header';
    import Service from './pages/Service';
    import Contacts from './pages/Contacts';
    import Login from './pages/Login';
    import Home from './pages/Home';
    
    function App() {
      return (
        <Router>
          <div className="App">
            <Header />
    
            <nav>
              <Link to="/">Главная</Link>
              <Link to="/service">Услуги</Link>
              <Link to="/contacts">Контакты</Link>
              <Link to="/login">Вход</Link>
            </nav>
    
            <Routes>
              <Route path="/" element={<Home />} />
              <Route path="/service" element={<Service />} />
              <Route path="/contacts" element={<Contacts />} />
              <Route path="/login" element={<Login />} />
    
              <Route path="*" element={<NotFoundRoute/>} />
            </Routes>
          </div>
        </Router>
      );
    }
    
    // not fount route handler
    function NotFoundRoute() {
      return <div>Page not found</div>;
    }
    
    export default App;

    Header.js:
    import {Link} from "react-router-dom";
    
    function Header(props) {
      return (
        <>
          <header>
            // ...
    
            <Link to="/service">Услуги</Link>
            <Link to="/contacts">Контакты</Link>
    
            // ...
          </header>
        </>
      )
    }
    
    export default Header;
    Ответ написан
    Комментировать
  • Как найти вхождения #слово в JS?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Как из строки
    привет #username text text #username2
    сделать массив
    [привет, #username, text text, #username2]

    https://regex101.com/r/CtgWXN/1
    const string = "привет #username text text #username2";
    const regex = /#\w+|[^#\s][^\s#]*(?:\s+[^#\s][^\s#]*)*/g;
    console.log(string.match(regex)); // ['привет', '#username', 'text text', '#username2']
    Ответ написан
  • Как проверить соответствует ли одна строка другой?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно регулярками, но я бы использовал специализированную библиотеку path-to-regexp:
    import pathToRegexp from 'path-to-regexp';
    
    // real route
    const route = '/notifications/:id/';
    
    // regexp
    const keys = [];
    const regexp = pathToRegexp(route, keys);
    
    // test route
    const testRoute = '/notifications/123/';
    
    if (regexp.exec(testRoute)) {
      console.log(`URL match from: ${route}`);
    } else {
      console.log(`URL not match from: ${route}`);
    }
    Ответ написан
    Комментировать
  • Google Forms - как получить только уникальные заполнения?

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

    Гугл аккаунт люди меняют и заполняют 2ой раз.

    Если на 100% надежно, то - никак! Максимально надежно - то только централизованной аунтификацией на Вашем сайте. Т.к. любое хранение куки, localStorage да и тот же Google аккаунт можно изменить. Но опять же, им ничего не мешает зарегать новый аккаунт у Вас в сайте и повторить все махинации.

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

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Т.к. Вы не показали код своего бота, то вполне вероятно, что сам бот может быть не сильно оптимизирован. Но все равно есть базовые рекомендации:
    - Изначально, не мешало бы измерить потребление памяти в обычном браузере, вполне вероятно, что это стандартное потребление оперативы именно это страницы. Вот например текущая страница в моменте потребляла 177 мб.
    177 мб

    655d9ff7a2446362541329.png

    - Отключить изображения и js браузера, например:
    chrome_options.add_argument("--disable-javascript")
    chrome_options.add_argument("--disable-images")

    - Включить headless (как ранее подметил сергей кузьмин ), помогает сэкономить множество ресурсов:
    options = Options()
    options .add_argument("--headless")

    - Использовать другие браузеры.
    Ответ написан
    2 комментария
  • Как личный кабинет на поддомене влияет на SEO?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Есть раздел сайта "за авторизацией", закрытый от поисковиков, само-собой.

    А счётчик метрики установлен внутри админки? Если нет, то повлияет на seo, но незначительно.
    Ответ написан
  • Пропадают данные localStorage после нескольких перезагрузок?

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

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

    Можно, но не в самом iframe, а сделав это слоем выше iframe.
    Такое возможно реализовать с помощью JS?

    Возможно.
    Не нужно расписывать как сделать

    Хозяин - барин.
    Ответ написан
    Комментировать
  • Как исправить ошибку при редактировании сайта?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    - Включить другую тему и попробовать снова нажать "Редактировать сайт".
    - Отключить плагины и попробовать снова нажать "Редактировать сайт".
    - Возможно, у Вас слишком древний браузер, который не поддерживает JS метод .at(), зайдите с современного браузера и снова нажмите "Редактировать сайт".

    Попробуйте и сообщите о результате.
    Ответ написан
    9 комментариев
  • Что нужно знать junior php backend разработчику?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что нужно знать junior php backend разработчику?

    То, что указано у заказчика в ТЗ или в вакансии.
    Всем найденным ответам на этом ресурсе - больше 3 лет, возможно уже ситуация заметно изменилась.

    Не изменилась.
    помогите пожалуйста сориентироваться и понять с чего начать и в каком порядке изучать.

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Использовать докер в продакшене - нормальное решение?

    Нормальное.
    3. У меня был сервер на 50 гигов

    Докер хранит все слои, образы и логи, периодически, необходимо чистить не используемые образы docker system prune.
    4. Автоматический бекап базы данных

    Я бы cron использовал для этого.
    5. Как не терять данные из бд при перезапусках контейнера?

    Не использовал, но слышал много хорошего про Docker volumes.
    6. Node.js приложение само пишет нужные мне логи и кладет в корень проекта.

    Docker volumes.
    Ответ написан
    Комментировать
  • Есть ли разница для поисковой системы как написан номер запчасти?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    А что мешает самом посмотреть поисковую выдачу и определить наиболее популярный морфологический вариант ключа?
    https://www.yandex.ru/search/?text=%D0%B7%D0%B0%D0...
    https://www.yandex.ru/search/?text=%D0%B7%D0%B0%D0...
    Яндекс в приоритете показывает форму ключа запчасть F3A212, а не запчасти F3-A212.
    Если в поиске будут искать номер с включением символов то какой из номеров будет найден а какой нет.

    Оба.
    Имеет ли смысл нормализовать номер или добавлять и нормализованный и исходный варианты номеров ?

    Имеет смысл делать как у конкурентов из топа.
    Ответ написан
    Комментировать
  • Будет ли работать пк без видеокарты, с процессором без встроенной видеопамяти?

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

    Т.к. Вы не пояснили, что подразумевается под словом "будет", то да, можно:
    - Поставить linux без gui и использовать ноут удаленно, через ssh (без gui).
    - Поставить linux + gui, и использовать его gui за счет удаленного подключения, например по VNC.
    Ответ написан
    8 комментариев
  • Отзывы на сайте, скопированные с отзовиков: как указать источник?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Чтобы поисковые системы не ругались на копипасту, буду указывать источник, откуда отзыв скопирован. Например, «Я.Карты»

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

    Автоматическая пессимизация в выдаче все равно будет.

    Как вариант - подгружается отзывы динамически на js спустя несколько секунд, после загрузки страницы. Либо, подгружайте отзывы в iframe.
    Ответ написан
    Комментировать
  • Как изменить скрипт перезагрузки стараницы?

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

    Изменить перезагрузку страницы на переход по указанному url (Window.location):
    // window.location.reload();
    window.location= 'http://example.com/next';
    Ответ написан
    1 комментарий
  • Нужен redux или переборщил с разделением на компоненты?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Или можно обойтись без него?

    Чем больше приложение, тем более оправданно использование централизированного хранения состояния.
    Ответ написан
    2 комментария