• Как создать свой элемент для каждого элемента из массива?

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

    Но в итоге ничего не создается

    А че forEach() возвращает что то? Может map()?
    Ответ написан
    Комментировать
  • Почему при разном подходе отправки запроса не появляется response в консоли?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. await axios.post().then(), точно правильно?
    2. request_json точно в нужном месте axios.post()?

    Если попробовать так?
    try {
        const res = await axios.post(
            'https://jsonplaceholder.typicode.com/posts',
            JSON.stringify(sendData),
            {
                headers: {'Content-Type': 'application/json'}
            }
        );
    
        console.log(res.data);
    
    } catch (error) {
        console.error('Error: ', error);
    }

    onClick на сабмите и без preventDefault, страница перезагрузится и Вы можете не увидеть ответ в консоль.
    Ответ написан
    Комментировать
  • Как правильно читать(видеть) счетчик(рекламную вставку) на сайте? И правильно интерпретировать?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    В чем смысл этой вставки и для чего она нужна?

    Это пример классического трекинга посетителей ресурса, где расположен данный элемент (так же известен как "пиксель").
    img src="URI#1.px.png?r=123123&pr=false&u=URI#2"

    Одно-пиксельное прозрачное изображение с url (utm) параметрами.
    style="position: absolute; bottom: 0px; right: 0px; width: 0px; height: 0px;"

    Расположение пикселя так, чтобы он не мешал посетителям и не ломал верстку сайта.

    Принцип работы:
    1. JS на сайте создает этот пиксель с url хоста аналитики и необходимым url (utm) параметрами.
    2. В момент п1 отправляется запрос на хост аналитики с данными из п1.
    3. В момент п2, хост аналитики видит запрос с определенного сайта, парсит url (utm) параметрами и таким образом собирает стату.
    Ответ написан
    Комментировать
  • Как растянуть соседний блок параллельно основному?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понял задачу:
    Ответ написан
  • Можно ли удалить файл theme.min.css из dev сборки?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    а менять его неправильно. так как бы временный

    Это не временный, а минимизированный и постоянный css файл для продакшен ветки (по крайней мере так они именуются).
    Можно ли удалить файл theme.min.css из dev сборки?

    Вообще, визуально, файл похож на итоговый минимизированный css файл для продакшена, НО! Зависит от контекста конкретного проекта, вполне можно случиться так, что:
    - Предыдущий разраб так назвал постоянный файл для dev ветки.
    - Файл участвует как часть в scss или js при сборке.

    Чтобы убедиться точно, перенесите проект в тестовую директорию и запустите dev ветку без этого файла, проверьте в консоли браузера, нет ли ошибок подключения этого файла, если все ок - то все ок.
    Ответ написан
  • Как правильно добавлять данные о кол-ве просмотров постов в базе данных WordPress?

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

    Или тут зависит от посещаемости? Чем больше она, тем больше проблем от этого способа будет?

    Все верно, нагрузка на сервер/бд будет прямо пропорциональна посещаемости.
    Хотел узнать, каким образом правильно обновлять количество просмотров в БД.

    Или данные где-то сохраняются и в базу добавляются потом, а не так часто?

    Все верно, но зависит от нагрузки:
    - Малая нагрузка: делаем стандартным образом, при обновление поста - обновляем счетчик в бд.
    - Средняя нагрузка: обновляем код так, чтобы он мог использовать транзитное кэширование wp (set_transient()).
    - Большая нагрузка: используем внешние очереди (например redis или rabbitmq), данные с которых снимаем и пишем в бд раз в N сек/мин.
    Ответ написан
    Комментировать
  • Как лучше настроить режимы в WebPack сборке?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    но я не могу понять что такое NODE_ENV и isDev

    Режим сборки, development или production.
    можно ли как-то задать режимы попроще?

    А что тут сложного? Если проект не маленький, то обычно создают 2 разных файла конфигурации вебпака, один под devevelopment, другой под production.
    Ответ написан
  • Нужен ли большой монитор для разработки?

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

    У меня на работе 2 монитора (ноут и 27 дюймов (не хватает, нужно 34)), расположены так:
    Расположение
    dual-screen-setup.jpg

    Дома 3 монитора (ноут, 34 дюйма (основной) и 24 дюйма), расположены так:
    Расположение
    csm_IMG_9410_46aee6a722.jpg

    Отдельную клаву не использую.
    Какие плюсы от этого?

    Субъективно, не нужно постоянно переключаться между окнами, а достаточно бросить взгляд на нужный дисплей, особенно, когда у меня открыто 5-10 окон.

    А ну и шея качается, не нужны лишние подходы в зале...
    Ответ написан
    Комментировать
  • Как запустить вебсервер с базой node.js в облачном сервисе?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    https://timeweb.com/ru/docs/virtualnyj-hosting/pri...
    Вы можете использовать Node.js на виртуальном хостинге в качестве консольной утилиты, но запуск в виде системной службы или веб-сервера будет невозможен из-за ограничений. Чтобы разместить Node.js-службу, подойдут наши виртуальные серверы.

    Надо было арендовать не shared хостинг, а vds или ds, далее выполнить эти шаги.
    Ответ написан
  • React-Select. Что может мешать выбору элементов с клавиатуры?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Как минимум, имеется несколько вариантов, кто мог повлиять на клаву:
    - Имеется ли aria-disabled=true? Попробуйте false.
    - Попробуйте
    - blurInputOnSelect
    - pageSize
    - onKeyDown
    Ответ написан
    Комментировать
  • Как предотвратить перенос компонентов на новую строку в React BootStrap?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    если бы это было написано на чистых гридах все бы было ок. но это Bootstrap 5

    Так прикрутите класс и допишите "чистых гридов":
    .items {
        grid-auto-columns: 100px;
        grid-auto-flow: column;
    }
    Ответ написан
    4 комментария
  • Стотит ли менять asp.net mvc на asp.net web api + nextjs?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    В первую очереди улучшить UI за счёт React библиотек

    Mantine как свежий воздух, после монстров в виде and и material.
    Но в общем, я не хочу тратить время на написание сервера на каком-то NodeJS и т.д.

    Нода не лучший вариант вложения своего времени, если же Вы уже не работаете с ней.

    В остальном, согласен с теми, кто сомневается. Давайте точнее, сколько денег Вы заработаете/сэкономите при всем это переписывание? Если нисколько или мало, то предлагаю - расстрелять преждевременных оптимизаторов.
    Ответ написан
    6 комментариев
  • Как сделать чтобы в скроле менялся контент?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    - У Вас 2 контейнера на странице (нужный Вам - второй), какой элемент по счету получает querySelector()?
    - Если Вы не знаете точно, зачем Вам получать элементы по классам, или это единственный получаемый такой элемент - используйте id.

    Ниже исправленный код, все работает. Вам необходимо добавить в верстке id="select" для списка, и id="output" для вывода:
    const list = {
        'Audi': 'Audi AG — немецкая автомобилестроительная компания в составе концерна Volkswagen Group, специализирующаяся на выпуске автомобилей под маркой Audi. Штаб-квартира расположена в Ингольштадте.',
        'Volkswagen': 'Volkswagen — немецкая автомобильная марка, одна из многих, принадлежащих концерну Volkswagen AG. Под этой маркой в 2007 году было реализовано 5 млн 20 тыс. автомобилей. Штаб-квартира — в Вольфсбурге.',
        'Opel': 'Adam Opel AG — немецкий производитель автомобилей. Штаб-квартира расположена в Рюссельсхайме, Германия. Компания была основана 21 января 1863 года и приступила к выпуску автомобилей в 1899 году. С 1929 года принадлежала концерну General Motors.'
    }
    
    document.addEventListener('DOMContentLoaded', () => {
        const select = document.querySelector('#select');
        const output = document.querySelector('#output');
    
        select.addEventListener('change', () => {
            output.textContent = list[select.value];
        });
    });

    КартинкО
    65f325a63b6b4624965081.png
    Ответ написан
  • Как использовать два контекста в методе правильно JS?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Используя стрелочную функцию:
    init() {
        this.targets.forEach((target, index) => {
            target.index = index;
            target.addEventListener("click", (event) => this.animateTab(event, this));
        });
    }

    Используя метод bind():
    init() {
        for (let i = 0; i < this.targets.length; i++) {
            this.targets[i].index = i;
            this.targets[i].addEventListener("click", this.animateTab.bind(this));
        }
    }
    Ответ написан
    3 комментария
  • Как составить букмарклет для поиска в Yandex из Google?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Так?
    javascript:(function(){var q=encodeURIComponent(document.querySelector('input[name="q"]').value);window.open("https://yandex.ru/search/?text="+q);})();
    Ответ написан
    1 комментарий
  • Как описываются апи роута поиска по имени и части имени?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А как описывается апишка, когда я хочу добавить вариант поиска по совпадениям с начала строки?

    Начинается на max, на max или vasya:
    api/users/search?name=max&startsWith=true
    api/users/search?name=max|vasya&startsWith=true

    Оканчивается, содержит или похоже:
    api/users/search?name=max&endsWith=true
    api/users/search?name=max&contains=true
    api/users/search?name=max&fuzzy=true

    Взято как база из Java, C#, JS, Python, в которых присутствуют аналогичные методы (как минимум startsWith и endsWith) при проверке расположения значения в строке.
    Ответ написан
    2 комментария
  • Как машина состояний AIOGRAM хранит данные?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если множество пользователей, скажем 500 вызовут её

    А Вы попробуйте, программист должен уметь тестировать.

    При использование await state.update_data(text=message.text) данные сохраняются отдельно, для каждого из пользователей.
    Важное условие, ни бд, ни MemoryStorage не используется.

    В aiogram по дефолту используется MemoryStorage (хранение в оперативе сервера).
    Ответ написан
    Комментировать
  • Картинки мутные только на сафари, есть выход?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Попробуйте следующие варианты:
    img {
        image-rendering: optimizeQuality;
    }

    или:
    <object type="image/svg+xml" data="img.svg" width="100" height="100"></object>

    или:
    <embed type="image/svg+xml" src="img.svg" width="100" height="100"/>
    Ответ написан
    1 комментарий
  • Платить или не платить за чужую картинку на своём сайте?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Мнение юриста компании: Оплатить 50 тыс защитникам законности, ибо суд те выиграют и будет еще хуже.

    Юрист передает бумагу на подпись директору, где изложены его рекомендации и план действий относительно настоящего дела, директор подписывает бумагу и оплачивает штраф. Вы либо слушайте юриста, либо увольте его, если он не компетентен.
    Мнение директора: эти деньги списать с того вебмастера, который 10 лет назад эту картинку из интернета опубликовал.

    Рекомендация выше. Юрист говорит, что все получится, проигрывает 1, 2, 3 дело и на выход с вещами. Либо, говорит что ничего не получится, а значит сразу закрываете вопрос.
    Я думаю, что подобный инцидент не повлечёт за собой никакого судебного разбирательства

    Рекомендация выше. Укажите, что возместите расходы, если Ваше предположение окажется ложным.
    Ответ написан
    2 комментария