Generic<T>
119 subscribers
67 photos
2 videos
1 file
48 links
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ

IT sohasida kichik tajribalarni ulashish maqsadida qilingan kichik loyiha

Owner: https://mrAdkhambek.github.io
https://www.youtube.com/c/GenericT
Download Telegram
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Kim nima fikrda
😁3
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.
#dagger #ksp

Kecha Anvil example project-ni dagger ksp-ga migrate qilib chiqdim va nega Hilt ommalashib ketganini his qildim. Juda ko’p boilerplate code yozish kerak ekan dagger2 da. Malasan component va module o’rtasidagi bog’liqlik va component tree o’rtasidagi bog’liqliklar.

Lekin Hilt-dagi bu yutuqlar umuman boshqa muammo keltirib chiqaradi. Component-lar o’rtasidagi required bog’liq masalan. Yangi component qo’shishdagi noqulayliklar.

Xulosa Anvil hozirda men uchun hamma muammoni hal qildan DI tool.

Link Dagger KSP example
👍5
🤣5
#Kulgu_time

Nega doim cpp? 😏
🌚3🤣3
👍7
🫡
🫡8👍3
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Taxminan 3 yil avval API sharing uchun umumiy concept qidirganimda Backend-da ishlaydigan sheriklarim grpc-ni tavsiya qilishgan edi. Yani protocol yozib chiqib shuni ishlatish. Lekin u umuman boshqa tech stack edi yani men xoxlagan framework emas edi. Keyin 6 oycha avval o’zim yozib chiqmoqchi bo’lgan edim proto file-ni parse qilib chiqadigan. Lekin umuman olganda katta profit yo’q edi.

Va nihoyat Apple bu ishni qilibdi.

API sharing uchun yagona qolip

Respect!
Havola
👍8
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Deyarli bir yil hech bir yangilik qilmadim lekin hali ham 171 kuzatuvchi. Afsuski YouTube vediolar o'chirildi. Sababi kontent sifati juda past.
Shunday ekan sizlarda nima yangiliklar va kim qanaqa qiziqarli projectlar ustida ishlayapdi ? Shunchaki fikr almashgim kelayapdi
5
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Compose lekin ⚙️ da

https://www.nicbarker.com/clay
Please open Telegram to view this post
VIEW IN TELEGRAM
4
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

OK 👍
2
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Context Receiver - menimcha hech kimga yangilik emas. Va nihoyat ishlatish nasib qildi.

Sizga ham maq'ulmi ?
🔥5
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Deyarli 3 yildan buyon Jetbrains-dan deyarli barcha dasturlari uchun License sotib olib ishlataman. Asosan Idea, Clion va DataGrip uchun. Va yaqinda menda License vaqti tugab qoldi. Keyin menga email keldi renew qiling deb. Men ularga hozir renew qilolmasligim oyni boshida qila olishimni email qilib qoldirdim. Qarabsizki 14 kunlik trial License berishdi. Mana buni service desa bo'ladi.

Hech qanday reklama huquqi asosida emas 😂️
🔥7👍1
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Hozir bir maqola o'qib turgandim unda AI worker-larni o'rnini olishi haqida yozilgan. Hayolimga kelgan fikrlar:

Hozirda hamma AI ga o'rganib oddiy yashab qolish instinkt o'lib boradi. Keyin

AI worker-larni ishini olib boshlasa keyinchalik AI ga qarshi guruhlar paydo bo'lishadi. Va uni yo'q qilish yagona usuli elektrdan uzish bo'ladi. Elektr manbalar yo'q qilinadi va elektriksiz baribir yashab qolish imkonsiz bo'lib qoladi. Hullas kinolardagidek 😅
🤣4
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Shu kunlarda men ko'rgan eng yomon library bu recyclerview-selection bo'ldi vaholanki Google-ning o'zi shuni taklif qilarkan.
Item Select qilish uchun butun boshli list-ni update qilishdan boshqa yaxshi usullar bo'lsa share qiling please.


data class Item(
val id: Long,
val name: String,
val price: Double,
val isSelected: Boolean = false
)

fun singleSelect(selectedItem: Item) {
val items: List<Item> = state.items
items.map { item -> item.copy(isSelected = item.id == selectedItem.id) }
updateState(state.copy(items=items)
}

fun multipleSelect(selectedItem: Item) {
val items: List<Item> = state.items
items.map { item ->
when (item.id == selectedItem.id) {
true -> item.copy(isSelected = !selectedItem.isSelected)
else -> item
}
}
updateState(state.copy(items=items)
}


Kamchiliklar ortiqcha operations va Paging3 bilan support yo'q :-[

Hali ham XML ui bilan ishlayotgan va uni yaxshi deb o'ylaydiganlar qalban birgamiz.
❤‍🔥5
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَـٰنِ ٱلرَّحِيمِ
Assalamu alaykum.

Agar C da yozilgan Curl-ni C-da safe til emas deb Rust-da yozishsa Rurl bo'ladimi? O'zi shundoq ham si yurl yoki kurl deb qanaqa o'qilishini bilmasdan yurgan edim.

https://daniel.haxx.se/blog/2026/05/11/mythos-finds-a-curl-vulnerability/
Assalamu alaykum.

Ancha vaqtdan o'ylab yurgan ishimni claude bilan hal qildim — KtorKIT.
Retrofit kabi interface yozasiz, qolganini compiler o'zi qiladi. Kotlin compiler plugin (K2, FIR + IR).

@ContributesAPI
interface PostsApi {
@GET("posts/{id}")
suspend fun getPost(@Path("id") id: Int): Post
}

Ya'ni: Generatsiya qilingan faylsiz, runtime-da reflection-siz. create<T>() oddiy konstruktorga aylanadi.
Shuning uchun KMP-da to'liq ishlaydi — JVM, JS va 12 ta native target.

Nimalar bor:
— HTTP annotation-lar, @Query, @Header, @Body
@Multipart bilan fayl yuklash
— 12 ta compile-time diagnostika
- @Field yozib @FormUrlEncoded unutsangiz, lint-ga o'xshash tekshiruv bor compiletime-da.

Lekin hozircha to'liq test qilinmagan. Target-larda test qilib ko'rsangiz iltimos muammo chiqsa issue oching

👉 https://github.com/MrAdkhambek/KtorKIT
🔥4
Assalamu alaykum.

Men Backend uchun JVM tanlanganda Vert.x-ni hali ham maqul deb bilaman. Runtime-da memory efficient.

Ammo bazan Spring Boot-dagi feature-lar juda ham yoqimli tuyuladi, asosan Lombok feature-lar. Shu sabab compiler plugin-ni o'rganish maqsadida yangi library — Treant.

Lombok'ning @Slf4j'i esingizdami? Kotlin'da ham xuddi shunday. Class-ga annotatsiya qo'yasiz, log tayyor.
@Slf4j
class MyService {
fun doWork() {
log.info("MyService is doing work")
}
}

Har bir klassda:
private val log = LoggerFactory.getLogger(...)
yozishdan qutuldik 😄

6 ta framework:
@Slf4j, @Log, @Log4j, @Log4j2
@CommonsLog @XSlf4j

Companion object allaqachon mavjud bo'lsa ham ishlaydi — plugin uni buzmay, ustiga qo'shadi. Ikkita annotatsiya qo'ysangiz esa compile time error, jimgina bittasini tanlab ketmaydi.
Eng qiziq qismi — IDEA plugin. Buni yozishimga sabab: IDE uchinchi tomon compiler plugin'larini yuklamaydi. Ya'ni build muvaffaqiyatli o'tadi, lekin editor'da log qip-qizil "unresolved reference" bo'lib turadi 🙂
Yechim — KotlinBundledFirCompilerPluginProvider. IDE'ga o'zining Kotlin versiyasiga qarab compiler va idea plugin-ni bir vaqtda o'rnatish. JetBrains kotlinx-serialization uchun aynan shu usulni ishlatadi.

⚠️ Shuning uchun: IDE'ni yangilasangiz, plugin'ni ham yangilang. Va kotlin versiyasi aniq mos kelishi shart — 2.4.10

Maven Central'da: com.adkhambek.treant
IDEA plugin esa release'da zip xolatida — uni o'zingiz o'rnatishingiz kerak.

👉 https://github.com/MrAdkhambek/Treant
Hullas-da :]
2