Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
🤖Робот Optimus от Tesla случайно спалился, что им управляет человек: на ивенте в Майами ИИ-машина сделала жест, подозрительно похожий на тот, что обычно делают при снятии VR-шлема.
Находчивые пользователи моментально считали это движение и поняли, что факап — на стороне оператора, который не успел нажать «выход», прежде чем железяка завалилась на пол.
И все это происходит всего через пару месяцев после заявлений Маска, что Optimus полностью автономный.
@bugfeature | #роботы#tesla#optimus
#ElonMusk finally unveiled a working prototype of the highly anticipated humanoid robot ‘Optimus’, after first teasing it last year, in the #Tesla’s AI day 2022 event. The Tesla chief CEO announced that the '#Optimus' can be priced less than $20,000 (around ₹16 lakh).
Emphasizing on the production of the humanoid robot, Musk said 'Optimus' is slated to bring more business to the company than the cars manufactured by Tesla.
Read here: https://bit.ly/3y74nQK
🤖Армия Optimus: 1 миллион роботов к концу 2026 года
Илон Маск подтвердил амбициозные планы Tesla по созданию «миллионной армии» человекоподобных роботов Optimus. Полноценное производство должно быть запущено к концу 2026 года.
Ключевые факты:
➡️Масштаб: 1 млн роботов в год
➡️Прототип V3: Уже в 2026 году - будет "похож на человека в костюме"
➡️Цена: $20-30 тыс. при массовом выпуске
Маск называет Optimus «самым важным продуктом в истории», способным помочь в создании «мира без бедности».
Мои мысли зачем реально Маску Optimus.
Что думаете? Я прав?
Или мы получим второго бытового робота, подобного плюшевому NEO?
#Optimus#Tesla#ИлонМаск#ИИ#Робототехника
https://t.me/semasci
Луна 2112: этика клонов и искусственного сознания
После просмотра Микки-17 в группе КосмоЛекции в Сбере рекомендовали посмотреть фильм с похожей сюжетной линией: Луна 2112.
Кратко от КиноПоиск'а:
Контракт Сэма подходит к концу: он провел три года на Луне, следя за автоматизированной станцией по добыче редкого газа. Три долгих года в полном одиночестве, если не считать говорящего робота ГЕРТИ, могут изменить любого. За две недели до возвращения на Землю Сэм встречает сменщика.
Что цепляет:
Фильм поднимает вопросы идентичности: какое сознание считать «настоящим»? Оба ли клона — самостоятельные личности? И, кстати, а что случилось с оригиналом — он вообще долетел до Земли?
Дилемма:
Этот же вопрос сейчас возникает вокруг ИИ — например, если Optimus от Маска отправится на Марс:
1. Уже можно считать Grok-3 внутри железной коробки Optimus самостоятельной личностью или ещё рано?
2. А если железный корпус заменят на "бодиоида", становится ближе к человеку?
3. А одна модель Grok-3 в разных «телах» (железном или бодиоидном) это все ещё одна личность или уже множество?
Ответов на эти вопросы сегодня пока нет, тем интереснее посмотреть Луна 2112.
К просмотру на выходных рекомендую, 8/10.
#луна2112#бодиоид#optimus
https://t.me/semasci
Илон Маск делает ставку на человекоподобных роботов Tesla Optimus и говорит что будущее именно за ними
Его робот Optimus, впервые представленный в 2022 году, должен стать универсальным помощником во всех сферах. Маск утверждает, что именно такие роботы, наряду с беспилотными такси и Cybertruck, укрепят позиции Tesla как лидера искусственного интеллекта.
Аналитики прогнозируют, что в ближайшие годы мировой рынок таких роботов может достичь 1 миллиарда единиц в год. Маск считает, что Tesla способна занять не менее 10% этого рынка.
При себестоимости производства $10 000 и рыночной цене $20 000 это означает что прибыль составит до $1 триллиона ежегодно и рост капитализации компании до $25 триллионов.
Маск подчеркнул, что уже в следующем году на заводах Tesla начнут работать тысячи Optimus, и это станет первым шагом к эпохе, где люди и машины будут трудиться бок о бок.
А в будущем роботы частично заменят людей.
Что думаете об этом и согласны ли с Илоном Маском?
#Tesla#Optimus#ИлонМаск#Роботы#Будущее#ИскусственныйИнтеллект
🚀 Маск резко меняет курс: с Марса — на Луну
Маск только что объявил о стратегическом развороте SpaceX: теперь главный приоритет — построить «саморастущий город» на Луне, а не на Марсе.
Почему так решили? Всё просто:
1. Скорость. К Луне можно летать каждые 10 дней, а к Марсу — только раз в 26 месяцев. Это значит, что технологии можно тестировать и улучшать в десятки раз быстрее.
2. Ближе и реальнее. Маск оценивает, что лунную базу можно создать менее чем за 10 лет. Марсианская же колония отодвинулась на 20+ лет.
3. Безопасность. Луна — идеальный полигон для отработки всего, что потом пригодится на Марсе. И она в 1000 раз ближе, если что-то пойдёт не так.
Марс остаётся в долгосрочных планах, но сейчас вся энергия — на «запасной аэродром для человечества» на спутнике Земли.
А где же тут ИИ и роботы?
Именно они станут главными строителями этого города, как мы и предполагали раньше. Армия Tesla Optimus и продвинутый ИИ, которые должны были осваивать Марс, теперь сначала развернутся на Луне. Это ещё больше ускорит процесс.
Напомню наши предыдущие посты на эту тему:
➡️Армия Optimus: 1 миллион роботов к концу 2026 года
➡️ИИ строит мост к Марсу: как роботы Optimus проложат путь человечеству?
Вывод: ИИ и роботы — это не просто игрушки, а ключевой инструмент выживания человечества за пределами Земли. Просто план стал ближе и прагматичнее: сначала Луна, затем — Марс.
#SpaceX#ИлонМаск#ИИ#Луна#Марс#Колонизация#Optimus#Роботы
P.S. Мое предположение о безэкипажной миссии с ИИ и роботами выглядит теперь ещё логичнее, не находите? 💡
https://t.me/semasci