#savol
Ushbu dart code run qilingach nima bo'ladi ?
- Avvalambor hashCode nima ekanini ko'ramiz - Dartda har bir obektning hashCode bo'lib, u obektning identifikatsiya yoki kontentini ifodalovchi butun son hisoblanadi. U Set va Map collectionlarda lookuplar tezligni oshirish uchun ishlatiladi.
- interger'lar uchun hashCode ularning qiymatiga teng;
- string'lar uchun esa Dart hashing funksyalarni ishlatadi;
demak quyidagicha javob olish mumkin:
Ushbu dart code run qilingach nima bo'ladi ?
- Avvalambor hashCode nima ekanini ko'ramiz - Dartda har bir obektning hashCode bo'lib, u obektning identifikatsiya yoki kontentini ifodalovchi butun son hisoblanadi. U Set va Map collectionlarda lookuplar tezligni oshirish uchun ishlatiladi.
- interger'lar uchun hashCode ularning qiymatiga teng;
- string'lar uchun esa Dart hashing funksyalarni ishlatadi;
demak quyidagicha javob olish mumkin:
12345
12345
12345
123456712345 // "12345" string uchun chiqishi mumkin bo'lgan hashCode;
123456712345
123456712345
#savol
Flutterda KEY lar qaysilar va nima vazifani bajaradi ?
Flutterda KEY — bu widgetlarni identifikatsiya qilish va ularning holatini boshqarish uchun ishlatiladigan maxsus obyekt.
Key asosan:
1. Widgetlarni identifikatsiya qilish – Agar bir xil turdagi bir nechta widget bo‘lsa, Flutter ularni Key yordamida ajratib oladi.
2. Holatni saqlash (State Preservation) – StatefulWidget lar qayta qurilganida, ularning oldingi holatini yo‘qotmasligi uchun Key ishlatiladi.
3. Animatsiyalar va o‘tishlar (Transitions) – Key yordamida widgetlar orasida silliq animatsiyalar amalga oshiriladi.
4. ListView, GridView va boshqa ro‘yxatlar bilan ishlash – Key ro‘yxat elementlarini aniq aniqlash va optimallashtirish uchun ishlatiladi.
Key'ning turlari:
1️⃣ ValueKey - bu kalit qiymat asosida yaratiladi. Agar qiymat o‘zgarmasa, Flutter widgetni qayta yaratmaydi.
2️⃣ ObjectKey - bu kalit obyektlar orqali ishlaydi. Obyektning hashCode yoki == operatori orqali solishtiriladi.
3️⃣ UniqueKey -bu har safar yangi kalit yaratadi va widgetni har doim yangilashga majbur qiladi.
☝️ Eslatma: UniqueKey bir xil widgetlar uchun har safar yangi identifikator yaratib, ularning qayta ishlatilishiga yo‘l qo‘ymaydi.
4️⃣ GlobalKey - bu StatefulWidget lar uchun eng kuchli Key bo‘lib, u nafaqat widgetni identifikatsiya qiladi, balki uning State obyektiga ham murojaat qilish imkonini beradi.
📌 Key larni noto‘g‘ri ishlatish ortiqcha resurs sarfiga olib kelishi mumkin. Eng yaxshi usul – faqat kerakli joylarda ishlatish.
Flutterda KEY lar qaysilar va nima vazifani bajaradi ?
Flutterda KEY — bu widgetlarni identifikatsiya qilish va ularning holatini boshqarish uchun ishlatiladigan maxsus obyekt.
Key asosan:
1. Widgetlarni identifikatsiya qilish – Agar bir xil turdagi bir nechta widget bo‘lsa, Flutter ularni Key yordamida ajratib oladi.
2. Holatni saqlash (State Preservation) – StatefulWidget lar qayta qurilganida, ularning oldingi holatini yo‘qotmasligi uchun Key ishlatiladi.
3. Animatsiyalar va o‘tishlar (Transitions) – Key yordamida widgetlar orasida silliq animatsiyalar amalga oshiriladi.
4. ListView, GridView va boshqa ro‘yxatlar bilan ishlash – Key ro‘yxat elementlarini aniq aniqlash va optimallashtirish uchun ishlatiladi.
Key'ning turlari:
1️⃣ ValueKey - bu kalit qiymat asosida yaratiladi. Agar qiymat o‘zgarmasa, Flutter widgetni qayta yaratmaydi.
Widget myWidget = Container(key: ValueKey('my_key'), child: Text("Salom"));
2️⃣ ObjectKey - bu kalit obyektlar orqali ishlaydi. Obyektning hashCode yoki == operatori orqali solishtiriladi.
class User {
final String name;
User(this.name);
}
User user = User('Isroiljon');
Widget myWidget = Container(key: ObjectKey(user), child: Text(user.name));
3️⃣ UniqueKey -bu har safar yangi kalit yaratadi va widgetni har doim yangilashga majbur qiladi.
Widget myWidget = Container(key: UniqueKey(), child: Text("Salom"));
☝️ Eslatma: UniqueKey bir xil widgetlar uchun har safar yangi identifikator yaratib, ularning qayta ishlatilishiga yo‘l qo‘ymaydi.
4️⃣ GlobalKey - bu StatefulWidget lar uchun eng kuchli Key bo‘lib, u nafaqat widgetni identifikatsiya qiladi, balki uning State obyektiga ham murojaat qilish imkonini beradi.
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
Form(
key: formKey,
child: TextFormField(
validator: (value) => value!.isEmpty ? "Majburiy maydon" : null,
),
);
📌 Key larni noto‘g‘ri ishlatish ortiqcha resurs sarfiga olib kelishi mumkin. Eng yaxshi usul – faqat kerakli joylarda ishlatish.
Media is too big
VIEW IN TELEGRAM
Day11 - Ozgina tanaffusdan keyin qayta faolyatdaman. Bu yerga joylash esimdan chiqibdi 😁
👍4
Media is too big
VIEW IN TELEGRAM
Day12 Omad mehnatni yaxshi ko’radi.
Bu ham esimdan chiqib qolgan edi 😁
Bu ham esimdan chiqib qolgan edi 😁
👍5
Media is too big
VIEW IN TELEGRAM
Day13 Anchandan buyon rejalab yurganim amalga oshdi. Xudo hohlasa yangiliklar hali davom etadi 😁😉.
❤2
Yaponlar rostdan ham aqillida.
Yaponyada anchadan yillardan beri bo’lmagan qor yog’moqda va ular bundan ham foyda olish yo’lini o’ylab topishibdi. Endi sayyohlarga qo’r ko’p yog’ayotkan joylarga borib qorni o’z qo’llari bilan tozalash yoki qorkurar mashina minib tozalash imkonini bermoqda va qor ko’rmagan sayyohlar yog’ilib bormoqda ekan.
P.s/ Ham sayyohlikdan foyda, ham tekinga qor tozalash mazzami?
Yaponyada anchadan yillardan beri bo’lmagan qor yog’moqda va ular bundan ham foyda olish yo’lini o’ylab topishibdi. Endi sayyohlarga qo’r ko’p yog’ayotkan joylarga borib qorni o’z qo’llari bilan tozalash yoki qorkurar mashina minib tozalash imkonini bermoqda va qor ko’rmagan sayyohlar yog’ilib bormoqda ekan.
P.s/ Ham sayyohlikdan foyda, ham tekinga qor tozalash mazzami?
❤4
Media is too big
VIEW IN TELEGRAM
Day13 Sevgan ishingiz bilan shug’ullaning.
#savol
Object va dynamic turlarning farqi nima ?
🔽 Object - Dart tilida barcha obyektlar ushbu klasdan meros oladi.
- barcha turlar (int, string, bool, List, Map va barchasi) Object klasidan kelib chiqadi;
- object klasida e'lon qilingan barcha o'zgaruvchilar Object'ning umumiy metodlari bilan ishlay oladi;
- object o'zgaruvchilar compile timeda tekshiriladi va xatoliklarni aniqlaydi;
- agar o'zgaruvchining tur metodlari bilan ishlamoqchi bo'lsangiz cast qilishingizga to'g'ri keldi;
- to'g'ridan to'g'ri null qiymat olmaydi buning uchun nullable qilishingiz kerak ya'ni Object?;
🔽 dynamic - barcha turdagi qiymatlarni qabul qilishi mumkin;
- tekshiruvlar runtime'da amalga oshiriladi;
- runtime check bo'lgani uchun ishlatish havfsiz emas ya'ni runtime error chiqish ehtimoli katta;
- o'zgaruvchining metodlariga kirish mumkin lekin noto'g'ri bo'lsa ya'na runtime error olasiz 😅;
✅ Runtime error lardan bilan yuzlashishni hohlamasangiz Object dan foydalangan maqulroq.
Object va dynamic turlarning farqi nima ?
🔽 Object - Dart tilida barcha obyektlar ushbu klasdan meros oladi.
- barcha turlar (int, string, bool, List, Map va barchasi) Object klasidan kelib chiqadi;
- object klasida e'lon qilingan barcha o'zgaruvchilar Object'ning umumiy metodlari bilan ishlay oladi;
- object o'zgaruvchilar compile timeda tekshiriladi va xatoliklarni aniqlaydi;
- agar o'zgaruvchining tur metodlari bilan ishlamoqchi bo'lsangiz cast qilishingizga to'g'ri keldi;
- to'g'ridan to'g'ri null qiymat olmaydi buning uchun nullable qilishingiz kerak ya'ni Object?;
🔽 dynamic - barcha turdagi qiymatlarni qabul qilishi mumkin;
- tekshiruvlar runtime'da amalga oshiriladi;
- runtime check bo'lgani uchun ishlatish havfsiz emas ya'ni runtime error chiqish ehtimoli katta;
- o'zgaruvchining metodlariga kirish mumkin lekin noto'g'ri bo'lsa ya'na runtime error olasiz 😅;
✅ Runtime error lardan bilan yuzlashishni hohlamasangiz Object dan foydalangan maqulroq.
Real Dart&Flutter interview ko'ramizmi ?
Final Results
79%
Ko'ramiz 🤝
4%
Qiziqmas 🫤
17%
O'zi nima bo'lyapti 😄
This media is not supported in your browser
VIEW IN TELEGRAM
Lekin tashqarida mazza qor yog'yaptiya ? ❄️.
😍2
#fun
Testerdan hayot saboqlari:
- Hech qachon front-end back-end'ga, back-end esa front-end'ga ishonmasligi kerak. Tester esa hech biriga ishonib qolmasigi kerak auff😎🤘🤘.
Testerdan hayot saboqlari:
- Hech qachon front-end back-end'ga, back-end esa front-end'ga ishonmasligi kerak. Tester esa hech biriga ishonib qolmasigi kerak auff😎🤘🤘.
👍2🔥2
Qiziqtirgan savollarni shu yerga yozishilar mumkin. Oxirida javob beramiz
🔥4