Задать вопрос
  • Апгрейда разраба с помощью нейросетки, с чего начать в 2025 году?

    Kentavr16
    @Kentavr16
    long cold winter
    Дополню ответы и комменты к ним.

    В вопросе правильно указано различие между скоростью и качеством работы программиста. По состоянию на сейчас разумнее всего рассматривать нейронки как коллегу , который супербыстро гуглит. Соответственно прокачка скорости работы - практически моментальная (при условии платного решения, присоединяюсь к ответу fkk и также рекомендую сонет интегрированый в IDE) Для меня прирост именно скорости написания составил минимум процентов 30 - почти полностью удалось делегировать написание тестов (особенно полезно), первичный рефакторинг/мелкое разбиение кода и тд.

    По улучшению качества работы все более размыто. ИИ отлично показывает себя как тренер для уровня интерна. при этом чем выше уровень, тем бесполезнее ИИ. Тут я на 90 процентов уверен что начиная с уровня мидл+ роль ИИ в обучении сводится у роли навороченной песочницы. Растить спеца ИМХО придется через практический опыт и толстые книги.

    П.С. - не ведитесь на маркетинг вокруг ИИ. Я считаю что у нейронок огромный потенциал, но судя по всему они еще минимум лет 5-7 будут вторичны. Это не программист и не учитель. Это крутое автодополнение которое помогает мясной прокладке между стулом и монитором.
    Ответ написан
    Комментировать
  • Как и чем осуществлять контроль за сотрудниками от обхода компании?

    @Drno
    Ну вот встретятся они с заказчиком для обсуждения \ подписей...
    и там договорятся
    как Вы это предотвратите?)
    Ответ написан
    Комментировать
  • Что можно улучшить или оптимизировать в коде, чтобы он не был таким длинным?

    @Everything_is_bad
    Надоел каждый раз прибегать с такими вопросами (проблема что наша помощь не помогает, ты не учишься, каждый раз подобный треш выдаешь, либо опять тут проблема не в питоне, а в алгоритмах), сходи уже к LLM, они нормально могут предложить вариант, даже на такой кривой код как у тебя.
    Ответ написан
    Комментировать
  • Как получить из URL имя страницы?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Если исходить из условия, то вам достаточно:
    url = 'test.com/dir1/dir2/dir3/page.html'
    page_name = url.split('/')[-1]
    print(page_name)
    >>>page.html

    И зачем нужен остальной код непонятно.
    Ответ написан
    2 комментария
  • Дашборд. Какую методу сбора данных и платформу выбрать для разработки?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Автоматизируя хаос, вы получите хаос, только автоматизированный.
    У вас должна быть единая система, агрегирующая данные из разных источников, и позволяющяя их отобразить в нужном вам виде.
    1С позволяет это сделать, причем все, и сбор данных из разных источников, и их хранение, и визуализацию через Web, и настройку прав доступа с авторизацией. Если у вас есть специалисты по 1С, делайте в 1С.
    Эксель тоже позволяет это сделать, результат вы получите быстрее чем с 1С, но это будет куча костылей, которые нужно будет постоянно подвязывать.
    Написать собственное решение или использовать еще какое-либо готовое, тоже нормальный вариант.
    Вам нужно сейчас четко разложить по полочкам, какие у вас есть данные, какие нужно строить отчеты (вплоть до формул расчета конкретных показателей), проверить, что данных для этих отчетов достаточно.
    Затем оглянуться какие у вас есть специалисты, или оценить бюджет, и тогда принимать решение о конкретной реализации.
    Ответ написан
    1 комментарий
  • Как получить названия прав с Журнала Регистрации в 1с?

    @Dementor
    программист, архитектор, аналитик
    В журнале регистрации по событию "Отказа доступа" такое не регистрирует, он не показывает названия прав, лишь роли.

    Все с точностью до наоборот. Журнал регистрации абсолютно ничего не знает про роли, которых могут быть сотни в конфигурациях на базе БСП и в которых права часто дублируются. В журнале фиксируются отсутствие именно прав на чтение, добавление, изменения и так далее.

    По факту отсутствия конкретных прав на объекты администратор должен проанализировать профиль пользователя и добавить в него роли, в которых данные права указаны.
    Ответ написан
    Комментировать
  • DevOps риски, фабрика или скам?

    Maksim_64
    @Maksim_64
    ML Engineer
    Сомневаешься не делай, делаешь не сомневайся.

    Ты не сможешь развиваться, работать, и т.д., если ты заведомо сильно сомневаешься в работодателе.

    Если тебя сильно что-то смущает и интуиция говорит, не связываться - значит не связывайся.
    Ответ написан
    1 комментарий
  • Оператор, операция, функция, процедура - что всё это значит?

    @rPman
    Это разные названия действий/команд, применяемых в разных ситуациях, не в каждом языке есть каждый из описанных.
    * Оператор (и действие, которое он вызывает - операция) - это пришедшие из математики действия, классические +, -, /, *, символ присвоения = (в разных языка по разному, например pascal :=) или сравнения == (соответственно = в pascal) или логические операции (и/или/не/..),..

    Синтаксически выделяют их как что то записанное рядом с операндами (то с чем производится операция), например слева/справа - ++i, !i, -1, i++, или между двумя i+y, или теранрная операция в c++ - условие?если_истина:если_ложь из трех операндов.

    В некоторых языках может быть переопределена программистом (например в c++) для своих типов

    * функция, процедура - это действия, определяемые программистом, по имени и иногда (в c/c++) по типам их аргументов (то над чем производится действие), это так же пришло из математики, функция возвращает результат а процедура нет (больше они ничем не отличаются).

    Синтаксически обычно это имя ( аргументы через запятую) но встречаются выверты типа lisp (имя аргументы через пробел) и кстати операция + там тоже функция (собственно кроме этих скобок там ничего нет)

    * есть еще методы классов, в языках с объектно ориентированным уклоном (но не обязательно, например в c так тоже можно похоже, с определенными усилиями, но это совпадение), когда добавляется 'синтаксический сахар' для указания одного (условно главного) параметра функции/процедуры по другому, групируя место описания этих методов в одном месте и добавляя различные методы наследования и самоограничений доступа.

    Синтаксически это выглядит как экземпляр_объекта -> метод (аргументы,..) (вместо -> может быть '.', '->', '::' (в cpp и аналогах обращение к статическому методу класса а не к объекту) ну и всякие синтаксические извращения javascript по имени obj["method"](args)

    p.s. настоятельно рекомендую, воспользуйся современными инструментами работы с документацией, особенно подходящие для новичков (с оговорками про галлюцинации, т.е. держи в голове что факты нужно перепроверять) - ИИ, хоть бесплатными штатным майкрософтовским copilot.microsoft.com (он так же встроен в edge и в windows 11 но требует vpn в россии, с ним можно голосом поговорить, добавив при старте что ты хочешь что бы он тебе помогал в обучении и наводящими вопросами после объяснения проверял, верно ли ты все понял) хоть платным (рекомендую) от chatgpt.com/deppseek/xai/.. еще лучше воспользуйся агрегатором типа openrouter
    Ответ написан
    4 комментария
  • Как получить список прав в 1с программно?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    Обратиться к метаданным 1С
    Для каждого Роль Из Метаданные.Роли Цикл

    все придумали до нас)))
    https://github.com/VorozhbitDM/Access-control-1C
    Ответ написан
    Комментировать
  • Где искать фриланс вакансии без портфолио (Кроме фриланс бирж)?

    @Taras_Phu
    Первые заказы часто можно получить из записной книжки. Открываем телефон, листаем и ищем того кто готов купить услугу. Работает в любой нише, в любое время.
    Ответ написан
    Комментировать
  • Как хранить и показывать локальные файлы в CRM (frontend + backend)?

    Adamos
    @Adamos
    Хранить файлы в БД - это либо очень узкий кейс с файлами меньше 4 кб, либо некомпетентность.
    В БД хранится информация о файлах.
    Сами файлы складываются в папочку storage под хэшированным именем, а в БД хранится:
    - их настоящее имя и расширение (возможно, тип)
    - доступ (публичный или через скрипт после авторизации)
    - принадлежность (не автор, а объект в бизнес-логике, которому этот файл принадлежит)
    - ну, и та техническая информация, которая требуется (вот тут автор, время, правки etc.)
    Соответственно, для фронта бэком генерируются ссылки на нужные файлы, публичные - прямые, непубличные - на роутер, который их обработает.
    Ответ написан
    9 комментариев
  • Как сделать отправку файла боту от клиента на python telebot?

    Zagir-vip
    @Zagir-vip
    Web dev, Game dev, app dev, Разработчик на Python!
    import telebot
    
    TOKEN = 'YOUR_BOT_TOKEN'  # Замени на токен своего бота
    bot = telebot.TeleBot(TOKEN)
    
    # Обработка входящего документа (файла)
    @bot.message_handler(content_types=['document'])
    def handle_document(message):
        file_info = bot.get_file(message.document.file_id)
        downloaded_file = bot.download_file(file_info.file_path)
    
        # Сохраняем файл локально
        with open(message.document.file_name, 'wb') as new_file:
            new_file.write(downloaded_file)
    
        bot.reply_to(message, f"Файл '{message.document.file_name}' успешно получен и сохранен!")
    
    # Обработка команды /start
    @bot.message_handler(commands=['start'])
    def start_message(message):
        bot.send_message(message.chat.id, "Привет! Отправь мне файл, и я его сохраню.")
    
    bot.polling()


    'document' — для файлов (PDF, DOCX, TXT и т.д.)

    'photo' — для изображений
    'audio' — для аудио
    'video' — для видео
    'voice' — для голосовых сообщений
    Ответ написан
    4 комментария
  • Бот долго отвечает сообщением, где фото+текст. Как исправить?

    @twistfire92
    Python backend developer
    По-хорошему нужно фото на сервер загрузить один раз и сохранить его file_id. И все дальнейшие ответы с этим фото реализовывать через этот file_id, а не загружая каждый раз одно и то же фото. Вполне возможно это ускорит ответ.

    Как и где хранить этот file_id для фото нужного товара - тема отдельного вопроса. Обычно используется БД для подобных вещей, но у вас уже есть какой-то словарь products со словарями внутри. Предлагаю каждый элемент этого словаря расширить ключом file_id.
    Далее логика следующая:

    Когда нужно отправить фото товара, смотрите сначала на значение в file_id.
    - Если оно пустое - отправляете по-старому сценарию, только сначала дождитесь ответа от метода message.answer_photo(). Результатом этого метода будет объект Message, в котором можно найти file_id для вашего загруженного файла (поиски возложу на вас). Просто прописываете его в ваш словарь products[product_id][file_id].

    - Если значение file_id заполнено, то делаете все то же самое, что и сейчас, только в методе message.answer_photo() в параметре photo передаете file_id.

    получается, что сам файл будет загружен на сервер только один раз, а все остальные разы будет браться только с сервера. Кстати в документации Bot API так и сказано, что предпочтительнее использовать file_id, нежели каждый раз загружать файлы на сервера телеги.
    Ответ написан
    1 комментарий
  • Какие импорты лучше использовать в Python?

    @Everything_is_bad
    Лучше абсолютные, даже в pep8 это упоминается https://peps.python.org/pep-0008/#imports

    И не нужно сюда прибегать с подобными вопросами, ответ давно находится через гугл, а если ты так не осилил гугл, сходи сначала в чатпгпт и подобные.
    ЗЫ единственная польза вопроса, для hr, сразу смело можно отказывать ТС.
    Ответ написан
    2 комментария
  • Как записывать НаборЗаписей регистра сведений внутри цикла?

    @Dementor
    программист, архитектор, аналитик
    С первого взгляда - какая-то чушь. Со второго - еще большая чушь!

    1) Тут два цикла - верхний по всем существующим записям РегистрыСведений.ДанныеСотрудников, а вложенный по всем строкам начиная со второй. Уже это само по себе не имеет смысла, так как выходит, что цель программы - записать в ячейку НомерТС значение из последней строки файла.

    2) Записывать набор записей внутри цикла по его же записям - это ужасная идея!!! Откинем вероятный код из модуля набора записей, который может изменять состав и/или последовательность строк, но и тогда это просто расточительно - на каждом витке цикла записывать одно и то же

    3) Ужасное наименование переменных, чтобы запутать самого себя! Если транспортное средство ищется в базе по первой колонке из файла, то какого лешего ее назвали "Водитель", а не "Транспорт"??? Если в колонку НомерТС записывается значение из второй колонки файла, какого лешего ее назвали "Транспорт", а не "НомерТранспорта"???

    4) Что за странная установка наименования транспортного средства? Если в базе выполняется поиск по наименованию из переменной Водитель (хотя на самом деле там Транспорт), то именно это значение и нужно записать в название, чтобы поиск сработал на следующем витке цикла! А вовсе не сайд-эффекты по справочнику Сотрудников с помощью Справочники.Сотрудники.НайтиПоНаименованию(Водитель):
    4.1) В справочнике Сотрудников может не существовать нужного элемента и в отличии от Транспорта тут нет создания недостающего элемента (в принципе он и не нужен, так как в этом коде справочник "Сотрудники" нигде не используется)
    4.2) Если менять представление в настройках справочник "Сотрудники" и/или в менеджере справочника, то платформа 1С ничего не подскажет о том, что в коде загрузки транспорта может что-то сломаться. Поэтому сайд-эффекты запрещено применять всюду кроме разовых обработок для правки данных, когда риск осознается.

    5) Алгоритм не имеет смысла. Подозреваю, что в файле указан транспорт для существующих пользователей, по которому нужно обновить регистр ДанныеСотрудников. Тогда нужно:
    5.1) Сначала пройти по файлу и сформировать таблицу (можно структуру или соответствие), в которую поместить данные по владению транспортом.
    5.2) В цикле по файлу проверять существование транспорта в базе не по наименованию "моя тайота", а по гос.номеру или по вин-коду.
    5.3) Сотрудника тоже желательно искать не по ФИО, а по табельному номеру, налоговому или паспортному номеру.
    5.4) В регистр ДанныеСотрудников не имеет смысл помещает номер автомобиля - так как все будущие операции потребуют поиск по реквизиту "номер" для каждой строчки! Нужно поместить ссылку на элемент справочника "Транспорт"
    5.5) Имея таблицу (можно структуру или соответствие) из пункта 5.1 проходим циклом по ее строкам, создаем менеджер записи с отбором по Сотруднику-Владельцу, если запись выбирается, то устанавливаем ссылку на транспорт и записываем.
    Ответ написан
    3 комментария
  • Как отслеживать геопозицию в реально времени в телеграмм боте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бот не может запросить у пользователя Live Location.
    Пользователь должен сам инициировать отправку Live Location, тогда она периодически будет обновляться через сообщения edited_message, пока не пройдёт заданный пользователем период отслеживания или пользователь сам не остановит отслеживание.
    Ответ написан
    Комментировать
  • Телеграм бот на Python как достать telegram id из @username?

    @Everything_is_bad
    Так пусть будущий администратор напишет боту, так у тебя будет и id, и username. Записывай всё это в бд и через какую-либо админку подтверждай, ну или другой админ должен боту послать username, который будет сопоставлен с данными из базы.
    Ответ написан
  • Как задать команды администраторам чата в частной супергруппе Telegram?

    Узнайте и укажите целочисленный идентификатор вашей группы – например, просто выведите в лог очередной update для бота с сообщением.

    chat_id 	Integer or String 	Unique identifier for the target chat 
    
    or username of the target supergroup (in the format @supergroupusername)


    И, надеюсь, вы прочли, что Command Scopes это только чтобы показывать доступные команды разным группа юзеров. И ничто не мешает рядовому бесправному юзеру прислать боту команду вроде /make_me_admin

    Ответственность только вашего бэкенда – каждый раз проверять, уполномочен ли юзер использовать ту или иную команду, что он прислал.
    Ответ написан
    3 комментария
  • Pytest. Почему декоратор не записывает в файл логи?

    Vindicar
    @Vindicar
    RTFM!
    with tempfile.NamedTemporaryFile(dir=custom_dir, delete=False, mode="w") as temp_file:

    Немедленно по выходу из with файл закроется, и будет удалён.
    Ответ написан
    2 комментария
  • Ошибка BUSINESS_PEER_INVALID в aiogram, как решить?

    @malsem32 Автор вопроса
    Проблема решена, может кому понадобится, нужно поставить ответы на сообщение, там где добавляется бот
    Ответ написан
    1 комментарий