Задать вопрос
  • Что делать если долго идет восстановление системы на 10 Виндовс?

    @derchik0
    Сделай загрузочную флешку с другого пк, и переустанови винду. По другому никак, если восстановление идет так долго, то скорее всего вы попали на критическую ошибку и она была в последней точке восстановления.
    Ответ написан
    2 комментария
  • Что происходит в коде?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Во-первых, внешний x это не то же, что внутри скобок. Можно назвать иначе:
    const x = ((w) => {
        w = 30
    })(10)

    Во-вторых, что же попадёт во внешний x? Ничего, undefined. Потому, что вызывается эта внутренняя функция сразу же, с w = 10, и ничего не возвращает.

    Отсюда и ошибка при попытке вызвать x()
    Ответ написан
    Комментировать
  • Как сделать выносную кнопку включения пк из переключателя от механической клавиатуры?

    @kalapanga
    "Обычная" кнопка включения ведёт себя точно так же как и кнопка клавиатуры - в свободном состоянии контакты разомкнуты, в нажатом - замкнуты. Так что проблем никаких.
    Ответ написан
    Комментировать
  • Как сделать выносную кнопку включения пк из переключателя от механической клавиатуры?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вообще я механический свитч от клавиатуры в руках никогда не держал, но на всех картинках в инете они нормально-размокнутыми показаны. Вот, например: https://habr.com/ru/post/140454/
    Это значит что кнпку включения можно напрямую заменить. Почему нет?
    Но если надо именно инвертировать сигнал, то можно воспользоваться транзистором и резистором. .Можно взять полевой транзистор любой почти и притянуть ему базу к нулю через кнопку. И через резистор в несколько килоом к пдюсу постоянного питания. А цепь сток-исток включить вместо штатной кнопки (только полярность не перепутать).
    Тогда размыкание притяжки к нулю приведет к открытию транзистора и включению компа.
    Ответ написан
    Комментировать
  • Чем отличается событие клика от button.click();?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Чем отличается событие клика от button.click()

    Событие вызывается когда пользователь нажмёт на кнопку.
    button.click() - программный тригер клика на кнопке без участия пользователя. То есть клик из под скрипта.

    Объект event, который пробросится в обработчик клика будет не одинаковый.
    Например, будет отличаться свойство isTrusted - у программного клика будет false.

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

    Как вообще сформулировать гуглу запрос на эту тему, что бы статью какую-то почитать

    - События и обработка событий в javascript.
    - Эвент луп, микро и макро таски

    Ну и обо всём в js стоит начинать поиск отсюда https://learn.javascript.ru/
    Например, события - https://learn.javascript.ru/introduction-browser-events

    Вот тут вроде описано почему разные результат между пользовательским кликом и программным. Рекомендую всю статью к изучению
    https://jakearchibald.com/2015/tasks-microtasks-qu...
    Перевод на хабре: https://habr.com/ru/post/264993/
    Ответ написан
    Комментировать
  • Как запустить двоичный файл на FASM (ассемблере)?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Отлично, теперь вам надо написать загрузчик бинарников для вашей ОС
    Ответ написан
    2 комментария
  • Как запустить двоичный файл на FASM (ассемблере)?

    freeExec
    @freeExec
    Участник OpenStreetMap
    1. Загрузить в память
    2. Передать управление этому коду
    Ответ написан
  • Заказывать CMS с 0 или использовать существующие?

    @mletov
    Составляете список того, что должно быть в проекте. А лучше не просто список, а написать полноценное техническое задание.

    Далее смотрите, что из требуемого функционала уже есть в CMS (хотя бы похожее или что CMS позволяет быстро реализовать), а что носит уникальный характер, заточенный именно под ваши нужны. Чем больше уникального функционала, тем больше плюсов в написании с нуля, ну и наоборот, чем проект более типовой (новости, статьи, каталоги, фотогалереи, формы обратной связи и т д), тем выгоднее брать CMS.
    Ответ написан
    1 комментарий
  • Почему Post возвращает null при ajax?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если на сервере в файл /var/log-amo3.txt записывается "null" - значит в переменной $lead хранится значение NULL, значит $lead=$request->get("leads"); присваивает NULL, значит $request->get("leads") возвращает NULL, значит нуууужно что...?
    Ответ написан
    7 комментариев
  • Регулярное выражение JS для замены тега и содержимого?

    Seasle
    @Seasle Куратор тега JavaScript
    Используйте DOM.
    const tempalte = `
    <span class="c56 c77 c98">текст</span>
    <span class="c101">текст</span>
    <span class="c111">текст</span>
    <span class="c12 c30 c98">текст</span>
    `;
    
    const parser = new DOMParser();
    const root = parser.parseFromString(tempalte, 'text/html');
    
    root.querySelectorAll('.c77, .c98, .c101').forEach((element) => {
        const content = document.createElement('b');
        content.append(...element.childNodes);
        element.replaceWith(content);
    });
    
    console.log(root.body.innerHTML);
    /*
    <b>текст</b>
    <b>текст</b>
    <span class="c111">текст</span>
    <b>текст</b>
    */

    Регулярками примерно так

    const template = `
    <span class="c56 c77 c98">текст</span>
    <span class="c101">текст</span>
    <span class="c111">текст</span>
    <span class="c12 c30 c98">текст</span>
    `.trim();
    const classNames = ['c77', 'c98', 'c101'];
    
    let result = template;
    for (const className of classNames) {
        const expression = new RegExp(`<([\\w-]+)\\s*class=".*${className}.*"\\s*>(.+)</\\1>`, 'gm');
        result = result.replace(expression, (match, tag, content) => `<b>${content}</b>`);
    }

    или
    const classNames = ['c77', 'c98', 'c101'];
    const expression = new RegExp(`<([\\w-]+)\\s*class=".*(${classNames.join('|')}).*"\\s*>(.+)</\\1>`, 'gm');
    const result = template.replace(expression, (match, tag, className, content) => `<b>${content}</b>`);

    Ответ написан
    1 комментарий
  • Какой Линукс подойдет для этого компьютера?

    ValdikSS
    @ValdikSS
    У вас 32-битный процессор? Из современных именитых x86 32-битных дистрибутивов осталось только два: Debian и OpenSUSE Tumbleweed. Остальные либо еще формируют 32-битные пакеты, но не выпускают установочные .iso (а значит, никто эти пакеты не проверяет), либо вовсе не собирают x86, либо многие пакеты в них сломаны, как в ArchLinux32.

    Рекомендую вам попробовать с Debian 12 (bookworm, в данный момент в testing), т.к. он достаточно свежий, а главное — в нём свежее ядро, в котором решена давняя проблема Linux — зависание при недостатке памяти.
    После установки, выполните следующие команды, чтобы увеличить отзывчивость:

    sudo apt install zram-tools
    sudo sed -i 's/^#PERCENT=.*/PERCENT=150/' /etc/default/zramswap
    echo 'w-      /sys/kernel/mm/lru_gen/enabled          -       -       -       -       y' | sudo tee /etc/tmpfiles.d/mglru.conf
    echo 'w-      /sys/kernel/mm/lru_gen/min_ttl_ms       -       -       -       -       1000' | sudo tee -a /etc/tmpfiles.d/mglru.conf


    Перезагрузитесь, затем пробуйте пользоваться системой.

    Если же у вас Pentium 4 из более поздних поколений, то можете установить 64-битный дистрибутив, из выбор значительно шире. См. статью по ссылке выше.
    Ответ написан
    Комментировать
  • Варианты символов тире?

    HardBot
    @HardBot
    back-end, front-end developer
    split(/[—,–,−,-,_,-]/g)
    Ответ написан
    7 комментариев
  • После того, как винда загрузила свои обновления появилось это?

    @Drno
    удалить приложение
    Ответ написан
    Комментировать
  • После того, как винда загрузила свои обновления появилось это?

    Удали myasus
    Ответ написан
    Комментировать
  • Ютуб-канал Simple Сode может ли научить яп C#?

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ставьте nginx на proxmox, и обратнопроксируйте внутрь виртуалок в зависимости от server_name.

    Или второй вариант, nginx принимает коннекты на стандартном 80-ом порту, а потом в зависимости от доменного имени редиректит на домен1:8080, домен2:8081, и т.д. А уже эти порты напрямую прокинуты внутрь виртуалок. Nginx тоже может быть в какой-нибудь из виртуалок, главное 80-ый порт завести в неё.
    Ответ написан
    Комментировать
  • Как добавить класс active, когда слайд активен?

    Nolis
    @Nolis
    it-гопник
    для начала нужно создать массив слайдов, потом сгенерить на его основе DOM.
    const slides = [
    { id: 0, img: 'путь', active: true },
    { id: 1, img: 'путь', active: false }
    ]
    После нажатия кнопки перехода, делай новый слайд активным, а все остальные переводи в active: false
    Другой вариант: тык
    Ответ написан
    Комментировать
  • Почему не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    if(!message.content.includes(settings.greetingMessageText) && !message.content.includes(autoRespData[i].command)) {
    Ответ написан
    2 комментария
  • Как округлить тысячные?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    окей гугл, js округление до десятых
    Ответ написан
    Комментировать
  • Как округлить тысячные?

    Если число больше тысячи, то делим его на тысячу, либо сотни и приписываем к строке " тыс.".
    Если чисто больше миллиона, то делим его на миллион и получаем цифру 1 и приписываем к ней " млн.".

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

    UPD!
    По случайности мне пришлось написать аналогичное, мне необходимо было округлять большие суммы в тысячи, миллионы и т.д. Я решил, что будет полезно поделится этим с вами.

    Написал небольшую функцию, выглядит следующим образом:
    function num(number) {
        function number_format(number, decimals, dec_point, thousands_sep) {
            number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
            let n = !isFinite(+number) ? 0 : +number,
                prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
                sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
                dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
                s = '',
                toFixedFix = function (n, prec) {
                    let k = Math.pow(10, prec);
                    return '' + Math.round(n * k) / k;
                };
    
            s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
            if (s[0].length > 3) {
                s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
            }
            
            if ((s[1] || '').length < prec) {
                s[1] = s[1] || '';
                s[1] += new Array(prec - s[1].length + 1).join('0');
            }
            
            return s.join(dec);
        }
    
        if (number <= 9999 && number >= -9999)  {
            return number_format(number, 0, '.', '');
        } else if(number <= 999999 && number >= -999999){
            return number_format(number/1e3, 2, '.', '') + ' тыс. ';
        } else if(number <= 999999999 && number >= -999999999){
            return number_format(number/1e6, 2, '.', '') + ' млн. ';
        } else {
            return number_format(number/1e9, 2, '.', '') + ' млрд.';
        }
    }


    Вызывается соответственно `num(integral/float)`
    Ответ написан
    1 комментарий