• Как предотвратить перенос компонентов на новую строку в 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 комментария
  • Как можно обновить head в next.js?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Я бы использовал существующий компонент Head, вместе с контекстом и состоянием, а так же кастомный HeadProvider:
    // _app.js
    import {HeadProvider} from './HeadProvider';
    
    function App({Component, pageProps}) {
        return (
            <HeadProvider>
                <Component {...pageProps} />
            </HeadProvider>
        );
    }

    // HeadProvider.js
    import React, {createContext, useContext, useState} from 'react';
    
    const HeadContext = createContext();
    export const useHead = () => useContext(HeadContext);
    
    export function HeadProvider({children}) {
        const [headData, setHeadData] = useState({
            title: 'Init title',
            description: 'Init description',
            keywords: 'Init keywords'
        });
    
        return (
            <HeadContext.Provider value={{headData, setHeadData}}>
                {children}
            </HeadContext.Provider>
        );
    }

    // MyBestHead.js
    import Head from 'next/head';
    import {useHead} from './HeadProvider';
    
    export function MyBestHead() {
        const {headData} = useHead();
    
        return (
            <Head>
                <title>{headData.title}</title>
                <meta name="description" content={headData.description}/>
                {/* more head items */}
            </Head>
        );
    }

    // MyComponent.js
    import React, {useCallback} from 'react';
    import {useHead} from './HeadProvider';
    
    export function MyComponent() {
        const {setHeadData} = useHead();
    
        const handleClick = useCallback(() => {
            setHeadData({
                title: 'New title',
                description: 'New description',
                keywords: 'New keywords'
            });
        }, [setHeadData]);
    
        return (
            <button onClick={handleClick}>Update Head Data</button>
        );
    }
    Ответ написан
    1 комментарий
  • Как написать функцию для обновления списка комнат для single-page application?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понял вопрос, то Вам нужно чистить state между переходами?
    const prevPathname = useRef(pathname);
    
    useEffect(() => {
        if (pathname !== prevPathname.current) {
            dispatch(resetRooms());
        }
    
        prevPathname.current = pathname;
    }, [pathname, dispatch]);
    Ответ написан
    3 комментария
  • Где у меня ошибка в sqlite3?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Вы используете зарезервированное в sql слово order, для названия столбца. Если другого варианта нет, то можно обернуть его кавычками. Да и f строки не рекомендуется использовать при работе с sql (Почему не стоит использовать f строки в SQL Python запросах? и Как сделать безопасно строку с sql запросом и различными параметрами?).

    Попробуйте так:
    async def add_order(self, order, name, tg, number, amount, promo, date):
        with self.connection:
            return self.cursor.execute('INSERT INTO orders ("order", name, tg, number, amount, promo, date) VALUES (?, ?, ?, ?, ?, ?, ?)', (order, name, tg, number, amount, promo, date))
    Ответ написан
    Комментировать
  • Составить карту для парсинга и автоматизации ставок?

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

    подскажите какие темы нужно поучить

    Selenium
    selenium-stealth (это букмекеры, Вы у них не первый, а значит броня прокачена).
    есть начальные знания питона, остановился на списках, кортежах и тп

    Это не начальные знания, начальные знания - это весь python (от корки до корки), с малым количеством написанного кода.
    Ответ написан
    3 комментария
  • При параллельном тестировании не происходит запись в файл, что делать?

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    $link_bc = get_field('link-bc');
    $bc = get_field('bc');
    
    echo '<a href="' . esc_url($link_bc) . '"><span class="breadcrumbs__current">' . esc_html($bc) . '</span></a>';
    Ответ написан
    Комментировать
  • С помощью чего можно реализовать такую анимацию?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    В примере используется GSAP + обычный видос.
    Ответ написан
  • Как запустить скрипт на Python по расписанию с csv?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    - Cron (linux и macos).
    - Task Scheduler (windows).
    - Schedule python library (открыть csv, циклом пройтись по строкам, получить значение из ячейки со временем и запустить schedule).

    Первые 2 решения в приоритете.
    Ответ написан
  • Как использовать Instagram API в России?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    всякого рода VPN - банит.

    Не верно, мобильные и резидентские прокси вполне справляются.
    Нужно решение, при этом бесплатное.

    3$, вполне бесплатно.
    Ответ написан
    Комментировать
  • Как работают SSR компоненты?

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

    Верно, индексация стандартная.
    А с состоянием - на стороне клиента, и роботы их не видят.

    Не совсем. Поисковики индексируют динамику, но ограниченно, и она проиграет классической статике или ssr. То, что Вы видите динамику в топе - это не заслуга динамики, а недоработка конкурентов со статикой.
    Однако в компоненте самой страницы ArticlePage у меня в любом случае будет использование useState. Значит ли это, что вся страница будет отрисовываться на клиенте?

    Не совсем. Часть страницы будет отрисована на сервере, а часть на клиенте.
    И что поисковые роботы обойдут контент страницы стороной?

    Нет, контент в любом случае будет ранжироваться, но не лучше классической статики при прочих равных.
    P.S. Вопрос, возможно, глупый, но я правда не понимаю...

    К нексту у многих имеются вопросы, поэтому Вы не первый и уж тем более, не последний :)
    Ответ написан
    Комментировать