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

Резултати

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

Пребарај: #dbr

当前筛选 #dbr清除筛选

https://www.youtube.com/watch?v=ZgzpdrMUAj0 Выступление на Mеталлообрабатывающем Форуме 2023 в Крокус-Экспо "Управление производством в условиях высокой вариативности". Коротко: Существующие и широко распространенные, "зашитые" в ERP, MES и APS системы подходы строятся на возможности детального пооперационного планирования, которое в свою очередь основано на предположении о существовании нормативов на каждую операцию. В условиях многономенклатурного, единичного и мелкосерийного производства это не работает. То есть большинство малых и средних производственных предприятий не имеют адекватных инструментов для управления. Но решение есть, оно основано на подходе ТОС и называется метод "Барабан - Буфер-Канат". В докладе приводятся соответствующие кейсы, реализованные на практике нашей командой. #управление_производством#барабан_буфер_канат#ббк#dbr

Кейс-задача Посещал я как-то хорошее предприятие, заявившееся в национальный проект повышения производительности труда. До меня у них был эксперт проекта и отказал им в помощи - "мы не сможем вам помочь, у вас итак все хорошо". Из беседы выясняется, что действительно все хорошо. Выпускают они товар народного потребления, скажем так. Работают под заказ. Поток завода имеет V тип (одно сырье, много различной продукции на выходе). Ограничение потока – один из оконечных переделов, где собственно и происходит переключение с одной продукции на другую (с одного заказа на другой). Система оплаты труда - везде оклад, только на ограничении - сдельная оплата. Естественно, на последнем переделе много переналадок. Но время на переналадки максимально минимизировано (они прекрасно понимают, что это - потери). Кстати, сама переналадка происходит в автоматическом режиме. Ограничение не простаивает по причине нехватки сырья для работы - для него всегда есть определенный буфер сырья. Как считаете, есть ли у предприятия возможности для увеличения результативности? Если нет - почему, если есть - в чем они? #управление_производством #барабан_буфер_канат #ббк #dbr

(продолжение поста) Теперь необходимо синхронизировать запуск в нашу производственную цепочку сырья (материалов) с работой нашего барабана. Этот механизм (механизм запуска в производство) называется Канат. Не хватает только определиться с незавершенным производством. Сколько именно держать НЗП в потоке? Ровно столько, чтобы наш РОМ никогда не простоял и не больше. Ведь мы помним – производство на самом деле полно неопределенности, вариативности и т.д. Надо защитить РОМ от этой неопределенности. Для этого введем буфер – время от начала производства до его завершения. А как же планы работ для каждой операции? Да они на самом деле и не нужны. Есть работа перед станком – работай. Нет работы – жди, когда появится работа или пойди помоги другу. Ну а если работа есть, причем есть выбор из нескольких деталей? Тогда делай наиболее приоритетную – ту, буфер которой больше всего уже потреблен (осталось меньшая доля времени до сдачи заказа). И что в результате получается? У нас появляется гораздо более простой, а значит более выполнимый график работы для РОМ и первого ресурса в потоке и система приоритетов для остальных ресурсов. Это и есть метод Барабан – буфер – канат. Его легко реализовать и его можно использовать на любом производстве, какая бы вариабельность не была. Простота решения в результате дает надежный конечный результат, сокращение производственного цикла и рост прибыли. А зачем тогда намудрили с детальным планированием, нормами времени? Да это было просто начальное приближение. Наука тогда находилась в таком состоянии, что и это было прорывом. Но вот зачем упорствовать и использовать давно устаревшие исходные предположения в 21 веке, это вопрос. Инерция, понимаешь. Да еще и подкрепленная всякими волшебными словами: ERP, MES. APS. Завораживает. Вы все еще? Тогда мы идем … #управление_производством #барабан_буфер_канат #ббк #dbr

Отжившие установки в управлении производством Что лежит в основе большинства современных программных продуктов для управления производством? Очень простые допущения. 1. Производственный цикл может быть разделен на простые операции. 2. Длительность операций можно стандартизировать и ввести соответствующие нормы. 3. На основе введенных норм можно составить детальные планы, оптимизирующие использование оборудования. 4. Оборудование и человеческий труд необходимо использовать эффективно. Простой оборудования и людей – это потери. Допущения эти настолько просты и очевидны, что никому не приходит поставить их под сомнение. Тем более программисту, которому необходимо разработать программный продукт. Более того, эти допущения подтверждены «научным подходом» Фредерика Тейлора. Это он в начале 20 века, обнаружив на промышленных предприятиях бардак, решил применить свой научный подход. То есть разделить производственный цикл на операции, найти способы оптимизации этих операций и ввести соответствующие нормативы для каждого рабочего, выполняющего свою собственную простую операцию. Гениально? Конечно. Для массового производства однотипных изделий. Прошло больше века. Конечно, массовые производства существуют и там открытие Тейлора вполне себе работает. Но в то же самое время существует большое количество предприятий, в которых: 1. На одних же и тех же станках производится большое количество изделий, имеющих различные операции обработки и различную их последовательность. 2. Многие изделия (если не все) производятся мелкосерийно. 3. Спрос на различные изделия очень изменчив и прогнозируется очень слабо. Держать запасы готовой продукции – очень неразумно. 4. Поддерживать такое огромное количество нормативов накладно и бессмысленно. Все равно не удастся стандартизировать все операции, для всех операторов. К тому же люди все – таки разные! В таких условиях детальные планы теряют всякий смысл, поскольку их необходимо будет постоянно пересчитывать. Работать по таким детальным планам – мучение. Кроме того, предположение об эффективном использовании ресурсов на поверку оказывается просто ошибочным. Стремление к эффективности приводит к увеличению партий ( а иногда это невозможно), к увеличению производственного цикла (у всех должен быть запас работы), к увеличению производственного цикла и к неудовлетворению клиента. Но оказывается, все это зря. Эффективность на самом деле – ложная цель. Нам нужна не эффективность, а скорость потока. Именно увеличение скорости потока ведет к увеличению генерации денег. Чем больше в единицу времени мы производим готовой продукции, тем больше мы зарабатываем. А раз мы больше зарабатываем, значит наши затраты становятся более оправданными. То есть мы становимся более эффективными, уходя от стремления к эффективности. Контринтуитивный результат. Итак, что же делать? Решение предложено Голдраттом: давайте не будем составлять детальные планы для каждой операции. Все равно они сорвутся. Давайте не будем ставить целью эффективное использование всех ресурсов. Давайте внимательно посмотрим на наш поток и выделим в потоке наиболее загруженный ресурс. А он всегда есть – ресурс с ограниченной мощностью (РОМ) или ограничение потока. Весь наш поток не сможет выпускать в единицу времени больше изделий, чем проходит через ограничение. Так давайте составим график работы именно РОМ и обеспечим, чтобы именно этот ресурс и был максимально использован (назовем такой график барабаном). Другие ресурсы в потоке имеют излишние мощности по отношению к РОМ. И они могут и даже должны некоторое время простаивать! Их нельзя загружать больше, чем РОМ. Мы не должны их эффективно использовать, это вредно! #управление_производством #барабан_буфер_канат #ббк #dbr

Crypto Media

@crypto_medias · Post #1503 · 06.02.2025 г., 18:24

🔓VCs Are Ready To Sell: These Unlocks Could Crash Prices Tomorrow, VC investors in #JTO will have $12M unlocked, which may impact the price. Major VC unlocks of #ID, #SAGA, #PRCL, and #DBR tokens in March and April could also influence market prices. 📌 Share and Join 🌕@Crypto_Medias

Crypto Headlines

@market_headlines · Post #28383 · 13.04.2026 г., 20:05

#анлок 🔓ТОП разблокировок токенов с 13 по 20 апреля! Cliff Unlocks: ▫️#CONX - $15,95m ▫️#ARB - $10,65m ▫️#DBR - $9,08m ▫️#YZY - $6,36m Linear Unlocks: ▫️#RAIN - $75,67m ▫️#SOL - $38,22m ▫️#CC - $28,06m ▫️#TRUMP - $17,72m ▫️#WLD - $10,78m ▫️#DOGE - $8,66m P.S. Cliff Unlocks – разблокировка крупной порции токенов единовременно в конкретную дату. Linear Unlocks – постепенная разблокировка токенов в течение определенного периода (обычно каждый день или каждую неделю по части). Crypto Headlines

Data | CryptoAttack 🎅🏼

@cryptoarsenal · Post #62693 · 11.04.2026 г., 20:57

📆 🍒Основные события предстоящей недели Понедельник 13 апреля: 🔁#STRKОбновление Starknet 🔁#TRB Обновление Tellor ⌚️#BLEND Токенсейл BLEND ✏️#INK Ink запустит систему поинтов 👍#NOX NONOS выпустит 0xNOX 😎#UMBRA Umbra начнет тестирование приватных ончейн-переводов 🇺🇸 Existing Home Sales (Mar) - 17:00 мск Вторник 14 апреля: 🔓 Разлоки: Pieverse (#PIEVERSE) - 1,50% (7,73 млн $) 🔁#GNO Обновление Gnosis 👍#AGI Delysium запустит Lucy Skills Marketplace 🇷🇺 Начало Blockchain Forum 2026 в Москве 🇺🇸 PPI (MoM) (Mar) - 15:30 мск Среда 15 апреля: 🔁#ATOMОбновление Cosmos Hub 👍#DBT TGE DBT ⌚️#USDP Дедлайн Parallel USDp для миграции MIMO в PRL 🇷🇺 Завершение Blockchain Forum 2026 в Москве 🇺🇸 Crude Oil Inventories - 17:30 мск Четверг 16 апреля: 🔓 Разлоки: Arbitrum (#ARB) - 0,94% (10,80 млн $) - STBL (#STBL) - 4,17% (15,41 млн $) 🔁#XLM Обновление Stellar 🎮#TLM Alien Worlds запустит открытую альфа-версию Alien Legends Academy 🇺🇸#RENDER Начало RenderCon 2026 в Лос-Анджелесе 🇺🇸 Philadelphia Fed Manufacturing Index (Apr) - 15:30 мск - Initial Jobless Claims - 15:30 мск Пятница 17 апреля: 🔓 Разлоки: DeBridge (#DBR) - 6,34% (9,47 млн $) - Aster (#ASTER) - 0,98% (52,46 млн $) 🍿#REAL Real Token объявит о стратегическом сотрудничестве 🇺🇸#RENDER Завершение RenderCon 2026 в Лос-Анджелесе Суббота 18 апреля: 👍#BGB Bitget запустит платформу IPO Prime Воскресенье 19 апреля: 🔓 Разлоки: Yooldo (#ESPORTS) - 3,32% (19,01 млн $) #Calendar#CAreportCAbot