O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Amaliy ishi
Guruh: 715-20
Bajardi: Jumayev Botir
Tekshirdi: Meliqo‘ziyev Rustambek
Ochiq va yopiq kodli dasturlarni yozish usullarini tadqiq etish
O’rganib chiqilishi lozim bo’lgan savollar:
•
Ochiq va yopiq kodli dasturlar
• Ochiq va yopiq kodli dasturlarni yozish usullari
1.Ochiq va yopiq kodli dasturlar
Ochiq kodli va yopiq kodli dasturlar dasturiy ta'minot dasturlarini ishlab chiqish va
tarqatish usullarini anglatadi.
Ochiq kodli dasturlar odatda MIT yoki Apache litsenziyasi kabi ruxsat beruvchi
litsenziya ostida har kim foydalanishi, o'zgartirishi va tarqatishi uchun bepul
taqdim etiladigan dasturlardir. Ochiq kodli dasturlar ko'pincha kodlar bazasini
yaratish va saqlash uchun birgalikda ishlaydigan hissa qo'shuvchilar jamoasi
tomonidan ishlab chiqiladi. Bu ishlab chiqish jarayonini boshqarish uchun GitHub
yoki GitLab kabi hamkorlik vositalaridan foydalanishni o'z ichiga olishi mumkin, bu
esa ishlab chiquvchilarga kodlar bazasining turli qismlarida ishlash va
o'zgarishlarni kuzatish imkonini beradi. Ochiq kodli dasturlar ko'pincha shaffof
rivojlanish jarayoniga ega va jamoatchilik fikri ko'pincha rag'batlantiriladi. Ochiq
kodli dasturlarga misol sifatida Linux operatsion tizimi, Apache veb-serveri va
Python dasturlash tili kiradi.
Boshqa tomondan, yopiq manba dasturlari odatda bitta kompaniya yoki tashkilot
tomonidan ishlab chiqiladi va tarqatiladi va ularni o'zgartirish yoki tarqatish uchun
erkin foydalanish mumkin emas. Yopiq manba dasturlari umumiy foydalanish
mumkin bo'lmagan xususiy vositalar va texnologiyalar yordamida ishlab chiqilishi
mumkin. Ular odatda ilovalar do'koni yoki kompaniya veb-sayti kabi
boshqariladigan tarqatish kanali orqali tarqatiladi. Cheklangan foydalanuvchi fikr-
mulohazalarini mijozlarni qoʻllab-quvvatlash kanallari orqali olish mumkin, lekin
foydalanuvchilar odatda dasturni oʻzgartira olmaydi yoki xato hisobotlari yoki
funksiya soʻrovlarini kirita olmaydi. Yopiq kodli dasturlarga Microsoft Office,
Adobe Photoshop va Apple kompaniyasining iOS operatsion tizimini misol qilib
keltirish mumkin.
Ham ochiq, ham yopiq kodli dasturlar yuqori sifatli bo'lishi va
foydalanuvchilarning ehtiyojlarini qondirishi mumkin, ammo e'tiborga olish kerak
bo'lgan kelishuvlar mavjud. Ochiq kodli dasturlarda ko'proq hamjamiyat qo'llab-
quvvatlanishi va sozlanishi mumkin bo'lishi mumkin, ammo ularda yopiq manbali
dasturlarda mavjud bo'lgan ba'zi xususiyatlar yoki qo'llab-quvvatlovlar ham
bo'lmasligi mumkin. Yopiq manba dasturlari koʻproq funksiya va qoʻllab-
quvvatlashga ega boʻlishi mumkin, lekin ular qimmatroq yoki ulardan
foydalanishda cheklovli boʻlishi mumkin.
2.Ochiq va yopiq kodli dasturlarni yozish usullari
Ochiq kodli va yopiq kodli dasturlar shunga o'xshash usullar yordamida ishlab
chiqilishi mumkin, lekin ular odatda yaratilishi va tarqatilishida ba'zi farqlar
mavjud.
Ochiq kodli dasturlar odatda MIT yoki Apache litsenziyasi kabi ruxsat beruvchi
litsenziya ostida har kim foydalanishi, o'zgartirishi va tarqatishi uchun bepul
taqdim etiladigan dasturlardir. Ochiq kodli dasturlarni ishlab chiqishning ba'zi
umumiy usullari:
1. Birgalikda ishlab chiqish: Ochiq kodli dasturlar ko'pincha kodlar bazasini
yaratish va qo'llab-quvvatlash uchun birgalikda ishlaydigan hissa
qo'shuvchilar jamoasi tomonidan ishlab chiqiladi. Bu ishlab chiqish
jarayonini boshqarish uchun GitHub yoki GitLab kabi hamkorlik
vositalaridan foydalanishni o'z ichiga olishi mumkin, bu esa ishlab
chiquvchilarga kodlar bazasining turli qismlarida ishlash va o'zgarishlarni
kuzatish imkonini beradi.
2. Uzluksiz integratsiya va joylashtirish: Kod o'zgarishlarining to'g'ri sinovdan
o'tkazilishi va dasturga integratsiya qilinishini ta'minlash uchun ko'plab
ochiq manba loyihalari uzluksiz integratsiya va tarqatish (CI/CD)
vositalaridan foydalanadi. Ushbu vositalar yaratish, sinovdan o'tkazish va
joylashtirish jarayonini avtomatlashtiradi, xatolarni aniqlashga yordam
beradi va kodlar bazasi barqaror va funktsional bo'lishini ta'minlaydi.
3. Foydalanuvchilarning fikr-mulohazalari va hissalari: Ochiq manbalarni ishlab
chiqishning afzalliklaridan biri shundaki, foydalanuvchilar xato hisobotlari,
xususiyat so'rovlari va hatto loyihaga kod o'zgarishlarini kiritishlari mumkin.
Bu vaqt o'tishi bilan dasturni yaxshilashga yordam beradi va uning
foydalanuvchilarning ehtiyojlarini qondirishini ta'minlaydi.
Boshqa tomondan, yopiq manba dasturlari odatda bitta kompaniya yoki tashkilot
tomonidan ishlab chiqiladi va tarqatiladi va ularni o'zgartirish yoki tarqatish uchun
erkin foydalanish mumkin emas. Quyida yopiq kodli dasturlarni ishlab chiqishning
bir necha umumiy usullari keltirilgan:
1. Xususiy rivojlanish: Yopiq manba dasturlari umumiy foydalanish mumkin
bo'lmagan xususiy vositalar va texnologiyalar yordamida ishlab chiqiladi. Bu
faqat litsenziyalangan foydalanuvchilar uchun mavjud bo'lgan
integratsiyalashgan ishlab chiqish muhitlari (IDE) va boshqa vositalardan
foydalanishni o'z ichiga olishi mumkin.
2. Boshqariladigan tarqatish: Yopiq manba dasturlari odatda ilovalar do'koni
yoki kompaniya veb-sayti kabi boshqariladigan tarqatish kanali orqali
tarqatiladi. Bu kompaniyaga dastur ustidan nazoratni saqlab turish va
undan biznes maqsadlariga mos keladigan tarzda ishlatilishini ta'minlash
imkonini beradi.
3. Cheklangan foydalanuvchi fikr-mulohazasi: Yopiq manba dasturlari
cheklangan foydalanuvchi fikr-mulohazalariga ega bo'lishi mumkin, chunki
foydalanuvchilar odatda dasturni o'zgartira olmaydi yoki xato hisobotlari
yoki xususiyat so'rovlarini kirita olmaydi. Buning o'rniga, kompaniyalar fikr-
mulohazalarni yig'ish va yuzaga kelgan muammolarni hal qilish uchun
mijozlarni qo'llab-quvvatlash kanallariga tayanishi mumkin.
Biroq, ikkala holatda ham, ishlab chiqish jarayoni kod yozish, test va disk
raskadrovkani o'z ichiga oladi va dastur o'z maqsad va vazifalariga javob berishini
ta'minlash uchun boshqa ishlab chiquvchilar, loyiha menejerlari va manfaatdor
tomonlar bilan ishlashni o'z ichiga olishi mumkin.
avaScript (JS) da ochiq kodli va yopiq kodli dasturlarni yozish usullari boshqa
dasturlash tillari uchun qoʻllaniladigan usullarga oʻxshaydi, biroq JS ekotizimida
keng qoʻllaniladigan oʻziga xos vositalar va ramkalar mavjud.
JSdagi ochiq kodli dasturlar GitHub, GitLab va Bitbucket kabi hamkorlik vositalari
yordamida ishlab chiqish jarayonini boshqarish uchun ishlab chiqilishi mumkin, bu
esa bir nechta ishtirokchilarga kodlar bazasida ishlash va o'zgarishlarni kuzatish
imkonini beradi. JSda ochiq kodli dasturlarni ishlab chiqishning ba'zi umumiy
usullari:
1. Node.js: Node.js JavaScript ish vaqti boʻlib, ishlab chiquvchilarga server
tomonida JS kodini ishga tushirish imkonini beradi va bu bitta til yordamida
toʻliq stekli veb-ilovalarni yaratish imkonini beradi. Node.js ochiq kodli
dasturlarni, jumladan Express.js va Nest.js kabi mashhur ramkalarni yaratish
uchun ishlatilishi mumkin bo‘lgan katta kutubxonalar va vositalar
ekotizimini taqdim etadi.
2. React: React foydalanuvchi interfeyslarini yaratish uchun mashhur
JavaScript kutubxonasidir. Bu ishlab chiquvchilarga qayta foydalanish
mumkin bo'lgan komponentlarni yaratish va davlatni deklarativ tarzda
boshqarish imkonini beradi. React katta hissa qo'shuvchilar hamjamiyatiga
ega va murakkab front-end ilovalarini yaratish uchun ishlatilishi mumkin
bo'lgan Redux va React Router kabi vositalarni taqdim etadi.
3. Sinov ramkalari: Test ochiq manbalarni ishlab chiqishning muhim qismidir
va JavaScript uchun Jest va Mocha kabi bir nechta mashhur test tizimlari
mavjud. Ushbu ramkalar kod o'zgarishlarining maqsadga muvofiq ishlashini
ta'minlash uchun birlik testlari, integratsiya testlari va oxirigacha testlarni
yozish uchun vositalarni taqdim etadi.
JSdagi yopiq manba dasturlari odatda xususiy vositalar va texnologiyalar
yordamida ishlab chiqiladi va ilovalar doʻkonlari yoki kompaniya veb-saytlari kabi
boshqariladigan kanallar orqali tarqatiladi. JSda yopiq kodli dasturlarni ishlab
chiqishning ba'zi umumiy usullari:
1. Xususiy kutubxonalar va vositalar: Yopiq manba dasturlari umumiy
foydalanish mumkin bo'lmagan xususiy kutubxonalar va vositalardan
foydalanishi mumkin. Ushbu vositalar integratsiyalashgan ishlab chiqish
muhitlarini (IDE), kod muharrirlarini va faqat litsenziyalangan
foydalanuvchilar uchun mavjud bo'lgan boshqa ishlab chiqish vositalarini o'z
ichiga olishi mumkin.
2. Boshqariladigan tarqatish: Yopiq manba dasturlari odatda ilovalar do'koni
yoki kompaniya veb-sayti kabi boshqariladigan tarqatish kanali orqali
tarqatiladi. Bu kompaniyaga dastur ustidan nazoratni saqlab turish va
undan biznes maqsadlariga mos keladigan tarzda ishlatilishini ta'minlash
imkonini beradi.
3. Cheklangan foydalanuvchi fikr-mulohazasi: Yopiq manba dasturlari
cheklangan foydalanuvchi fikr-mulohazalariga ega bo'lishi mumkin, chunki
foydalanuvchilar odatda dasturni o'zgartira olmaydi yoki xato hisobotlari
yoki xususiyat so'rovlarini kirita olmaydi. Buning o'rniga, kompaniyalar fikr-
mulohazalarni yig'ish va yuzaga kelgan muammolarni hal qilish uchun
mijozlarni qo'llab-quvvatlash kanallariga tayanishi mumkin.
Biroq, ikkala holatda ham ishlab chiquvchilar kod yozishlari, dasturlarini sinab
ko'rishlari va disk raskadrovka qilishlari va dastur o'z maqsad va vazifalariga javob
berishini ta'minlash uchun boshqa ishlab chiquvchilar, loyiha menejerlari va
manfaatdor tomonlar bilan ishlashlari kerak bo'ladi.
|