Uploaded by Ali

Fayziyev Samaondar Loyiha ishi 2

advertisement
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANSHTIRISH VAZIRLIGI
MUXAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
FARG’ONA FILIALI
“Kompyuter injiniringi” fakulteti “
“Kompyuter injiniringi” kafedrasi
“ O‘rnatilgan operatsion tizimlarda xotirani boshqarish”
mavzusiga tayyorlangan
INDIVIDUAL
«
»
L O Y I H A ISHI
bajardi (imzo)
710-20 guruh talabasi
2023 y.
ball bilan
qabul qilindi (imzo)
«
»
2023 y.
Komissiya a’zolari
«
»
qabul qilindi (imzo)
qabul qilindi (imzo)
______________________
_____________________
2023 y.
«
Reja:
1
»
2023 y.
Reja:
1. Kirish
2. Bilimdon nimani haqida
3. Bilimdonning Foydalari …………………………………………….. 5
4. Ilovaning maqsadi…………………...……………………………….. 6
5. Dastur ko’rinishi.………………...….………………………………. 8
7. Mobil ilovalarni ishlab chiqishda qo’llaniladigan dasturiy vositalar... 18
8. Foydalanilgan adabiyotlar ………………………………………... 24
7
Kirish
Assalomu alaykum va xush kelibsiz! Bugungi kunga aytishimiz mumkin bo'lgan eng
so'nggi o'rganishning yangilovchi va ko'p funksiyali mobil ilovasi - Bilimfon haqida
gaplashamiz.
Bilimfon, o'rganishni oson va qiziqarli qilishga yo'l qo'ymoqda - bu esa har yosh va
ma'lumotdarlik darajasiga ega bo'lgan odamlar uchun eng muhim narsa. Bugungi kunda,
biz Bilimfon ilovasining qanday yordam berishi, qanday o'rganish yo'nalishlarini taqdim
etishi va qanday muhim foydalarning mavjudligi to'g'risida gaplashamiz. Boshlaymiz!
2
 Bilimdon nima haqida
Bilimdon, o'rganishning eng so'nggi mahsuloti va insonlarga cheksiz imkoniyatlar taqdim
etuvchi bir mobil ilovadir. Quyidagi keng turdagi funksiyalardan foydalanish orqali,
Bilimdon foydalanuvchilarga katta qadriyatli o'rganish imkoniyatlarini ochildi:
Interaktiv Darslar: Har xil mavzularni o'z ichiga olgan multimedia darslar. Bu darslar,
foydalanuvchilarga o'rganish jarayonini jiddiy ravishda qiziqtirish va ahamiyatini
ko'rsatishga yordam beradi.
Moslashtirilgan O'rganish: Shaxsiy rivojlanishga asoslangan shaxsiy o'qish
yo'nalishlari. Bilimdon, foydalanuvchilarning ma'lumotlari va o'rganish usullariga
moslashtirilgan shaxsiy dastlabki o'qish yo'nalishini taqdim etadi.
3
O'yinbop Testlar: O'rganishni qo'llab-quvvatlash va bilimni baholash uchun qiziq testlar
va chellendzhlar. Bu funksiya, o'rganuvchilarga o'rganishlarini nazorat qilish va o'zlarini
sinovdan o'tkazish imkoniyatini beradi.
Progressni Kuzatish: Foydalanuvchilar uchun tafsilotlar, analitika va rivojlanishni
kuzatish. Bu funksiya, foydalanuvchilarning o'rganish muvaffaqiyatlari va o'zlarining
shaxsiy rivojlanishlarini nazorat qilishga yordam beradi.
Jamoatga Murojaat: Boshqa o'rganuvchilar bilan bog'lanish, fikrlarni almashish va
yordam so'ralish uchun hamkorlik qilish imkoniyati. Bu funksiya, o'rganuvchilar uchun
ko'plab imkoniyatlar ochildi, ular o'z fikrlarini almashish va o'rganishdagi muammolarini
birgalikda hal qilishga yordam beradi.
Offlayn Kirish: O'rganish uchun kontentni offlayn olish imkoniyati, dastlabki kirishni
ta'minlash, har vaqtda va har yerda foydalanishni ta'minlash. Bu funksiya,
foydalanuvchilarga o'rganishlari uchun qulaylik va erishimni oshiradi.
Bilimdon, o'rganuvchilarga qiziqishlarini o'zlashtirish, shaxsiy o'rganish rivojlanishlariga
moslashtirilgan yordam berish va cheksiz o'rganish imkoniyatlarini taqdim etish bilan
amalga oshirilgan yangilikchilar ilovasidir.
 Bilindonning Foydalari
Bilimdon, o'rganishning o'zgartiruvchi qo'llanmasi sifatida o'rganuvchilarga ko'plab
foydali imkoniyatlarni taqdim etadi. Quyidagi foydalardan ba'zilari:
Qulaylik: Mobil ilova shakllarida o'rganish imkoniyatlari, foydalanuvchilar uchun
ta'limga erishimni oson va tezlashtiradi, ularni o'zlarining ixtiyoriy vaqtida o'rganishiga
imkoniyat beradi.
4
Qiziqish: Interaktiv darslar, o'yinbop testlar va chellendzhlar foydalanuvchilarni
o'rganish jarayonida motivatsiyalash uchun, shuningdek, bilimni o'zlashtirish va ilg'or
ravishda qiziqtirish uchun qiziq imkoniyatlarni taqdim etadi.
Shaxsiylik: Bilimdon, foydalanuvchilarga moslashtirilgan dastlabki o'qish yo'nalishlari
orqali shaxsiy o'rganish yo'nalishlarini taqdim etadi. Bu, o'rganuvchilarning o'zlariga
moslashtirilgan o'rganish rejalarini yaratish va o'zlarining shaxsiy rivojlanishlarini
kuzatish imkoniyatini beradi.
Moslashuvchanlik: Bilimdon, o'quvchilarga o'z zahoti va jadvaliga binoan ta'limning
yetishmasining qulay vaqti, ularning o'zlarining shaxsiy jadvaliga va qiziqishlariga qarab,
ta'limni muvaffaqiyatli boshlashlari uchun ko'plab imkoniyatlar ochildi.
Jamoatning Qo'llab-quvvati: Platformada boshqa o'rganuvchilar bilan bog'lanish,
fikrlarni almashish va hamkorlik qilish imkoniyati, foydalanuvchilarga o'rganish
jarayonida yordam beradi va ularga motivatsiya olib keladi.
Bilimdon, o'rganuvchilarga keng qamrovli va qiziq imkoniyatlar taqdim etish bilan,
o'rganishni oson, qulay va samarali qilish uchun mo'ljallangan eng yangi mobil
ilovalardan biridir.
 Bilimdonning maqsadi
Bilimdon ilovasining asosiy maqsadi, o'rganishni oson va qiziqarli qilish orqali
foydalanuvchilarga cheksiz imkoniyatlar taqdim etishdir. Bu ilova quyidagi maqsadlarga
erishishni o'z ichiga oladi:
O'rganishga Ko'rsatish: Bilimdon, har bir foydalanuvchiga turli mavzular bo'yicha
zamonaviy, interaktiv darslar va materiallar taqdim etadi, bu esa o'rganishni qiziq va oson
qiladi.
5
Shaxsiy Rivojlanishni Qo'llab-quvvatlash: Ilova, foydalanuvchilarga
moslashtirilgan shaxsiy o'qish yo'nalishlari taqdim etadi, bu esa ularga o'zlarining
maqsadlariga mos tushgan individual o'rganish yo'nalishini tashkil etish imkoniyatini
beradi.
Kasbiy Rivojlanish: Bilimdon, foydalanuvchilarga turli sohalar va kasblarda
rivojlanishlari uchun zarur bilim va qobiliyatlar taqdim etadi, shuningdek, ularni kasbiy
rivojlanishlariga yo'rdam beradi.
Tajribalarni Almashtirish: Foydalanuvchilar Bilimdon ilovasini ishlatib, boshqa
foydalanuvchilar bilan bog'lanish, fikrlarni almashish va tajribalarni almashtirish
imkoniyatiga ega bo'lib, o'zlarining o'rganish jarayonini kengaytirishadi.
O'quvchilar Bilan Bog'lanish: Ilova, o'quvchilar va o'qituvchilar uchun bir-biriga
bog'lanish va o'rganishda hamkorlik qilish imkoniyatini taqdim etadi, bu esa o'quv
jarayonini qo'llab-quvvatlaydi va o'quvchilar uchun motivatsiya olib keladi.
Bilimdon ilovasi, foydalanuvchilarga cheksiz o'rganish imkoniyatlarini taqdim etib,
ularni shaxsiy va professional hayotlarida rivojlanishlariga yo'ldosh bo'lishga o'z hissasini
o'tkazadi.
6
 Dastur ko’rinishi
7
8
9
10
 Dastur kod qismi
==================== Dasturning algoritm bo’lim
==========================
package com.example.myquizapp
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import android.graphics.Typeface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.ProgressBar
import android.widget.TextView
import android.widget.Toast
import androidx.core.content.ContextCompat
class QuizQuestionsActivity : AppCompatActivity(), View.OnClickListener {
private var mCurrentPosition: Int = 1
private var mQuestionList: ArrayList<Question>? = null
private var mSelectedOptionPosition: Int = 0
private lateinit var tv_option_one:TextView
private lateinit var tv_option_two:TextView
private lateinit var tv_option_three:TextView
private lateinit var tv_option_four:TextView
private lateinit var tv_question:TextView
private lateinit var tv_progress:TextView
private lateinit var btn_submit:Button
private lateinit var progressBar:ProgressBar
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_quiz_questions)
tv_option_one=findViewById(R.id.tv_option_one)
tv_question=findViewById(R.id.tv_question)
tv_option_two=findViewById(R.id.tv_option_two)
tv_option_three=findViewById(R.id.tv_option_three)
11
tv_option_four=findViewById(R.id.tv_option_four)
btn_submit=findViewById(R.id.btn_submit)
tv_progress=findViewById(R.id.tv_progress)
progressBar=findViewById(R.id.progressBar)
mQuestionList = Constants.getQuestions()
setQuestion()
tv_option_one.setOnClickListener(this)
tv_option_two.setOnClickListener(this)
tv_option_three.setOnClickListener(this)
tv_option_four.setOnClickListener(this)
btn_submit.setOnClickListener(this)
}
@SuppressLint("SetTextI18n")
private fun setQuestion() {
val question = mQuestionList!!.get(mCurrentPosition - 1)
defaultOptionsView()
if (mCurrentPosition == mQuestionList!!.size) {
btn_submit.text = "Finish"
} else {
btn_submit.text = "Submit"
}
progressBar.progress = mCurrentPosition
tv_progress.text = "$mCurrentPosition" + "/" + progressBar.max
tv_question.text = question.question
tv_option_one.text = question.optionOne
tv_option_two.text = question.optionTwo
tv_option_three.text = question.optionThree
tv_option_four.text = question.optionFour
}
12
private fun defaultOptionsView() {
val options = ArrayList<TextView>()
options.add(0, tv_option_one)
options.add(1, tv_option_two)
options.add(2, tv_option_three)
options.add(3, tv_option_four)
for (option in options) {
option.setTextColor(Color.parseColor("#7A8089"))
option.typeface = Typeface.DEFAULT
option.background = ContextCompat.getDrawable(
this,
R.drawable.default_option_border_bg
)
}
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.tv_option_one -> {
selectedOptionView(tv_option_one, 1)
}
R.id.tv_option_two -> {
selectedOptionView(tv_option_two, 2)
}
R.id.tv_option_three -> {
selectedOptionView(tv_option_three, 3)
}
R.id.tv_option_four -> {
selectedOptionView(tv_option_four, 4)
}
R.id.btn_submit -> {
if (mSelectedOptionPosition == 0) {
mCurrentPosition++
when {
mCurrentPosition <= mQuestionList!!.size -> {
13
setQuestion()
}
else -> {
Toast.makeText(
this,
"You have successfully completed the Quiz",
Toast.LENGTH_SHORT
).show()
val intent = Intent(this,MainActivity::class.java)
startActivity(intent)
}
}
} else {
val question = mQuestionList?.get(mCurrentPosition - 1)
if (question!!.correctOption != mSelectedOptionPosition) {
answerView(mSelectedOptionPosition,
R.drawable.wrong_option_border_bg)
}
answerView(question.correctOption,
R.drawable.correct_option_border_bg)
if (mCurrentPosition == mQuestionList!!.size) {
btn_submit.text = "Finish"
} else {
btn_submit.text = "Go to next question"
}
mSelectedOptionPosition = 0
}
}
}
}
private fun selectedOptionView(tv: TextView, selectedOptionNum: Int) {
defaultOptionsView()
mSelectedOptionPosition = selectedOptionNum
tv.setTextColor(Color.parseColor("#363A43"))
tv.setTypeface(tv.typeface, Typeface.BOLD)
tv.background = ContextCompat.getDrawable(
this,
14
R.drawable.selected_option_border_bg
)
}
private fun answerView(answer: Int, drawableView: Int) {
when (answer) {
1 -> {
tv_option_one.background = ContextCompat.getDrawable(
this, drawableView
)
}
2 -> {
tv_option_two.background = ContextCompat.getDrawable(
this, drawableView
)
}
3 -> {
tv_option_three.background = ContextCompat.getDrawable(
this, drawableView
)
}
4 -> {
tv_option_four.background = ContextCompat.getDrawable(
this, drawableView
)
}
}
}
}
==================== Dasturning Ekran dizay bo’lim
=======================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ic_bg"
15
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv_app_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:fontFamily="@font/roboto"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@android:color/white"
android:textSize="30sp"
android:textStyle="bold">
</TextView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:text="Hello World!"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="10dp"
app:cardElevation="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto_bold"
16
android:gravity="center"
android:text="@string/welcome"
android:textColor="#363A43"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto_light"
android:gravity="center"
android:text="@string/start_message"
android:textColor="#7A8089"
android:textSize="16sp" />
<Button
android:id="@+id/btn_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@color/colorPrimary"
android:fontFamily="@font/roboto_bold"
android:text="@string/start_button"
android:textColor="@android:color/white"
android:textSize="18sp">
</Button>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
==================== Dasturning Sahifa dizay bo’lim
=======================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
17
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
tools:context=".QuizQuestionsActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp"
>
<TextView
android:id="@+id/tv_question"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:fontFamily="@font/roboto"
android:gravity="center"
android:text="Which internet company began life as an online bookstore called
'Cadabra'?"
android:textColor="#363A43"
android:textSize="22sp">
</TextView>
<LinearLayout
android:id="@+id/ll_progress_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
18
android:layout_height="wrap_content"
android:layout_weight="1"
android:indeterminate="false"
android:max="10"
android:minHeight="50dp"
android:progress="0">
</ProgressBar>
<TextView
android:id="@+id/tv_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="15dp"
android:textColorHint="#7A8089"
android:textSize="14sp"
tools:text="0/10">
</TextView>
</LinearLayout>
<TextView
android:id="@+id/tv_option_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/default_option_border_bg"
android:fontFamily="@font/roboto"
android:gravity="center"
android:padding="15dp"
android:textColor="#7A8089"
android:textSize="18sp"
tools:text="Apple">
</TextView>
<TextView
android:id="@+id/tv_option_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
19
android:background="@drawable/default_option_border_bg"
android:fontFamily="@font/roboto"
android:gravity="center"
android:padding="15dp"
android:textColor="#7A8089"
android:textSize="18sp"
tools:text="Apple">
</TextView>
<TextView
android:id="@+id/tv_option_three"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/default_option_border_bg"
android:fontFamily="@font/roboto"
android:gravity="center"
android:padding="15dp"
android:textColor="#7A8089"
android:textSize="18sp"
tools:text="Apple">
</TextView>
<TextView
android:id="@+id/tv_option_four"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/default_option_border_bg"
android:fontFamily="@font/roboto"
android:gravity="center"
android:padding="15dp"
android:textColor="#7A8089"
android:textSize="18sp"
tools:text="Apple">
</TextView>
<Button
android:id="@+id/btn_submit"
20
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@color/colorPrimary"
android:fontFamily="@font/roboto_bold"
android:text="@string/submit_button"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold">
</Button>
</LinearLayout>
</ScrollView>
Mobil ilova (inglizcha: Mobile app) — maʼlum bir platforma (iOS, Android, Windows
Phone va boshqalar) uchun ishlab chiqilgan smartfonlar, planshetlar va boshqa mobil
qurilmalarda ishlashga moʻljallangan dastur. Koʻpgina mobil ilovalar qurilmaning oʻzida
oldindan oʻrnatiladi yoki ularni App Store, Google Play va boshqalar kabi onlayn dastur
doʻkonlaridan bepul yoki pullik bilan yuklab olish mumkin. Dastlab, mobil ilovalar
elektron pochtani tezda tekshirish uchun ishlatilgan, ammo ularning yuqori talablari
boshqa sohalarda ham kengayishiga olib keldi, masalan, mobil telefon va GPS oʻyinlari,
suhbatlashish, video tomosha qilish va Internetdan foydalanish. Kalit so’zlar. Mobil
ilova, MySQL, Flutter, Figma, iOS, Android, LAMP, SQL, Dart, ma’lumotlar bazasi,
dasturlash tillari.
Mobil ilovalarni ishlab chiqishda quyidagi ba’zi dasturlar kerak bo’ladi:
1-rasm. Mobil ilovalarni ishlab chiqishda foydalaniladigan dasturlar.
MySQL— ochiq manbali relyatsion maʼlumotlar bazasini boshqarish tizimi. Uning
nomi "My", Maykl Videniusning qizining ismi va "SQL", Strukturalangan soʻrovlar
tilining qisqartmasidan iborat. Relyatsion ma'lumotlar bazasi ma'lumotlarni bir yoki bir
21
nechta ma'lumotlar jadvallarida tartibga soladi, ularda ma'lumotlar bir-biri bilan bog'liq
bo'lishi mumkin; bu munosabatlar ma'lumotlarni tuzilishga yordam beradi. SQL dasturchilar relyatsion ma'lumotlar bazasidan ma'lumotlarni yaratish, o'zgartirish va
chiqarish, shuningdek, ma'lumotlar bazasiga foydalanuvchi kirishini boshqarish uchun
foydalanadigan til. Relyatsion ma'lumotlar bazalari va SQL-ga qo'shimcha ravishda,
MySQL kabi RDBMS kompyuterning saqlash tizimida relyatsion ma'lumotlar bazasini
amalga oshirish uchun operatsion tizim bilan ishlaydi, foydalanuvchilarni boshqaradi,
tarmoqqa kirish imkonini beradi va ma'lumotlar bazasi yaxlitligini sinovdan o'tkazish va
zaxira nusxalarini yaratishni osonlashtiradi.
2-rasm. MySQLda ma’lumotlar bazalarini o’zaro bog’lash. MySQL-da
foydalanuvchilarga
SQL-dan foydalangan
holda MySQL
ma'lumotlar bazasi bilan to'g'ridan-to'g'ri o'zaro ishlash imkonini beruvchi mustaqil
mijozlari mavjud, lekin ko'pincha MySQL relyatsion ma'lumotlar bazasi qobiliyatiga
muhtoj bo'lgan ilovalarni amalga oshirish uchun boshqa dasturlar bilan ishlatiladi.
MySQL Linux, Apache, MySQL, Perl/PHP/Python so'zlarining qisqartmasi bo'lgan
LAMP veb-ilovalar stekining (va boshqalar) tarkibiy qismidir. MySQL ko'plab
ma'lumotlar bazasiga asoslangan veb-ilovalar, jumladan Drupal, Joomla, phpBB va
WordPress tomonidan qo'llaniladi. MySQL-dan Facebook, Flickr, MediaWiki, Twitter
va YouTube kabi mashhur veb-saytlar ham foydalanadi.
MySQLni manba kodidan qo'lda qurish va o'rnatish mumkin, lekin maxsus sozlashlar
talab qilinmasa, u odatda ikkilik paketdan o'rnatiladi. Ko'pgina Linux distributivlarida
paketlarni boshqarish tizimi MySQL-ni minimal kuch bilan yuklab olishi va o'rnatishi
mumkin, Ammo xavfsizlik va optimallashtirish sozlamalarini sozlash uchun ko'pincha
qo'shimcha konfiguratsiya talab qilinadi.
LAMP dasturiy taʼminot toʻplami, bu yerda Squid bilan birga koʻrsatiladi. MySQL
kuchliroq mulkiy ma'lumotlar bazalariga past darajadagi muqobil sifatida boshlangan
bo'lsa-da, u asta-sekin katta hajmdagi ehtiyojlarni qo'llab-quvvatlash uchun rivojlandi. U
hali ham ko'pincha kichik va o'rta miqyosdagi bitta serverli joylashtirishda, LAMPga
asoslangan veb-ilovaning komponenti sifatida yoki mustaqil ma'lumotlar bazasi serveri
sifatida ishlatiladi. MySQLning ko'p jozibadorligi phpMyAdmin kabi ochiq manbali
22
vositalar ekotizimlari tomonidan faollashtirilgan nisbatan soddaligi va foydalanish
qulayligidan kelib chiqadi . O'rta diapazonda MySQLni gigabayt xotiraga ega bo'lgan
ko'p protsessorli server kabi kuchliroq uskunada o'rnatish orqali masshtablash mumkin.
Biroq, bitta serverda unumdorlik qanchalik kengayishi mumkinligi
("kengaytirish") bo'yicha cheklovlar mavjud, shuning uchun yaxshilangan ishlash va
ishonchlilikni ta'minlash uchun kattaroq miqyoslarda ko'p serverli MySQL
("kengaytirish") o'rnatilishi talab qilinadi. Oddiy yuqori darajadagi konfiguratsiya
ma'lumotlarni yozish operatsiyalarini boshqaradigan va barcha o'qish operatsiyalarini
bajaradigan bir nechta tobelarga takrorlanadigan kuchli asosiy ma'lumotlar bazasini o'z
ichiga olishi mumkin. Asosiy server doimiy ravishda binlog hodisalarini ulangan
tobelarga surib turadi, shuning uchun ishlamay qolganda toʻxtash vaqtini
minimallashtirib, yangi master boʻlishi mumkin. Ishlashning keyingi yaxshilanishiga
memcached yordamida ma'lumotlar bazasi so'rovlari natijalarini xotirada keshlash yoki
ma'lumotlar bazasini kichikroq bo'laklarga bo'lish orqali erishish mumkin.
Flutter - bu Google tomonidan yaratilgan ochiq manbali UI dasturiy ta'minot ishlab
chiqish tizimi. U Android, iOS, Linux, macOS, Windows, Google Fuchsia, va
Internet uchun yagona kod bazasidan oʻzaro platforma ilovalarini ishlab chiqishda
foydalaniladi. Birinchi marta 2015-yilda ishlab chiqilgan. Flutter 2017-yilning may oyida
chiqarilgan.
Flutterning asosiy komponentlari quyidagilardan iborat:
Dart platformasi
Flutter dvigateli (Skia Graphics Engine)
Fond kutubxonasi
Dizayn uchun maxsus vidjetlar
Flutter rivojlantirish vositalari (DevTools)
3-rasm. Flutterda iOS hamda Andoroid uchun mobil ilovalar yaratish mumkin.
23
Dart platformasi. Flutter ilovalari Dart tilida yozilgan va tilning ko‘plab ilg‘or
funksiyalaridan foydalanadi. Ilovani yozish va disk raskadrovka qilishda Flutter Dart
virtual mashinasida ishlaydi, u o'z vaqtida bajaruvchi vositaga ega. Bu tez kompilyatsiya
vaqtlarini, shuningdek, "qayta yuklash" imkonini beradi, buning yordamida manba
fayllariga o'zgartirishlar ishlaydigan dasturga kiritilishi mumkin.
Flutter buni holatli qayta yuklashni qo‘llab-quvvatlash bilan kengaytiradi, bunda ko‘p
hollarda manba kodidagi o‘zgarishlar qayta ishga tushirishni yoki holatni yo‘qotmasdan
darhol ishlaydigan ilovada aks etadi. Yaxshiroq ishlash uchun Flutter ilovalarining
barcha platformalardagi versiyalari oldindan (AOT) kompilyatsiyasidan foydalanadi.
Figma - vektor grafik muharriri va prototiplash vositasi boʻlib, u asosan veb-ga
asoslangan boʻlib, macOS va Windows uchun ish stoli ilovalari tomonidan yoqilgan
qoʻshimcha oflayn funksiyalarga ega. Android va iOS uchun Figma mobil ilovasi real
vaqtda mobil qurilmalarda Figma prototiplarini ko'rish va ular bilan ishlash imkonini
beradi. Figma xususiyatlari to'plami foydalanuvchi interfeysi va foydalanuvchi tajribasini
loyihalashda foydalanishga qaratilgan bo'lib, real vaqtda hamkorlikka urg'u beradi.
Mustaqil MacOS ilovasi sifatida ishlaydigan Sketchdan farqli o'laroq, Figma butunlay
brauzerga asoslangan va shuning uchun nafaqat Mac kompyuterlarida, balki Windows
yoki Linux bilan ishlaydigan shaxsiy kompyuterlarda va hatto Chromebooklarda ham
ishlaydi. Shuningdek, u veb-APIni taklif qiladi va u bepul. Figmaning yana bir katta
afzalligi shundaki, u bir xil faylda real vaqtda ishlash imkonini beradi. Sketch va
Photoshop kabi an'anaviy "oflayn" ilovalardan foydalanganda, agar dizaynerlar o'z
ishlarini baham ko'rishni xohlasalar, odatda uni rasm fayliga eksport qilishlari kerak,
keyin uni elektron pochta yoki tezkor xabar orqali yuborishlari kerak.
4-rasm. Figma dasturida UI ko’rinishini yaratish.
Figmada, statik tasvirlarni eksport qilish o'rniga, mijozlar va hamkasblar brauzerida
ochishlari uchun Figma fayliga havolani ulashamiz. Bu o'z-o'zidan dizaynerning ish
jarayonida sezilarli vaqt va noqulayliklarni tejaydi. Ammo bundan ham muhimi, bu
24
mijozlar va hamkasblar ish bilan yanada boyroq muloqot qilishlari va faylning so'nggi
versiyasini ko'rib chiqishlari mumkinligini anglatadi.
Foydalanilgan adabiyotlar:
1.
https://docs.flutter.dev/resources/faq
2.
https://en.wikipedia.org/wiki/Figma_(software)
3.
https://en.wikipedia.org/wiki/MySQL
4.
https://designlab.com/figma-101-course/introduction-to-figma/
5.
Saloydinov, S. Q. (2021). Paxta tozalash zavodlarida energiya sarfini
kamaytirishning texnik-iqtisodiy mexanizmini yaratish. “Academic research in
educational sciences”, 2(9), 886-889. https://doi.org/10.24412/2181-1385-2021-9-886889
6.
Saloydinov, S. Q. (2021). Creation of feasibility studies to reduce energy
costs in ginneries. "Экономика и социум", 9(88), 147-149.
7.
Caлойдинов, C. К. (2021). Образовательные кредиты в Узбекистане.
"Экономика и социум", 12(91), 470-472.
25
8.
Caлойдинов, C. К. (2021). Спрос на рынке дифференцированных
продуктов. "Экономика и социум", 12(91), 473-476.
9.
Салойдинов, С. К. (2022). С паровой турбиной 471 МВт на
Талимарджанской ТЭЦ расчет электрических режимов при максимальной зимней
нагрузке. “Central Asian Research Journal for Interdisciplinary Studies (CARJIS)”,
Special issue, 116-121.
10.
Сaрдoржoн Кoдиржoн Yгли Сaлoйдинoв. (2022). Иннoвaциoннoе
решение для пoлyчения биoгaзa. “Central Asian Research Journal for Interdisciplinary
Studies (CARJIS)”, 2(3), 280-285. https://doi.org/10.24412/2181-2454-2022-3-280-285
Astanaliev E. T. O. The Process Of Electronic Document Management In The System Of
Railway Automation And Telemechanics //The American Journal of Interdisciplinary
Innovations
Research. – 2021. – Т. 3. – №. 05. – С. 76-80.
11.
Astanaliev E. The formalization of the electronic document in railway
automatics and telemechanics on the basis of simulation modeling //European Scholar
Journal (ESJ). – Т. 2. – №. 3.
12.
OGLI A. E. T. Software for Electronic Document Management System of
Technical Documentation on Railway Automation and Telemechanics //JournalNX. –
2021. – Т. 7. –
№. 1. – С. 204-209.
13.
Astanaliev E. ELECTRONIC MODEL OF TECHNICAL DOCUMENT
MANAGEMENT PROCESS //Збірник наукових праць ΛΌГOΣ. – 2021.
14.
Baratov D., Astanaliev E. Functional Features of the Technical
Documentation Control Program //International Journal on Orange Technologies. – 2021.
– Т. 3. – №. 1. – С. 7-11.
15.
Dadaboyev, Q. Q. (2021). Refrigerator in modern heating power
stationstechnical water waste through reconstruction of the towerreduction. “International
journal of philosophical studies and social sciences”, 1(3), 96-101.
16.
Dadaboyev, Q. Q. (2022). Issiqlik elektr stansiyalarida texnik suv isrofini
barataraf etish. “Academic research in educational sciences”, 3(1), 434-440.
https://doi.org/10.24412/2181-2454-2022-1-41-47
17.
Dadaboyev, Q. Q. (2022). Bug'-gaz qurilmasi gradirniyalaridagi aylanma
suv isrofini kamaytirish “Central Asian Research Journal for Interdisciplinary Studies
(CARJIS)”, Special issue, 15-21
26
Download