Ранее я делал серию постов про битовые операторы.
Вот вам ещё один наглядный пример как это используется в Python в модуле re.
Чтобы указать флаг для компилятора нам надо указать его после передаваемой строки. Например, добавляем флаг для игнорирования переноса строки.
pattern = re.compile(r"(\w+)+")
words = pattern.search(text, re.DOTALL)
А как указать несколько флагов? Ведь явно будут ситуации когда нам потребуется больше одного. Кто читал посты по битовые операторы уже понял как.
pattern.search(text, re.DOTALL | re.VERBOSE)
А теперь смотрим исходники, что находится в этих атрибутах?
Не удивительно, степени двойки. Почему? Потому что каждое следующее значение это сдвиг единицы влево.
>>> for n in [1, 2, 4, 8, 16, 32, 64, 128, 256]:
>>>
print(bin(n))
0b1
0b10
0b100
0b1000
0b10000
0b100000
0b1000000
0b10000000
0b100000000
Чтобы было понятней, давайте напишем тоже самое но иначе, добавим ведущие нули:
000000001
000000010
000000100
000001000
000010000
000100000
001000000
010000000
100000000
Не понятно что тут происходит? Читай три поста про битовые операторы начиная с этого ➡️https://t.me/pythonotes/45
В общем, это пример применения побитовых операций в самом Python.
Теперь вы знаете Python еще немного лучше)
#tricks#regex#libs
#typescript#diagrams#mermaid
Mermaid Live Editor lets you edit and preview flowcharts, sequence, and Gantt diagrams in real time using simple text. Save as SVG, share view or edit links easily, and run it via Docker or locally with Node.js and pnpm. This helps you quickly create, collaborate on, and update diagrams without drawing tools, making documentation and team work faster and simpler.
https://github.com/mermaid-js/mermaid-live-editor
Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее.
Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии
Всё сделано с помощью Mermaid диаграмм декларативным описанием.
#licenses#data#diagrams
Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее.
Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии
Всё сделано с помощью Mermaid диаграмм декларативным описанием.
#licenses#data#diagrams
#typescript#architecture#architecture_as_code#c4#diagrams
LikeC4 lets you describe software architecture in simple code files that automatically generate live, up-to-date diagrams you can visualize, collaborate on, and evolve. Inspired by C4 model, it offers flexible custom elements, notations, and nested levels tailored to your needs—run `npx likec4 start` for instant previews via CLI, VSCode extension, or web viewer. You benefit by ending stale docs, ensuring diagrams match your code as the single truth, saving time on manual drawing, enabling easy Git diffs/reviews, and boosting team understanding of complex systems.
https://github.com/likec4/likec4
#typescript#csv#diagrams#graph#json#nextjs#react#tool#visualization#yaml
JSON Crack is a free, open-source tool that instantly turns complex JSON, YAML, CSV, XML, or TOML data into clear, interactive graphs, making it easier to explore and understand your information. It lets you convert between formats, validate data, generate code (like TypeScript interfaces), run queries, and export visuals as images—all while keeping your data private since everything processes locally on your device[1][2][5].
https://github.com/AykutSarac/jsoncrack.com