Задать вопрос
  • Как настроить блокировку экрана, чтобы были слышны звуки уведомлений после блокировки?

    @AlexVWill
    1. Ищи опцию Lock Instantly или какую то с похожим названием, у меня оно выглядит вот так:
    spoiler
    68d1498fb0182119884317.jpeg

    2. Аналогично, но раз у тебя и так 30 минут стоит, то это тоже будет работать
    3. Тут все очень сильно зависит от версии смартфона и его системы. На Samsung например нет какой то отдельной опции, которая бы запрещала звук уведомлений при заблокированном экране, и если системный звук включен, то звук будет независимо от блокировки. Хотя, через Routins можно настроить и его выключение, но это не опция, а отдельное правило. В общем проверяй, не убирается ли уровень системного звука на минимум при блокировке и нет ли каких то опций на этот счет. Можно на форуме 4pda.to спросить в разделе по твоему смартфону.
    Ответ написан
    4 комментария
  • На сколько практично разделять логику загрузки данных?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    "Правильность" зависит от точки зрения, требований, ограничений и прочих особенностей решения. Ваш код решает вашу проблему? Удовлетворяет вашим требованиям, предъявляемым к нему? Значит всё отлично. Если нет - то тут уже надо думать и искать более правильное решение по конкретным критериям конкретного проекта.
    Ответ написан
    Комментировать
  • Что за шрифт на экране блокировки Android 16?

    Steel_Balls
    @Steel_Balls
    Это собственный шрифт гугла, в общем доступе и за деньги такого не существует
    Ответ написан
    2 комментария
  • Как создать тип данных, представляющий смещение?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    (лево ИЛИ право) ИЛИ (верх ИЛИ низ)

    // Левое ИЛИ правое значение.
    type OffsetHorizontal =
      | { left: number; right?: never; }
      | { right: number; left?: never; }
    
    // Верхнее ИЛИ нижнее значение.
    type OffsetVertical =
      | { top: number; bottom?: never; }
      | { bottom: number; top?: never; }
    
    // Горизонтальные значения, с запретом использования с вертикальными.
    type OffsetHorizontalOnly = OffsetHorizontal & {
      top?: never;
      bottom?: never;
    }
    
    // Вертикальные значения, с запретом использования с горизонтальными.
    type OffsetVerticalOnly = OffsetVertical & {
      left?: never;
      right?: never;
    }
    
    // OffsetHorizontalOnly ИЛИ OffsetVerticalOnly.
    type Offset = OffsetHorizontalOnly | OffsetVerticalOnly;
      
    // Верно:
    // { left: 100 }
    // { right: 100 }
    // { top: 100 }
    // { bottom: 100 }
    
    // Неверно:
    // { left: 100, right: 100 }
    // { top: 100, bottom: 100 }
    // { left: 100, top: 100 }
    // { right: 100, top: 100 }
    // { left: 100, bottom: 100 }
    // { right: 100, bottom: 100 }

    Если понадобиться вариант с И/ИЛИ между осями, то можно так реализовать:
    // Левое ИЛИ правое значение.
    type OffsetHorizontal =
      | { left: number; right?: never; }
      | { right: number; left?: never; }
    
    // Верхнее ИЛИ нижнее значение.
    type OffsetVertical =
      | { top: number; bottom?: never; }
      | { bottom: number; top?: never; }
      
    // OffsetHorizontal И/ИЛИ OffsetHorizontal.  
    type Offset =  
      | OffsetHorizontal  
      | OffsetVertical  
      | (OffsetHorizontal & OffsetVertical);
      
    // Верно:
    // { left: 100 }
    // { right: 100 }
    // { top: 100 }
    // { bottom: 100 }
    // { left: 100, top: 100 }
    // { right: 100, top: 100 }
    // { left: 100, bottom: 100 }
    // { right: 100, bottom: 100 }
    
    // Неверно:
    // { left: 100, right: 100 }
    // { top: 100, bottom: 100 }
    Ответ написан
    1 комментарий
  • Подключние к базе данных из класса - насколько правильно?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    С ответами выше полностью согласен, DI через конструктор, авто-резолв зависимостей, возможно даже сервис контейнер с биндингами - это правильно, явное лучше не явного и тд.

    Но я предлагаю не мучаться, а просто сделать singleton-обертку над PDO
    И вызывать её там где нужно нафигачить запросы к БД

    class DB
    <?php
    class DB
    {
        private static $instance = null;
        private $pdo;
    
        private function __construct()
        {
            $host = 'localhost';
            $dbname = 'your_database';
            $username = 'your_username';
            $password = 'your_password';
            $charset = 'utf8mb4';
    
            $dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
            $options = [
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            ];
    
            $this->pdo = new PDO($dsn, $username, $password, $options);
        }
    
        public static function getInstance()
        {
            if (self::$instance === null) {
                self::$instance = new self();
            }
            return self::$instance->pdo;
        }
    
        private function __clone() {}
        private function __wakeup() {}
    }


    class Data 
    {
        public function __construct($param1, $param2)
        {
             // Получаем PDO напрямую
            $this->db = DB::getInstance();
        }
    
        public function example()
        {
            // $query = $this->db->query("SELECT * FROM table");
            // $query->execute();
    
            // $stmt = $this->db->prepare("...");
        }
    }


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

    Ge1i0N
    @Ge1i0N
    Пример из документации не работает?

    https://dev.1c-bitrix.ru/api_d7/bitrix/sale/classe...
    Ответ написан
    Комментировать
  • Почему не запускается session_start() на сервере от REG.RU?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Настраивайте в PHP логирование всех ошибок (даже незначительных) в лог-файлы, а потом смотрите сами лог-файлы, исправляйте причины ошибок.
    И причину отсутствия session_start() там-же увидите, однозначно!
    Ответ написан
    Комментировать
  • Почему не запускается session_start() на сервере от REG.RU?

    thewind
    @thewind
    php программист, front / backend developer
    Во-первых, зачем после каждой строки закрывать обработку php, а на каждой новой строке - открывать?)
    Во-вторых, может быть у вас на openserver скрыты ошибки и до начала сессии нет никакого вывода (output), а на хостинге вывод ошибок включен и перед попыткой стартануть сессию идет какой-то вывод данных?
    Ответ написан
    Комментировать
  • Что первым делом сделать сис админу на новом месте работы?

    @Drno
    учётки и схему сети
    схему ПО - где что куда и инвентаризацию
    Ответ написан
    Комментировать
  • Wi-fi адаптер - Windows против Android где проще?

    @66demon666
    Сетевой админ, АТС-админ
    Ну потому что для Андроид для свистка нужно собирать драйвер конкретно под твоё ядро и вшивать/подгружать в собственно ядро. Сам недавно столкнулся с желанием взять свисток через OTG подключить чтобы работал monitoring mode, в итоге забил из-за геморности
    Ответ написан
    Комментировать
  • Почему не срабатывает обработчик события в init.php?

    Ge1i0N
    @Ge1i0N
    У вас в вопросе уже написан ответ - потому что до обработчика не доходит, ошибку отбивает сам компонент до начала регистрации.
    Уже был недавно такой вопрос, не ваш ли? Там ответили что нужно передавать логин в скрытом поле при регистрации, дублируя в него почту или что вам нужно.
    Ответ написан
    2 комментария
  • Почему никто не может позвонить мне в Meet?

    Serax
    @Serax
    Бессистемный администратор
    Тут, вероятно, целый комплекс причин:
    • сервера гугла внезапно и очень сильно деградировали;
    • через гугл-мит регулярно совершаются мошеннические звонки пенсионерам;
    • появились российские аналоги, которые ловят даже на парковке.
    Ответ написан
    2 комментария
  • Почему с Ubuntu server невозможно достучаться до ru.archive.ubuntu.com?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А у вас IPv6 работает? Адрес то оттуда (2a02:6b8::183).
    Попробуйте добавить ключ для принудительного доступа по IPv4.
    sudo apt-get -o Acquire::ForceIPv4=true install ...
    Ответ написан
    8 комментариев
  • Отправка формы html?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    данные формы не поступают в таблицу.

    Что значит "не поступают"? Что делаете и что при этом происходит? В консоли что? Пока придется гадать...
    const pool = mysql.createPool

    Вижу подключение к бд, но проверок успешно ли установлено соединение - нет.
    app.post("/two.html", urlencodedParser, function (req, res) {

    Вижу использование urlencodedParser для обработки данных формы, но не вижу его объявления, попробуйте так (express 4.16.0+):
    // Подключение к бд
    const urlencodedParser = express.urlencoded({extended: false});
    // app.post эндпоинт

    if(!req.body) return res.sendStatus(400);

    Больше инфы:
    console.log("req.body);
    if (!req.body) return res.status(400).send("Данные не были отправлены");

    if(err) return console.log(err);

    Больше инфы:
    if (err) {
      console.error('Error:', err);
      return res.status(500).send('Server error');
    }


    const name = req.body.name;
    const usluga = req.body.usluga;
    const tel = req.body.tel;

    Так симпатичнее:
    const {name, usluga, tel} = req.body;
    < form action="/two.html" method="post">

    Возможно, в будущем, будет лучше указать другой эндпоинт для приема данных с формы?
    <form action="/submit-form" method="post">
    Ну и на всякий, в вашем случае, two.html должен лежать рядом с server.js.
    Ответ написан
    2 комментария
  • Как проверить доступность web ресурса из терминала Linux?

    @SunTechnik
    На выбор, в зависимости от сценария и задач:
    wget
    curl
    lynx ( спасибо AUser0)
    openssl (что бы проверить валидность сертификата)

    Сам по себе ping не может говорить о доступности ресурса (может не работать ping, а ресурс работать. И наоборот)
    Ответ написан
    7 комментариев
  • Почему Laravel 9 врет про ошибки?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Blade в этом плане сложен - он "компилируется" в настоящий php и кэшируется, поэтому реальный стек сложно сопоставить с исходником.

    Поэтому надо писать в нём минимум логики, а всю работу производить в контроллере. В шаблоне у вас не должно быть никаких $_GET и уж конечно никаких
    $cats=$site->qa("select * from categories where catid=0  order by name asc");
    Тогда они будут простыми и ошибку будет сложнее совершить и гораздо легче найти. А если она случится в контроллере, то там уже трейс будет нормальный.
    Использовать нормальный фреймворк, но при этом писать в нём код так, как будто на дворе до сих пор PHP 5.2 - это странно.
    Ответ написан
    2 комментария
  • В школьном вай фае заблокирован порт 9. Как обойти блокировку?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если ваша задача находится в рамках учебного процесса вашего учебного заведения - то вам следует обратиться к преподавателю с данным вопросом, а уже преподаватель либо сам откроет нужный вам порт либо переадресует вопрос ответственному лицу. Если ваша задача находится за пределами вашего учебного процесса - то в этом случае любая попытка проникновения в сеть учебного заведения и получения доступа к внутренним ресурсам будет являться нарушением норм безопасности сети и преследоваться согласно закону с соответствующими последствиями для вас, а так же ваших родителей, если вы являетесь несовершеннолетним.

    UPD2:

    Подключиться к определенным портам 47990 и 9 (первый для стриминга с экрана пк на телефон. Второй для запроса wake on lan, чтобы включить компьютер для последующего стриминга) с телефона на пк

    В обход администрации - никак.
    Ответ написан
  • Как сделать нажатие кнопки при парсинге в python?

    Vindicar
    @Vindicar
    RTFM!
    Да, можно.
    Используй консоль разработчика в браузере, чтобы понять, какой именно запрос отправляется на сервер. Обычно нужно выяснить метод (GET/POST), URL, параметры, тело. Либа requests и аналоги позволяют всё это задать, просто почитай доки по конкретной теме.
    Ответ написан
    Комментировать
  • Если указать шрифт в коде сайта, не загружая его, то лицензия не требуется?

    Считайте, что указание наименования шрифта - это как рецепт на сайте.

    Если в рецепте написано, что для выпечки пирожка требуется взять 100 грамм муки высшего сорта (Arial), это не значит, что вы передаёте читателю эту муку, которую вы где-то украли.

    Купить, украсть или отобрать у кого-то реальную физическую муку - это уже дело читателя. К тому же вы в своём рецепте даже пишете, что если у вас нет муки высшего сорта, то вы можете взять и любую муку другого сорта (sans-serif), а не красть Arial
    Ответ написан
    Комментировать
  • Как установить linux, чтобы загрузчик не трогал efi винды?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Верно, надо отключить физически все диски, кроме целевого и уже на него устанавливать линукс. Подробная пошаговая инструкция вот тут: Не будет ли конфликтов между виндой и линуксом, если линукс поставить второй системой?
    Обратите внимание на самый первый пункт - надо отключить быструю загрузку в винде сначала. Конфликтовать не будут, но эксцессы возможны - поэтому настоятельно рекомендуется делать регулярный бэкап образа обоих дисков. Однозначно проблемы с загрузчиком возможны, когда две разные ОС делят один загрузчик - уже были случаи поломки загрузчика при обновлении ОС как со стороны линуска, так и со стороны винды. Из наиболее стабильных дистрибутивов могу порекомендовать Debian + лёгкий рабочий стол xfce.
    Ответ написан
    2 комментария