Package Manager nima?
Ular boshqa dasturlarni o'rnatish/o'chirish/yangilashda yordam beradigan dasturlardir. Chunki bu ishni qo'lda bajarish judayam murakkab bo'lishi va kop vaqt olishi mumkim. Ularni 2 turga ajratish mumkin.
OS Based va Language Based.
Gradle kabi ba'zi vositalar Package larni Manage qilishdan tashqari ko'p Multi-Project Builds, Incremental Builds va Build Scans kabi ko'proq xususiyatlarga ega bo'lgan Build Automation vositasidir.
Ular boshqa dasturlarni o'rnatish/o'chirish/yangilashda yordam beradigan dasturlardir. Chunki bu ishni qo'lda bajarish judayam murakkab bo'lishi va kop vaqt olishi mumkim. Ularni 2 turga ajratish mumkin.
OS Based va Language Based.
Gradle kabi ba'zi vositalar Package larni Manage qilishdan tashqari ko'p Multi-Project Builds, Incremental Builds va Build Scans kabi ko'proq xususiyatlarga ega bo'lgan Build Automation vositasidir.
👍2🔥1🤔1
Flowlarni compose da lifecycle-aware qilib collect qilish uchun .collectAsStateWithLifecycle ishlatish kerak bo'ladi. Shunga o'xshash bo'lgan yana 1 ta extension
.collectAsState bor. Farqi shundaki .collectAsState android uchun emas balki boshqa platformalar uchun qilingan, android uchun faqat .collectAsStateWithLifecycle ishlatish kerak.androidx.lifecycle:lifecycle-runtime-compose:2.6.0-alpha04🔥3😱2
Android Code Search (cs.android.com) - bu tool bilan android dasturchilar search qilgan narsalarini har xil codebase lardan topib source code ni chiqarib beradi.
🔥3🤩2
*Keragidan ortiq Breakpointlar debugging performance ga ta'sir qiladi!
Android Studio da debug qilinayotgan paytda agar sizda "Method breakpoints may dramatically slow down debugging" chiqsa yoki debug qilinayotganda qotishlar kuzatilsa unda siz method breakpoints ni uchirib quyishingiz kerak bo'ladi.
Android Studio da debug qilinayotgan paytda agar sizda "Method breakpoints may dramatically slow down debugging" chiqsa yoki debug qilinayotganda qotishlar kuzatilsa unda siz method breakpoints ni uchirib quyishingiz kerak bo'ladi.
🔥2
GitHub Copilot - bu milliardlab kod qatorlari bilan o'rgatilgan AI bo'lib u dasturchilarga autocompletion va code-suggestion da yordam beradi.
Albatta, tekin emas, oyiga 10$, yilliga 100$. Lekin free-trial olib 60 kun bepul ishlatish mumkun.
https://github.com/features/copilot
Albatta, tekin emas, oyiga 10$, yilliga 100$. Lekin free-trial olib 60 kun bepul ishlatish mumkun.
https://github.com/features/copilot
🔥5👍1🆒1
Hech o'ylaganmisiz, dasturlash tili qandan yaratiladi?
Javob: LLVM (Low Level Virtual Machine)
LLVM - bu compiler uskunalar to'plami bo'lib, u dasturlash tilining compiler orqali binary machine code ga o'tish jarayonini abstraktsiyalash bilan siz hohlagan syntax yoki front-end texnologiyalar orqali siz hohlagan machine arxitektura (back-end) lariga compile qilish imkoniyatini beradi. Bu texnologiya orqali taniqli Swift, Kotlin, Rust tillari yaratilgan.
Javob: LLVM (Low Level Virtual Machine)
LLVM - bu compiler uskunalar to'plami bo'lib, u dasturlash tilining compiler orqali binary machine code ga o'tish jarayonini abstraktsiyalash bilan siz hohlagan syntax yoki front-end texnologiyalar orqali siz hohlagan machine arxitektura (back-end) lariga compile qilish imkoniyatini beradi. Bu texnologiya orqali taniqli Swift, Kotlin, Rust tillari yaratilgan.
🔥2🆒1
Berilgan misolni Java Memory Model aynan shunday yechishi mumkin desam ishonasizmi?!
Ha! Judayam kamdan kam ehtimollik bilan. Lekin mumkin!
Judayam kam ehtimolga ega bo'lgan bunday hatolik jiddiy loyihalarda yo'l qoyish mumkinmi? Yo'q!
Sabab: long va double primitive ozgaruvchilar thread-safe emas. Chunki ular 64-bit egallaydi, JMM esa ularga *write amalini 2ta 32-bit operatsiyasi bilan bajaradi. Shunday holatda agar bir vaqtda read va write amalini har hil oqim da bajarilsa birinchi oqiyotgan oqim birinchi 32 bit maydonini olib 2 chi 32 bit maydonini esa write amali bajarilgandan keyingi natijaning 32 bit maydonini olib gibrid qiymat hosil qilishi mumkin...
Yechim: Qo'shimcha synchronizer lar ishlatish lozim (volatile, synchronized, atomic operations...)
Manba: Java Concurrency in Practice by Brian Goetz
***korsatilgan misol tushunish osonroq bo'lishi uchun soddalashtirilgan
Ha! Judayam kamdan kam ehtimollik bilan. Lekin mumkin!
Judayam kam ehtimolga ega bo'lgan bunday hatolik jiddiy loyihalarda yo'l qoyish mumkinmi? Yo'q!
Sabab: long va double primitive ozgaruvchilar thread-safe emas. Chunki ular 64-bit egallaydi, JMM esa ularga *write amalini 2ta 32-bit operatsiyasi bilan bajaradi. Shunday holatda agar bir vaqtda read va write amalini har hil oqim da bajarilsa birinchi oqiyotgan oqim birinchi 32 bit maydonini olib 2 chi 32 bit maydonini esa write amali bajarilgandan keyingi natijaning 32 bit maydonini olib gibrid qiymat hosil qilishi mumkin...
Yechim: Qo'shimcha synchronizer lar ishlatish lozim (volatile, synchronized, atomic operations...)
Manba: Java Concurrency in Practice by Brian Goetz
***korsatilgan misol tushunish osonroq bo'lishi uchun soddalashtirilgan
👍1👌1
Forwarded from Just-Code-It Chat
Firebase ni SDK lari 3 toifaga bo'linadi.
1. Play services required - Google Play servis bilan ishlidiganlari. ( Cloud Messaging, Dynamic Links)
2. Play services recommended - Google Play servis siz ham ishlidi lekin tafsiya qilinadi. (Admob, Analytics)
3. Play services not required - Google Play servis keremaslari. (Authentication, Crashlytics, Cloud Firestore, Cloud Storage, In-App Messaging, Realtime Database, App Distribution)
1. Play services required - Google Play servis bilan ishlidiganlari. ( Cloud Messaging, Dynamic Links)
2. Play services recommended - Google Play servis siz ham ishlidi lekin tafsiya qilinadi. (Admob, Analytics)
3. Play services not required - Google Play servis keremaslari. (Authentication, Crashlytics, Cloud Firestore, Cloud Storage, In-App Messaging, Realtime Database, App Distribution)
🔥10👍1
SHADER lar
Bu tog'ridan tog'ri ekrandagi pixellar ustida amallar bajara oladigan, ularning rangini ekranga chiqishdan oldin o'zgartira oladigan va GPU da bajariladigan *kichik programmalardir. Odatda shader deyilganda Pixel Shader lar tushiniladi lekin ularning quyidagi va undan ortiq turlari mavjud.
Pixel/Fragment shaders - bu shader turiga yozilgan amal ekranning har bir pixeli ustida bajariladi.
3D/Vertex shaders - bunda shader amali faqatgina 3D model ga biriktirilib faqatgina modelning vertex (yuzasi)ga ta'sir korsata oladi.
Geometry shaders - bu shaderlar ekranda yangi qo'shimcha graphic primitivlar (nuqta, chiziq, uchburchak...) yarata olish hususiyatiga ega.
etc...
click here for more info
Bu tog'ridan tog'ri ekrandagi pixellar ustida amallar bajara oladigan, ularning rangini ekranga chiqishdan oldin o'zgartira oladigan va GPU da bajariladigan *kichik programmalardir. Odatda shader deyilganda Pixel Shader lar tushiniladi lekin ularning quyidagi va undan ortiq turlari mavjud.
Pixel/Fragment shaders - bu shader turiga yozilgan amal ekranning har bir pixeli ustida bajariladi.
3D/Vertex shaders - bunda shader amali faqatgina 3D model ga biriktirilib faqatgina modelning vertex (yuzasi)ga ta'sir korsata oladi.
Geometry shaders - bu shaderlar ekranda yangi qo'shimcha graphic primitivlar (nuqta, chiziq, uchburchak...) yarata olish hususiyatiga ega.
etc...
click here for more info
👍4