• Как мне настроить .htaccess?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    добавить файлы статики в исключения. Хотя по идее у вас и так перенаправляться будут только отсутствующие файлы и папки...
    RewriteCond %{REQUEST_URI} !\.(css|jpg|gif|png|zip|rar|doc|xls|js|tif|tiff|docx|xlsx|ico)$
    RewriteRule ^(.*)$ index.php [L,QSA]
    Ответ написан
    3 комментария
  • Почему не работает оперативная память в двухканале?

    hint000
    @hint000
    у админа три руки
    Тайминги разные. Но давайте попробуем это победить. Если честно, я не обещаю, что получится, но почему бы не попытаться.
    Если BIOS материнки позволяет вручную рулить таймингами, то будем рулить.
    Запускаете в одноканале и смотрите, с какими таймингами запустилась одна планка и другая (ну а частота одинаковая, 2133, как вы говорите).
    Берёте максимальные тайминги (внимание, не путать с частотой, здесь чем больше тайминги, тем медленнее), запоминаете, у какой планки тайминги больше, у какой меньше. Нам нужно замедлить более быструю, т.е. с меньшими таймингами нужно их увеличить (по характеристикам Crucial быстрее, но вы это проверьте именно при частоте 2133). Ставите только более быструю планку, заходите в BIOS, добавляете ей тайминги, сохраняете, после успешной загрузки выключаете. Ставите вторую планку в двухканал, пробуете загрузиться. Если не получилось, то опять оставляете только более быструю и ещё по единичке добавляете тайминги, снова пробуете двухканал.
    Если всё это не поможет, то попробуйте вручную уменьшить частоту на одну ступеньку (сколько там... 2066 что ли будет?)
    Ответ написан
    1 комментарий
  • Как выполнить cURL запрос с ключом -u в PHP?

    Для параметра -u в PHP нужно передать CURLOPT_USERPWD
    https://www.php.net/manual/ru/function.curl-setopt.php

    UPD.
    curl_setopt($ch, CURLOPT_USERPWD, '12345:');
    Ответ написан
    3 комментария
  • В чем может быть проблема с cURL?

    @402d
    начинал с бейсика на УКНЦ в 1988
    & на мысли не наталкивает ? Что такое html entity знаете ?
    В общем или в базу муссора насовали или позже обработали строку.
    Есть два подхода (крайности), к тому как заносить данные в базу данных.
    1) Все проверяем по куче условий, при любой ошибке отказываемся.
    2) Пофиг - записываем все как есть, потом будем опасное экранировать.
    Ответ написан
    9 комментариев
  • Как из JSON забрать значения и передать их в html (php)?

    Ge1i0N
    @Ge1i0N
    Всё есть в документации.
    $array = json_decode($json, true)
    На выходе получаете массив. Страны будут лежать тут, выводите как нужно:
    $array['promocodeInfo']['countryDetails']
    Ответ написан
    5 комментариев
  • Пропал интернет на пк?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    В настройках "Панель управления" - "Сеть и интернет" - "Сетевые подключения", проверить, не выключили ли вы случайно проводное Ethernet подключение.

    Подключить ПК к роутеру другим, заведомо рабочим кабелем.
    Ответ написан
    Комментировать
  • Пропал интернет на пк?

    @Drno
    дело или в кабеле или в сетевой карте)

    Раз на ПК показывает что нет линка( не горит лампочка), то что то из этого...

    Проверять можно только опытным путем. Для очистки совести можно еще проверить порт на роутере, переключив кабель в другой LAN порт на нём
    Ответ написан
  • Как заставить работать кририлицу в dompdf 2.0.4?

    Adamos
    @Adamos
    появилась проблема что не читает кирилицу

    "Доктор, у меня проблема" - сказал старый партизан. И больше никакой информации не выдал!

    Ладно, погадаем на гуще. Если раньше все работало и ТС качал (откуда-то) некую "новую версию", можно предположить пальцем в небо, что к этой скачанной версии тупо приложены шрифты без кириллицы. В mPDF шрифт можно подложить буквально при генерации, указав путь. Как там в dompdf - надо гуглить.
    Ответ написан
    2 комментария
  • Как правильно писать тесты PHPUnit под ООП?

    Вам не надо тестировать приватные методы.
    Но как же тогда быть, вы скажете?
    Публичные методы используют эти приватные методы, так и проходит тестирование.
    Из этого вытекает, что класс должен быть небольшим и выполнять только одну задачу. Поэтому его приватные методы будут всегда задействованы при тестировании публичных.
    Но вы скажете, что у вас там в публичных методах обращения к базе данных и внешним API, как же тут быть?
    А быть тут просто: все зависимости вашего класса должны включаться в качестве аргументов конструктора, и через использование интерфейсов в аргументах. (Dependency Injection)
    Таким образом в тесте все зависимости класса заменяются теми же моками, и вы легко тестируете не просто сферического корня в вакууме (приватный метод), а именно то, что и нужно тестировать: функциональность самого класса, а не его частей, потому что в OOP именно класс является как бы атомом функционала.
    Но... если вам всё же таки очень надо, то можно это сделать при помощи рефлексии:
    Хорошей практикой является использовать всегда protected вместо private.
    Пишете себе такую вот утилиту:
    class PHPUnitUtil
    {
      public static function callMethod($obj, $name, array $args) {
            $class = new \ReflectionClass($obj);
            $method = $class->getMethod($name);
            // $method->setAccessible(true); // если PHP старше 8.1.0
            return $method->invokeArgs($obj, $args);
        }
    }


    И используете ее в тестах
    $returnVal = PHPUnitUtil::callMethod(
                    $this->object,
                    '_nameOfProtectedMethod', 
                    array($arg1, $arg2)
                 );


    Есть ещё вариант.
    // Оригинальный класс
    class Foo {
      protected function stuff() {
        // secret stuff, you want to test
      }
    }
    
    // Класс для тестов
    class SubFoo extends Foo {
      public function exposedStuff() {
        return $this->stuff();
      }
    }
    Ответ написан
    3 комментария
  • Какой стек технологий выбрать для разработки веб-приложения по учету успеваемости студентов?

    Adamos
    @Adamos
    Вам, молодой человек, надо не "что лучше", а "что потяну".
    Без фреймворка с никаким опытом шансов сделать что-либо в хоть сколько-нибудь разумные (не то что короткие) сроки тут нет. Так что выбор между Джангой и Ларой. Ни разу не нюхавшему Пых за Лару браться бессмысленно, остается Джанга. Но с опытом "поделал лабы" и отсутствием понимания архитектуры сайта (база, например, не указана вообще) заикаться про "короткие сроки"...
    Ответ написан
    6 комментариев
  • Температура видеокарты RTX 3070 - 81 градус при очень низком вольтаже - нормально ли?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    81 градус для нее вроде норм, но вот что я бы проверил:
    1. Надо понять что с охлаждением корпуса. Если корпус маленький и/или душный, то у вас будут как раз такие проблемы.
    2. 3070 карта не новая - возможно, пора заменить термоинтерыейсы.
    Ответ написан
    2 комментария
  • Температура видеокарты RTX 3070 - 81 градус при очень низком вольтаже - нормально ли?

    @Drno
    разбери и помотри. но такое впечатление что её надо обслужить
    Ответ написан
    Комментировать
  • Как переменную имеющую тип строка и содержащую координату перевести в числовой формат на php?

    Adamos
    @Adamos
    Если вам нужна строго определенная точность - забудьте про float. Для этой математики даже 0.7 - бесконечная дробь.
    Храните int, при вычислениях делите на миллион, при приведении в строку - втыкайте точку за шесть знаков до конца. Класс на три метода, написать и забыть проблему.
    Ответ написан
    Комментировать
  • Как поменять местами максимальное и минимально число в массиве?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    попробуйте представить, как оно будет работать, в замедленном режиме.
    Что, если массив не 5 чисел, а несколько миллионов, длиннющий?
    Хорошо бы его проходить только 1 раз. И по пути находить минимум и максимум, и их индексы.
    Как?
    Сначала и min и max это первое значение, а оба индекса 0.
    Далее с очередным элементом массива смотрим, больше ли он нашего "максимума"? Если да, то он становится максимумом, а текущий индекс — индексом максимума. То же с минимумом. Если меньше текущего минимума, то ...
    Прошли весь массив — ок, имеем минимум, максимум, их индексы.
    Меняем местами элементы по индексам.
    Ответ написан
    Комментировать
  • Как создать сборку для быстрого развертывания сервера с WP?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    1. Делаете дамп базы болванки вашего сайта и файлов WP
    2. Пишете ansible-плейбук, который:
    2.1 Настраивает все потроха ОС (устанавливает и обновляет все нужные пакеты, Докер, пользователей, создаёт каталоги и т.д).
    2.2 Устанавливает СУБД.
    2.3 Восстанавливает в СУБД ваш дамп.
    2.4 Разворачивает файлы WP в нужные каталоги.
    2.5 Запускает контейнеры с РНР, Redis и nginx.

    Всё!
    Ответ написан
    4 комментария
  • Как создать сборку для быстрого развертывания сервера с WP?

    @Drno
    Сделайте lxc контейнер и его разворачивайте. 1 раз собрали внутри него, и копируйте на новые сервера

    Ну либо докер...
    Ответ написан
    2 комментария
  • Что делать если не открывается диск D на Линукс?

    @va_k
    Нужно делать fsck. В зависимости от того какая там ФС. Если это ntfs, то чекать лучше виндой.
    Ответ написан
    Комментировать
  • Как правильно мержить в main из dev, если там есть незаконченные фичи?

    bingo347
    @bingo347
    Crazy on performance...
    Фича ветки делаем только от актуального main.
    Для проверки мержим фича-ветку в dev, но не удаляем.
    Когда одна или несколько фичей проверены и готовы, то делаем от main релизную ветку и мержим туда все готовые фичи, прогоняем тесты и если всё ок, то мержим релизную вету в main.
    Ну и полезно мержить main в фича ветки, когда main обновился.
    Ответ написан
    Комментировать
  • Как правильно мержить в main из dev, если там есть незаконченные фичи?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Решение более правильное - не делать так. Мержить надо когда все работает, а если есть неработающий функционал, то:
    - Либо комментировать функциональность которая еще не работает
    - Либо сделать эту функциональность доступной через фича-флаги. Эти флаги соответственно никто не должен выставлять
    - Либо мержить только работающие ветки, а та, в которой не работает/не закончена - в нее мержить уже готовую мастер ветку

    Мержить через cherry-pick - такое себе: одна ошибка и ты ошибся (фатально)
    Ответ написан
    Комментировать
  • Как не показывать пустые массивы?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) сделайте нормальные имена полям, что за rid, rname, ryavka, тут с большой буквы, там с маленькой... кроме того что половина полей транслитерацией кривой, так еще и префикс зачем то присобачили... С переменными та же фигня.
    2) База должна соответствовать 3 нормальной форме, соответственно 2 значения в поле вашей рявки быть не должно, это должны быть 2 отдельных поля (или вообще внешняя таблица, если там много значений предполагается).
    3) Соответственно в запросе нужно будет дать дополнительное условие по наличию второго поля, тогда ответ будет такой как надо.
    4) В вашем случае предполагаю что ответ вообще не приходит, или приходит пустой, так как при запросе из пустого результата в первой же итерации цикла все упадет как раз с описанной ошибкой.
    Ответ написан
    5 комментариев