• Как сохранить сформированный через php xml в файл на сервере?

    @alexalexes
    // тут нужно создать болванку для исходящего xml документа с помощью XMLWriter.
    // перед входом в цикл нужно создать болванку списка юзеров
    while ($reader->read()):
         if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'm:items'){
            //........
             $UserFields = [];
             $AcceptedPosition = [];
             while($data->read()){
                 switch ($data->name){
                   // ....................
                 }
                
             }
             // считали свойства юзера во входящем документе, тут нужно создать элемент юзера в исходящем и закинуть туда значения из $UserFields,  $AcceptedPosition 
         }
    // закончили читать список юзеров, нужно закрыть список юзеров в исходящем доке.
    // закрыть исходящий док
    Ответ написан
    Комментировать
  • Как уменьшить диапазон поиска для неизвестного числа?

    @alexalexes
    Бинарный поиск, делов-то.
    Число прыжков будет ~ log2(b-a), где [a, b] - ваш диапазон.
    Чтобы работал бинарный поиск, нужна функция, которая укажет в какое направление прыгать - в меньшую половину фрагмента диапазона, или в большую.
    Ответ написан
  • Как извлечь данные из бд в number_format?

    @alexalexes
    1. Получить значение из базы в integer, или в другом целом формате.
    2. Сдвинуть разряды числа так, чтобы корректно выделить "центы" в нужной валюте - разделить на 100, 1000, 10^6.
    3. С помощью функции number_format() вставить нужные разделители, чтобы радовало глаз пользователя (ну, или было корректное отображение, как это принято в определенной стране).
    Ответ написан
    Комментировать
  • Какие реальные комплектующие указаны?

    @alexalexes
    GF RTX260i4 ГБт
    Было бы похоже на правду для такого объема памяти (и то до 1 Гб), если указали GTX260 без всяких выкрутасов.
    RTX - появилось недавно, i - попытка написать ti, но до 560 линейки, ti не писали, ниже 260 был суффикс gt. Так что ни к селу, ни к городу абсолютно все показатели.
    Ответ написан
    Комментировать
  • Как получить соседние элементы?

    @alexalexes
    Если убрать синтаксический сахар, то получим такой код.
    // [...e.parentNode.children] -- преобразуем коллекцию узлов children в массив
    let child_count = e.parentNode.children.length;
    let child_arr = [];
    for(let i = 0; i < child_count; i++)
      child_arr.push(e.parentNode.children[i]);
    
    // .filter((child) => child !== e) -- фильтруем детей, которые не относятся к текущему узлу
    
    let filter_child_arr = [];
    for(let i = 0; i < child_count; i++)
    {
      let curr_child = e.parentNode.children[i];
      if(curr_child !== e)
        filter_child_arr.push(curr_child);
    }
    Ответ написан
    Комментировать
  • Не отображаются латинские символы и цифры на нектр. сайтах во всех браузерах, кто подскажет что делать?

    @alexalexes
    Проверьте по стеку, где несоответствие в извлекаемой кодировке.
    База данных -> Веб-сервер -> Браузер.
    По обилию диакритических знаков и съехавшего регистра есть подозрение, что где-то в стеке перепутали cp1251 и cp1252 кодировку (или другую cp125x - разные однобайтовые кодировки под разные европейские языки).
    Ответ написан
    Комментировать
  • Потребление ресурса записи ssd и как потребление памяти уменьшить?

    @alexalexes
    1. Не заморачиваетесь с ресурсами SSD или HDD. Они успеют морально устареть до того момента, как начнут проявляться признаки износа. Скорее вы захотите купить новый накопитель, потому что емкость/скорость, принцип расположения в новом корпусе вас не устраивает.
    Но не стоит сбрасывать со щитов тот фактор, что диски могут быть с заводским браком, либо могут произойти случаи, когда они выходят из строя. Поэтому резервная копия ваших личных файлов, которые не выкачаешь из интернета, должна быть всегда на другом носителе или компе.
    2. Штука называется - сетевое NAS хранилище. Используется как файловый сервер (+ в некоторых есть встроенная торрент-качалка), чтобы можно было смотреть фильмы из любого утюга в доме (телевизор, смартфон). Придуман, чтобы тупо был один общий источник данных, а не ради экономии ресурсов отдельных дисков.
    Ответ написан
    Комментировать
  • Нормально ли так делать на Vue?

    @alexalexes
    Можно, но у вас нет оценки, насколько потом вы эти компоненты будете переиспользовать.
    Если не знаете, как будут переиспользоваться отдельные элементы управления формы или интерфейса, реализуйте сначала всю форму как один компонент, а после того, как она будет в рабочем состоянии, подумайте, нужно ли что-то выносить в доп. компоненты. Основной критерий принятия такого решения - возможность дальнейшей поддержки новой конфигурации компонентов, чтобы можно было легко вносить новые изменения, и это не было больно.
    Ответ написан
    Комментировать
  • Возможно ли эмулировать данные о компьютере отдельно для определённой программы?

    @alexalexes
    Вероятно, проще использовать виртуальную машину, например, VirtualBox, переконфигурировав идентификаторы оборудования на образе виртуальной машины.
    Гуглите как ставить Mac OS, если у вас нету железа от Apple, там как раз хорошо расписаны этапы, как сделать виртуальное железо валидным для проприетарной ОС.
    Ответ написан
    Комментировать
  • Есть ли батарейка биоса на новых ноутах на материнке?

    @alexalexes
    Еще бывает впаяна в плату. Без паяльника не снимите.
    649fa6a9d33d1870926444.jpeg
    Ответ написан
    Комментировать
  • Здравствуйте, нужно связать два роутера на расстоянии ≈150 метров, как это сделать?

    @alexalexes
    Если роутеры подключены к одной электросети (на один силовой трансформатор), и, обязательно, к одной и той же фазе, то технология PowerLine может помочь.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы сайт закрывался или становилась белая страница при открытии консоли?

    @alexalexes
    Никак. Любая составляющая сайта, переданная на сторону клиента, может использоваться и изучаться клиентом как угодно и какими угодно инструментами (кто сказал, что на другой стороне будет браузер?), как в полезном ключе, так и в зловредном.
    Краеугольным вопросом безопасности вашего ресурса является не противодействие анализу той части, которая получает клиент, а сделать так, чтобы серверная часть не реагировала на запросы, которые не соответствуют бизнес-логике клиентской части (или считала ошибкой, выводя соответствующее сообщение).
    На стороне сервера нужно проверять валидность данных, получаемых от клиента, как по правам доступа (имеет ли право клиент совершать определенное действие), так и по содержанию (данные, приводящие к изменениям, не будут ли приводить к противоречивому состоянию базы?).
    Ответ написан
    1 комментарий
  • Как сортировать позиции в БД по заданным весам?

    @alexalexes
    Ну, если буквально понимать задачу, и у вас нужная характеристика имеет конкретное значение, то сортировать список нужно так:
    select *
      from <таблица/соединенные таблицы для выборки товара> Tab1
    where <условия фильтрации>
    order by
    case
      when Tab1.Приоритетное_свойство = :входная_приоритетная_характеристика
      then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
      else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
    end desc,
    <Другие условия сортировки (по дате добавления, имени и т.д.)>

    Если таких приоритетных характеристик несколько и они равнозначны, то можно сортировать по количеству подходящих под условие характеристик:
    select *
      from <таблица/соединенные таблицы для выборки товара> Tab1
    where <условия фильтрации>
    order by
    case
      when Tab1.Приоритетное_свойство_1 = :входная_приоритетная_характеристика_1
      then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
      else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
    end
    + -- очки приоритетов складываем
    case
      when Tab1.Приоритетное_свойство_2 = :входная_приоритетная_характеристика_2
      then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
      else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
    end
    + 
    -- ... и так далее все характеристики
     desc, -- 
    <Другие условия сортировки (по дате добавления, имени и т.д.)>

    Если приоритеты имеют иерархию, то через запятую в order by раскладываем case от важной характеристики, к менее важной.
    select *
      from <таблица/соединенные таблицы для выборки товара> Tab1
    where <условия фильтрации>
    order by
    case
      when Tab1.Приоритетное_свойство_1 = :входная_приоритетная_характеристика_1
      then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
      else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
    end desc, -- эта более важная характеристика
    case
      when Tab1.Приоритетное_свойство_2 = :входная_приоритетная_характеристика_2
      then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
      else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
    end desc, -- эта менее важная характеристика
    -- ... и так далее все характеристики
    <Другие условия сортировки (по дате добавления, имени и т.д.)>

    Можно комбинировать подходы, если есть куча характеристик на одном уровне иерархии.
    Ответ написан
    1 комментарий
  • Как подписать документ простой электронной подписью?

    @alexalexes
    Простая электронная подпись - это просто фиксация факта, что такой-то авторизованный пользователь сделал определенное действие (разместил файл, утвердил файл, сказал что "копия верна") над объектом (точные координаты размещения файла) тогда-то.

    Вам нужно любым способом создать реестр для фиксации таких действий, в которую будете записывать параметры:
    - идентификатор сессии пользователя;
    - идентификатор пользователя;
    - дата и время действия;
    - вид действия (размещение)
    - параметры объекта, над которым совершено действие (идентификатор файла или путь на диске, желательно md5 файла).
    - статус действия (осуществлено, отклонено, устарено, ошибка и т.д.)

    Для проверки подписи на файле вы пытаетесь по характеристикам файла, которые фиксируются в реестре, обнаружить актуальную запись действия (по статусу действия). Если такая запись обнаружена - значит файл подписан простой электронной подписью для данного действия.

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

    @alexalexes
    Учить основы CSS - с чем едят свойство position.
    В данном случае для вас неожиданностью является поведение свойства position: absolute; у контейнера .header__slider-text.
    Чтобы абсолютное позиционирование было относительно слайда, дайте контейнеру слайда .header__slider-item свойство position: relative;
    Ответ написан
  • Верстка сложных кнопок адаптив?

    @alexalexes
    64997c8329d1e269390254.png
    Если без svg, то можно сделать 3-мя текстурами.
    Кнопка будет фиксированной высоты, но безразмерна по горизонтали.
    Ответ написан
    1 комментарий
  • Код из файла *.js выполняется после формирования DOM?

    @alexalexes
    Порядок парсинга скрипта зависит от того, какой атрибут укажите у тега script. По умолчанию, парсинг начинается в синхронном режиме, как только загрузится закрывающуюся скобка } у лексически значимой корневой конструкции (функция, класс и т.д.), или просто встретится вызов функции.
    Ответ написан
    Комментировать
  • Почему низкая частота процессора под нагрузкой?

    @alexalexes
    Пора обслуживать систему охлаждения - менять термоинтерфейс (если была термопаста - использовать термопасту, если были термопрокладки - термопрокладки, и т.д.). Смотреть в каком состоянии плоскость площадок радиаторов - если не в плоскость выведена (кривой охлад), то нужно применить физическую силу, чтобы это исправить.
    Ответ написан
    4 комментария
  • Почему в данных таблицы все не по порядку?

    @alexalexes
    О порядке добавления записей не нужно заботиться.
    У СУБД нет задачи хранить записи в строгом порядке, ваша задача понять, удовлетворит ли вас результат сортировки, если при выборке задать сортировку по darg-w:
    select *
      from verbs
    order by darg-w

    Если хотите получать список в порядке добавления, то логично сортировать по id:
    select *
      from verbs
    order by id

    Если хотите особую сортировку, которая не подчиняется ни id, ни естественному весу строк, то можете ввести новую колонку и следить за позиционированием строк при выборки сами, или по каким-то другим правилам вычислять позицию:
    select *
      from verbs
    order by position -- дополнительное поле, в которое будете сами или программно вбивать порядок сортировки

    Или запрос может выдергивать сам определенные строки, давая им высший приоритет (можно написать любое правило, что требует бизнес логика, или что в голову сбредет):
    select *
      from verbs
    order by case when id = 100 then 0 else 1 end -- даем записи id=100 наивысший приоритет, в любом состоянии списка она будет на 1 месте!
            , id -- остальные записи отсортируются в порядке добавления

    PS: Важно, чтобы поля, которые применяются в сортировке, были проиндексированы (в схеме СУБД были созданы индексы по данным полям и они своевременно пересчитаны).
    Ответ написан
    1 комментарий
  • Можно ли как-то получить html до определенного тега?

    @alexalexes
    1. Получить объект дерева документа d1.
    2. Создать пустой объект документа d2.
    3. Получить непосредственных детей объекта d1.
    4. Перейти к обработке очередного ребенка d1.
    4.1. Ребенок не содержит в себе признаков искомой ссылки - да, идем на шаг 4.2, нет - идем на шаг 5.
    4.2. Копируем ребенка в d2, идем на шаг 4.
    5. Прекращаем обработку детей d1, преобразуем объект d2 в текст.
    Ответ написан
    Комментировать