Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
@elzodxon’dan share qildim:
Kamron'ni 3-4 yildan beri taniyman, Ilyos aka yozganlariday, O'zbekistonda xizmat ko'rsatgan dasturchi;
Yaratayotgan kursi sifati va ma'lumot yetkazib berishi top! Vue.js Uzbek community'da bunday kurs yo'q, hozircha.
https://t.me/kamrondev/60
P.S. Kamron kanalimdan borganlarga chegirma bormi, kurslarga?) Xazillashib yozdim, kurs anchagina arzon! Ishoning!
#vuejs#tavsiya
#bepul#vuejs
⚡️Vue JS: To‘liq kurs – Noldan boshlab!
Vue 3-ni o‘rganmoqchimisiz? Ushbu bepul video kurs sizga Vue.js frameworkini mukammal o‘zlashtirishga yordam beradi!
📌Kursda nimalarni o‘rganasiz?
— Vue 3 asoslari
— Ma’lumotlar bilan ishlash
— Komponentlar yaratish va ulardan foydalanish
— Server bilan o‘zaro ishlash (API)
— Ramkani kengaytirish va optimallashtirish
— Loyihani serverga joylash
💻Kimlar uchun?
Kurs JavaScript bilan ishlash tajribasiga ega va front-end bilimlarini chuqurlashtirishni istagan dasturchilar uchun mo‘ljallangan.
📱Videoni tomosha qiling
Vue.js’ni o‘rganib, o‘z loyihalaringizni yaratishni boshlang! 🔥
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
#vuejs#frontend#dasturlash_hayoti
💚Vue.js’da v-if va v-show orasidagi farq
Vue’da elementlarni ko‘rsatish yoki yashirishda ikkita direktiva bor: v-if va v-show. Ular bir xil vazifani bajaradi, lekin ishlash usuli boshqacha
v-if
— Element faqat shart rost bo‘lsa DOM’da paydo bo‘ladi.
— Shart yolg‘on bo‘lsa, element DOM’dan butunlay olib tashlanadi.
— DOM qayta yaratilgani uchun ishlashi sekinroq.
Misol:
<button v-if="isAdmin">
Admin panelga kirish
</button>
✅isAdmin = true → tugma DOM’da yaratiladi.
❌isAdmin = false → tugma DOM’da umuman yo‘q bo‘ladi.
🟩🟩🟩🟩🟩🟩🟩🟩
v-show
— Element har doim DOM’da mavjud.
— Faqatgina CSS (display: none) orqali yashiriladi yoki ko‘rsatiladi.
— Tez ishlaydi, chunki DOM qayta yaratilmaydi.
Misol:
<button v-show="isLoggedIn">
Profilga kirish
</button>
✅isLoggedIn = true → tugma ko‘rinadi.
❌isLoggedIn = false → tugma DOM’da bor, lekin ko‘rinmaydi.
🟩🟩🟩🟩🟩🟩🟩🟩
💡 Xulosa:
◾️Agar element kamdan-kam ko‘rinadigan bo‘lsa → v-if
◾️Agar element tez-tez ko‘rinib-yashiriladigan bo‘lsa → v-show
💻@dasturlash_hayoti— Dasturchilar uchun eng kerakli maslahatlar va foydali kontent
#Vuejs#JavaScript#Frontend#DasturlashHayoti
💚Vue.js o‘rganish uchun JavaScriptni qay darajada bilish kerak?
Ko‘pchilik Vue.js’ni o‘rganmoqchi bo‘ladi, lekin savol tug‘iladi:
“Bunga kirishishdan oldin JavaScriptni qanchalik bilishim kerak?”
Aslida Vue.js — bu JavaScript asosida ishlaydigan frontend framework.
Shuning uchun quyidagi narsalarni bilish shart 👇
Asosiy JavaScript bilimlari:
➡️ O‘zgaruvchilar (let, const)
➡️ Shart operatorlari (if, else)
➡️ Funksiyalar va massivlar
➡️ DOM bilan ishlash (elementlarni olish, o‘zgartirish)
O‘rta daraja bilimlar:
➡️ Arrow functions
➡️map(), filter(), forEach() kabi metodlar
➡️ Object va Array destrukturatsiyasi
➡️this tushunchasi
➡️import / export modullari
Vue.js — bu JavaScriptni soddaroq va qulayroq yozish imkonini beradigan vosita.
Ya’ni, JavaScript bilmasdan Vue.js’da uzoqqa bora olmaysiz 😅
💻@dasturlash_hayoti— Dasturchilar hayoti, motivatsiya va IT olamidagi eng foydali maslahatlar shu yerda!
#vuejs#frontend#dasturlash#web
💚Vue.js da har kuni kerak bo'ladigan 5 ta TOP funksiya
Vue.js (Composition API) da loyiha qilyapsizmi? Unda shu 5 ta funksiya sizning eng asosiy qurolingiz bo'ladi. Qisqa va lo'nda tushuntiramiz: 👇
1️⃣ref() va reactive() — Reaktivlik yuragi
O'zgaruvchilarni "jonli" qiladi. Oddiy qiymatlar (son, matn) uchun ref(), obyekt va massivlar uchun reactive() ishlatiladi. Qiymat o'zgarsa, ekrandagi ma'lumot ham darhol o'zgaradi!
2️⃣computed()— Aqlli hisob-kitob
Boshqa ma'lumotlarga qarab yangi qiymat yasaydi. Uning ajoyib tarafi — natijani saqlab qoladi va faqat kerakli vaqtdagina qayta hisoblaydi. Bu dastur tezligini oshiradi.
3️⃣watch()— Sadoqatli qorovul
Biror o'zgaruvchini poylab turadi. Masalan, foydalanuvchi qidiruvga so'z yozishi bilan backendga so'rov yuborish kerak bo'lsa, watch eng to'g'ri tanlov.
4️⃣onMounted()— To'g'ri vaqtda harakat
Komponent brauzerda to'liq paydo bo'lgach ishga tushadi. Odatda, API dan ma'lumotlarni tortib kelish (fetch) uchun eng ideal joy hisoblanadi.
5️⃣provide() va inject()— Pochtalon📬
Ma'lumotlarni eng tepadagi komponentdan eng pastdagisiga props orqali qiynalib o'tkazgandan ko'ra, shu ikkisi yordamida to'g'ridan-to'g'ri va toza yetkazib berish mumkin.
Siz eng ko'p qaysi biridan foydalanasiz? Izohlarda yozib qoldiring! 👇
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉
#typescript#component_library#element_plus#element_ui#vue#vue_components#vuejs
Element Plus is a UI library for Vue 3, built with TypeScript and the Composition API. It offers a variety of customizable components and a cool design language, making it easy for developers and designers to create user interfaces. The library is open-source and actively maintained, with tools like a migration tool to help transition from Element UI. This makes it a great choice for building modern web applications with a consistent look and feel.
https://github.com/element-plus/element-plus
Axios bilan real API chaqirish — ODDIY MISOL BILAN!
❓ “Ma’lumotni boshqa sayt yoki serverdan qanday olib kelamiz?” degan savol bormi? Javob: Axios!
STEP 1: Axios’ni o‘rnatamiz
Terminalda yozing:
npm install axios
STEP 2: Real API chaqiramiz (masalan: foydalanuvchilar ro‘yxati)
Bu API — jsonplaceholder.typicode.com saytiga tegishli va real ishda sinab ko‘rish uchun yaratilgan bepul servis.
import axios from 'axios';
export default {
data() {
return {
users: []
};
},
mounted() {
axios.get('https://jsonplaceholder.typicode.com/users')
.then(response => {
this.users = response.data;
})
.catch(error => {
console.log("Xatolik:", error);
});
}
}
STEP 3: Ma’lumotni sahifada chiqaramiz
<ul>
<li v-for="user in users" :key="user.id">
{{ user.name }} - {{ user.email }}
</li>
</ul>
📌 Natija:
✅ Sahifa ochilishi bilan API’dan foydalanuvchilar ro‘yxati olinadi
✅ Bu ma’lumotlar users array’iga joylanadi
✅ v-for yordamida ekranga chiqariladi
💡 Real hayotda bu qanday foyda beradi?
– Mahsulotlar ro‘yxati olish
– Ob-havo, yangiliklar, valyuta kurslari chiqarish
– Login/ro‘yxatdan o‘tish so‘rovlari
– Barcha dinamik ma’lumotlar API orqali ishlaydi!
Foydali deb bilsangiz:
📌Saqlab qo‘ying
📤 Do‘stlaringizga ulashing
💬Izohda fikringizni yozing
#vuejs#axios#api#frontend#json#dasturlash#webdev#praktika#ulashishga_arziydi
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
#typescript#accounting#book_keeping#desktop#double_entry_accounting#electron#frappe#inventory_management#invoicing#javascript#offline#open_source#point_of_sale#vuejs
Frappe Books is a free, open-source accounting software designed to make managing your business finances simple and efficient. It works on Windows, Mac, and Linux, and you can use it offline since it stores data locally on your computer. It offers easy invoicing with customizable templates, tracks payments, and provides important financial reports like profit and loss, balance sheets, and trial balances. The software has a clean, user-friendly interface and features like a dashboard for quick financial insights and a point-of-sale system for retail. This helps you save time, stay organized, and make smarter business decisions without complex tools or extra costs[1][3][4].
https://github.com/frappe/books