UzDevid – Telegram
UzDevid
4.58K subscribers
78 photos
19 videos
117 links
Dasturlash - bu nafaqat mening kasbim, balki bu mening yoqtirgan mashg'ulotim. Men uchun doimiy o'rganish va rivojlanish manbai.

https://tirikchilik.uz/uzdevid
Download Telegram
Assalomu alaykum

Kechkirganda bezovta qilayapaman (umuman olganda ovozsiz xabar yuborayapman),

https://www.youtube.com/watch?v=hRQWc_47kgE

Ushbu videoni ulashishni lozim deb bildim.

Oddiy hol bolib qolgan narsalar, ommaviy propaganda haqida.

Ko'rib chiqasiz degan umiddaman.
Rahmat.

#propaganda #oddiy_hol
@bahriddin_blog
👍8🔥1
Telegram VPN bilan ishlayabti. Agar bu habarni o'qisangiz :)
😁31👍1
NFR (Non-Functional Requirements) yoki funksional bo'lmagan talablar dasturiy ta'minot yoki tizimning ishlashiga ta'sir ko'rsatadigan, lekin bevosita funktsional vazifalar bilan bog'liq bo'lmagan talablar sifatida tushuniladi. Ushbu talablar tizimning qanday ishlashi, uning samaradorligi, xavfsizligi, ishlash tezligi kabi jihatlarni o'z ichiga oladi.
NFR-lar quyidagi asosiy turlarga bo'linadi:

Ishlash Tezligi: Tizimning ma'lum bir vaqtda qancha tez ishlashi kerakligi. Masalan, foydalanuvchi so'roviga qattiq tezlikda javob berish.

Ishonchlilik: Tizimning uzluksiz ishlash qobiliyati va xatolarni minimallashtirish. Tizimning doimiy va ishonchli ishlashi, hatto muammolar yuzaga kelganida ham.

Xavfsizlik: Ma'lumotlarning himoyalanganligi va tizimga ruxsatsiz kirishning oldini olish. Bu, foydalanuvchi ma'lumotlarini himoya qilish va tizim xavfsizligini ta'minlashni o'z ichiga oladi.

Kengayuvchanlik: Tizimning o'sishi yoki ko'proq yuklarni qabul qilish qobiliyati. Tizim yangi foydalanuvchilar yoki qo'shimcha funksiyalar bilan ishlashga tayyor bo'lishi kerak.

Saqlanish: Tizimni yangilash, sozlash yoki texnik xizmat ko'rsatishni osonlashtiruvchi talablar. Bu, dasturiy ta'minotning saqlanishi va qo'llab-quvvatlanishini soddalashtiradi.

NFR-lar dasturiy ta'minotni rivojlantirish jarayonida muhim rol o'ynaydi. Ular tizimning umumiy sifatini oshiradi va foydalanuvchilarga yaxshi tajriba taqdim etishga yordam beradi. Dasturchilar va tizim dizaynerlari ushbu talablarni hisobga olishlari kerak, chunki ular dasturiy ta'minotning muvaffaqiyati uchun muhim ahamiyatga ega.

ChatGPT
👍4🔥1
Nginx (Engine-X) va Apache HTTP Server — bu ikki mashhur web-server bo‘lib, ular arxitektura, ishlash samaradorligi va so‘rovlarni qayta ishlash usullari jihatidan farq qiladi. Mana ba'zi asosiy farqlar:
Arxitektura:

Nginx: Asinxron va voqealarga asoslangan arxitektura. Ko‘p sonli ulanishlarni kam resurslar bilan qayta ishlaydi.

Apache: Ko‘p vazifali va jarayonlarga asoslangan arxitektura. Har bir ulanish uchun alohida jarayon yaratadi.

Ishlash samaradorligi:

Nginx: Odatda, statik fayllarni va ko‘p sonli bir vaqtdagi ulanishlarni qayta ishlashda samaraliroq.

Apache: Dinamik kontentlarni qayta ishlashda yaxshi, ammo statik fayllar va ko‘p so‘rovlarni qayta ishlashda kamroq samarali bo‘lishi mumkin.

Resurslardan foydalanish:

Nginx: Kamroq operativ xotira talab qiladi va ko‘p sonli bir vaqtning o‘zida ulanishlarni samarali tarzda xizmat ko‘rsatishi mumkin.

Apache: Har bir ulanish uchun jarayon yaratish natijasida ko‘proq operativ xotira iste'mol qilishi mumkin, ayniqsa ko‘p so‘rovlar bo‘lsa.

So‘rovlarni qayta ishlash modellari:

Nginx: Bir ishchi jarayon bir necha ulanishni boshqaradi. Qayta ishlash asinxron va voqealarga asoslangan.

Apache: Har bir so‘rov alohida jarayon yoki oqim tomonidan qayta ishlanadi.

Konfiguratsiya:

Nginx: Konfiguratsiya fayllari aniqroq va o‘qilishi osonroq. Statik konfiguratsiyaga ko‘proq e'tibor qaratiladi.

Apache: Konfiguratsiya sintaksisi ko‘proq moslashuvchan va batafsil, bu esa murakkab sozlamalar uchun foydali bo‘lishi mumkin.

Modullar:

Nginx: Modulli arxitektura, lekin modul konfiguratsiyasidagi o‘zgarishlarni amalga oshirish uchun qayta ishga tushirishni talab qiladi.

Apache: Ko‘plab modullarni qo‘llab-quvvatlaydi va modul konfiguratsiyasidagi ko‘pgina o‘zgarishlarni qayta ishga tushirmasdan amalga oshirish mumkin.

Kengaytirilish:

Nginx: Ko‘pincha proksi-server yoki orqa proksi sifatida ishlatiladi va boshqa web-serverlar bilan oson integratsiya qilinadi.

Apache: Dinamik kontentlarni qayta ishlashda keng qo‘llaniladi, ko‘plab dasturlash tillari va ramkalarni qo‘llab-quvvatlaydi.

Manba: @php_interview_lib
👍51🔥1
OASP (OWASP) Top 10 – bu veb-ilovalar xavfsizligidagi eng keng tarqalgan va xavfli zaifliklarni ko‘rsatib beruvchi ro‘yxatdir. Ushbu ro‘yxat ishlab chiquvchilar, xavfsizlik mutaxassislari va IT sohasi xodimlari uchun muhim qo‘llanma hisoblanadi. Quyida OASP Top 10 ro‘yxati va ularning qisqacha tavsifi keltirilgan:

1. Broken Access Control (A1)
Buzilgan kirish nazorati foydalanuvchilarning cheklangan resurslarga ruxsatsiz kirishini ta'minlaydi. Masalan, foydalanuvchi administrator huquqlariga ega bo‘lmasa ham, maxsus URL orqali kirib, ma'lumotlarni o‘zgartirishi mumkin.

2. Cryptographic Failures (A2)
Kriptografik xatolar (ilgari "Sensitive Data Exposure" deb atalgan) ma'lumotlarni noto‘g‘ri shifrlash yoki himoya qilish bilan bog‘liq muammolarni o‘z ichiga oladi. Bu zaiflik, ayniqsa, shaxsiy ma'lumotlarning oshkor bo‘lishiga olib keladi.

3. Injection (A3)
Inyeksiya hujumlari (masalan, SQL, NoSQL, OS, va LDAP inyeksiyalari) orqali kiritilgan zararli kod ilova tomonidan bajariladi. Bu zaifliklar hujumchiga kiritilgan buyruqlarni amalga oshirish yoki maxfiy ma'lumotlarni olish imkonini beradi.

4. Insecure Design (A4)
Havfsiz bo'lmagan dizayn dasturiy ta’minot arxitekturasi va tizimni yaratishda xavfsizlik choralari etarli darajada e’tiborga olinmasligini anglatadi. Bu turdagi zaiflik yangi xavf-xatarlarni keltirib chiqarishi mumkin.

5. Security Misconfiguration (A5)
Noto‘g‘ri sozlashlar, xavfsizlik parametrlarining noto‘g‘ri o‘rnatilishi bilan bog‘liq. Dasturlar o‘rnatilganda yoki sozlanganda xavfsizlik sozlamalari noto‘g‘ri yoki standart holatda qoldirilsa, bu hujumlarga yo‘l ochadi.

6. Vulnerable and Outdated Components (A6)
Zaif yoki eskirgan komponentlardan foydalanish xavfsizlikka tahdid soladi. Masalan, ilova yoki tizimda eski versiyadagi kutubxonalar yoki modullar ishlatilsa, ular orqali hujumlar amalga oshirilishi mumkin.

7. Identification and Authentication Failures (A7)
Identifikatsiya va autentifikatsiya muammolari (ilgari "Broken Authentication" deb atalgan) foydalanuvchilarni to‘g‘ri autentifikatsiya qilmaslik yoki noto‘g‘ri identifikatsiya qilish bilan bog‘liq. Bu zaiflik foydalanuvchilarning hisoblarini o‘g‘irlashga olib kelishi mumkin.

8. Software and Data Integrity Failures (A8)
Dasturiy ta’minot va ma'lumotlar yaxlitligi bilan bog‘liq muammolar, ayniqsa, yangilanishlar va kodni qo‘shishda zaifliklar paydo bo‘lishi bilan bog‘liq. Masalan, zaharli yangilanishlar orqali hujumlar amalga oshirilishi mumkin.

9. Security Logging and Monitoring Failures (A9)
Xavfsizlik loglari va monitoringi yetarli darajada bo‘lmasa, hujumlarni aniqlash va ularga javob qaytarish qiyinlashadi. Ushbu zaiflik tizim hujumga uchraganida yoki zarar ko‘rganida, o‘z vaqtida aniqlashga imkon bermaydi.

10. Server-Side Request Forgery (SSRF) (A10)
SSRF hujumlari hujumchilarga ilova orqali noto‘g‘ri so‘rovlar yuborish imkonini beradi. Bu zaiflik ilova ichidagi serverga so‘rov yuborib, maxfiy ma'lumotlarni olish yoki boshqa xizmatlarga kirish imkonini beradi.

ChatGPT
👍4
Yechim. Broken Access Control (Buzilgan Kirish Nazorati)

1. Kirish nazorati siyosatlarini qat'iy amalga oshirish: Har bir resurs uchun kimga kirishga ruxsat berilganligini aniq belgilang.

2. Rolga asoslangan kirish nazoratini (RBAC) qo‘llang: Foydalanuvchilarga faqat kerakli huquqlarni berish orqali ularning kirish imkoniyatlarini cheklang.

3. So‘rovlar va URL manzillarning haqiqiyligini tekshiring: Foydalanuvchilarni autentifikatsiya qilganingizdan keyin, ularning resurslarga haqiqiy kirish huquqiga ega ekanligiga ishonch hosil qiling.

4. Kirish nazorati uchun avtomatlashtirilgan testlarni amalga oshiring.

ChatGPT
👍7
Transaksiya ma'lumotlar bazasi kontekstida — ma'lumotlar bilan amalga oshiriladigan operatsiyalar ketma-ketligi bo'lib, ular bir butunlik sifatida qaraladi. Asosiy maqsad — operatsiyalar guruhini ishonchli bajarishni ta'minlash, shu tariqa ma'lumotlar bazasi xato yoki uzilishlar holatida ham muvofiq holatda qolishini ta'minlash. Transaksiyalar ACID printsiplariga bo'ysunadi, ular quyidagilarni ta'minlaydi:

- Atomarlik (Atomicity): To'liq bajariladi yoki umuman bajarilmaydi. Agar transaksiyaning biror qismi yakunlanmasa, barcha harakatlar qaytariladi (bekor qilinadi) va tizim transaksiya boshlanishidan oldingi holatga qaytadi.

- Muvofiqllik (Consistency): Ma'lumotlar bazasini bir muvofiq holatdan boshqa bir muvofiq holatga o'tkazadi. Bu ma'lumotlarning butunlik qoidalariga rioya etilishini anglatadi.

- Izolyatsiya (Isolation): Boshqa transaksiyalarning oraliq holatlarini ko'rmaydi. Bu "iflos o'qish" yoki "takrorlanmas o'qish" kabi muammolarning oldini oladi.

- Mustahkamlik (Durability): Transaksiya yakunlangandan so'ng (commit), uning natijalari tizimdagi keyingi uzilishlardan qat'i nazar, ma'lumotlar bazasida saqlanadi.

Ular turli vazifalarni bajarish uchun ishlatiladi, masalan, bank hisoblari o'rtasida mablag'larni o'tkazish, tovarlarni boshqarish tizimlarida inventarizatsiyani yangilash, foydalanuvchilarni boshqarish tizimlarida o'zgarishlar kiritish va ma'lumotlarning butunligini kafolatlashni talab qiladigan boshqa ko'plab operatsiyalar.

Misol:

BEGIN TRANSACTION;

UPDATE BankAccounts SET Balance = Balance - 100 WHERE AccountNumber = '123456';
UPDATE BankAccounts SET Balance = Balance + 100 WHERE AccountNumber = '654321';

COMMIT;


Ushbu misolda bitta transaksiyaga asoslanib, ikki bank hisobi o'rtasida mablag'lar o'tkaziladi. Agar hisoblarning birida balansni yangilash biron sababga ko'ra amalga oshirilmasa (masalan, tizimdagi uzilish sababli), transaksiya bekor qilinadi va ma'lumotlar bazasi dastlabki holatga qaytadi, shu tariqa ma'lumotlarning butunligi ta'minlanadi.

Yakun:

Transaksiya — bu ma'lumotlar bazasi bilan bir nechta operatsiyalarni bir butunlikka jamlash mexanizmi bo'lib, bu ACID kafolatlarini ta'minlash uchun muhimdir, bu esa ma'lumotlarning butunligi va ishonchliligini saqlash uchun zarur.

@uzdevid
👍4🔥2
Bu maqola PHP-da zaif solishtirish (==) dan foydalanish bilan bog'liq bo'lishi mumkin bo'lgan zaifliklarga bag'ishlangan. Qattiq solishtirishdan (===) farqli o'laroq, zaif solishtirish ma'lumotlar turlarini hisobga olmaydi va kutilmagan natijalarga olib kelishi mumkin, bu kodni hujumlarga nisbatan zaif qiladi.

PHP Loose Comparison (PHP-dagi zaif solishtirish)

Zaif solishtirish ikkita qiymat == operatori bilan taqqoslanganda sodir bo'ladi, bu ma'lumotlar turlarini tekshirmaydi. PHP taqqoslashdan oldin taqqoslanadigan qiymatlarni umumiy turga keltirishga harakat qiladi, bu esa kutilmagan natijalarga olib kelishi mumkin. Masalan, 'string' qatori true bilan taqqoslanganda true ga teng deb hisoblanadi.

Xavfsiz bo'lmagan avtorizatsiya tizimi:

Login va parolni tekshirish misolida, xaker true qiymatlarini o'zgartirishi mumkin, bu noto'g'ri ma'lumotlar bilan ham muvaffaqiyatli avtorizatsiyaga olib keladi.

Switch yordamida xavfsiz bo'lmagan avtorizatsiya:

Bu misolda xaker $_POST['user_role'] qiymatini true sifatida qo'llash orqali administrator huquqlariga ega bo'lishi mumkin, chunki switch-case ham zaif solishtirishdan foydalanadi.

Zaifliklarni kamaytirish

Bunday muammolardan qochish uchun, qiymat va ma'lumotlar turini tekshiradigan qattiq solishtirish (===) dan foydalanish tavsiya etiladi. Shuningdek, PHP 8.0 dan boshlab, switch kabi ishlaydigan, ammo qattiq solishtirishdan foydalanadigan match tuzilmasidan foydalanish mumkin, bu kodni yanada xavfsiz qiladi.

@uzdevid
👍5🔥21👏1
SQL in'ektsiya – bu hujumchilarning veb-dasturdagi xavfsizlik zaifliklaridan foydalanib, ma'lumotlar bazasiga zararli SQL so'rovlarini yuborishi va natijada ma'lumotlarga ruxsatsiz kirishi yoki ularni o'zgartirishi mumkin bo'lgan xavfli hujum turi. Bu zaiflik odatda foydalanuvchi kiritgan ma'lumotlar to'g'ridan-to'g'ri SQL so'rovlariga qo'shilganda yuzaga keladi.

### SQL In'ektsiyaning Misoli

Quyidagi kod PHP tilida yozilgan oddiy login shakli:

<?php
$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($connection, $query);

Ushbu kodning zaifligi shundaki, foydalanuvchi tomonidan kiritilgan $username va $password qiymatlari to'g'ridan-to'g'ri SQL so'roviga qo'shiladi. Bu esa SQL in'ektsiyasiga olib kelishi mumkin.

### SQL In'ektsiya Hujumi

Tasavvur qiling, hujumchi quyidagi foydalanuvchi nomi va parolni kiritadi:

- Username: admin' --
- Password: anything

Natijada SQL so'rovi quyidagicha ko'rinishga ega bo'ladi:

SELECT * FROM users WHERE username = 'admin' -- ' AND password = 'anything'

`--` SQL so'rovini izohga (kommentariyaga) aylantiradi, natijada password qismi e'tibordan chetda qoladi. Bu so'rov barcha "admin" foydalanuvchilarini qaytaradi, va agar mavjud bo'lsa, hujumchi tizimga parolsiz kirishi mumkin.

### Zaiflikdan Qanday Qochish Mumkin

SQL in'ektsiyadan himoyalanish uchun quyidagi yondashuvlar qo'llanilishi kerak:

1. Tayyorlangan so'rovlar (Prepared Statements) va parametrlarni bog'lash: Bu usulda foydalanuvchi kiritgan ma'lumotlar SQL so'roviga to'g'ridan-to'g'ri qo'shilmaydi, balki parametr sifatida yuboriladi.

Misol (PHP va MySQLi):


   $stmt = $connection->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();

2. Ma'lumotlarni sanitarizatsiya qilish va validatsiya qilish: Foydalanuvchi kiritgan ma'lumotlarni qabul qilishdan oldin, ularni to'g'ri shaklda ekanligini tekshirish lozim.

3. PDO bilan foydalanish: PDO (PHP Data Objects) bilan tayyorlangan so'rovlarni qo'llash xavfsizlikni oshiradi.

Misol:


   $stmt = $connection->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute(['username' => $username, 'password' => $password]);

4. Kiruvchi ma'lumotlarni cheklash: Foydalanuvchi kiritishi mumkin bo'lgan ma'lumotlarni cheklash va kerak bo'lsa, ma'lumotlarni maxsus formatga keltirish (masalan, raqamlar, elektron pochta manzillari va boshqalar).

Bu yondashuvlar SQL in'ektsiyadan himoyalanishga yordam beradi va veb-dastur xavfsizligini oshiradi.
👍11🔥21
Toza kod (Clean Code) nima?

Toza kod - bu dasturlashda kodning sifati va samaradorligini ta’minlash uchun ishlatiladigan uslub. Toza kod nafaqat kompyuter uchun, balki dasturchilar uchun ham tushunarli bo‘lishi kerak. Kodni o'qish, tushunish va undan foydalanish oson bo'lsa, uni kelajakda qo'llab-quvvatlash, kengaytirish va xatolarni tuzatish ham oson bo'ladi.

Toza kodning asosiy tamoyillari

1. Aniq va qisqa nomlar: O'zgaruvchilar, funksiyalar va sinflar (classlar)ga aniq va mazmunli nomlar berish kodni tushunarli qiladi. Yaxshi nomlar yordamida kodni o'qigan dasturchi darhol nima qilinayotganini tushunishi mumkin.

2. Bir vazifa – bir funksiya: Har bir funksiya faqat bitta vazifani bajarishi kerak. Bu, funksiyalarni kichik va oddiy qilib yozishga imkon beradi, natijada kodni qayta ishlatish va test qilish osonlashadi.

3. Izohlar kamroq, lekin aniq: Kod o'zi uchun gapirishi kerak, ya'ni kod yozilganda izohlar ko'p bo‘lmasligi kerak. Faqat kerakli joylarda izoh qo'shiladi, masalan, kodni tushunish qiyin bo'lgan joylarda.

4. Tuzilishi to'g'ri: Kodning tuzilishi (strukturasi) mantiqiy va tartibli bo'lishi kerak. Masalan, bir-biriga yaqin bo'lgan funksiyalar yoki sinflarni bir joyga to'plash, kodni o'qishni osonlashtiradi.

5. Test bilan ta’minlash: Toza kod yozishda, uni avtomatik testlar bilan tekshirish muhimdir. Testlar yordamida kodning to'g'ri ishlashini ta’minlash va kelajakda o'zgarishlar kiritilganda xatolarni aniqlash oson bo‘ladi.

Nega toza kod muhim?

Toza kod dasturchining samaradorligini oshiradi va jamoaviy ishlashni yengillashtiradi. Toza kodni tushunish va tahrirlash oson bo'lgani uchun, loyiha vaqt o‘tishi bilan murakkablashganida ham, kodni qo‘llab-quvvatlash ancha oson bo‘ladi. Shu sababli, toza kod yozish dasturchining malakasini oshirishda muhim omil hisoblanadi.

Toza kod nafaqat texnik jihatdan yaxshi kod bo'lishi, balki o'qish, tushunish va qo'llab-quvvatlash uchun qulay bo'lishi kerak. Bu tamoyillarni amalda qo'llash dasturiy ta'minotning sifatini oshiradi va uni yanada ishonchli qiladi.

@uzdevid
🔥8👍21
Dasturchilarni bayrami bilan tabriklayman!

HTML dasturlash tili emas.

@uzdevid
👍10😁6👎2🔥2😢1
SQL Indexlar va Ularning Turlari

SQL index — bu jadvalda tezkor qidiruvni ta’minlash uchun ishlatiladigan maxsus tuzilma. Indexlar jadval ustunidagi ma'lumotlarni saralash va ularga tezkor kirishni ta’minlaydi. Bunday qilib, katta hajmdagi ma’lumotlarga ega jadvallardan so‘rovlar ko‘proq samaradorlik bilan amalga oshiriladi. (davomi)

@uzdevid
👍82🔥2👏1
SQL indexlar strukturalari

SQL indexlari turli xil ma’lumot tuzilmalari asosida quriladi, ularning har biri ma’lumotlarni tezkor qidirish va qabul qilish uchun o‘ziga xos afzalliklarga ega. Eng keng tarqalgan tuzilma B-tree bo‘lsa-da, boshqa (davomi)

@uzdevid
🔥3👍2👏21
Algoritm qiyinligi

Algoritmlar qiyinligi — bu algoritmning ishlash samaradorligini va vaqt yoki resurs talablarini baholash usuli. Asosan, algoritm qiyinligi ikkita asosiy mezon bilan o'lchanadi: vaqt murakkabligi va xotira murakkabligi. (davomi)

@uzdevid
👍6🔥4👏21
composer-ning .json va .lock fayllarining ahamiyati

PHP dasturlash tilida ishlaydigan loyihalarda paketlarni boshqarish va ularni boshqaruv tizimini soddalashtirish uchun Composer dan foydalaniladi. Ushbu vosita yordamida oson va samarali ravishda kerakli kutubxonalarni loyihaga qo'shish, yangilash yoki o'chirish mumkin. Composer-ning asosiy fayllari esa composer.json va composer.lock hisoblanadi. (davomi)

@uzdevid
👍7🔥31👏1
Composer-da kutubxonalarning talqinini boshqarish

Composer orqali kutubxonalar o‘rnatishda talqinlarni boshqarish uchun turli belgilar ishlatiladi. Keling, ularning asosiy farqlarini ko'rib chiqamiz:

- 1.0: Aniq shu talqin o‘rnatiladi.
- 1.0.*: 1.0.x qatoridagi istalgan talqin o‘rnatiladi (1.0.1, 1.0.2).
- ^1.0: 1.0.x va 1.x.x talqinlari o'rnatilishi yoki yangilanishi mumkin, lekin 2.0.0 emas.
- ~1.2: 1.2.x talqinlari o‘rnatiladi, lekin 2.0.0 emas.
- >=1.0 <2.0: 1.0 dan 2.0 gacha bo'lgan talqinlar o'rnatiladi, lekin 2.0 emas.

Bu belgilar talqinlarni o'rnatish va yangilashni aniq boshqarishga yordam beradi.

@uzdevid
👍10🔥31👏1
MySQL yoki PostgreSQL, qaysi biri afzalroq?

MySQL va PostgreSQL o'rtasida tanlov qilish loyihaning talablariga bog'liq. Ikkala ma'lumotlar bazasi tizimi ham kuchli va keng qo'llaniladigan variantlar bo'lsa-da, ular o'zlarining xususiyatlari va foydali jihatlari bilan farq qiladi. (davomi)

@uzdevid
👍81🔥1👏1
REST va RESTful API, farqi nimada?

REST (Representational State Transfer) — bu veb-servislarni yaratish uchun ishlab chiqilgan me'yorlar to‘plami bo‘lib, u resurslarga kirishni oddiy va tizimli usulda tashkil etishga yordam beradi. (davomi)

@uzdevid
👍7🔥21👏1
Stateful va Stateless tushunchalari

Kompyuter tarmoqlari va dasturiy ta'minotda "stateless" va "stateful" tushunchalari tizimning mijoz va server o'rtasidagi muloqotni qanday boshqarishini ifodalaydi. (davomi)

@uzdevid
👍3🔥31👏1
gPort-dan 19124510 soniya foydalanilibti. Ya'ni bu 5302 soat yoki 221 kun degani

@uzdevid
🔥3👏2👍1🤯1
So'ngi vaqtlarda kiber jinoyat, kartadan pul o'marishlar ko'paygani bois, payme mana shunday test sinovlari o'tkazyabti ekan. Tavsiya qilaman.

https://cybersecurity.repost.uz

@uzdevid
👍9👏2🔥1