TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django

Резултати

Пронајдени 90 слични објави

Пребарај: #devops

当前筛选 #devops清除筛选
infosecurity

@tg_infosec · Post #3621 · 26.09.2025 г., 12:33

👣 Путь в DevOps: полное руководство для новичков с нуля - 2025. • Нашел интересный материал, который поможет понять, что именно необходимо знать и куда смотреть, если планируете вкатиться в DevOps. Рекомендую к просмотру: https://youtu.be/8kvMficZrIo ➡00:14 - Всевозможные компетенции DevOps Инженера; ➡00:44 - Кому проще стать DevOps Инженером; ➡02:29 - Что учить по минимуму и в каком порядке; ➡10:27 - 1. Основы Networking TCP/IP; ➡11:46 - 2. Администрирование Windows; ➡12:38 - 3. Основы Linux; ➡13:28 - 4. Ansible; ➡13:56 - 5. Git; ➡14:26 - 6. GitHub; ➡14:52 - 7. CI/CD: GitHub Actions, GitLab CI/CD; ➡15:29 - 8. Docker + DockerHub; ➡16:16 - 9. Kubernetes + Helm + ArgoCD; ➡17:04 - 10. AWS: Amazon Web Services; ➡19:12 - 10. GCP: Google Cloud Platform; ➡20:27 - 10. Azure: Microsoft Azure; ➡21:38 - 11. Terraform + Terragrunt; ➡22:42 - 12. Python. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #3116 · 12.04.2025 г., 12:31

📋 Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная. • В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине. • Кстати, насчет бобров - это не шутка. В Канаде они перегрызли кабель и оставили целый район без оптоволоконной связи. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки. • Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan мы сегодня и поговорим: ➡️Читать статью [10 min]. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #2855 · 15.01.2025 г., 12:30

🗺 DevOps Roadmap • Держите крутой и актуальный roadmap для DevOps, который включает в себя необходимые ссылки на обучающие материалы для каждого шага на этом пути. ➡️https://github.com/milanm/DevOps-Roadmap - GIT; - Learn one programming language; - Learn Linux & Scripting; - Learn Networking & Security; - Learn Server Management; - Learn Containers; - Learn Container Orchestration; - Learn Infrastructure as a code; - Learn CI/CD; - Learn Monitoring & Observability; - Learn one Cloud provider; - Learn Software Engineering Practices; - Additional resources; - Tools; - Books. #DevOps

Hashtags

infosecurity

@tg_infosec · Post #2686 · 15.11.2024 г., 16:30

👨‍💻 Attacking Against DevOps Environment. • SCM AUTHENTICATION; • CI/CD service authentication; • Organization’s public repositories; • Configured webhooks; • Configured webhooks; • Direct PPE (d-PPE); • Indirect PPE (i-PPE); • Public PPE; • Public dependency confusion; • Public package** hijack (“repo-jacking”); • Typosquatting; • DevOps resources compromise; • Changes in repository; • Inject in Artifacts; • Modify images in registry; • Create service credentials; • Secrets in private repositories; • Commit/push to protected branches; • Certificates and identities from metadata services; • User Credentials; • Service Credentials; • Compromise build artifacts; • Registry injection; • Spread to deployment resources; • Service logs manipulation; • Compilation manipulation; • Reconfigure branch protections; • DDoS; • Cryptocurrency mining; • Local DoS; • Resource deletion; • Clone private repositories; • Pipeline logs; • Exfiltrate data from production resources. ➡️https://blog.devsecopsguides.com #DevOps

Hashtags

Audiences Channel

@Audiences_Channel · Post #5 · 10.01.2022 г., 14:47

#Audiences#Notice#DevOps DEPRECATED 已失效 最近有部分用戶反映無法連接主站或Tracker伺服器, 對於此問題,請嘗試以下解決方案: 主站連接 出現異常的用戶,請在hosts中添加 185.143.221.221 audiences.me Tracker 出現異常的用戶,請在hosts中添加 185.143.221.221 t.audiences.me 請注意,如果你的連接一切正常,此方法只會使連接性變差。 所以正常情況請不要應用此方法,除非你無法連接伺服器。 Channel: @Audiences_Channel

The Devs

@thedevs · Post #2056 · 10.05.2023 г., 11:42

Load balancing: A bottom-up, animated guide to HTTP load balancing algorithms. #article#devops @thedevs https://thedevs.link/etaCgv

Audiences Channel

@Audiences_Channel · Post #15 · 29.04.2022 г., 02:35

#Audiences#Notice#DevOps#Invitation 感謝各位的支持和陪伴,現已接近特殊時期尾聲,站點恢復邀請權限至年輕氣盛(Power User),並發布幾條重要通知如下 1. 近期站點變動:種子列表頁支持 豆瓣鏈接 / ID搜索;默認以標題 / IMDb / 豆瓣搜索 2. 五月一日全體年輕氣盛(Power User)及以上等級用戶發放臨時邀請一枚,請各位規範發放 Channel: @Audiences_Channel

123•••78
ПретходнаСтраница 1 од 8Следна