Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
#ArtTech
Александр Невский: когда прошлое оживает в цифре🖥
В здании старой Петербургской Биржи скоро откроется зал памяти Александра Невского от Эрмитажа.
Он даст возможность прожить историю, в которой технологии работают не вместо, а вместе с искусством ‼️
✔️ Да, здесь будут батальные полотна, исторические доспехи и знамёна.
Но кроме парадного глянца — живая ткань эпохи, прошитая светом, звуком и цифрой:
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🟡Иммерсивные проекции, где ты не смотришь на битву — ты внутри неё.
🟡Голос хроники, читающий летопись на фоне живого света.
🟡AR-интерфейсы, которые не объясняют экспонат, а ведут с ним диалог.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Пространство, которое может быть торжественным залом, цифровым театром и личной капсулой памяти — в зависимости от того, как ты туда войдёшь 🔥
#ArtTech
Петергоф и Сбер: искусственный интеллект в музее 🌐
Сбер и музей-заповедник «Петергоф» заключили соглашение о внедрении современных технологий в музейные практик.
Цель — использование искусственного интеллекта для создания интерактивного опыта, позволяющего посетителям глубже погрузиться в историю России.
Планы сотрудничества включают ❗️
1. Разработку цифровых технологий и сервисов для посетителей.
2. Совершенствование подходов к развитию культурных организаций с применением ИИ.
✔️Герман Греф, глава Сбера, отметил, что это сотрудничество выведет взаимодействие с посетителями на новый уровень.
Роман Ковриков, директор «Петергофа», подчеркнул важность внедрения цифровых технологий для анализа коллекции и улучшения работы музее.
Готовы ли вы доверить искусственному интеллекту рассказ о шедеврах прошлого? ⭐️
#ArtTech
Когда картины раскрывают тайны с помощью технологий⚡️
Что, если под слоем краски скрывается ещё одно произведение искусства? Или цвета, которые вы видите, не те, что задумал художник?
В ГМИИ им. Пушкина искусство больше не просто висит на стенах – его сканируют, изучают и «воскрешают» с помощью технологий⌛
1. 3D-сканеры заглядывают под краску – находят скрытые слои и замыслы мастеров.
2. ИИ распознаёт выцветшие цвета – картина снова оживает, как в день её написания.
3. AR показывает утраченные фрагменты – теперь можно увидеть искусство таким, каким оно было столетия назад.
4. Анализ пигментов раскрывает тайны – например, что средневековые художники использовали измельчённые драгоценные камни для создания красок.
Теперь картины сами рассказывают свои истории, а технологии становятся мостом между прошлым и будущим.
Искусству нужны такие «раскопки»? Или лучше оставить всё, как есть? 👀
#ArtTech
Arternal: когда искусство и управление говорят на одном языке☺️
Платформа Arternal представила обновлённую версию своего приложения — цифрового инструмента, разработанного специально для нужд галерей, кураторов и арт-дилеров🌸
Приложение объединяет в одном пространстве инвентаризацию, базу коллекционеров, историю взаимодействий, аналитику продаж и логистику. Всё — в понятном и адаптированном под арт-среду интерфейсе.
В профессиональном сообществе всё ещё доминируют ручной документооборот, таблицы и e-mail-переписка 🖼
Arternal стремится структурировать эти процессы, не нарушая привычной логики работы с коллекциями и клиентами.
📚 Это не универсальный CRM, а специализированная инфраструктура для арт-рынка, созданная с учётом его этики, гибкости и темпа.
Такие решения помогают выстраивать новую модель операционного взаимодействия, в которой технологии не отвлекают от искусства — а позволяют сосредоточиться на нём.
#arttech#новости
#ЦифровойКонтекст
ИИ восстанавливает старые картины за часы📖
☺️ Команда MIT создала инструмент, который восстанавливает повреждённые веками картины всего за несколько часов.
Процесс🐎
— ИИ анализирует трещины и утраты (например, пропавший лик младенца),
— Реставрация печатается на прозрачной полимерной плёнке,
— Накладывается на оригинал — без вреда для полотна.
Так можно вернуть к жизни тысячи произведений, ранее оставленных в запасниках.
Но остаются этические и эстетические вопросы — кому верить, художнику или алгоритму? 💐
#AIReconstruction#DigitalRestoration#ArtTech#новости
#MIT_Technology_Review🇺🇸📕[PDF]⬇️
#November2025
#December2025
#Monthly_Magazines
For learning, for free(dom).
@backupofmagazines
In this issue, the cover story explores the rise of “designer babies” and the booming #GeneticTesting industry promising parents control over traits from #IQ to eye color. As #AI meets biology, scientists warn of deep ethical divides in #EmbryoSelection and #BioTech regulation. Other features decode aging “clocks,” AI in healthcare pain detection, and new insights into human resilience to #ClimateChange. From #ArtTech to #StemCells, this edition examines how innovation blurs the line between evolution and engineering — and asks, are we ready to build perfection itself?