• Как прервать счетчик и продолжить отсчет с полученного значения?

    @alexalexes
    LaMass.
    1) На сервере считаете, какое число отдать пользователю для первой загрузки страницы, с учетом суточной экстраполяции + случайное значение. Отдаете пользователю это число, запоминаете в сессии PHP, что вы отдали и в какое время. Если в сессии есть какое-то значение, и оно от текущих суток, то досчитываете у него дельту и перезаписываете в сессию, отдаете новое значение пользователю. Если сутки изменились, то пересчитываете с нулевой точки и сохраняете в сессию.
    2) На клиенте отображаете текущее значение, и через setInterval и ajax запрашиваете на сервере, какое следующее число показать. На сервере считаете значение по экстраполяции по дельте времени от текущего времени и сохраненного в сессии, сохраняете новое значение счетчика и новое время в сессии. Отдаете клиенту новое значение.
    Ответ написан
    Комментировать
  • Объясните пожалуйста работу этого кода?

    @alexalexes
    я студент 1 курса, на паре мы проходили указатели и динамическое выделение памяти

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

    @alexalexes
    Во время пробуждения инициализация второго монитора происходит не сразу, поэтому пропадает расширенный рабочий стол, и соответственно, все ярлыки переносятся на основное пространство первого монитора.
    А зачем вам ярлыки на расширенном пространстве? Туда только окна таскать и разворачивать, эта область по своей природе нестабильна.
    Ответ написан
    4 комментария
  • Если полю input[type="text"] задавать любую высоту, то текст будет всегда по центру. За счёт какого свойства это происходит?

    @alexalexes
    Потому, что вы используете не тот элемент управления, чтобы создать многострочное поле ввода.
    Для этого есть textarea.
    input[type="text"] используется только для однострочного ввода.
    Ответ написан
    Комментировать
  • С чего начать изучение мат анализа?

    @alexalexes
    Берешь учебник за 10-11 класс, и смотришь чего там по части "... начала анализа" - что такое производная, интеграл, предел.
    Потом берешь лекции мат. анализа за первый курс для студентов технического вуза и смотришь:
    - теорию множеств,
    - окрестность точки (пытаешься понять смысл теорем),
    - познаешь сущность понятия бесконечности (со знаком минус и плюс).
    - что такое, наконец, предел (по взрослому),
    - что такое функция.
    - изучаешь производные (по взрослому).
    - отвлекаешься на теорию рядов, плавно переходишь к сумме членов рядов, и далее выходишь на что такое интеграл (по взрослому).
    - в прикуску изучаешь различные виды интегралов и как решать разными методами уравнения в частных производных.
    - еще в довесок изучаешь операторы Лапласа и прочих бородатых мужиков.
    И забыл сказать, каждый пункт прорабатываешь решением зубодробительных задач из задачника Демидовича.

    Все - вы знаете матан.
    Ответ написан
    5 комментариев
  • Выход из спящего режима при подключении RDP, как это работает?

    @alexalexes
    На одной машине сетевая карта умеет (настроена в биос) сидеть на дежурном питании и делать машине wakeup, а на другой - нет.
    Ответ написан
    4 комментария
  • Стоит ли использовать стандарт 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 комментарий