Один из самых удобных способов записать данные это использование готовых форматов, такие как JSON или YAML.
Из плюсов такого подхода стоит отметить вот что:
🔸 готовый, повсеместно используемый и поддерживаемый формат
🔸 простой и понятный файл, удобочитаемый для человека
🔸 можно легко редактировать в любом текстовом редакторе без специальных программ и библиотек
Но есть и минусы
🔹 затраты времени при записи файла (кодирование данных в нужный формат строки)
🔹 затраты времени при чтении файла (декодирование данных в Python объекты)
🔹 размер файла увеличивается из-за разметки данных (скобки, запятые, переносы, отступы...)
🔹 перед записью все данные должны быть помещены в память в полном объёме (не всегда)
🔹 при чтении необходимо считать весь файл в память и только потом декодировать данные
Если нужно писать немного данных в несколько файлов, то затраты по времени не ощутимы. Обычно это файлы конфига или какие-либо метаданные. Это отличный вариант под такие задачи.
Есть и другой поход к записи файлов - это бинарные файлы. Используется, когда данных достаточно много и никто их не собирается читать глазками😳.
🔸 очень быстрая запись
🔸 чтение значительно быстрей чем JSON, YAML итд
🔸 размер файла значительно меньше, так как нет разметки
🔸 можно записывать данные по мере поступления не загружая всё в память
🔸 можно извлечь любую часть данных независимо
Из минусов
🔹 нужно определить свой формат записи данных (если не используете готовую спецификацию определённого формата)
🔹 не получится открыть файл и визуально понять что там записано, а для чтения файла потребуется знать его спецификацию.
🔹 не так-то просто создать такой файл без специальной библиотеки
В таком виде удобно записывать большой массив любых однородных данных. Например, мониторинг валютной биржи или кэшированная анимация 3D геометрии.
(Это не означает что нельзя записать данные разного типа, просто это будет не так удобно)
Представьте себе JPG-картинку. По сути это немного мета-информации и большой массив пикселей. Тоже самое со звуком или видео файлом. Поэтому, если вы попробуете открыть картинку в текстовом редакторе вы увидите что-то вроде такого
f15d cd29 a564 4578 ...
09e2 9bc4 a696 1253 ...
84e9 4de1 3b23 c24a ...
2534 5161 28e0 709d ...
...
Это и есть записанные байтики. И для их чтения требуется определённый софт который знает что с ними делать. Под каждый тип файла.
К чему это я? Читайте в следующем посте...
#tricks#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