• Может ли пользователь сменить переменную JS?

    @Robyn_rock
    Что-то умею
    Если что-то типа кликера, где реально могут и 10 чел нагрузить бесплатный сервер, если каждую операцию отправлять на сервер, то ограничить количество кликов. У некоторых мультитач 2 касания принимает только. Считать раз в 10 сек, причём ограничить сервером максимум за 10 сек до какого-то + к количеству, которое реально можно накликать вручную. Взял любую тапалку, подготовил пальчики и минуту прожарил телефон. Посчитал среднее, накинул сверху процентов 20 для самых быстрых рук на тапом западе. И ограничил этим количеством максимум. Заодно можно поставить логирование тех, кто пытается тебя обмануть и банить по критериям. Хотя смысла банить особо нет, всё равно больше, чем твой максимум +20% не будет. Решил ты что больше 100 невозможно, значит 120+ уже попадает в список неблагонадежных клиентов.

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

    @Robyn_rock
    Что-то умею
    Логично, что она будет между, потому что у тебя свободная таблица формируется из лист1+лист2+лист3 друг за другом.
    Я думаю, варианта 2, хотя не уверен, давно сводные не открывал.
    1) Добавить ещё один столбец с датой / порядковым номером и сводную сортировать.
    2) Добавить столбец и через GAS сделать автоматическое копирование данных на твою таблицу (данные столбца будешь использовать для сортировки и синхронизации других отредактированных ячеек).
    Ответ написан
  • Чем распознать текст на картинках в PDF?

    @Robyn_rock
    Что-то умею
    Кидаешь в чат бота, получаешь результат в файл.
    Хз как будет работать на конкретных файлах, но в целом работает.
    Ответ написан
  • Существует ли программа для сжатия нескольких фотографий, прямо из папки?

    @Robyn_rock
    Что-то умею
    Можно сделать скрипт на питоне. Себе делал недавно.
    Плюсы: ничего не надо устанавливать (если готовый скомпилированный файл получить), минимум веса, только нужный функционал.
    Минусы вытекают из плюсов: функционал ограничен.

    У меня была задача скачать по ссылкам 200фото, обрезать эти 200 фото до нужного размера по большей стороне, конвертировать в жпг, сжать качество. С этой задачей справился скрипт. Соответственно, учитывая питон, хоть под Андроид можно организоваться её.
    Ответ написан
    Комментировать
  • Как автоматизировать заполнение бланка docx, меняя лишь часть текста?

    @Robyn_rock
    Что-то умею
    import datetime
    from docx import Document
    
    def replace_shortcodes_in_run(run, replacements):
        for key, val in replacements.items():
            if key in run.text:
                run.text = run.text.replace(key, val)
    
    def replace_shortcodes_in_paragraph(paragraph, replacements):
        for run in paragraph.runs:
            replace_shortcodes_in_run(run, replacements)
    
    def replace_shortcodes_in_table(table, replacements):
        for row in table.rows:
            for cell in row.cells:
                for paragraph in cell.paragraphs:
                    replace_shortcodes_in_paragraph(paragraph, replacements)
    
    def replace_shortcodes(doc, replacements):
        for paragraph in doc.paragraphs:
            replace_shortcodes_in_paragraph(paragraph, replacements)
        
        for table in doc.tables:
            replace_shortcodes_in_table(table, replacements)
    
    def main():
        # Открыть файл template.docx
        doc = Document('template.docx')
    
        # Запросить у пользователя name и number
        name = input("Введите имя: ")
        number = input("Введите номер: ")
    
        # Запросить дату или использовать текущую дату, если не указана
        date_input = input("Введите дату (оставьте пустым для текущей даты): ")
        if date_input:
            date = date_input
        else:
            date = datetime.datetime.now().strftime("%Y-%m-%d")
    
        # Замены
        replacements = {
            '{name}': name,
            '{date}': date,
            '{number}': number
        }
    
        # Заменить шорткоды в документе
        replace_shortcodes(doc, replacements)
    
        # Сохранить документ как template_{date}.docx
        new_filename = f'template_{date}.docx'
        doc.save(new_filename)
        print(f'Документ сохранен как {new_filename}')
    
    if __name__ == "__main__":
        main()


    Могу доработать, если надо, под тебя. Можно всё это обвесить всякими удобствами.
    Ответ написан
    Комментировать
  • Как обрезать часть строки в Excel (Пример прикрепляю)?

    @Robyn_rock
    Что-то умею
    Через "Заменить на"
    1) "/gallery/*" заменить на пустое значение
    2) "org/*/" заменить на "org/"
    Ответ написан
    5 комментариев
  • Как составить регулярное выражение (или как-то по-другому обрезать строчку)? Пример прикрепляю?

    @Robyn_rock
    Что-то умею
    В Экселе через "заменить на" меняешь "/gallery/*" на "/gallery/". Done.
    Ответ написан
    3 комментария
  • Как загрузить webp Opencart 3?

    @Robyn_rock
    Что-то умею
    Привет. Поставь модуль, который позволяет грузить webp. В добавок ещё и конвертировать будет жпеги и пнг.
    Ответ написан