Русский
Открыть в Telegram
ССообщество Python Программистов
Сообщество Python Программистов
✅ Высокое доверие
@python_scripts · группа · Технологии · в индексе с 2026-05-24 27 февраля 2024
4 169участников−3 за неделю
43пишущих за 30 дней
555сообщений за 30 дней
904 487сообщений в индексе

Сообщения за 27 февраля 2024

2024-02-27×
27 февраля 2024
⁣
Привет. У меня есть encrypted-данные (bytes). Мне нужно сохранить их в постгре. Оптимально ли использовать String для этой задачи? Или лучше LargeBinary? PS: логика шифрования и дешифрования никак не касается реляционной модели
T
Так как это не текст, юзай binary поля
T
Иначе возможна порча данных из-за того что все инструменты ожидают там видеть текст
T
Что значит "получать значение"? Значение переменной o - твой экземпляр класса. Не надо думать что какие-нибудь Инты концептуально отличаются от твоего L
T
Если бы это был атрибут другого объекта - тогда другое дело
    1. A
      В зависимости от того что конкретно в задаче надо, может и такая конструкция помочь
Вся ветка · 2 ответа →
🍉
Зачем? Приведи свой кейс, без упрощений
S
Привет всем У меня идет информатика С математикой крч тут связанно все, но нужно решить все через пайтон
⁣
except SQLAlchemyError as e: await self._session.rollback() logging.error(f"Failed to add user to the database: {e}") raise DBError("Failed to add user to the database") from e Коллеги, логгировать лучше в месте, где рейзится ошибка? Или в обработчике этой ошибки? Вообще кажется, что лучше репозиторий будет в лог писать, а не вьюха
  1. Ю
    нет смысла писать в лог в таком виде, без трейса ошибка ничего не даст, а раз ты пробрасываешь ошибку выше, значит и трейс тут ты не должен логгировать. соответственно тут вообще нечего писать в лог. по крайней мере как сейчас. возможно в каких-то ситуациях ты можешь тут какие-то детали залоггировать, но скорее всего проще добавить весь контекст в ошибку
      1. K
        ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey Karchevsky, Вы увеличили карму Юрий Чебышев до 8707.94 (+33.50)
      1. Ю
        да я тут ловил какую-то ошибку, трейс которой успешно проглатывал pytest в какой-то момент. развлечение ниже среднего, я вам скажу)
  2. Ю
    вполне возможно что ты вообще нигде не будешь явно ловить эту ошибку, возможно у тебя есть какой-то error handler или типа того, где ты и залоггируешь ошибку, какой бы она не была
Вся ветка · 6 ответов →
T
пиши в лог там где есть нужна инфа
М
Как подключить PostgreSQL к докерфайлу
М
В докерфайле надо сделать переменную окружения postgress_conn А там формат user=... password=... host=... port=... dbname=... и т.д
Д
укажи в докер-композе или укажи там же .env
S
Как сделать так чтобы мой телеграмм бот отвечал мне 24/7 не зависимо от меня ?
    1. S
      Чтобы он отвечал мне независимо включен ли мой комп или нет
        1. S
          Можешь ли дать варианты?
          1. P
            можешь еще попробовать с raspberry pi, тогда без подписок будет
Вся ветка · 7 ответов →
S
Найми китайца отвечать на сообщения за доллар/час
S
Креативнее не могла придумать ?
S
Ну можно тайца, это необычнее
S
Вообщем если кто-то ответить то заранее спасибо
P
прив че дел? я не могу понять почему код работает как надо…. я закладываю в него следующую логику: если %object% не в %object_list%: работай а на деле все работает как надо со следующей логикой: если %object% в %object_list%: работай почему……………………….. python while True: try_num += 1 # bogo pick an object object_id = random.choice(data['objectIDs']) # get the blacklist with open(POSTED_OBJECTS_CSV, mode='r', newline='') as file: reader = csv.reader(file, delimiter='\n') posted_object_ids = [row[0] for row in reader] # А НЕ НАОБОРОТ ЛИ ДОЛЖНО БЫТЬ? if object_id not in posted_object_ids: if try_num > 500: await self.script_log(f"too many tries") break await self.script_log(f"Object #{object_id} has already been posted") continue
  1. S
    ну если работает как надо — то пусть работает
Вся ветка · 2 ответа →
  1. R
    Фотография
    нажмите — покажем
    1. R
      Ещё вот такой вариант есть, будет что-то типа своего микро-сервера
Вся ветка · 3 ответа →
S
Ок понял спасибо огромное
  1. R
    Круто! Это лучшее решение для размещения тг-бота, как раз по мощности)))
    1. S
      Можно будет ботов для всего чата ставить
Вся ветка · 3 ответа →
L
Подскажите а как с приватного репозитория обновить проект, как клонировать я уже знаю а с тем чтоб обновить не могу никак разобраться
    1. L
      это если репозиторий не является приватным
      1. T
        ну нужен досутп естественно
Вся ветка · 3 ответа →
  1. N
    Если тебя в него не добавили то никак. Какая разница для git pull приватный или нет репозиторий
Вся ветка · 1 ответ →
L
Ну а так в сервере на убунту мне как его можно обновить?
Вся ветка · 1 ответ →
T
если клонировал, значит доступ есть
⁣
def good_singleton(class_: Type) -> Callable[..., Any]: """ Singleton decorator. If instance of class already exists, raises ValueError. It blocks creating new instances of classes that should instantiate only once. """ instances: Dict[Type, Any] = {} def getinstance(*args, **kwargs) -> Any: if class_ not in instances: instances[class_] = class_(*args, **kwargs) return instances[class_] raise ValueError(f"Instance of {class_} already exists") return getinstance Я изобрел хороший синглтон!
      1. T
        мне кажется название функции пиздит
Вся ветка · 3 ответа →
T
во-первых, арги/кварги для синглтонов очень подозрительны - получается создыннй экземпляр зависит от порядка вызовов во-вторых, не потокбезопасно в-третьих, теперь класс нельзя юзать как тип (например в isinstance) в-четвертых, что вообще происходит
  1. ⁣
    Я хочу залочить возможность инстанциации того же конфига где попало. То есть инстанциировать один раз в entry-point и ругаться во всех остальных местах
    1. T
      а в чем проблема что конфиг создадут несколько раз? например в тестах это вообще норм дело
      1. ⁣
        Хм, вот у меня конфиг собирается через pydantic. Я не пробрасываю извне ничего, он там сам всё знает. Соответственно для тестов надо писать какую-то отдельную имплементацию и дергать иной .env с тестовыми значениями
        1. T
          ну это не конфиг по факту, а источник конфига. Он должен действительно один раз вызваться в мейне и дальше из него уже вытаскиваешь данные и передаешь в настоящие конфиги
Вся ветка · 5 ответов →
T
для тестов соответственно он вообще не будет юзаться, согласен
T
вообще тут лучше следить за направлением импортов - запретить читать из куска где лежит мейн, а не синглтон вешать
Вся ветка · 1 ответ →
T
так он и лежать будет где-то рядом с мейном. его не просто читать, его импортировать никто не должен
    1. K
      ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey Karchevsky, Вы увеличили карму Tishka17 до 2491.28 (+33.50)
Вся ветка · 5 ответов →
T
лучше когда кривые руки даже до райнтайма не доходят
Вся ветка · 3 ответа →
T
это как раз для тех кто локально не запустил
Вся ветка · 1 ответ →
Архив по месяцам
октябрь 2026сентябрь 2026август 2026июль 2026июнь 2026май 2026апрель 2026март 2026февраль 2026январь 2026декабрь 2025ноябрь 2025октябрь 2025сентябрь 2025август 2025июль 2025июнь 2025май 2025апрель 2025март 2025февраль 2025январь 2025декабрь 2024ноябрь 2024октябрь 2024сентябрь 2024август 2024июль 2024июнь 2024май 2024апрель 2024март 2024февраль 2024январь 2024декабрь 2023ноябрь 2023октябрь 2023сентябрь 2023август 2023июль 2023июнь 2023май 2023апрель 2023март 2023февраль 2023январь 2023декабрь 2022ноябрь 2022октябрь 2022сентябрь 2022август 2022июль 2022июнь 2022май 2022апрель 2022март 2022февраль 2022январь 2022декабрь 2021ноябрь 2021октябрь 2021сентябрь 2021август 2021июль 2021июнь 2021май 2021апрель 2021март 2021февраль 2021январь 2021декабрь 2020ноябрь 2020октябрь 2020сентябрь 2020август 2020июль 2020июнь 2020май 2020апрель 2020март 2020февраль 2020январь 2020декабрь 2019ноябрь 2019октябрь 2019сентябрь 2019август 2019июль 2019июнь 2019май 2019апрель 2019март 2019февраль 2019январь 2019декабрь 2018ноябрь 2018октябрь 2018сентябрь 2018август 2018июль 2018июнь 2018май 2018апрель 2018март 2018

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем