
Maksim
21.03.2019
09:47:13

Alex
21.03.2019
09:47:19

Tishka17
21.03.2019
09:47:28

Google

Denis
21.03.2019
09:47:42
В гетаттре модуля смотришь последний фрейм, и если он не из этого модуля, кидаешь ошибку

Alex
21.03.2019
09:47:48
эталонное не нужно
мы знаем что из буханки хлеба можно сделать троллейбус, но зачем?

Maksim
21.03.2019
09:48:47

Alex
21.03.2019
09:48:59
и ты явно сюда пришел зря.

Maksim
21.03.2019
09:49:28

Alex
21.03.2019
09:49:30
во-первых книжку в зубы и вперед. во-вторых @ru_python_beginners.
в-третьих пока книжку не прочтешь в чатиках лучше бы просто читать, так как ответы на 90% твоих вопросов будут находиться в книжке, на остальные 10% в документации или гугле.

Tishka17
21.03.2019
09:50:37

Alex
21.03.2019
09:51:13

Google

Tishka17
21.03.2019
09:51:24

Denis
21.03.2019
09:51:26

Pavel
21.03.2019
09:51:36
зачем вообще эта дичь?

Tishka17
21.03.2019
09:51:49

Denis
21.03.2019
09:52:08
Ну да, у безопасности свои издержки

Pavel
21.03.2019
09:52:38
вот в ногу так выстрелить очень хорошо можно

Tishka17
21.03.2019
09:54:03
ну if естественно заменить на реальный

LighteR
21.03.2019
09:54:25
к слову, есть typing_extensions.Final

Worlak
21.03.2019
09:55:14
Это подобие гетеров?

LighteR
21.03.2019
09:55:16
но нужен mypy в проекте)

Worlak
21.03.2019
09:55:31

LighteR
21.03.2019
09:59:31

punkgendos
21.03.2019
10:00:28
извиняюсь за оффтоп, просто не знаю, где ещё спросить, с Facebook API кому-нибудь доводилось работать?


Roman
21.03.2019
10:00:41
Я пишу библиотеку для фильтрации мата: https://github.com/rominf/profanity-filter
Я кеширую цензурированные слова. Решил добавить новую возможность - получение слова, из-за которого слово было зацензурировано (например: sh1t -> `shit`).
Чтобы сделать красиво, решил использовать dataclasses:
@dataclass(frozen=True)
class CensoredWord:
word: str
censored: str
original_profane_word: str
Можно сделать словарь из слова, на которое сработал фильтр, на CensoredWord.
Но я тут подумал: может быть есть решение, которое позволит сделать что-то вроде:
censored_words = DataclassesCollection(CensoredWord, indexes=['word', 'original_profane_word'])
censored_words.search(word='sh1t')
# [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')]
censored_words.search(original_profane_word='shit')
# [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')]
Вообще, эта штука ещё может уметь делать MongoDB-style запросы, но мне это не надо.
Я погуглил, но ничего такого не нашёл. Я плохо искал или такая штука никому не нужна?


Tishka17
21.03.2019
10:04:09
Я пишу библиотеку для фильтрации мата: https://github.com/rominf/profanity-filter
Я кеширую цензурированные слова. Решил добавить новую возможность - получение слова, из-за которого слово было зацензурировано (например: sh1t -> `shit`).
Чтобы сделать красиво, решил использовать dataclasses:
@dataclass(frozen=True)
class CensoredWord:
word: str
censored: str
original_profane_word: str
Можно сделать словарь из слова, на которое сработал фильтр, на CensoredWord.
Но я тут подумал: может быть есть решение, которое позволит сделать что-то вроде:
censored_words = DataclassesCollection(CensoredWord, indexes=['word', 'original_profane_word'])
censored_words.search(word='sh1t')
# [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')]
censored_words.search(original_profane_word='shit')
# [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')]
Вообще, эта штука ещё может уметь делать MongoDB-style запросы, но мне это не надо.
Я погуглил, но ничего такого не нашёл. Я плохо искал или такая штука никому не нужна?
эм, что значит idnexes?
b-tree индекс?

Google

Tishka17
21.03.2019
10:04:27
или просто по чему можно искать?
censored_words: List[CensoredWord]=[]
shit = [w for w in censored_words if w.word==“sh1t”]

Roman
21.03.2019
10:05:42
Ну какой-нибудь быстрый индекс. Наверное, да b-tree. Если оно будет линейно проходить и сопоставлять - это нафиг не нужно.
Медленно!

Tishka17
21.03.2019
10:05:55
а, если реалньо индекс - хз
пандас?
хз что он умеет

Roman
21.03.2019
10:06:58
Я хочу, чтобы мою либу использовали в том числе и на серверах, месяцами не выключая, на больший объёмах данных. И чтобы быстро было.
Вот что нашёл: https://www.reddit.com/r/Python/comments/9eijrd/is_there_an_object_relational_manager_that_uses/
Пишут: "too new"
А если не для dataclasses, а просто для классов? Может есть, а для dataclasses просто адаптировать?

Александр
21.03.2019
10:09:26
Захожу в чат, а тут снова про датаклассы, найс

Roman
21.03.2019
10:10:46
Ну так они же крутые!
Я рад, что доставил тебе удовольствие)

Александр
21.03.2019
10:11:08
Да кто спорит

Roman
21.03.2019
10:16:20
Нашёл TinyDB, но она со словарями работает.

Tishka17
21.03.2019
10:16:27

GTR Network
21.03.2019
10:17:12
Всем здравствуйте!
Подскажите какие библиотеки вы использует для работы с MySQL на python 3+

Roman
21.03.2019
10:18:30
датаклассы - обычные классы
Не совсем обычные. Я имел ввиду, что если я бы нашёл штуку типа ORM для in-memory DBMS, то там могли бы быть специальные классы, от которых надо было бы наследоваться, чтобы делать объекты, которые надо было бы запихивать в БД. Тогда сходу бы с чистыми dataclasses не заработало бы.

Worlak
21.03.2019
10:20:15

Roman
21.03.2019
10:20:53
Даже не знаю, может быть для прикола и запилить? Ну и прокачаюсь заодно в создании DBMS.
Я примерно представляю, что надо делать, но может у кого-нибудь есть ссылка про создание in-memory NoSQL DBMS в Python? Ну или более общее что-нибудь...

Tishka17
21.03.2019
10:21:28

Google

Roman
21.03.2019
10:24:42
Нда. По слову index в исходниках TinyDB ничего нормального не находится. Такое ощущение, что их там нет. И ещё главное такая популярная.

Tishka17
21.03.2019
10:26:35
я подозреваю, что у твоей штуки очень узкое применение

Roman
21.03.2019
10:26:40
Или вот: https://pydblite.readthedocs.io/en/latest/benchmarks.html
С индексами скорость хуже, чем без них. Ну что за хрень.

Tishka17
21.03.2019
10:26:46
обычно все таки базы внешние же
чтобы много приложений могло ходить туда

Дарья Сорокина
21.03.2019
10:27:45
ребята, мы работаем очень корректно и не тратим ваше время, если вам предложение не подходит) как правило, все, с кем мне приходилось общаться, называют свои ожидания без стеснения с учетом реальных знаний.

Tishka17
21.03.2019
10:28:09
прошу соблюдать

Дарья Сорокина
21.03.2019
10:29:23
у чата есть правила
Не спорю) я даже не пытаюсь) но если нет действительно з/п вилки, а вакансия есть, как быть в таком случае? Если ребятам нужна работа и возможно это им будет интересно, как быть?

Roman
21.03.2019
10:30:09

Tishka17
21.03.2019
10:30:21

Maxim robox
21.03.2019
10:30:38

Дарья Сорокина
21.03.2019
10:30:46
Окей) сейчас что-нибудь придумаю, чтоб не нарушать ваши правила)

Tishka17
21.03.2019
10:31:06
например, мои ожидания 230 минимум, а лучше 250. Осилите?

Roman
21.03.2019
10:31:27

Tishka17
21.03.2019
10:31:53
есть друг, который 300к получает
так что оценивайте

Artur Rakhmatulin
21.03.2019
10:34:26

LighteR
21.03.2019
10:36:45
это он чо делает?
ну не сказать, что это прям запредельно высокая з/п. 250к для python-senior'а по-моему, не редкость. Но 300к это уже чуть выше рынка, да

Google

wicker
21.03.2019
10:38:10
дефолт-сити сразу +50% к зп

Tishka17
21.03.2019
10:38:26

Roman
21.03.2019
10:40:37
Я сейчас подумал, что может быть реально не имеет смысла писать очередную DBMS. Может быть имеет смысл написать клиент MongoDB, который с dataclasses на стороне клиента работает?
Я понимаю, что смысл в NoSQL - что схемы нет, а когда я заменяю JSON dataclasses, то я ввожу ограничения. Но нормальные NoSQL БД всё же не хранят всё подряд. Скруктура данных более-менее одинаковая, по крайней мере в одной коллекции. С dataclasses, Optional, Union этого можно достичь.
Как вам идея?

Tishka17
21.03.2019
10:41:25

Roman
21.03.2019
10:41:58

Александр
21.03.2019
10:42:11