Задать вопрос
  • Почему MATCH может выдавать неверный результат?

    Geleoss
    @Geleoss
    Любитель таблиц
    ПОИСКПОЗ(запрос; диапазон; метод_поиска)
    1 (значение по умолчанию) указывает функции ПОИСКПОЗ, что диапазон отсортирован в порядке возрастания. Функция возвращает наибольшее значение среди всех значений, которые меньше или равны запросу.
    0 указывает функции, что требуется вернуть точное совпадение. Применяется в случаях, когда диапазон не отсортирован.


    Вам же нужно в своей функции указать 0, =MATCH(B2;B:B;0).
    Ещё лучше, не "растягивать" формулу по ячейкам, а воспользоваться формулой массива:
    =ArrayFormula(IFNA(MATCH(B2:B;B:B;0)))
    Ответ написан
    2 комментария
  • Можете объяснить код на STM32?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    uint8_t led_state = 0x03; Данной командой мы завели переменную, которая равна 3

    В коде написано 2.

    что под этим подразумевается?

    2 -- это вот такое 8-битное двоичное число: 00000010. А если 2 заменить на 3, то число станет таким: 00000011. Улавливаешь связь с количеством и номерами включенных светодиодов?

    HAL_GPIO_WritePin(GPIOE, led_state << 8, GPIO_PIN_SET); Это я так понимаю мы сначала устанавливаем самый первый светодиод, т.е. 8, но на практике ни так.

    Нет, светодиоды на схеме подключены к битам 8..15, а led_state ты выше видел какое. Этой командой мы сдвигаем биты 0..7 led_state в биты 8..15.

    led_state = led_state >> 1 | led_state << 7;Эту строку совсем не понимаю.

    Это циклический сдвиг вправо на 1. Т.е. биты "выдвигаемые" вправо за пределы led_state появляются слева.
    т.е. двоичное число abcdefgh превращается в 0abcdefg | h0000000 = habcdefg.
    Ответ написан
    6 комментариев
  • Реально ли написать скрипт для конвертации?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Да, это реально. Не видно никаких препятствий. Плюс, Apps Script умеют парсить xml в JS, так что это возможно.

    Как примерно реализовать:

    1. Получить данные из файла EPG через UrlFetch
      const xml = UrlFetchApp.fetch(url).getContentText()

    2. Распарсить данные через XMLService const document = XmlService.parse(xml)
    3. Получить текущие данные из Таблицы SpreadsheetApp, getDataRange().getValues()
    4. Сравнить с полученными данными из xml
    5. Если есть разница, то обновить Таблицу SpreadsheetApp, getDataRange().setValues()
    Ответ написан
    2 комментария
  • Почему происходит ошибка импорта?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    К сожалению, это может быть особенность хранения данных на стороне Гугл.

    Варианты, что можно попробовать:
    • Сделать копию проблемной Таблицы и подключить копию
    • Разгрузить проблемную Таблицу, возможно в ней много расчетов
    • Попробовать уменьшить количество потребителей конечной Таблицы (пользователей)
    • Попробовать уменьшить количество потребителей проблемной Таблицы (IMPORTRANGEей)
    Ответ написан
    Комментировать
  • Форма перестала записывать данные в таблицу ответов. Как исправить?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Вы не должны никаким образом редактировать Таблицу. Редактируйте Форму, т.к. она источник данных.

    Выгрузите Форму в новую Таблицу и увидите все прежние данные. Новые ответы также будут приходить.

    Еще раз: не меняйте данные в Таблице на листе, куда привязана Форма - это неверное понимание механизма работы с данными. Соблюдайте ПРФ https://gist.github.com/oshliaer/45242e42d50a39b0a...
    Ответ написан
    2 комментария
  • Почему греется сборка стробоскопа?

    @pfg21
    ex-турист
    полностью согласен в предыдущим отвечающим, использовать гасящий резистор для питания силового светодиода от напряжения в 24 вольт это гигансткий расход энергии в тепло.
    посоветую поставить импульсный преобразователь с регулировкой выходного тока.
    обычно это платка с двумя подстроечными резисторами (один на выохдное напряжение, другой на выходной ток) к примеру (картинка кликабельна)
    6321100132.jpg
    он будет преобразовывать с КПД 96%, т.е. от ватта потребления твоего диода рассевиваться в тепло будет 40милливатт.
    есть чуть более дешевый вариант с LM2596 но там КПД будет чутка поменьше (смотри инфу по 2596)

    настраиваешь резистором "напряжение" выходное в районе 5 вольт чтоб не мешалось.
    потом замыкаешь выход на резистор в пару ом и настраиваешь резистором "ток" напряжение на резисторе не станет I*R - выходной ток настроен.
    Ответ написан
    Комментировать
  • Как отследить блокировку бота пользователями в телеграмме?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Приходит update со следующими ключевыми полями:
    {
         "my_chat_member": {
             "chat": {
                 "id": 5181600575,
             },
             "old_chat_member": {
                 "status": "member"
             },
             "new_chat_member": {
                 "status": "kicked",
             }
         }
     }
    Ответ написан
    2 комментария
  • BadUSB как написать скрипт для подмены днс сервера?

    NeiroNx
    @NeiroNx
    Программист
    Представь что есть только клавиатура. Какие кнопки на ней нужно нажать чтобы поменять DNS?
    <Win+R>
    cmd
    <Enter>
    netsh interface ipv4 set dnsserver "LAN" static none
    <Enter>
    netsh interface ipv4 add dns "LAN" 8.8.8.8 1
    <Enter>


    ну это все описать ввиде вызовов функций виртуальной клавиатуры которыми является ARDUINO
    Ответ написан
    2 комментария
  • Как удалить программу без обращения к пользователю?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Отследить трекерами реестра и файловой системы - что создается, обычно это папка в program files, ключи реестра в HKEY_LOCAL_MACHINE и ярлыки - и удалить это все скриптом, не забыв перед этим прибить возможно запущенный процесс этой программы.

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

    Ocelot
    @Ocelot
    Не важно, где имненно находится точка отскока, шарик должен подниматься на одну и ту же высоту. Можно сделать так: как только заметили, что шарик зашёл под границу, инвертируем его скорость, не меняя координаты.
    if (p.Pos.Y >= maxH && p.Velocity.Y > 0)
    {
        p.Velocity.Y *= (-1);
    }
    Ответ написан
    1 комментарий
  • Как синхронизировать рабочие столы на двух устройствах?

    @NortheR73
    системный инженер
    у пользователя есть VPN на ноуте.
    настройте ему на рабочем компе RDP - пусть через VPN подключается по RDP к рабочему компу и работает с документами
    Ответ написан
    Комментировать
  • Чем MSSQL занимает всю оперативную память?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно если хост отдается под сервер баз данных - то он отдается целиком и полностью.
    Как - женщина в браке. Не может быть варианта использования наполовину. Типа
    веб-сервер + еще БД.

    Оно понятно что Express - это такой пробник. Но этот пробник все равно в перспективе перерастет
    в БД. И зачем тебе размениваться на мелочах?

    База всегда брала столько памяти сколько есть. Потому вто буферный кеш БД или кеш блоков
    (его по разному называют) играет роль ускорителя для таблиц и индексов. Грубо говоря
    чем больше блоков в кеше - тем быстрее идет интеракция с data-files.
    Ответ написан
    1 комментарий
  • Не пойму работу Object.assign() для documentElement?

    IvanU7n
    @IvanU7n
    nothing interesting here
    1) а зачем Object.assign? document.documentElement.style = '--test: 1;' тоже работает, т.к. это прописано в спецификации:
    interface mixin ElementCSSInlineStyle {
      [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
    };


    2) просто объединить два выражения в одну через пробел
    Ответ написан
    2 комментария
  • Не пойму работу Object.assign() для documentElement?

    liaFcipE
    @liaFcipE
    > не понимаю, почему не работает 2й.

    document.querySelector('.layers__container').style.transform = `rotateX(${moveY})`
    document.querySelector('.layers__container').style.transform = `rotateY(${moveX})`


    Потому, что ты перетираешь значение style.transform двумя разными значениями, второе заменяет первое.

    > метод Object.assign инлайново прописал для documentElement АТРИБУТ style.
    Не совсем, он буквально сделал:

    document.documentElement.style.prop1 = "value1";
    document.documentElement.style.prop2 = "value2";

    Сам он ничего не прописывал, это уже логика работы DOM ноды и ее API.
    Просто прочти документацию к Object.assign, лучше в отрыве от DOM API, ибо у DOM API и его объектов есть свои магические методы, геттеры, сеттеры и прочее:

    65a456eb32d63620125871.png

    > console.log(Object.entries(document.documentElement)) то выведутся все пары ключ+значение

    У "простых" объектов - да, но все сложнее. Если посмотреть MDN описание для Object.entries, то можно увидеть, что он отдает только перечисляемые свойства: An array of strings representing the given object's own enumerable string-keyed property keys.
    Ответ написан
    1 комментарий
  • Как получить угол поворота руля с CAN-шины?

    Daemon23RUS
    @Daemon23RUS
    Одновременно и просто и сложно, зависит от "глубины погружения в тему"
    Для различных авто немного по разному, но принцип один и тот же, по ОБД данные доступны через запросы к соответствующему модулю (MRM,ABS,ESP ....) (думаю для разных машин по разному и с различной точностью, количеством инфо) скорость поворота руля и угол поворота (если память не изменяет с точностью до десятых долей) скорость вращения каждого колеса тоже с точностью до десятой доли км/ч. Но тут встает момент, что некоторые модули ABS при таких запросах становится в диагностический режим а свыше 30-50 км/ч выходят из него и перестают отвечать на подобные запросы. Но это не отменяет возможности подслушивать эти сообщения по CAN, например в приборку прилетает постоянно скорость. Но и тут от модели авто зависит, где-то это просто скорость, а где-то 4 значения по каждому колесу.
    И 2й вариант подслушивать эти сообщения на шине, когда блоки общаются между собой. И опять ньюанс, на разных машинах по разному, но например высокоскоростная шина моторного (мотор коробка абс) не флудит этим трафиком в ОБД, а на некоторых машинах наоборот все слышно по ОБД
    По частоте запросов точно не скажу, тоже вариативно, но минимум 1-2 запроса в секунду должно проходить, если запрашивать у блока, а если подслушивать, тот тут все от блока зависит. Вы же понимаете, что для своих целей внутри ABS получает данные напрямую с датчика, и в состоянии определить пропущенный сегмент на задающем диске а частота опроса в милисекндундах.
    Ответ написан
    3 комментария
  • Как заменить массив данных по условию нахождения точного значения из другого столбца?

    otdameskapizm
    @otdameskapizm
    Помог ответ? Отметь решением...
    Можете составить новый столбец и прописать в нем следующую формулу:

    =IFERROR(VLOOKUP(B2;$A$2:$B$4;2;0);E2)

    где:
    B2 - на данном месте будет значения доменов из правого списка
    $A$2:$B$4 - левый диапазон
    E2 - значения стран из правого списка

    (если я правильно понял Ваш вопрос)
    Ответ написан
    1 комментарий
  • Как наработать навык декомпозиции задач?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программирование - это как плаванье. Ты сколько книжек не читай - все равно программистом не станешь.
    Ты просто должен сесть и начать программировать. Прыгнуть в воду и плыть.

    По поводу декомпозиции. Обычно такой вопрос возникает когда кода много или когда задача большая.
    Эта декомпозиция идет параллельно со знанием таких частей ООП как Single-Responsibility, и структурных
    шаблонов проектирования
    . Начни это применять и декомпозиция сама собой пойдет.

    Чаще заказывай code-review своего кода и слушай советы старших коллег. Даже если обидно и стыдно.
    Слушай. Записывай и потом применяй.

    По поводу Алгоритмов и Структур данных. Почитай Никлауса Вирта. Он как раз такую книгу и написал.
    Ответ написан
    Комментировать
  • Есть ли не официальные аналоги миджорни апи?

    stable diffusion?
    Ответ написан
    Комментировать