Задать вопрос
  • Как реализовать роутинг между элементами внутри модального окна?

    Erik_Mironov
    @Erik_Mironov
    Старые вопросы: *Dies from cringe*
    1. Роутинг внутри модалки: Можно использовать библиотеку react-router-dom даже внутри модального окна для обеспечения роутинга между различными экранами.

    Создайте отдельный <Switch> внутри модалки:
    <Modal>
        <Switch>
            <Route path="/modal/presets" component={Presets} />
            <Route path="/modal/edit/:id" component={EditPhrase} />
            <Route path="/modal/create" component={CreatePhrase} />
            <Route path="/modal/delete/:id" component={DeletePhrase} />
            {/* ... */}
        </Switch>
    </Modal>


    2. Компоненты экранов: Разделите разные экраны модалки на отдельные компоненты. Это позволит упростить их управление и сделать код более читаемым.

    3. Состояние: Вместо того чтобы использовать сложную систему контекстов, можно просто использовать локальное состояние (useState) или глобальное состояние (например, с помощью redux или mobx), в зависимости от ваших потребностей.

    4. Хуки: Избегайте избыточного использования useMemo, useCallback и прочих, если нет явных причин для оптимизации. Часто избыточное использование этих хуков только усложняет код и на самом деле может замедлить приложение.

    Псевдокод:

    Основной компонент модалки:
    function ModalComponent() {
        return (
            <Modal>
                <Switch>
                    <Route path="/modal/presets" component={Presets} />
                    <Route path="/modal/edit/:id" component={EditPhrase} />
                    <Route path="/modal/create" component={CreatePhrase} />
                    <Route path="/modal/delete/:id" component={DeletePhrase} />
                    {/* ... */}
                </Switch>
            </Modal>
        );
    }


    Компонент пресетов:
    function Presets() {
        const phrases = ... // получите фразы
    
        return (
            <div>
                {phrases.map(phrase => (
                    <div key={phrase.id}>
                        {phrase.text}
                        <Link to={`/modal/edit/${phrase.id}`}>Редактировать</Link>
                    </div>
                ))}
                <Link to="/modal/create">Создать новую фразу</Link>
            </div>
        );
    }


    Этот пример очень общий, но я надеюсь, что он даст вам представление о том, как можно структурировать ваш код. Если что-то кажется запутанным или избыточным, вероятно, так оно и есть
    Ответ написан
    Комментировать
  • Как пофиксить ошибку c++?

    Не пытаться устанавливать MySqlConnector.
    Это библиотека, которая предназначена для .NET, а не для нативных плюсов.

    Чтобы ей воспользоваться, тебе нужно сменить тип проекта на "C++/CLI ", но если тебе хочется C++/CLI, то лучше совсем переходи на C#.

    Если хочешь оставаться на C++, то тогда тебе следует поискать другие библиотеки для взаимодействия с mysql.

    PS: а если это новый проект, то лучше бери postgresql, а не mysql
    Ответ написан
    5 комментариев
  • Почему Version of PostgreSQL not supported, если версии компонентов последние?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    phpPgAdmin History
    ------------------
    Version 7.13.0
    --------------
    Released: November 7th, 2020
    Features:
    * Add support for Postgres 13
    * Add provisional support for Postgres 14
    Ответ написан
    1 комментарий
  • Как исправить ошибку при подключении библиотеки?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    but the server responded with a MIME type of "text/html".

    Сервер отдает html. Скорее всего 404. => неверный путь к файлу => Смотрите в консоли что запрашивается и что отдается.
    Ответ написан
    Комментировать
  • Как сделать фиксированную высоту сайта?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    В таких вопросах хорошо показывать код, а не скриншоты, но в общем случае если нам нужно вписать что-то очень большое на фон и сделать так, чтобы оно вылезало за края экрана, но не вызывало скролла нигде, то этой большой штуке делается контейнер с overflow: hidden. Внутри контейнера она может вылезать куда угодно, это уже не будет влиять на размер страницы в целом.
    Ответ написан
    3 комментария
  • Поиск-замена в html?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Вот так: https://codepen.io/yarkovaleksei/pen/NWJbYrL?edito...

    <div id="coub">
    <div class="coub" onmouseover="showName(this);">
    <a href="//coub.com/view/eeuyn" onclick="return frame(this);">
    <img src="https://3fc4ed44-3fbc-419a-97a1-a29742511391.selcdn.net/coub_storage/coub/simple/cw_image/f42a9c98bfd/f876723cdbb307c191e94/1472200578_00031.jpg"></a>
    <span>Watch on the road! #jimdrives</span></div>
    
    <div class="coub" onmouseover="showName(this);">
    <a href="//coub.com/view/2q1t7k" onclick="return frame(this);">
    <img src="https://3fc4ed44-3fbc-419a-97a1-a29742511391.selcdn.net/coub_storage/coub/simple/cw_image/27475bd9033/6a9fb30fb888702736ce6/%{version}_1615659518_00032.jpg"></a>
    <span>Everyone!</span></div>
    </div>


    const images = Array.from(document.querySelectorAll('img'));
    
    images.forEach((image) => {
      let src = image.getAttribute('src');
      
      src = src.replace('%{version}', 'small');
      
      image.setAttribute('src', src);
    });
    Ответ написан
    1 комментарий
  • Как ограничить количество запросов на сервер при создании поисковика?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Не то, чтобы ответ, но идея ответа. И если чо непонятно - могу в каментах поуточнять.
    Со стороны тыла (на C#) можно ограничить число параллельных запросов в целом к сервису безо всяких там плагинов, а саморучно сделанным велосипедом: семафором (например, SemaphoreSlim, как самым модным в этом сезоне). Либо сделать его статическим, либо (чтобы веру в IoC свято блюсти и модульные тесты делать) - запихнув в Singleton-сервис с теми же свойствами/методами, что и у семафора используются, и получать этот сервис через конструктор (передавать через DI - в бою, напрямую - в тесте).
    Для семафора(сервиса) устанавливаете максимальное число параллельно выполняемых запросов в качестве начального значения. При входе в обработчик захватываете семафор (Wait/WaitAsync, таймаут - по вкусу), при выходе (лучше - в блоке finally того try, который начинается после захвата семафора) - освобождаете (Release).
    Таймаут выставляете в зависимости от поведения фронта: какие у него у самого таймауты на запрос (в том числе - на повторение) и как он реагирует на задержку ответа и на всякие разные коды статуса HTTP в ответе. В целом, стратегии тут две. Первая - пытаться захватывать семафор с коротким таймаутом и в случае неудачи - возвращать другой код статуса, кроме ОК, чтобы сказать фронту, что он не прав. Вторая - тормозить лишние запросы таймаутами. Кароче, без знания вашего фронтового плагина тут точно не скажешь, а я его знать не знаю и знать не хочу.
    Ответ написан
    Комментировать
  • Почему C# не кроссплатформенный?


    Почему C# не кроссплатформенный?

    На этот вопрос нельзя ответить сразу по двум причинам:
    1. C# - это язык, а язык не может быть кросс-платформенным, так как платформы в разрезе языка и нет.
    2. .NET уже много лет как кросс-платформенный.
    Начиная с уже мейнстримного .NET 8, заканчивая mono и всякой экзотикой типа nano framework


    но при этом, это не так

    Ничто нельзя запустить на "чём угодно"


    но в неё вопрос кроссплатформенности решена абсолютно полностью

    Если вопрос "абсолютно полностью" решён, то почему я не могу запускать программы, написанные на Java, на любом железе?
    Ответ написан
    Комментировать
  • Насколько опасно использование конструктора Function?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    И конструктор Function, и eval, в теории позволяют без каких-либо проверок выполнить код, который мы не контролируем. Мы не можем проверить его на этапе разработки и не можем быть уверенными, что у пользователя будет выполняться именно он. Он прилетает откуда-то. И весь вопрос в доверии к источнику. Если кто-то (пользователи, контент-редакторы, или кто там еще может быть) может влиять на то, что прилетит - возникает простор для потенциальных атак на пользователей системы. Кто-то что-то куда-то написал, скопипастил, а потом это что-то у пользователя выполнилось. И кто знает, что оно с данными пользователя сделает. Тут каждый оценивает риски сам, но в общем случае выполнять непроверенный код действительно не рекомендуется.

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

    @alexalexes
    такой способ представляет угрозу для безопасности

    Потому, что если злоумышленник будет иметь возможность статично внедрять HTML-фрагменты в тело документа, не имея доступа к интерпретатору JS пользователя, то с помощью атрибута data-format-value он эту возможность получит напрямую, так как может вставлять любой код JS в этот атрибут, получая доступ к локальному хранилищу, кукам. Если по кукам он не угонит сессию пользователя, то хотя бы сможет составить его фингерпринт.
    Ответ написан
    7 комментариев
  • Как скрыть консоль в консольном приложении C#?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Смени тип выполняемого приложения с консольного приложения на оконное.
    В свойствах проекта с `Console Application` на `Windows Application`
    Ответ написан
    Комментировать
  • Как передать вес одного сайта другому?

    pro100taa
    @pro100taa
    1. Как правильно склеить домены?


    301 редирект - это основной инструмент. Еще, в Гугл Серч консоли войдите в Настройки - Изменение адреса - Выберите новый сайт. Это даст дополнительный сигнал Гугл.

    2. Если через год домен site-moscow.ru кто-то другой зарегистрирует и восстановит его из вебархива, не вернется ли вес сайта к этому домену?


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

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Купить Code Signing certificate\Выпустить self signed и подписать exe файл с помощью MS SignTool.
    В гугле забанили?
    Ответ написан
    1 комментарий
  • Как получить метку проверенного издателя при запуске своего приложения?

    @Kypidon4ik
    Фрилансер, Wordpress developer
    Комментировать
  • Как реализовать фон на шапку и блок ниже?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    градиентом на body или обертке
    Ответ написан
    1 комментарий
  • Как импортировать данные из .docx файла в JavaScript логику?

    Vindicar
    @Vindicar
    RTFM!
    Технически, DOCX можно прочитать - это ZIP архив, в котором лежат XMLки. Библиотека для чтения ZIP архивов под JS (в т.ч. браузерный) есть.
    Но реально проще будет использовать расширенную поиск-замену в Word, чтобы заменить красный цвет на уникальный символ или комбинацию символов перед текстом. Комбинация ^& означает "искомый текст", т.е. приведённый ниже пример вставляет знак процента перед текстом, написанным красным цветом.
    659eee532a796683149306.png
    А потом уже вставить в веб-страницу текст без форматирования и разбирать его.
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    А что тут непонятного?
    -Поклонение богу программирования
    -Умение чистить программистскую карму
    -Умение проводить обряды (вроде танцев с бубном)
    -...
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    otdameskapizm
    @otdameskapizm
    Помог ответ? Отметь решением...
    Все, что можно отнести, к "делай как надо, а как не надо - не делай"
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Не слышал о таком понятии. Скорее всего это HR развлекается
    Ответ написан
    Комментировать