Задать вопрос
  • Как картинку сделать кнопкой?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Потому что у вас скрипт обработки вкладок кривой.
    Можно поправить скрипт, или хакнуть немножко вот так:

    <button type="button" class="btnNavigation btnActive" data-tab="button_1">
          <img src="../img/image.png" alt="" srcset="" style="pointer-events: none;">
        </button>
    Ответ написан
    Комментировать
  • Process finished with exit code 0 Telebot Python в чем ошибка?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если бы вы отформатировали код, вам бы давно подсказали в чём проблема. Если бы вместо написание ботов сначала учебник по Python прочитали, заметили бы проблему сами.
    Ответ написан
    3 комментария
  • Как пофиксить пустое пространство при переносе строки?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    только так:

    <div class="items__item">Длинное&nbsp;описание&nbsp;на 11111111</div>

    .items {
      width: min-content;
    }
    Ответ написан
    Комментировать
  • Чем отличается функция от конструктора и где применять то или это?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    зачем нужны конструкторы если можно пользоваться функциями и реализовать тот или иной код с помощью функции без надобности вызова его через new

    Да, можем. Точно так же можем записать всю программу в один файл и в одну функцию, в которой использовать простой goto. Вместо продуманной структуры классов. Как и не использовать фреймворки, стандартную библиотеку или можно для скорости работы программы писать её на ассемблере или даже машинных кодах сразу. Вместо простого и понятного кода в несколько слоёв абстракций, который понятен, легко сопровождается и позволяет не писать очередной велосипед в миллионный раз. Аналогично и с new Foo() - это просто всем понятная абстракция, говорящая "эта инструкция создаст объект такого-то класса и выполнит все необходимые инструкции для инициализации объекта". Думаю, мысль вполне ясна и детального объяснения не требует?
    Ответ написан
    Комментировать
  • Как посчитать количество пересечений с помощью метода filter?

    @historydev Куратор тега JavaScript
    Редактирую файлы с непонятными расширениями
    Считаем множественное вхождение букв:
    const newWord = 'JavaScript';
    
    let glas = ['a','e','i','o','u'];
    
    const lettersCount = (word, letters) =>
      word.toLowerCase().split('').reduce((a, l) => (letters.includes(l) && (a[l] = (a[l] ?? 0) + 1), a), {});
    
    console.log(lettersCount(newWord, glas));


    P.S: Если нужно считать буквы в разном регистре отдельно, требуются изменения.
    Ответ написан
    Комментировать
  • Можно ли защитить 80 порт во время выпуска сертификата Let's Encrypt?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Вместо того, чтобы городить костыли со standalone certbot, просто добавьте локейшен в nginx и запускайте certbot в режиме webroot:

    server {
            listen 80;
            server_name _;
    
            location /.well-known/acme-challenge {
                    root /var/www/letsencrypt;
            }
    
            location / {
            return 301 https://$server_name$request_uri;
            }
    }


    А ещё лучше - вместо HTTP используйте DNS-валидацию.
    Ответ написан
    1 комментарий
  • Какой есть клиент SFTP для Windows с поддержкой sudo?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    //COPY01 EXEC PGM=IEBGENER
    Такого не бывает и быть не может. Вы очевидно один из тех, кто не понимает, как работает система безопасности в линухе? Что ж, патч Бармина решит все проблемы...
    Ответ написан
    9 комментариев
  • Почему не удается установить веб сокет соединение через телефон?

    Vindicar
    @Vindicar
    RTFM!
    ws://127.0.0.1:8000/
    Как по-твоему, что означает адрес 127.0.0.1?
    Ответ написан
    Комментировать
  • Почему не работает toLocaleString() после toFixed()?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    RTFM: Number.prototype.toFixed()

    Return value
    A string representing the given number using fixed-point notation.


    UPD:
    А как быть, если нужно сделать и toFixed() и toLocaleString('ru-RU')? К примеру, отобразить 1234.567 с точностью пять знаков и форматированием toLocaleString() (1 234,56700)?


    Использовать Intl.NumberFormat():
    new Intl.NumberFormat(undefined, { maximumFractionDigits: 5, minimumFractionDigits: 5 }).format(1234.567)
    > "1 234,56700"
    new Intl.NumberFormat('ru-RU', { maximumFractionDigits: 5, minimumFractionDigits: 5 }).format(1234.567)
    > "1 234,56700"
    Ответ написан
    Комментировать
  • Что делать если домен не отображает все DNS записи?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Вообще, dig считает что NS для citadel.crimea.ru -
    ns1.ht-systems.ru.
    ns2.ht-systems.ru.

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

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Просто закрываешь один path и рисуешь дырку в продолжение.
    Примерно так:


    На canvas это можно сделать с помощью параметра fill evenodd:
    Ответ написан
    5 комментариев
  • Как правильно передать строку из js в php при помощи ajax?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Ответ написан
    Комментировать
  • Как сделать окно, как на скрине?

    Wispik
    @Wispik
    Как сделать такое же окно

    для этого нужно использовать html+css+js
    Ответ написан
    Комментировать
  • Пишет ошибку SyntaxError: Non-UTF-8 code starting with '\x90', при этом все в UTF-8, как исправить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А при чём тут код вашего скрипта, если вы пытаетесь выполнить команду python.exe python.exe
    Ответ написан
    2 комментария
  • Как заставить Windows Server 2019 сохранять сеанс даже после отключения?

    @Drno
    Rdp активен только пока юзер подключен. При отключении сеанс продолжает работать, но без графики. Да и впринципе rdp работает без графики, насколько я знаю. Там «псевдографика»

    Нужна графика - запускайте VNC. Как раз и по ip позволит
    Ответ написан
    2 комментария
  • Как вставить код в PuTTY?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    правой клавишей мыши
    Ответ написан
    2 комментария
  • Почему не работают cookie на хостинге?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Извините, но это не функция, а туфта.

    Главная проблема всех программистов-любителей в отсутствии логики. Вы делаете утверждения, которые вообще никак не следуют из приведённой информации. А зачастую и противоречат ей.

    Чтобы утверждать, что не работают именно куки, а не что-то ещё, в "функции" не должно быть никаких "$keys", "$a" и "$_SESSION". Это самая простейшая, базовая логика. Если мы проверяем какой-то функционал, то проверяем только его. Не внося никаких дополнительных сущностей.

    Учитывая, что сессионная кука ставится, это означает, что куки работают. А не работает "функция". И разбираться надо с ней. С помощью отладки.

    В принципе, неплохо проверить содержимое всех этих $keys", и "$_SESSION". Но в первую очередь надо сравнить НТТР заголовки, устанавливающие и ту и другую куку. При проблемах с куками надо смотреть не в Storage, а в Request. Там написано, какие и как именно куки ставятся, и какие куки браузер возвращает. И вот там-то и надо смотреть. А если самому непонятно, то в своем вопросе привести все заголовки Set-cookie из запроса. А не "функцию".
    Ответ написан
    1 комментарий
  • Как сделать чтобы при прокрутке нав меню прилипало к верхнему краю экрана?

    @karminski
    Senior React.JS Developer
    Вообще-то прилипание гораздо проще сделать стандартным свойством CSS
    https://developer.mozilla.org/en-US/docs/Web/CSS/p...
    И не выдумывать велосипед
    Ответ написан
    Комментировать
  • Как провести реверс инжиниринг файлу типа png jpd svg?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Нужно меньше смотреть сериалы и больше читать документацию.

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

    Просто встроить код в картинку естественно невозможно, это просто набор данных, он не выполняется чтобы ты там не встраивал.
    Но может быть в какой-то программе, которая просматривает картинки, есть уязвимость, типа переполнение буфера, которой можно как-то хитро воспользоваться.
    Вероятность не нулевая, но она очень низкая.

    С другой стороны, судя по тому как ты задаешь вопрос, чтобы попытаться найти подобную уязвимость, тебе сперва нужно лет 5-10 изучать ассебмлер, с++ и алгоритмы работы с современной графикой. Ибо "найти уязвимость" выполняется долгим анализом а не "поиск по файлу"
    Ответ написан
    Комментировать
  • Как мне выводить из базы данных информацию по группам?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Я только недавно начал изучать программирование

    Это очень похвально. Только ради бога, учите его по нормальным учебникам, а не по видеокурсам, которые делали неграмотные дети на мамкином ноутбуке.
    Примеры говнокода

    • unction selectAll1 - это глупость и говнокод. У функции должно быть осмысленное имя
    • ($table1 , $table2 , $table3 , $table4 , $table5){ - это глупость и говнокод. Учитывая, что функция в любом случае уникальная для используемых таблиц, передавать их в качестве параметров имеет 0 смысла.
    • global $pdo; - это глупость и говнокод. Потом сами не будете знать, что откуда взялось. Все параметры надо передавать в функцию явно.
    • dbCheckError($query); - это глупость и говнокод. Специально проверять запрос на ошибки не нужно. Надо написать один общий обработчик ошибок для всего сайта и любых ошибок.
    • <?=$contacts['filial']?> - это говнокод и дыра в безопасности. В любых данных, выводимых в HTML, должны экранироваться спецсимволы HTML


    Поскольку вы используете PDO, то можете сразу получить трехмерный массив, сгруппированный по одному полю
    function listContactsByDepartment ($pdo){
        $sql = "SELECT 
        t3.department, -- обращаем внимание на эту строчку. Она должна быть первой
        t1.id,
        t1.full_name,
        t1.email_user,
        t1.tel_number,
        t2.filial,
        t3.department_email,
        t4.position,
        t5.number
        FROM contact_work AS t1 INNER JOIN filial_work AS t2  ON t1. id_filial = t2.id 
        INNER JOIN department_work AS t3 ON t1. id_department = t3.id
        INNER JOIN position AS t4 ON t1. id_position = t4.id
        INNER JOIN number_work AS t5 ON t1. id_number = t5.id
        ORDER BY `t2`.`filial` ASC , `t3`.`department` DESC ";
        return $pdo->query($sql)->fetchAll(PDO::FETCH_GROUP); # Обращаем внимание на эту константу
    }
    $contacts = listContactsByDepartment ($pdo);

    Из этой функции вы получите трехмерный массив, который выводится двумя вложенными циклами
    <?php foreach($contacts as $department_title => $department_contacts): ?>
                          <tr>
                            <td colspan=10><?=htmlspecialchars($department_title) ?>
                          <tr>
        <?php foreach($department_contacts as $row): ?>
                          <tr>
                            <td><?=htmlspecialchars($row['filial']) ?></td>
                            ...
                          </tr>
        <?php endforeach ?>
    <?php endforeach ?>
    Ответ написан
    Комментировать