Mapping funksiyalari bilan xayrlashamiz π
Kotlin Konstruktor Mapper (KConMapper / KCM) avtomatik ravishda Kotlin Symbol Processing (KSP) kompilyator plagini orqali bir class va boshqa class konstruktori o'rtasida mapping qilish jarayonini amalga oshiradi.
KConMapperdan foydalanish uchun havola: https://github.com/YanneckReiss/KConMapper
Kotlin Konstruktor Mapper (KConMapper / KCM) avtomatik ravishda Kotlin Symbol Processing (KSP) kompilyator plagini orqali bir class va boshqa class konstruktori o'rtasida mapping qilish jarayonini amalga oshiradi.
KConMapperdan foydalanish uchun havola: https://github.com/YanneckReiss/KConMapper
π₯4π2
This media is not supported in your browser
VIEW IN TELEGRAM
Android Graphics Shading Language (AGSL)
Bu Android 13 da kirib kelgan android uchun shader tili hisoblanib tepadagi gifda ko'rsatilgan kabi rasmlar ustida effekt lar yaratish imkoniyatini beradi. Syntax tomondan juda katta qismi GLSL (OpenGL uchun shader tili) dan olingan. Ya'ni juda kam o'zgarishlar bilan GLSL tilidan yozilgan shaderni AGSL ga o'girish mumkin.
Kamchiligi esa faqat android 13 va undan tepa versiyalarda ishlaydi. βΉοΈ
Join this Channel for more...
Bu Android 13 da kirib kelgan android uchun shader tili hisoblanib tepadagi gifda ko'rsatilgan kabi rasmlar ustida effekt lar yaratish imkoniyatini beradi. Syntax tomondan juda katta qismi GLSL (OpenGL uchun shader tili) dan olingan. Ya'ni juda kam o'zgarishlar bilan GLSL tilidan yozilgan shaderni AGSL ga o'girish mumkin.
Kamchiligi esa faqat android 13 va undan tepa versiyalarda ishlaydi. βΉοΈ
Join this Channel for more...
π3π±1
KDoctor - bu Kotlin Multiplatform Mobile ilovalarini ishlab chiqish uchun muhitni o'rnatishga yordam beradigan buyruq qatori vositasi.
KDoctor barcha kerakli komponentlarning to'g'ri o'rnatilganligini va foydalanishga tayyorligini ta'minlaydi. Agar biror narsa o'tkazib yuborilgan yoki sozlanmagan bo'lsa, KDoctor muammoni ta'kidlaydi va muammoni qanday hal qilishni taklif qiladi.
KDoctor quyidagi diagnostikani amalga oshiradi:
πTizim - operatsion tizim versiyasini tekshiradi
πJDK - JDK o'rnatilishini va JAVA_HOME sozlamalarini tekshiradi
πAndroid Studio - Android Studio o'rnatilishini, Kotlin va Kotlin Multiplatform Mobile plaginlarini tekshiradi
πXcode - Xcode o'rnatilishi va o'rnatilishini tekshiradi
πCocoapods - ruby muhitini va kakoapodlarning gemlarini o'rnatilishini tekshiradi
Batafsil ma'lumot: https://github.com/Kotlin/kdoctor
KDoctor barcha kerakli komponentlarning to'g'ri o'rnatilganligini va foydalanishga tayyorligini ta'minlaydi. Agar biror narsa o'tkazib yuborilgan yoki sozlanmagan bo'lsa, KDoctor muammoni ta'kidlaydi va muammoni qanday hal qilishni taklif qiladi.
KDoctor quyidagi diagnostikani amalga oshiradi:
πTizim - operatsion tizim versiyasini tekshiradi
πJDK - JDK o'rnatilishini va JAVA_HOME sozlamalarini tekshiradi
πAndroid Studio - Android Studio o'rnatilishini, Kotlin va Kotlin Multiplatform Mobile plaginlarini tekshiradi
πXcode - Xcode o'rnatilishi va o'rnatilishini tekshiradi
πCocoapods - ruby muhitini va kakoapodlarning gemlarini o'rnatilishini tekshiradi
Batafsil ma'lumot: https://github.com/Kotlin/kdoctor
π5π₯1
Forwarded from Sanjar Suvonov
Native mobil dasturlar yaratish vaqti keldi
Moko - Mobil dasturlar (android va iOS) ishlab chiqish uchun Kotlin multiplatforma kutubxonalari
Moko - Kotlin Multiplatform texnologiyasidan foydalangan holda Android va iOS uchun native mobil ilovalarni ishlab chiqishni soddalashtirish va tezlashtirishga qaratilgan.
Batafsil: https://moko.icerock.dev/
Moko - Mobil dasturlar (android va iOS) ishlab chiqish uchun Kotlin multiplatforma kutubxonalari
Moko - Kotlin Multiplatform texnologiyasidan foydalangan holda Android va iOS uchun native mobil ilovalarni ishlab chiqishni soddalashtirish va tezlashtirishga qaratilgan.
Batafsil: https://moko.icerock.dev/
π₯3
Repository strategiyalari (Git)
Mono-Repo vs Multi-Repo
Barchamiz git repository lardan foydalanamiz, lekin oramizda multi-repo, ya'ni bir proektda birnechta git repositoryga ulangan holda ishlaydiganlar kam bo'lsa kerak. Bu holat ko'pincha, module larni bir nechta proektlarda qayta ishlata olish imkoniyati va komandalarni shu repositorylarga qarab ajratib code-ownership ni tog'ri taqsimlash qulayliklarini beradi...
Lekin bunday loyihada ishlab korgan va azobini tortgan shaxs sifatida aytamanki, bunday usul juda katta muammolarga olib kelishi mumkin. Orasida eng yomoni, branch lar kombinatsiyasi notog'ri tanlangan bo'lsa umuman proekt build bo'lmay tushunib bo'lmaydigan (*not resolved) muammolarga olib kelishi...
Bunday muammolarni mono repoga qaytmasdan yana 2 xil yangi strategiyalar orqali hal qilish mumkin.
Ular esa:
Poly-As-Mono va Mono-As-Poly
Batafsil
Join
Mono-Repo vs Multi-Repo
Barchamiz git repository lardan foydalanamiz, lekin oramizda multi-repo, ya'ni bir proektda birnechta git repositoryga ulangan holda ishlaydiganlar kam bo'lsa kerak. Bu holat ko'pincha, module larni bir nechta proektlarda qayta ishlata olish imkoniyati va komandalarni shu repositorylarga qarab ajratib code-ownership ni tog'ri taqsimlash qulayliklarini beradi...
Lekin bunday loyihada ishlab korgan va azobini tortgan shaxs sifatida aytamanki, bunday usul juda katta muammolarga olib kelishi mumkin. Orasida eng yomoni, branch lar kombinatsiyasi notog'ri tanlangan bo'lsa umuman proekt build bo'lmay tushunib bo'lmaydigan (*not resolved) muammolarga olib kelishi...
Bunday muammolarni mono repoga qaytmasdan yana 2 xil yangi strategiyalar orqali hal qilish mumkin.
Ular esa:
Poly-As-Mono va Mono-As-Poly
Batafsil
Join
π2
Compose Helper
Composable-laringizni boshqa Composable bilan o'rash uchun oddiy plagin.
Kontekst menyuni Alt+Enter tugmalarini bosish orqali chiqaring va o'zingizga kerakli o'zgarishlarni bajaring.
Siz tanlashingiz mumkin -
- Box bilan o'rash
- Card bilan o'rash
- Column(ustun) bilan o'rash
- Row(qator) bilan o'rash
- LazyColumn bilan o'rash
- LazyRow bilan o'rash
- Asosiy composableni olib tashlash
- Composableni butunlay olib tashlash
Batafsil ma'lumot uchun: Link
Composable-laringizni boshqa Composable bilan o'rash uchun oddiy plagin.
Kontekst menyuni Alt+Enter tugmalarini bosish orqali chiqaring va o'zingizga kerakli o'zgarishlarni bajaring.
Siz tanlashingiz mumkin -
- Box bilan o'rash
- Card bilan o'rash
- Column(ustun) bilan o'rash
- Row(qator) bilan o'rash
- LazyColumn bilan o'rash
- LazyRow bilan o'rash
- Asosiy composableni olib tashlash
- Composableni butunlay olib tashlash
Batafsil ma'lumot uchun: Link
π₯2π1
Kotlin Coroutines da Flow lar mavjud, buni hamma biladi. Ular hot va cold flow turlariga bo'linadi buni ham kopchilik bilsa kerak. Lekin Flow lar qanday yaratilganiga qarab SAFE va UNSAFE turlarga bo'linishini bilasizmi?
Agar Flow
qilib yaratilsa u SAFE flow bo'ladi.
Agar
qilib yaratilsa u UNSAFE flow bo'ladi.
Safe va Unsafe flowlarning bir biridan farqi esa Exception Handle qilinishida. Safe Flowlar agar ularda exception sodir bo'lsa catch qila oladi, Unsafe Flowlar esa process ni crash bolishiga olib keladi. Unsafe flowlar qiymatlar oldindan aniq bo'lganda ishlatish lozim, ya'ni network request lar uchun tog'ri kelmaydi!
*Image is generated by stablediffusion
Agar Flow
flow{ ... emit(...) } qilib yaratilsa u SAFE flow bo'ladi.
Agar
flowOf(....),.asFlow(),combine(...flows...) qilib yaratilsa u UNSAFE flow bo'ladi.
Safe va Unsafe flowlarning bir biridan farqi esa Exception Handle qilinishida. Safe Flowlar agar ularda exception sodir bo'lsa catch qila oladi, Unsafe Flowlar esa process ni crash bolishiga olib keladi. Unsafe flowlar qiymatlar oldindan aniq bo'lganda ishlatish lozim, ya'ni network request lar uchun tog'ri kelmaydi!
*Image is generated by stablediffusion
π7π₯2
Coding productivity ni oshirish va qulayroq cursor navigation uchun 2ta foydali IDE plugin. Refactoring uchun juda kotta yordami tegarkan.
Check out the author using it for refactoring
https://github.com/dkandalov/ijkl-shortcuts-plugin
https://github.com/dkandalov/quick-fix
Check out the author using it for refactoring
https://github.com/dkandalov/ijkl-shortcuts-plugin
https://github.com/dkandalov/quick-fix
YouTube
Gilded Rose Refactoring Kata π₯
0:00 - Intro
0:30 - Refactor Item class
0:56 - Extract Item.update()
2:58 - Format to condense the code
3:44 - Invert if's and use 'when' for quality update at the bottom
5:02 - Invert condition for sellIn update
5:55 - Invert if's and use 'when' for qualityβ¦
0:30 - Refactor Item class
0:56 - Extract Item.update()
2:58 - Format to condense the code
3:44 - Invert if's and use 'when' for quality update at the bottom
5:02 - Invert condition for sellIn update
5:55 - Invert if's and use 'when' for qualityβ¦
Kotlin tilini kim yaratgan?
Andrey Breslav til avtori, Kotlin tili qanday shakllanganligi haqidagi bergan TALK
Andrey Breslav til avtori, Kotlin tili qanday shakllanganligi haqidagi bergan TALK
YouTube
Shoulders of Giants: Languages Kotlin Learned From | Andrey Breslav @ Kotlin Dev Day Amsterdam 2022
New languages are inspired by existing languages: every generation learns from the previous one. Kotlin is no exception: its design is based substantially on the designs of languages such as Java, Scala, C#, Groovy, Python, Nice, etc. This talk will explainβ¦
Refact.ai: Kod yozish va qayta ishlash bo'yicha AI assistenti.
Refact - bu dasturchilarga kod yozish va takomillashtirishda yordam berish uchun mo'ljallangan zamonaviy AI vositasi.
Refactda foydalanishingiz mumkin bo'lgan funksiyalar:
- Kodni to'ldirish
- Kodni o'zgartirish
- Integratsiyalashgan chat
Batafsil ma'lumot uchun havola: https://refact.ai/
Refact - bu dasturchilarga kod yozish va takomillashtirishda yordam berish uchun mo'ljallangan zamonaviy AI vositasi.
Refactda foydalanishingiz mumkin bo'lgan funksiyalar:
- Kodni to'ldirish
- Kodni o'zgartirish
- Integratsiyalashgan chat
Batafsil ma'lumot uchun havola: https://refact.ai/
π₯5
API-larni loyihalash va yaratishning turli usullari mavjud. Rest, WebSocket, GraphQL... larni ishlatgan yoki eshitgandirsiz ammo google qaysi arxitekturasidan foydalanishini bilasizmi?
gRPC google tomonidan 2016-yil ishlab chiqilgan bo'lib hozirda googlening microservicelar aro aloqa qilish uchun arxitekturasi. Zo'r yangilik gRPC open source demak biz ham ishlatsak bo'ladi.π
Afzalliklari:
Samarali: Malumotlar binary formatda uzatiladi
Tezroq: Serialize va Deserialize ancha tez
HTTP2: tagida http2 ishlatgani uchun imkonyatlari keng.
RestApiga qaraganda 3x-10x martta tezroq.π
gRPC google tomonidan 2016-yil ishlab chiqilgan bo'lib hozirda googlening microservicelar aro aloqa qilish uchun arxitekturasi. Zo'r yangilik gRPC open source demak biz ham ishlatsak bo'ladi.π
Afzalliklari:
Samarali: Malumotlar binary formatda uzatiladi
Tezroq: Serialize va Deserialize ancha tez
HTTP2: tagida http2 ishlatgani uchun imkonyatlari keng.
RestApiga qaraganda 3x-10x martta tezroq.π
π3π₯2
Just Code It </>
API-larni loyihalash va yaratishning turli usullari mavjud. Rest, WebSocket, GraphQL... larni ishlatgan yoki eshitgandirsiz ammo google qaysi arxitekturasidan foydalanishini bilasizmi? gRPC google tomonidan 2016-yil ishlab chiqilgan bo'lib hozirda googleningβ¦
GRPC.pdf
1.5 MB
Author: Bekzod Yusupov @KotlinBek
π7π₯2
Encryption,Decryption,Hashing.pdf
1.9 MB
Shifrlash biz uzatilayotgan ma'lumotni faqat o'qishi mumkin bo'lgan algoritmlar jamlanmasi.Texnik nuqtai nazardan biz o'qiy oladigan ma'lumotni tushunip bo'lmaydigan ko'rinishga o'tkazish jarayoni.
Deshifrlash esa shifrlashga teskari amal bo'lip shifrlangan matnni biz kalit dep ataydigan narsa yordamida biz o'qiy oladigan ko'rinishga o'tkazish jarayoni.
Hashing bu xavsizlik maqsadida berilgan kalit,matn yoki faylni bir xil uzunlikdagi qiymat bilan almashtiruvchi matematik funksiya.Standart shifrlashdan farqli o'laroq, xeshlash har doim bir tomonlama shifrlash uchun ishlatiladi va xeshlangan qiymatlarni deshifrlash juda qiyin.
Hozirgi vaqtda shifrlash deyarli hamma sohalarda keng qo'llaniladi
- Online Banking
- Online sotuv tizimlari
- Email Communication
- VPN
- Secure Browsing
Author: Jamshid Isoqov @jamshid_io
Deshifrlash esa shifrlashga teskari amal bo'lip shifrlangan matnni biz kalit dep ataydigan narsa yordamida biz o'qiy oladigan ko'rinishga o'tkazish jarayoni.
Hashing bu xavsizlik maqsadida berilgan kalit,matn yoki faylni bir xil uzunlikdagi qiymat bilan almashtiruvchi matematik funksiya.Standart shifrlashdan farqli o'laroq, xeshlash har doim bir tomonlama shifrlash uchun ishlatiladi va xeshlangan qiymatlarni deshifrlash juda qiyin.
Hozirgi vaqtda shifrlash deyarli hamma sohalarda keng qo'llaniladi
- Online Banking
- Online sotuv tizimlari
- Email Communication
- VPN
- Secure Browsing
Author: Jamshid Isoqov @jamshid_io
π6