ru_python_beginners | Unsorted

Telegram-канал ru_python_beginners - Python beginners

14446

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981

Subscribe to a channel

Python beginners

длина строки это фейк, итерация по строке это фейк

Читать полностью…

Python beginners

стд покрывает относительно высокоуровневый сценарий взаимодействия, где ос строки это пути к файлам, аргументы командной строки итд
если ты пишешь что-то более низкоуровневое то тебе надо писать разный код под разные платформы и там естественно использовать разные конкретные типы

Читать полностью…

Python beginners

То есть если мне надо взаимодействовать с ОС мне нахуй не упал OSStr?

Читать полностью…

Python beginners

вот я всё хотел latin-1 заменить на cp1251, чтобы наши, русские программы занимали меньше оперативки, но там в unicodeobject.c прям много завязано на то, что оно latin-1

Читать полностью…

Python beginners

Ну вот тут и будет инвалидация по стейту, когда товар в кеше отличается от фактически существующего товара

Читать полностью…

Python beginners

это как раз не проблема. Проблема - что делать если юзер пришел, увидел "популярный товар, много на складе", а на складе его нет.

Читать полностью…

Python beginners

а что это было? прямые оскорбления?

Читать полностью…

Python beginners

ну вроде всё написано

Читать полностью…

Python beginners

можно узнать за что мне мут дали на сутки?

Читать полностью…

Python beginners

ну в таком кейсе да, если не хочется возится с инвалидацией. ну, если она не очень тривиальная

Читать полностью…

Python beginners

рял кодфорсес сорянчик

Читать полностью…

Python beginners

/channel/ru_python/2794654

кодфорсес, я думаю

Читать полностью…

Python beginners

даже если не так критично, что они будут подгружаться долго

Читать полностью…

Python beginners

По возможности ничего

Читать полностью…

Python beginners

что нужно, то и кешируй

Читать полностью…

Python beginners

В расте тоже так, len() выдаёт длину UTF-8 байтов. Чтобы посчитать кодпойнты, нужно сделать str.chars().count(), что O(N)
(правда, в расте нельзя по строке напрямую итерироваться)

Вообще длина строки в кодпойнтах — не такая полезная операция, как кажется на первый взгляд. Обычно есть что-то лучше.

Читать полностью…

Python beginners

питон обещает O(1) для some_str[i], от того и использует их

Читать полностью…

Python beginners

я если честно не понимаю зачем использовать утф16 и тем более утф32

Читать полностью…

Python beginners

А, в гошке длина строки != Количество итераций при обходе её

Читать полностью…

Python beginners

И должен ли юзер ждать тут вообще

Читать полностью…

Python beginners

Ну, допустим есть такой кейс:
Есть онлайн магазин, там есть селлеры, у них есть товары. У товаров есть обычное описание и AI описание

AI описание само генерируется исходя из карточки товара, отзывов, количества оставшихся штук товара итд

В идеальном мире мы будем каждый раз генерить это описание, но вообще имеет смысл кешировать ответ, пока заказ не поменялся (описание, отзывы, количество оставшихся штук, etc). Делается вообще тривиально: кладёшь в редиску стейт товара из которого генерируется ai description + сам ai description. Ну и если стейт не совпал, надо обновить

Как тут решить проблему, если два запроса одновременно решили прочитать этот кеш, увидели что он невалидный, и пошли его обновлять? Вопрос хороший

Я бы просто лок брал на время обновления + какой-нибудь version_id, чтобы смотреть, что ты точно обновляешь новой инфой, а не старой

Читать полностью…

Python beginners

но это был не троллинг

Читать полностью…

Python beginners

ну тут, примерно сутки назад

Читать полностью…

Python beginners

Она никогда не тривиальная

Читать полностью…

Python beginners

Не норм, если тебе нельзя устаревшее значение юзать

Читать полностью…

Python beginners

не, там не кодфорсес был, какой-то другой, дизайн там ужасный был))

Читать полностью…

Python beginners

хотел тебя в питон бегиннерс упомянуть

Читать полностью…

Python beginners

ну, кстати, какие-нибудь достаточно долгие вещи вполне норм кешировать

Читать полностью…

Python beginners

ну если это узкое место и тебе очень хочется закешировать, то просто сделай в редисе сохранение по ключу request_{request_hash} байт, которые ты отдашь юзеру

Читать полностью…

Python beginners

Я возможно не понимаю, что конкретно стоит кешировать, а что нет, но у меня к примеру есть запрос на получение публичных сущностей, и вроде много пользователей обращаются, а список меняется относительно редко, и поэтому был вопрос каким образом кешировать эти сущности вообще

Читать полностью…
Subscribe to a channel