• Как найти, где вызывается метод в PHP?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    https://github.com/serbanghita/Mobile-Detect/blob/...

    public function __call($name, $arguments)
    Ответ написан
    1 комментарий
  • Возникает ошибка "Заполните все поля". Все заполнено. Что не так с кодом?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Вам надо переместиться из мира фантазий в реальность.
    В мире фантазий у вас "всё заполнено". Но суровая реальность говорит об обратном.
    Поэтому первым вашим действием должно быть принятие реальности.
    А вторым - проверка своего безупречного кода.

    Например.
    Обычно эту бессмысленную фразу выводят примерно таким говнокодом:
    if (empty($_POST['pole1']) || empty($_POST['pole2']) || empty($_POST['pole3'])) {
        die("Заполните все поля");
    }

    Для того, чтобы разобраться с этой неразрешимой проблемой, вам понадобится немного логики.
    Я уверен, вам вполне по силам сделать умозаключение вида, "Если этот код выводит ошибку, то как минимум одно из полей содержит пустое значение".
    Сделав такой логический вывод, его следует проверить.
    Например таким кодом:
    var_dump($_POST['pole1'],$_POST['pole2'],$_POST['pole3']):

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

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    До photos есть ещё /home/user/... прав на которую у пользователя www-data нет.
    Надо либо перенести файлы в другую директорию (предпочтительно) на которую у www-data будут права либо добавить его в группу user и убедиться, что у группы есть права на чтение.
    Ответ написан
    5 комментариев
  • Как расположить блоки с абсолютном позиционированием друг под другом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    <div style="position: absolute;">
        <div>qwerty</div>
        <div>123</div>
    </div>


    Если вдруг querty это типа шапка сайта фиксированная, то вместо absolute задать ей sticky

    <div style="position: sticky; top: 0;">qwerty</div>
    <div>123</div>
    Ответ написан
    Комментировать
  • Как устроен HTMX под капотом?

    vabka
    @vabka
    Токсичный шарпист
    У нас есть JavaScript на стороне клиента (библиотека)

    Да.

    которая посредством атрибутов общается

    Нет. Атрибуты сообщают библиотеке, что нужно делать: отправить запрос, изменить DOM, вызвать какой-то js итд.

    простеньким веб-сервером

    Не простенький, а самый обычный.

    инжектит HTML в страницу без перезагрузки страницы?

    Не только лишь. Да и инжект - это что-то стороннее, а тут вполне себе предусмотренное поведение.
    Ответ написан
    4 комментария
  • Как корректно передать данные из std.ArrayList в Slice?

    includedlibrary
    @includedlibrary
    Ну, как минимум, вы неправильно считываете строки.
    while (reader.streamUntilDelimiter(line.writer(), '\n', null)) : (line_no += 1) {
            defer line.clearRetainingCapacity(); // по выходу из цикла буфер будет освобождён
            ...
            // тут вы для нескольких строк используете один и тот же буфер
           // даже если не освобождать память, у всех 26 структур будет указатель на один и тот же буфер, но
          // с разными смещениями
            statements[line_no] = .{ .content = line.items[(i + 1)..] };
    }
    Ответ написан
    Комментировать
  • В чем проблема подключения к БД Oracle?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Вероятнее всего в том, что нужно jdbc-драйвер для Oracle использовать, а не для MS SQL Server.
    Ответ написан
    Комментировать
  • Как правильно прописывать подгрузку шрифтов для всех браузеров?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Загрузится только один подходящий шрифт.

    PS.
    Вам правда нужна поддержка IE9, и прочей древности? Достаточно подключить woff2. Это покроет браузеры с 2017 года выпуска. Можно добавить woff и поддерживать браузеры с 2011 года (кроме 4 андроидов, но их все равно уже нет).
    Ответ написан
    Комментировать
  • По какому принципу работает очистка памяти в String Pool?

    @Dementor
    программист, архитектор, аналитик
    str создает еще одну запись и ссылается на последнее значение

    Зануда мод: не переменная что-то создает, а JVM помещает новую строку в пул, если использовать создание строки литералом, а не конструктором. А потом ссылку на выделенную область памяти помещает в str

    В какой момент сборщик мусора решает очистить наш String Pool от лишних значений и почему он это делает не так быстро, что конкатенации строки считается дурным тоном?

    До Java 6 String Pool жили в отдельной области памяти, которую GC не чистят (т.е. единожды объявленная строка жила до завершения программы, даже без ссылок). Начиная с 7-ки пулл перенесли в основную кучу, где его может почистить GC. Не не забываем, что и сам гарбадж коллектор не сферический конь, а имеет с десяток реализаций, в каждой из которых есть свои настройки - не копал эту тему, но подозреваю, что можно настроить "неприкосновенность" String Pool даже в общей куче (но зачем?)

    Вторая часть вопроса бессмысленна. Забудь про строки. Пусть у тебя есть некий класс А. Твой вопрос эквивалентен следующему: Почему считается дурным тоном создавать множественные объекты класса А и каждый из них присваивать в одну и ту же переменную? Это медленно и расточительно к ресурсам!

    Upd. Тут подробнее: https://topjava.ru/blog/rukovodstvo-po-string-pool...
    Ответ написан
    3 комментария
  • Почему не получается заполнить базу данных sqlite через телеграмм бота?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    CREATE TABLE IF NOT EXISTS login_id

    INSERT INTO user_id VALUES (?);

    Ничего не смущает?
    Ответ написан
    3 комментария
  • Как исправить ошибку при переходе на php 8.2 Битрикс?

    Любые подобные ошибки совместимости в ядре решаются только обновлением Битрикса.

    Ну а так, для общего развития: там явно баг и передаётся не та переменная:
    - $context = stream_context_create($query);
    + $context = stream_context_create($query_options);
    Ответ написан
  • Является ли это корректной записью?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Не является. Массив используется на хранения списка значений, в нём нет никаких "имён".
    Значения с "именами" можно хранить либо в объекте, либо в специальном типе Map.

    Но при этом, если речь про значения примитивных типов, то при их добавлении в объект или Map теряется связь с изначальной переменной, откуда значение было взято.

    let a = 3;
    let b = 15;
    
    let one = {};
    
    one.a = a;
    one.b = b;
    
    a = 42;
    
    console.log(one.a, one.b); // 3, 15
    console.log(a, b); // 42, 15


    let a = 3;
    let b = 15;
    
    let two = new Map();
    
    two.set('a', a);
    two.set('b', b);
    
    a = 42;
    
    console.log(two.get('a'), two.get('b')); // 3, 15
    console.log(a, b); // 42, 15
    Ответ написан
    Комментировать
  • Как убрать точки при direction: rtl?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    text align стоит
    У вас точки кривые из-за direction, так зачем же вы пытаетесь их поправить через text-align? Надо direction и костылить у параграфов обратно на правильный.
    .our .container .list .item > p {
        direction: ltr;
    }


    Это без учёта того, что это всё надо переделывать без использования direction вообще.
    Ответ написан
    1 комментарий
  • Почему не выполненяется условие?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    console.log(typeof settings);
    console.log(typeof flag);

    Почти уверен что там будет строка в одном или обоих случаях. Поэтому проверка и не работает.
    Ответ написан
    1 комментарий
  • Не пойму работу Object.assign() для documentElement?

    liaFcipE
    @liaFcipE
    > не понимаю, почему не работает 2й.

    document.querySelector('.layers__container').style.transform = `rotateX(${moveY})`
    document.querySelector('.layers__container').style.transform = `rotateY(${moveX})`


    Потому, что ты перетираешь значение style.transform двумя разными значениями, второе заменяет первое.

    > метод Object.assign инлайново прописал для documentElement АТРИБУТ style.
    Не совсем, он буквально сделал:

    document.documentElement.style.prop1 = "value1";
    document.documentElement.style.prop2 = "value2";

    Сам он ничего не прописывал, это уже логика работы DOM ноды и ее API.
    Просто прочти документацию к Object.assign, лучше в отрыве от DOM API, ибо у DOM API и его объектов есть свои магические методы, геттеры, сеттеры и прочее:

    65a456eb32d63620125871.png

    > console.log(Object.entries(document.documentElement)) то выведутся все пары ключ+значение

    У "простых" объектов - да, но все сложнее. Если посмотреть MDN описание для Object.entries, то можно увидеть, что он отдает только перечисляемые свойства: An array of strings representing the given object's own enumerable string-keyed property keys.
    Ответ написан
    1 комментарий
  • Как корректно изменить права во всей системе, чтобы others не могли ничего делать?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!

    chmod -R 770 / - корректно будет?


    Конечно. Для перестановки.

    Никогда не делай ничего с правами от корня В дереве каталогов есть расставленные права, причем расставленные таким образом, что без них система работать не будет - начнутся "непонятные" ошибки, сервисы перестанут запускаться (а нынешнее "поколение" линукс-чайников только и в состоянии файл сервиса для systemd написать, не больше)

    Небольшой сервачок может содержать пару тысяч бинарей в /bin:/usr/bin (без графики), типичная рабочая станция (с графикой) - порядка четырех тысяч в /bin:/usr/bin:/usr/trinity/14/bin

    Задача непонятна.
    Ответ написан
    Комментировать
  • Как корректно изменить права во всей системе, чтобы others не могли ничего делать?

    Sanes
    @Sanes
    А система как будет работать с такими правами? Если паранойя, то делайте chroot. Или можете его просто заблокировать. Тогда какой смысл в этой учетной записи?
    Ответ написан
    3 комментария
  • Как корректно изменить права во всей системе, чтобы others не могли ничего делать?

    @SunTechnik
    Почитайти книги по Linux.

    Что бы пользователь мог войти в системы, ему надо выполнить набор команд.
    ( запустить шелл, прочитать и показать файл motd итд).

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

    Зачем пускать пользвателя в систему, если ему ничего делать нельзя ?
    Каталог /usr/bin на типичной системе содержит больше 600 файлов. (команд). Не устанете права выдавать?

    Если действительно надо так обрезать пользвателей в правах - почитайте про restricted shell.
    Совершенно непонятна конечная цель...
    Ответ написан
    Комментировать
  • Как корректно изменить права во всей системе, чтобы others не могли ничего делать?

    @AlexVWill
    chmod -R 770 / - корректно будет?

    если хочешь всю систему нахрен завалить чтобы она не работала - то да
    а ответ на твой вопрос - не надо ничего делать специально, что ты хочешь - система уже по умолчанию делает, не мешай ей работать
    Ответ написан
    Комментировать