Задать вопрос
  • Не видит значение input, как исправить?

    @alexalexes
    Вам нужно получить значение текстового поля так:
    var intxt = document.querySelector('input').value;
    Как раз это и будет строка, у которой можно посмотреть length.
    Ответ написан
    Комментировать
  • Есть ли готовое приложение для использования кода Yandex SpeechKit API?

    @alexalexes
    1. Стоимость решения будет зависеть от функционала конвертера.
    Если вы готовы сами вытащить аудиодорожку из видео, и вам только не хватает шага "файл аудио -> API -> файл с текстом", то цена реализации в виде скрипта, написанного на коленке, будет минимальна.
    Если вам нужно делать синхронные субтитры к видео, выделять фрагменты видео, где нужно добавить субтитры, редактировать субтитры после их получения. То это совсем другой функционал и другой ценник.
    2. Не знаком с предметной областью, нужно изучать аналоги приложений.
    Ответ написан
    6 комментариев
  • Не работает выбор видеокарты в ноутбуке?

    @alexalexes
    Windows 10 ?
    1) Нужно снести видеодрайвер от Microsoft, скачать видеодрайвер от GeForce (запомните версию этого драйвера), установить его.
    2) Запретить системе обновлять драйвера.
    3) В любой непонятной ситуации, если Win10 присылает крупные обновления с переустановкой драйверов, возвращать оригинальную версию драйвера, которую вы заблаговременно скачали.
    Ответ написан
  • Как правильно оповестить пользователю о занятых его данных?

    @alexalexes
    Любой способ приемлем для оповещения о неверном логине/почты при регистрации или авторизации. Главное, не скатиться до кейса "Вы ввели неверный пароль, который уже занят пользователем <логин/почта>".
    Ответ написан
    Комментировать
  • Как сделать дистанционное управление клешней робота с помощью мыши?

    @alexalexes
    1. Решаете кейс, как в браузере перемещать простой div элемент в виде квадрата по его элементу-контейнеру, растянутого во всю ширину и длину просматриваемой области страницы, при помощи событий mousedown, mousemove, mouseup на JS (реализуете простетский drag-and-drop).
    2. Когда у вас ваша поделка 1 находится в состоянии отмены захвата (отпускания мыши), передаете на сервер через AJAX координаты dx, dy - разностные координаты от точки захвата, до точки отпускания.
    3. На сервере конвертируете dx, dy в азимут и склонение поворота вашей клешни/турели, или чего там.
    4. Отправляете параметры поворота исполняющему устройству.
    Ответ написан
    Комментировать
  • Как оптимальнее всего организовать хранение тяжёлых данных и чтобы потом максимально быстро доставать оттуда данные для отчётов?

    @alexalexes
    Структура таблицы нормальна, только добавьте индекс на поле date_submitted и индекс на поле score и будет летать.
    Запрос для получения рейтинга на каждый день для всех пользователей будет примерно такой:
    with date_list as (/*Любым способом получаете непрерывный список дат интересуемого диапазона */)
    select A.date, u.user_id, nvl(A.max_score, 0) max_score /* nvl зависит от СУБД */
    from (select dl.date, u.user_id, tb_max_score.max_score,
              rank() over (partition by dl.date order by random() /*реализация функции random зависит от СУБД*/ ) rnk
    from (select us.date_submitted, max(us.scope) max_score
               from user_score us) tb_max_score  -- выясняем макс-ные баллы
    left join date_list dl on dl.date = tb_max_score.date_submitted
    left join user_score us on dl.date = us.date_submitted  -- выясняем, у кого макс-ные баллы
                                      and us.score = tb_max_score.max_score
    ) A
    cross join user u u.user_id = A.user_id -- прицепляем тех, кто возможно не участвует в рейтинге
    where A.rnk = 1
    Ответ написан
    Комментировать
  • Как сделать расчет по нескольким группам в SQL?

    @alexalexes
    Примерно так, но без понимания матрицы переходов статусов написать кейсы в каунтах не получится корректно с моей стороны.
    select t.user_id,
              count(*) as calls,
              count(case when t.old_status = 'Open' then 1 end) as opened,
              count(case when t.new_status = 'Assigned' then 1 end) as assigned
              ....
     from log_ticket_statuses t
    group by  t.user_id

    PS: Хорошо бы статусы вынести в отдельный справочник, не комильфо использовать его как строку.
    PPS: Почему выбрали модель использования колонок old_stasus/new_status, почему бы не делать трек истории через связанные строки id_next? Туда неограниченное количество переходов статусов можно запихнуть на одного пользователя и по маркеру id_next is null удобно составлять запросы все ли треки завершены, и какие текущие статусы у пользователей с задачами.
    history_id, ticket_id, user_id, status_id, next_history_id
    1, 1, 1, 1, 2
    2, 1, 1, 2, null
    3, 1, 2, 1, null
    4, 2, 2, 1, 5
    5, 2, 2, 2, null
    Ответ написан
    Комментировать
  • Как прервать счетчик и продолжить отсчет с полученного значения?

    @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
    В домашних условиях с большими БД вы можете столкнуться, если будете изучать какой-нибудь датасет к нейронке. В остальных условиях вы будете работать с крошечными базами данных, по меркам возможностей работы инструментов СУБД, просто вам нужно научиться ими пользоваться.
    Ответ написан
    Комментировать