Задать вопрос
  • Чем грозит CPU отсутствие поддержки Win 11 в перспективе?

    @alexalexes
    На каком-то этапе придется отключить автообновление, потому что какое-то из обновлений собьет патч, который обеспечивает совместимость. Далее, какой-нибудь софт не захочет устанавливаться, потому что у вас Windows 11 не определенной ревизии года и номера ревизии в году. И вы заморозите ОС на тех патчах и обновлениях, которые позволяют ей работать.
    PS: Можно не заморачиваться с тем, что вы покупаете такое устройство на 5-10 лет. Даже те устройства, которые совместимы с чем-либо в настоящий момент, могут быть не совместимы через 2-3 года. Это нормально.
    Ответ написан
  • Максимум герцов в сборке каков?

    @alexalexes
    Конфиг оптимален в вашей сборке. Каждый компонент будет работать на своих заявленных характеристиках.
    Ответ написан
    Комментировать
  • Показ рекламы без интернета?

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

    @alexalexes
    Потому, что у вас в коде происходит обход только по текущему уровню каталога $dir.
    Чтобы обход заныривал глубже, нужно создать рекурсивную функцию.
    Телом рекурсивной функции у вас будет:
    if ($dh = opendir($dir))
    {
    // код, который у вас в вопросе
    }

    А точка вызова для смены подкаталога:
    if (is_file($dir.$file)) {
    // код из вопроса
                }
    else if(is_dir($dir.$file))
    {
       $zip->addEmptyDir($dir.$file);
       // тут должен быть вызов рекурсивной функции, по которой вы передаете контекст $zip и $dir.$file (наверное, передача по ссылке)
    }

    В этом случае у вас будет рекурсивный обход каталогов в глубину.
    PS: Проконтролируйте дескриптор $zip на больших вложенностях и большим содержании файлов, нет ли переполнения выделенной оперативной памяти. Еще стек вызовов функций не бесконечный, тоже проконтролируйте глубину вызова.
    PPS: Бэкапить сайты в архив делается одной строчкой линуксовой командой, и засовывается в crontab. Будет работать надежнее. Эта не задачка для php-разработчика.
    То, что вы делаете - это просто тренировка на кошках, как работать с ZipArchive в PHP.
    Ответ написан
    4 комментария
  • На ноутбуке нет звука, возможно из за вируса, что делать?

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

    @alexalexes
    Не мучьте жесткий диск, от него не зря избавились, потому что он уже все.
    Ответ написан
    Комментировать
  • Подойдет ли видеокарта GeForce RTX 4060 Ti StormX к процессору Intel(R) Core(TM) i5-12400?

    @alexalexes
    Это типичная пара для бюджетной игровой сборки.
    Ответ написан
    Комментировать
  • Как решать задачу с графом?

    @alexalexes
    Алгоритм Дейкстры с перебором входных вершин и выходных вершин.
    Нужно оценить две целевые функции каждого маршрута между вершинами - минимальное суммарное время борьбы с гоблинами, вторая целевая функция - получение максимального числа монет. Найти между этими функциями оптимум.
    Длина каждого проложенного маршрута ограничена временем до обрушения подземелья.
    Если оптимум найден, то этот маршрут и есть решение данной ситуации в графе.
    Ответ написан
    1 комментарий
  • В чем различие между phpMyAdmin, MySQL workbench и Microsoft SQL Server?

    @alexalexes
    Начните с того, чтобы различать компоненты, которые ставят на серверную часть, где будет работать СУБД.
    И клиентскую часть компонентов - это те утилиты и драйверы, с помощью которых вы будете подключаться к СУБД.
    Microsoft SQL Server - насколько я помню, содержит сам СУБД сервер от Microsoft, который устанавливается на сервер, и утилиты, которые вы ставите на клиентскую часть, чтобы подключаться к серверу.
    MySQL workbench - это клиент MySQL (к MS СУБД никакого отношения не имеет) с графической оболочкой, который ставиться на любую настольную ОС.
    phpMyAdmin - это тоже клиент для MySQL (еще для другого форка СУБД - MariaDB), но работающий на PHP веб-сервере. Вы ставите сначала Apache - http-сервер, потом вам нужно поставить PHP-сервер, а потом включить расширение mysqli или PDO, чтобы скрипты phpMyAdmin могли использовать функции PHP для работы с СУБД. Ну, естественно, вам нужно установить MySQL/MariaDB сервер - а куда вы собственно будете подключаться.
    PS: На клиентской ОС не обязательно ставить графические утилиты, чтобы работать с СУБД. Достаточно установить ODBC-клиентский драйвер для работы с определенной СУБД, и открываете консоль - можете подключаться и писать запросы в режиме командной строки - дешево и сердито.
    Ответ написан
    Комментировать
  • Как создать слайдер крутящийся по кругу?

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

    @alexalexes
    Вот такие проектировщики плодят кучу таблиц под одну сущность.
    Яркий пример, под каждый год отчетности создают таблицы <название_таблицы>_<год_отчетности>.
    Не надо так, пожалуйста.
    В вашем случае, ситуация ровно таже самая.
    Добавьте в существующий статус задачи еще одно значение - "Архивный", либо создайте отдельный атрибут под этот признак. И, обязательно, проиндексируйте его.
    В бизнес-логике очень легко отсеять записи с неподходящим статусом.
    Если не хотите, чтобы бизнес-логика видела ненужные записи, делайте для нее свое view.
    Есть, конечно, случай, когда таблица становится очень большой, и нужно облегчить накладные расходы по ее хранению, то в этом случае настраивают партиции таблицы. Но это тонкое администрирование.
    PS: Если задача требует переноса данных в один присест и это не ошибка проектирования архитектуры, то это выполняется как любое неэлементарное действие с помощью транзакций в процедурном режиме выполнения SQL:
    - открываем транзакцию;
    - делаем insert с select;
    - делаем delete;
    - закрываем транзакцию.
    Только имейте ввиду, что в транзакции не должны прогонятся длинные выборки ни в insert-е, ни в delete. Это влияет на время блокировки таблиц, и сильно затратно по производительности, так как существенно перестраиваются индексы. Нужно аккуратно использовать такие процедуры (по правилу: "семь раз селекть, один раз делеть"), иначе получите залочивание на длительный период.
    Ответ написан
    Комментировать
  • Как получить QR код для СБП?

    @alexalexes
    Вам не нужно заходить на эту страницу.
    Просто берете библиотеку, которая преобразует ссылку в QR-код.
    И загоняете ссылку (буквально этот текст) в эту библиотеку:
    https://qr.nspk.ru/<идентификатор>?type=02&bank=100000000005&sum=1200&cur=RUB&crc=hQyb

    На выходе получаете файл изображения, его и используете.
    Ответ написан
    7 комментариев
  • SQL сумма продажи за день?

    @alexalexes
    В зависимости от диалекта SQL нужно округлить дату до дней или выделить только дату без времени, чтобы правильно сгруппировать сумму.
    Например, с помощью trunc так это делается в Oracle:
    select trunc(payment_date) as p_date, sum(amount) as daily_income 
    
     from payment
    
     where extract(month from payment_date) = 7
         and extract(year from payment_date) = 2005 -- про extract - тоже нужно смотреть, как это принято в конкретном диалекте SQL
    
    group by  trunc(payment_date)
    order by p_date desc
    Ответ написан
    Комментировать
  • Как перевести текст из заранее неизвестной кодировки в UTF-8?

    @alexalexes
    Если текст написан символами только из 7-битного диапазона (классический английский текст), то кодировку вы не определите. Он будет нормально читаться в любой кодировке. Вам все равно придется выбирать ту кодировку, свойственную текущему программному окружению.
    Ответ написан
    Комментировать
  • Выбор между видеокартами Nvidia и AMD для анимации интерфейсов — бюджетные варианты?

    @alexalexes
    Берите 1660 Super. При сравнимой стоимости с 1650 она будет более бодрее.
    Но учтите, что нужно будет присмотреться к мощности БП, если у вас никогда не стояло видеокарт потреблением больше 100 Вт (а при выборе RX 580 это в особенности тоже касается, среди названных она кушает больше всех электричества).
    Ответ написан
    1 комментарий
  • Как перебрать цвета радуги плавно по циклу?

    @alexalexes
    Отображайте цвет в компонентах HSV (не RGB!), и перебирайте компоненту H - это координата цвета на цветовом спектре.
    Ответ написан
    Комментировать
  • Как решить проблему сохранения данных?

    @alexalexes
    Вот поэтому никаких коробочных версий.
    Эксклюзивная часть скрипта должна находится на вашем сервере.
    Ваш сервер должен вести учетные записи пользователей, биллинг подсистему.
    Клиенты подключаются к вам по API и авторизуются у вас.
    По состоянию учетной записи определяется состав услуг, которые доступны на клиентской части приложения.
    Ответ написан
    Комментировать
  • Как с помощью js создать прямоугольное соединение двух и более элементов в SVG?

    @alexalexes
    Используйте SVG-элемент polyline, чтобы нарисовать ломаные линии.
    Однако, реперные точки, где линия ломается, вы должны сами вычислить.
    Ответ написан
    Комментировать
  • Как всё-таки хранить Ni-Mh?

    @alexalexes
    Лучше не хранить, а использовать.
    Вики:
    Аккумуляторы нужно хранить полностью заряженными в холодильнике при температуре не ниже 0 °C. При хранении желательно регулярно (раз в 1—2 месяца) проверять напряжение. Оно не должно падать ниже 1 В. Если же напряжение упало, необходимо зарядить аккумуляторы заново.
    Ответ написан
    Комментировать
  • Victoria. Есть ли смысл смотреть диск "Quick" тестом?

    @alexalexes
    Первые 100 Гб можно проверить подробным тестом.
    По крайней мере, у вас будет возможность создавать разделы, если начало диска не битое, а дальше как повезет.
    PS: При тестировании диск лучше положить на самую вибрирующую часть корпуса компа, либо закрепить его к корпусу без демпферов, тогда механические повреждения диска быстрее проявят себя, если они есть. В штатном режиме использования лучше избегать вибраций.
    PSS: Диски больше 4-8 Тб, как правило, с гелием. С течением времени он необратимо выветривается. Вы же понимаете, что покупаете расходник с жестко запланированным устареванием?
    Ответ написан
    Комментировать