• Стоит ли использовать стандарт wi-fi n одновременно в двух диапазонах?

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

    @alexalexes
    Вариант 1, решение на коленке, которое нужно здесь и сейчас.
    Написать костыль на JS в виде функции, которая возьмет подстроку из текущего url и произведет поиск нужной ссылки в меню с таким же href атрибутом, и поставит найденному html элементу класс активного элемента (или контейнеру ссылки - li элементу). Не забудьте прогуляться до первого уровня меню и тоже расставить классы активного элемента, если у вас меню многоуровневое.

    Вариант 2, как должно быть.
    У вас во входном скрипте index.php должен быть реализован примитивный роутинг url.
    Благодаря роутеру для каждой страницы вы точно можете получить путь из компонентов адреса.
    Например, site.com/page1/subpage2.
    От роутера вы легко можете получить путь к странице, хотя бы в таком виде:
    $page_path = ['page1', 'subpage2'];
    Также меню должно формироваться динамически, из какой-то сохраненной структуры, пусть структура будет статичной.

    $site_menu =
    [
       'page1' =>
       [
          'title' => 'Страница 1', 
          'child' => 
          [
             'subpage2' => ['title' => 'Субстраница 2', 'child' => []]
          ]
      ],
      'page2' =>
       [
          'title' => 'Страница 2', 
          'child' => []
      ],
    ];

    Примерная функция для формирования меню:
    // рекурсивная функция для получения сверстанного меню из структуры
    function get_main_menu(
       $curr_menu, //часть меню текущего уровня
       $level, // номер текущего уровня
       $menu_path, // путь к текущему уровню меню
       &$page_path // путь к текущей странице 
    )
    {  
      $out = '';
      if(count($curr_menu) > 0)
      {
        $out .= '<ul class="main-menu main-menu_level-'.$level.'">';
        foreach($curr_menu as $key_item => $menu_item)
        {
            $out .= '<li class="main-menu__item '
                     .($page_path[$level] == $key_item ? 'main-menu__curent' : '') // определяем текущий пункт меню
                   .'"><a href="'.$menu_path.'/'.$key_item.'">'.$menu_item['title'].'</a>';
            get_main_menu($curr_menu['child'], $level + 1, $menu_path.'/'.$key_item, $page_path); // рекурсивный вызов функции для прорисовки следующего уровня
            $out .= '</li>';
        }
        $out .= '</ul>';
      }
      return $out;
    }
     // получаем html-фрагмент меню по структуре
     $out_site_menu = get_main_menu($site_menu, 0, '', $page_path);
    Ответ написан
    1 комментарий
  • Есть ли смысл увеличивать объем видеопамяти в ноутбуке?

    @alexalexes
    Ведь если не хватает видеопамяти, то видеокарта и так берет ее из ОЗУ.

    Встройка всегда берет память из ОЗУ. Вы только можете квотировать через BIOS, если такую настройку реализовал производитель, брать не более фиксированного размера и оставить выбор на откуп системы. Обычно, фиксируют размер видеопамяти, когда есть проблемы в работе ОЗУ, или хотят максимальный объем ОЗУ.
    От увеличения на максимум квоты видеопамяти на встройке вы вау-эффекта не получите. Там, где нужны большие объемы видеопамяти нужен и мощный видеопроцессор.
    Ответ написан
    Комментировать
  • OpenWRT:какую прошивку ставить на ZyXEL?

    @alexalexes
    https://4pda.to/forum/index.php?showtopic=551476&v...
    Старшие модели второго поколения Keenetic Series (чёрные) НЕ ПОДДЕРЖИВАЮТСЯ: Keenetic II, Keenetic Giga II, Keenetic Ultra (построены на процессоре Ralink RT6856, флешка на 16 Мб)
    Поддержка средних моделей второго поколения вскоре несколько улучшится, поддержка старших моделей не планируется (OpenWRT не поддерживает на данный момент не поддерживает процессор Ralink RT6856, на котором построены данные роутеры, и когда начнёт (и начнёт ли вообще) - неизвестно).
    Ответ написан
    4 комментария
  • Не могу установить АБСОЛЮТНО никакую другую ОС, что делать?

    @alexalexes
    Shsfhakkahh, когда появляется курсор - идет попытка прочитать вашу флешку (или другие загрузочные устройства по списку) и воспользоваться ее загрузчиком.
    Когда вы видите сообщение от загрузчика Windows, значит попытка прочитать загрузочные устройства прошла.
    Переберите все возможные варианты. В комплексе или по отдельности они могут давать такую проблему.
    1. Перезапишите другими методами или утилитами загрузочный образ флешки.
    2. Используйте другой загрузочный образ.
    3. Используйте другие загрузочные методы в биос (uefi, не uefi / secure, не secure).
    4. Используйте другую флешку или другой тип носителя.
    5. Изменить порядок загрузки устройств в загрузочном меню (чтобы точно была флешка в приоритете).
    Ответ написан
    Комментировать
  • Как объединить данные товара и фото товара в одном запросе?

    @alexalexes
    Можно, через join этих двух таблиц.
    Результатом запроса будет выборка:
    (product_)id, (product_)name, (photo_)id, (photo_)url
    1, 'Товар 1', 1, 'example.png'
    1, 'Товар 1', 2, 'example2.png'

    На стороне скрипта, который отправлял запрос SQL в СУБД, собираете на основе этой выборки объект с требуемой структурой, и потом перекодируете его в строку JSON.
    Ответ написан
    1 комментарий
  • Какие материалы по работе с большими БД наиболее полезны?

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

    @alexalexes
    Так-то подзапрос "знает" о таблице b_uts_crm_company из основного запроса в секции where (но не наоборот).
    UPDATE b_uts_crm_company 
    SET UF_CRM_1696186645 = (SELECT b_crm_company.REVENUE
                            FROM b_crm_company
                            where b_crm_company.ID = b_uts_crm_company.VALUE_ID)

    Есть еще момент, что подзапрос не должен возвращать больше 1 значения, тогда он выполнится корректно.
    Если что-то нужно вставить из связанной таблицы любой ценой, то используйте max( b_crm_company.REVENUE) или min( b_crm_company.REVENUE).
    Ответ написан
  • Можно ли писать большой desktop pet-проект на python в один файл?

    @alexalexes
    а код уже перевалил за 200 строк

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

    Нормально, если файл является сам по себе контейнер, и разработчик создал такую структуру классов внутри, чтобы мог быстро ориентироваться. Но вообще, не должно быть боязни создать отдельный файл под отдельный класс и что-то там подключить, так же как написать функцию.
    Может посоветуете книгу

    Ну, например, прочитайте книгу "Рефакторинг (кода на JavaScript). Улучшение проекта существующего кода". В ней как раз на примере монолитного проекта разбирается как что переделать, чтобы код проекта стал гибким.
    Ответ написан
    Комментировать
  • Такой ssd пойдет к материнке?

    @alexalexes
    Можно через адаптер pcie x1 to m2 (пример, https://aliexpress.ru/item/1005006040413155.html), но скорость будет ограничена 500 Мбайт/с, так же если вы бы выбрали ssd на sata интерфейсе. Но такой вариант имеет право на жизнь, если вы хотите начать апгрейд компа с трердотельника, чтобы потом купить материнскую плату, где будет m2 разъем.
    Ответ написан
  • Как передать данные js в php?

    @alexalexes
    1) Разобраться с клиент-серверной архитектурой вашей поделки. Научиться не путать код, который выполняется на клиенте, и код, который выполняется на сервере.
    2) Передать сведения от клиентской части вашего приложения на серверную по любой технологии: ajax, websocket или банальный редирект с get/post параметрами.
    Ответ написан
    Комментировать
  • Можно ли составить такой sql запрос?

    @alexalexes
    Если универсальный запрос составлять, который не зависит от состава свойств, то он будет многострочный, нужно собирать свойства в массив в той среде откуда обращались к СУБД:
    select 
      ar.id, 
      ar.name, 
      ar.date, 
      ar.text,
      ap.property_id,
      p.name as property_name, --поскольку у вас есть в базе реализовано универсальное хранение свойств, то почему бы не вывести имя свойства из справочника?
      ap.value as property_value
    from  articles as ar
    left join articles_property as ap on  ap.article_id = ar.id
                                                            and ap.property_id in (/* перечисляем все необходимые свойства */) 
    left join property as p on  ap.property_id = p.id -- справочник названий свойств

    Другой вариант запроса дает конкретные значения свойств, и довольно плоскую выборку, не требующую постобработки (одна строка - это строго одна статья). Но такой запрос не универсален по набору свойств.
    select 
      ar.id, 
      ar.name, 
      ar.date, 
      ar.text,
     (select value
        from articles_property as ap
      where ap.article_id = ar.id
          and ap.property_id = 10) as author
    from  articles as ar
    Ответ написан
  • Как сделать редирект с подстановкой на php?

    @alexalexes
    Вы используете PHP сервер, а пути в url ведут к статичным html, а не на index.php.
    Допустим, по index.html сервер выполняет некий скрипт в index.php (допустим, вы настроили htaccess).
    То в этом скрипте все компоненты адреса можно получить через $_SERVER и отредиректить, куда надо:
    $protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'];
    $path = $_SERVER['SCRIPT_NAME']; 
    /****/
    // Что-то сделать с $protocol, $host, $path а может что-то еще забрать из $_GET, $_POST, $_FILES....
    /****/
    header('location: '.$protocol.'://'.$host.$path);
    Ответ написан
  • Какой элемент на фото?

    @alexalexes
    Вероятно, вы разобрали блок питания.
    Можно по модели платы найти приблизительную схему БП, а можно самому нарисовать и догадаться по функциональному расположению детали, что она делает (но это старая школа - навыки утеряны).
    Обычно, в блоках питания четырехпиновые корпуса имеют диодные мосты (стабилизированный выход подписан "+" и "-"), либо оптроны в цепях обратной связи (обычно, ставятся на границе гальванических периметров).
    Ответ написан
    1 комментарий
  • Что делать если попап окно уже открыто при загрузке на сайт?

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

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

    @alexalexes
    F12 в браузере, далее вкладка "Сеть". Смотрите ответ на запрос /api/clients, там у вас что-то еще пришло помимо JSON.
    Ответ написан
    Комментировать
  • Как отключить url кодирование в браузере chrome?

    @alexalexes
    Они в адресной строке изначально в url-кодировке, и передаются тоже в закодированном виде на сервер. Это разработчики Хрома сделали, чтобы человекам удобно читалось. Вероятно, есть настройка, которая выключает удобство чтения адреса, но не наоборот.
    Ответ написан
    1 комментарий
  • Windows 11, не удается настроить мобильный хот-спот?

    @alexalexes
    TP-LINK TL-WN722N этих свистков tp link выпустил 2 или 3 поколения с разными чипсетами, не факт, что у вас в руках свисток того чипсета, с которым проблем не было в прошлом. Сам как-то покупал 722-й, мне нужен был для kali linux для режима монитора - не прокатила лотерея, попался не тот чипсет. Так что, нужно вскрывать непонятные свистки и смотреть, что внутри распаяно и уже принимать решение, повезло с чипом и можно без проблем пользоваться, либо пытаться найти правильные драйвера на чип, либо выбросить свисток.
    Воткнул китайский ноунейм, на чипсете MT7601

    А это как раз правильное решение покупать по чипсету, а не по названию бренда, хоть и Китай.
    Ответ написан
  • Почему от 16 GB VRAM нет большой производительности если шина 128 бит?

    @alexalexes
    Решил спросить в комментариях YouTube совета, сказали не брать 4060 или 4060 ti на 8 или даже 16 GB потому что там шина 128 бит урезанная, и по сути от PCIe x16 нет никакого толка, якобы "будет всё работать нормально но только как по x8".

    Что-то перепутали теплое с мягким.
    Когда говорят о битности видеокарты, то имеют ввиду ширину шины между GPU и VRAM (грубо говоря, больше чипов памяти на плате - больше битность). Этот параметр повышает эффективность параллельной работы задач уже загруженных в GPU. Это напрямую влияет на FPS и плавность его падения от простых сцен к сложным.
    Когда говорят про PCIe - то тут шина от GPU к CPU - этот параметр будет влиять, если приложению не будет хватать VRAM чтобы обновить сцену - в этом случае будут просадки FPS.
    4060 или 4060 ti на 8 или даже 16 GB

    Чип GPU чуть по производительней, кол-во чипов VRAM такое же, только объем чипов x2. Вот и вся разница.
    Там вроде чипы vram говорят распаяны с обратной стороны платы, причём на те же ножки, в простую, с обратной стороны текстолита, и какой в этом минус, если перегрева особого от этого не происходит

    Какие-то чудеса говорите. 4 чипа будет, не больше не меньше, а уже на них раскидывайте любую поддерживаемую емкость банок памяти для данных GPU.
    Как по мне, карта вроде хорошая, если учесть что это не замена 3060 а встройки 12 поколения, и если учесть что она и без DLSS потребляя 115 ватт лучше по производительности на 5-15% чем предыдущее поколение, за те же деньги

    Для тех кто хочет действительное что-то новое, не заезженное, после встройки, но не готов платить как за чугунный мост. Еще преимущество, что конструктивные особенности охладов в 4000-ой линейке более менее качественные, если сравнивать разных производителей, и между топами и бюджетов - можно по этому параметру брать любую карту и не беспокоится. Качество исполнения радиаторов не гуляет от Palit-а к MSI, как в 3000-ой линейке - если нужно что-то выбирать из этого поколения, то придется внимательно смотреть на этот параметр.
    Ответ написан
    1 комментарий