Задать вопрос
  • Как настроить проставление даты при изменении соседней ячейки в 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(), потом сразу проскакивает цикл и обнуляется.
    Ответ написан
  • Как применить макрос к нескольким файлам в один клик?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Что-то вроде:
    Sub ProcessFilesInDirectory()
        Dim folderPath As String
        Dim fileName As String
        Dim wb As Workbook
        
        ' Путь к директории
        folderPath = "C:\temp\"
        
        ' Получаем первый файл с расширением .xlsx в директории
        fileName = Dir(folderPath & "*.xlsx")
        
        ' Перебираем все файлы в директории
        Do While fileName <> ""
            ' Открываем файл
            Set wb = Workbooks.Open(folderPath & fileName)
            
            ' Вызываем функцию macros3
            Call macros3()
            
            ' Сохраняем и закрываем файл
            wb.Close SaveChanges:=True
            
            ' Получаем следующий файл
            fileName = Dir
        Loop
    End Sub
    Ответ написан
    1 комментарий
  • Как автоматизировать процесс установки программ на 1000 компьютерв?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Если по-старинке, то ставится на одну машину весь софт, всё настраивается и делается образ акронисом.
    Установить им же, и по сети.
    Ключи должны быть в bios.
    Настройки машины и программ можно накатить обычным скриптом cmd

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

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Если в Google Sheet:
    =arrayformula(let(
      author;   "@ProgrammerForever";
      keys;       $A$2:$A;
      values;     $B$2:$B;
      
      uni_keys;      sort(unique(FILTER(keys;keys<>"")));
      joined_values; byrow(uni_keys; lambda(key; ЕСЛИОШИБКА(JOIN("; "; filter(values;keys=key)))));
      
      hstack(uni_keys;joined_values)
    ))
    Ответ написан
  • Сколько конкретно битов в одной секции озу?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Конечно они мелкие, а есть техпроцессы ещё мельче

    Не самая ёмкая флешка (на 128Гб), собранная из дискретных транзисторов размерами по 1мм(зернышко проса), будет занимать объём двухэтажного здания с размером комнаты более 10м*10м

    PS: периодически, когда учителем работаю, даю такую задачу ученикам, и с каждым разом даёт более мощный вау-эффект
    Ответ написан
    Комментировать
  • Почему при переносе элементов по DOM происходит их дублирование?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Из документации:
    Description: Insert every element in the set of matched elements after the target.

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

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    4 часа в Excel/GSheets это:
    =ваша_дата + 4/24
    Если время работы в пределах 1 рабочего дня, то проверяйте какой час выходит при суммировании. Если больше порога - то ставите верхний порог, а следующая дата - начиная с нижнего порога плюс остаток.
    Что-то вроде:
    =ЕСЛИ(ОСТАТ((A1+B1/24);1)>=18/24; ЦЕЛОЕ(A1) + 18/24; A1+B1/24)

    А если по сути - тут можно порыть в сторону систем счисления и простых линейных уравнений.
    Или сделать ещё проще - с помощью юзерфункции.
    Ответ написан
  • Почему не проходит отладку google apps script?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    let ss = SpreadsheetApp.getActiveSpreadsheet();
    let sheet = ss.getSheetByName("Маршрут");
    let data = sheet.getDataRange().getValues();
    Ответ написан
    Комментировать
  • Почему не удается получить данные методом video.get у некоторых ссылок?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    1) Попробуйте открывать не в браузере, а в постмане; там более чистый запрос - нет кук, можно контролировать заголовки, юзер-агент, реферер и т.п.
    2) Если приходит ответ вида:
    {"response":{"count":0,"items":[]}}
    то, скорее всего, и с токеном и со всем остальным всё ок - что-то не то с данными запроса или с самим ресурсом, который запрашивается. Это 200 ответ, а не ошибка.
    3) Как вариант для проверки - сервис может не отдавать данные по некоторым ip адресам. Предсказать какой будет ip у скрипта невозможно.
    4) Попробуйте сохранить и переиспользовать куки, внедрить в headers нужные заголовки, которые браузер передаёт и т.п.
    5) Перезалейте второе видео, возможно всё-таки есть что-то, что запрещает получать данные по API.
    Ответ написан
    Комментировать
  • Как вывести Сумму из наибольшего параметра веса или объема?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Включаю режим Ванги.
    Отсортируйте массы {0; 50; 100; 200} и объёмы {0; 0,2; 0,6; 1} по возрастанию, берите ВПР с последним параметром 1, он автоматически возьмёт ближайшее большее или равное.
    Ответ написан
  • Гугл таблицы. Как зафиксировать гиперлинк на конкетруную строку?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Добавьте параметр range к ссылке. Там есть номер строки:
    ...edit?gid=0#gid=0&range=A7
    Ответ написан
  • Как выразить переменные из формулы?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    wolframalpha
    A = P * (1 + r/n)^(n*t) solve t
    Ответ написан
    Комментировать
  • Почему перестали работать usb порты?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Проверить:
    1) Драйверы
    2) Отключать устройства и подключать по одному
    3) USB-порт снаружи
    далее - в сервисе, после разборки
    4) Плaта USB (если есть) - пайка и целостность USB-порт
    5) Микросхемы свитчей, и их обвязка
    6) Хаб, внешний или в процессоре

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

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    Для каждого ввести статусы - выключено, запущено; т.е. нужна простая машина состояний.
    Кнопки меняют статусы и пишут данные. Вместо кнопок можно onEdit+галка.
    Триггер по времени (раз в минуту) обновляет данные.

    Если нужно готовое решение - можно посмотреть в сторону фриланса
    Ответ написан
    Комментировать
  • Почему перестают работать usb-serial устройства на Raspberry Pi 4?

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

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Самое простое - выполнить что-то подобное в консоли, или если это надо часто - сделать букмарклет с таким кодом.
    const setIntervalHandler = setInterval(
      ()=>{
        const elem = document.getElementById("myButton");
        elem.?click ? elem.click(): console.error("button not found");
      },
      2*60*1000
    );
    Ответ написан
    Комментировать