Задать вопрос
  • Почему Левый стик на геймпаде тянет Правый стик?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Скорее всего непропай или кольцевые трещины. Попробуйте пропаять выводы потенциометров стика.
    Как вариант еще- проверить питание, добавить конденсаторы в питание, переключить на другой порт.
    Проверить на другом компьютере или на сайте проверки джойстиков.
    Ответ написан
    Комментировать
  • Как реализовать debounce для поля ввода, чтобы ограничить количество вызовов API в JavaScript?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Отключать и ставить таймер на выполнение каждый вызов
    const input = document.getElementById("search");
    let searchdDebounceTimerHandler;
    
    input.addEventListener("input", (e) => {
        clearTimeout(searchdDebounceTimerHandler); // Если ввод быстрый, удаляем выполнение функции каждый раз
        searchdDebounceTimerHandler = setTimeout(() => {
            fetchSuggestions(e.target.value);
        }, 1000); // Сработает через секунду от последнего нажатия
    });
    Ответ написан
    Комментировать
  • Как починить данную поломку своими руками?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Покупайте экран и меняйте.
    Экран стоит 1000р на али, клей b7000 рублей 300
    Проще и надежней - отнести в сервис
    Ответ написан
    Комментировать
  • Как узнать частоту работы радичастотного пульта ДУ?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    По 4*длинны антенны можно попробовать посчитать.
    f = c / lambda = (3*10^8) / (4*l_ant_m) = (7500 / l_ant_mm) MHz
    Ответ написан
    Комментировать
  • Как программно написать триггер, который будет запускать макрос, при условии редактирования определенной ячейки на определенном листе?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    Только я раз 10 этот код скидывал здесь.
    /**
     * Возникает при изменении ячейки
    * @param {e} event event-объект https://developers.google.com/apps-script/guides/triggers/events?hl=ru
     * [ ProgrammerForever (c) 2020 ]
     * @return Не возвращает значений
     */
    function onEdit(event) {
      var sheet = event.source.getActiveSheet();//Текущий лист
      var address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
      var row = event.range.getRow();      //Номер строки
      var col = event.range.getColumn();  //Номер столбца
      var newValue = event.value;            //Новое значение
      var oldValue = event.oldValue;        //Старое значение
      var userEmail = event.user.getEmail();//Пользователь(работает только при вручную назначенном триггере)
      
      if((col===1)&&(row===1)&&(sheet.getName==="Sheet1")){
        // Что-то делаем
      };
    };
    Ответ написан
    Комментировать
  • Какой набор отверток взять для электроники?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Если крутить много и несильно - Xiaomi электроотвертка. Полгода пользуюсь - часто выручает при ремонте мелкой техники.
    Для техники покрупнее купил рукоятку dexter в Леруа и сменные "биты". Качество неплохое, цена тоже.
    Ответ написан
    Комментировать
  • Какие ресурсы использовать для изучения embedded-разработки?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Навскидку:
    • видео: narod stream на youtube
    • чтение: чужие хорошие проекты
    • чтение: даташиты, эрраты и прочая документация
    • чтение: статьи в профильных журналах
    • практика: сделать свой пет проект
    • практика: помочь в опенсорсе
    • практика: взять диплом на тему

    книги, только если фундаментальные, с упором на теорию, или самые-самые свежие. По мне так в этой области слишком быстро развивается все.
    Ответ написан
    Комментировать
  • Как в столбце excel найти строки меньше 15 минут?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Нужно преобразовать в нормальный вид Excel-времени/продолжительности. А потом уже можно фильтровать. Или фильтровать той же формулой, на месте. В формулу можно добавить аналогично недели, сутки, месяцы, декады и прочее-прочее, по аналогии
    =arrayformula(let(
      author;         "@ProgrammerForever";
      header;         "Продолжительность";
      ВремяБуквами;   $A$2:$A;
      
      dd;             ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+(?:дней|день|дня)");0);
      hh;             ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+час");0);
      mm;             ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+мин");0);
      ss;             ЕСЛИОШИБКА(REGEXEXTRACT(ВремяБуквами;"(\d+)\s+сек");0);
      
      time;           dd + hh/24 + mm/(24*60) + ss/(24*60*60);
      
      vstack( header; ЕСЛИ(ВремяБуквами="";;time))
    ))
    Ответ написан
    Комментировать
  • Можно ли задать счетчик, где условием является ссылка на ячейку?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Получать формулы, парсить и надеяться что там нет INDIRECT()/пользовательских функций/именованных диапазонов и т.п.
    В чём вообще исходная задача? Я такое делал когда в таблице на 100к формул появился цикл, пришлось писать скрипт который строит граф связей по ячейкам.
    Ответ написан
  • Как избежать дублей сообщений при отправке сообщений через Телеграм бота?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    Обычно проблема что onEdit не каждый раз срабатывает и события пропускаются, а тут наоборот.
    По факту каждое редактирование генерирует onEdit событие. Если надо отправлять реже - определитесь по какому параметру фильтровать эти события - по данным, по времени или еще как-то.
    1) Сделать очередь на отправку, отправлять пачкой по достижении какого-то количества
    2) Или запускать раз в минуту отправку
    3) Или блокировать документ на время отправки, если возникает гонка
    Или любая другая логика, сейчас непонятна проблема.
    Ответ написан
    Комментировать
  • Как сделать нужные строки по фильтрам с отображением на новом листе?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Храните данные и правьте в 1/2. Смотрите фильтр в 3. Так можно обойтись только формулой FILTER.
    Если править и в 1/2 и в 3 - то делаете скрипт с функцией onEdit(event) которая будет таскать записи с 3 на 1/2.
    Ответ написан
    Комментировать
  • Как определить в какую сторону повернуты нормали в треугольнке, Внутрь или снаружу?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Скалярное произведение вектора нормали и вектора из противостоящей вершины до точки откуда идёт вектор нормали.
    A-I-B
    B-J-C
    C-K-A
    
    a*CI
    b*AJ
    c*BK

    Положительно = наружу
    Ответ написан
    Комментировать
  • Почему выдает ошибку Service Spreadsheets failed while accessing document with id sheet_id?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    1) Вынесете лист с которым работаете в отдельную переменную вне цикла, нет необходимости получать её каждый раз.
    2) Зачем нужен массив abc? item никак не используется.
    3) Сделайте задержку или SpreadsheetApp.Flush(). Скорее всего не успевает скрипт.
    4) Объединённые ячейки - зло и грабли.
    Ответ написан
    Комментировать
  • Как изменить формулу?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    =ЕСЛИ(ЕОШИБКА(НАЙТИ("сто";A1));"";"сто")&
      ЕСЛИ(ЕОШИБКА(НАЙТИ("один";A1));"";"один")&
      ЕСЛИ(ЕОШИБКА(НАЙТИ("кря";A1));"";"кря")&
      ЕСЛИ(ЕОШИБКА(НАЙТИ("му";A1));"";"му")

    и т.п.
    Ответ написан
    Комментировать
  • Как в итоговую таблицу импортировать данные только из определенной таблицы из предложенного списка таблиц?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    соответствующей = ВПР()
    выгружаться = IMPORTRANGE()
    Заведите справочник, ищите по нему id таблицы. Это первый аргумент в IMPORTRANGE(). Второй - это имя_листа + диапазон
    =IMPORTRANGE(ВПР(город;{ВсеГорода\ВсеID};2;0);"Данные!A1")

    город = ссылка на ячейку выбора города
    ВсеГорода - столбец с данными по названиям городов
    ВсеID- столбец с данными по id таблиц
    Данные!A1 - что нужно импортировать
    Ответ написан
    Комментировать
  • Как настроить проставление даты при изменении соседней ячейки в Google Sheets?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    Чтобы дата не менялась, нужно копировать данные скриптом и фиксировать дату копирования.
    1) Получить все данные из источника
    2) Убрать все строки (по какому-то ключевому столбцу) которые уже есть в приёмнике
    3) Добавить дату копирования в каждую из оставшихся после фильтра строк
    4) Добавить эти данные в приёмнике
    Ответ написан
  • Как зафиксировать строку в Таблице, которая выводится через iframe?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Не могу утверждать, но скорее всего - никак. Или грузить только данные и рисовать таблицу самому.
    Как-то делал "бекенд табличный", заказчик как раз для сайта его использовал своего.
    Делайте doGet() функцию, в ней передача всей таблицы как json. А на стороне сайта получайте то и отрисовывайте таблицу с любым функционалом.
    Ответ написан
    Комментировать
  • Клавиатуру полностью парализует на несколько минут при нажатии клавиши Q. Предположения?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    99% что это проблема с самой клавиатурой или её шлейфом

    1) Продуть и почистить клавиатуру
    2) Разобрать, посмотреть на состояние шлейфа и коннектора шлейфа, может надо просто переподключить
    3) Попробовать нажимать не на клавиатуру, а на левый угол ноутбука - возможно это отвал чипа какого-нибудь и проблема не с Q, а с платой
    4) Попробовать загрузиться с live-usb и протестировать там
    5) Попробовать внешнюю клавиатуру
    6) Заменить клавиатуру
    Ответ написан
    Комментировать
  • Как разгадать конфигурацию мини-игры с ключами в Hamster Kombat?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    - = пусто
    a-z = плашки
    0 = key

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

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Судя по коду
    lastTime = 0;
    должно быть внутри
    if (millis() - lastTime > loopTime){
    // ...
    };

    Иначе оно раз в цикл принимает значение millis(), потом сразу проскакивает цикл и обнуляется.
    Ответ написан