Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
names = [
'image.bmp',
'second.txt.bkp',
'data.db',
'.config.cfg',
'file.ext.bkp'
]
И мы хотим убрать у них окончание ".bkp".
Не знаю зачем, пример довольно надуманный) Но суть он показывает, а это главное.
Те, кто еще не очень знаком с библиотекой os.path или pathlib, вероятно решат обработать имена как строки. И тут вполне подойдет метод строки strip().
Что делает этот метод? Он отрезает указанные символы по обеим сторонам строки. Если ничего не указать, то убирает невидимые символы (пробелы, табуляции и переносы строк).
В нашем случае будет выглядеть вот так:
>>> name.strip('.bkp')
То есть просим удалить строку '.bkp' по краям имени файла, если таковая есть.
Можно применить аналогичный метод rstrip(), чтобы отрезать только справа, но для этого примера используем обычный.
>>> for name in names:
>>> print(name.strip('.bkp'))
image.bm
second.txt
data.d
config.cfg
file.ext
Хм, что-то не то с нашими именами! Что случилось??? Видим нежелательное переименование в именах, где и близко не было указанной строки '.bkp'
А дело всё в том, что данный метод ищет не указанную строку, а указанные символы, и не важно в каком порядке.
Для метода strip() строка '.bkp' это не паттерн для поискаа список символов. Потому он отрезал симовол 'p' от '.bmp' и удалил точку из файла '.config.cfg'.
Как тогда правильно заменить именно паттерн? Для начинающего можно посоветовать метод строки replace(), который как раз использует для замены указанную строку целиком. В нашем примере заменим её на пустую строку.
>>> for name in names:
>>> print(name.replace('.bkp', ''))
image.bmp
second.txt
data.db
.config.cfg
file.ext
Уже лучше, но помните, это лишь пример про strip(). Для работы с именами файлов есть способы и более "правильные", дающие однозначно верный результат. Я взял файлы только в качестве примера. Даже replase() тут может сделать не то что ожидаем.
Просто впредь будьте внимательны с этим strip().
#basic
#freelance
Всем привет!
Ищу специалиста для реализации проекта
Задача:
Имеется DWH на PosgreSQL.
Необходимо построить OLAP кубы. В сумме около 20 измерений.
ТЗ в виде готовых excel, которые напрямую вытягивают данные из БД.
Требование:
Опыт разработки OLAP с нуля;
Знание SSAS MD, MDX, DAX;
По оплате готов услышать ваши предложения.
Подробности в лс -@zxcv9009
Много новых людей пришло, расскажу ещё историю из бытия фрилансером.
Делали мы как-то с другом проект для одной большой конторы (в своей области самой крупной в городе, миллиардные обороты). И вот там на старте нужно было подписаться в техзадании. А техзадание это такая увесистая папка страниц на сто. И подписаться мне, как руководителю проекта, нужно было на каждой странице.
Когда проект запустился, ядро мы собрали быстро. Полный план был что-то типа полгода, но в конечном итоге заняло полтора, потому что после сборки ядра мы практически непрерывно занимались правками и замечаниями. Каждый месяц мы приезжали к заказчику и показывали, что сделали. А нам составляли список из 10-20 новых пунктов. За доработки доплачивали, но в какой то момент стало понятно, что мы в некотором смысле работаем на аутсорсе, хотя подписывались на один конкретный проект. А оставались мы работать, потому что проект не был введён в эксплуатацию, и бросать его без запуска не хотелось.
Заказчик в итоге не переставал заваливать правками, шли месяцы. Впоследствии директор компании сменился, новому проект был без надобности, он заплатил нам остаток, который должен был, и проект остался навечно похоронен.
Как так вышло: огромное и очень подробное техзадание, но всё равно непрерывные правки и замечания? Я позже рефлексировал этот момент и пришёл к таким выводам:
1. Заказчик описал в техзадании конечную систему, которую хотел бы видеть. Нам была нарисована практически каждая кнопка будущей софтины: очень детально и подробно. При этом результат, который требовался заказчику, был описан только в общих чертах (ещё и менялся по ходу дела). ТРИЗ учит нас обращать внимание на результат, а не на способ его достижения.
2. Заказчик не был готов ничего менять со своей стороны. Представьте, я прихожу в спортзал к тренеру и говорю, что вот вам деньги, а я хочу мускулистое тело. Мне тренер предлагает программу занятий. Но я заявляю, что нет, мне некогда, у меня нет времени и возможности ходить. Вообще для меня слишком дорого будет перестроить процессы в своей жизни. Так что нет, никаких походов на занятия. Я же плачу деньги, в конце-концов. Давайте, заплачу ещё больше, если требуется. Дам тренеру больше времени. Так же и тут: в компании были не готовы перестраивать процессы, обновлять софт и железо, обучать персонал. Поэтому новую систему пытались интегрировать со старой, а в интерфейсе использовать не лучшие решения, а привычные.
#dev#freelance
#freelance#ML#вакансия
ML инженер
О проекте
RedCat․ai — технологическая B2B-платформа для подбора недвижимости. Мы создаём ИИ-ассистента для риэлторов, который помогает автоматизировать процессы поиска и консультирования клиентов. Наш подход основан на мультиагентной архитектуре и современных методах работы с LLM.
Что предстоит делать
• Разрабатывать новых агентов в мультиагентной системе ассистента
• Проектировать и улучшать пайплайны на базе LLM
• Работать с RAG: улучшение поиска, оптимизация ответов
• Подключать источники данных и строить интеграции в систему агентов
• Вносить улучшения и правки в существующие модули ассистента
Мы ожидаем от вас
• Опыт коммерческих проектов с ML/LLM, желательно завершённых и внедрённых
• Глубокое понимание RAG-архитектур (FAISS/ElasticSearch + LLM)
• Навыки разработки и оркестрации мультиагентных систем или аналогичных пайплайнов
• Уверенное владение Python и современными ML-фреймворками (LangChain, HuggingFace, PyTorch или аналоги)
• Понимание принципов построения AI-сервисов для реальных пользователей
Формат работы
• Фриланс, частичная занятость
• Работа напрямую с продуктовой командой RedCat․ai
Будет плюсом
• Опыт в диалоговых системах, виртуальных ассистентах, чат-ботах
• Знание тонкостей работы с большим количеством внешних источников (API, базы знаний)
Что предлагаем
• Работа над реальным продуктом в сфере PropTech и AI
• Гибкий формат: фриланс, задачи по мере готовности команды
Откликнуться @julb57
#freelance#frontend
⚙️HTML va ⚙️ CSS’ni yaxshi bilsangiz ham daromad topishingiz mumkin!
👉 Oddiygina shablonlar tayyorlab, ularni maxsus marketplace’larda sotishingiz mumkin. Bunday platformalarda sizning ishlanmangiz dizaynerlar va dasturchilar tomonidan xarid qilinadi.
Eng mashhur bozorlar:
◾️ThemeForest – eng yirik va tajribali sotuvchilar uchun maydon
◾️TemplateMonster – yangi boshlovchilar uchun qulay variant
◾️Creative Market – minimalistik va estetik dizaynlar uchun mos joy
💡 Agar shabloningiz sotilmasa ham, siz o‘zingizga eng katta boylikni topasiz — amaliy tajriba va ko‘nikma.
❓Siz hozirgacha tayyorlagan ishlanmangizni sotishga uringanmisiz?
💻@dasturlash_hayoti— Dasturchilar hayotidan foydali maslahatlar
How BLC Market will grow
We do not use traditional advertising as the main channel.
Growth will be built through users.
Each participant will be able to:
— invite others
— build their own network
— participate in the development of the community
Details coming soon.
#freelance#community
FAQ | BUY
The early core of BLC Market users is now being formed.
These people will:
— be the first to see the working version
— gain access to testing
— be able to influence the product's development
Later, an open growth model through invitations will be implemented.
For now, only those who are already inside can get access.
#freelance#community
FAQ | BUY