☕️ Java BACKEND developers </>☕️
185 subscribers
89 photos
148 videos
34 files
212 links
Download Telegram
Bilasizlarmi men nima qilgan bo’lar edim? Qadamma qadam tushuntiraman:

1. https://github.com/codecrafters-io/build-your-own-x repositoriyasiga kirardim
2. Loyihalar ro’yxatini yaxshilan o’rganib chiqqan bo’lar edim
3. Eng yoqqanini tanlagan bo’lar edim.
4. O’sha mavzuni yaxshilab o’rganib chiqqan bo’lar edim.
5. Qurmoqchi bo’lgan narsamni kerak bo’lsa chizib chiqib dizayn qilgan bo’lar edim. Grafik dizayn bo’lishi shart emas. Hattoki Command-Line loyihalarni ham dizayn qilinadi. API tarafdan.
6. Loyihani o’zimga yoqadigan qilib qurgan bo’lar edim. Huddi o’zim uchun uy qurgan kabi. Bu loyiha men uchun. Boshqalarga arendaga bergani emas. Ichidagi hamma narsani sifatli qilgan bo’lar edim. Boshqalar “mehmonga” kelganda hayratda qolsin. Lekin eng asosiysi o’zim hursand bo’lay.

@jakhonrakhmonov
👍1
Forwarded from CODE_UZ
👋 Assalomu alaykumlar.
🥳 Uzoq kutilgan Spring Boot video darslari tez orada chiqadi.

👍 Notification on ni bosib qo'yamiz.

https://www.youtube.com/watch?v=uVvJJTqPVbY
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Software Engineering
@Transactional(rollbackFor = Exception.class)
Forwarded from Software Engineering
Bugun bir qiziq malumotga ko'zim tushib qoldi. @Transactional anotatsiyasi default holatda faqat Unchecked Exception lar bo'lganida rollback bo'lar ekan. Checked Exception larda esa commit bo'lar ekan. Bu muammoni hal qilish uchun @Transactional anotatsiyasidagi rollbackFor propery ni o'zgartirishimiz kerak.

Buni o'zgartirib qo'yishimiz shart. Chunki Database da muammo bo'lganida ko'pincha bizning backend imizda Checked Exception chiqadi va default holatda rollback bo'lishning o'rniga commit bo'lib ketadi. Yani database dan muammo chiqqanida @Transactional anotatsiyasi ACID(Atomicity, Consistency, Isolation, Durability) prinsipiga rioya qilmasligi mumkin.
👍3
Forwarded from Xurshidbek Kurbanov
#virtual #thread #javafuture
Java #BackEnd dan interview qilsam #Thread haqida 3 ta savol beraman.
1- Main thread nima va request larni faqat main thread olishda qanday muammo bor?
2- Request larni Main thread emas alohida yangi Thread da olish qanday muammo bor?
3- Yangi Thread muammosini Thread Pool qanday hal qiladi?

Ular qatoriga #Virtual #Thread ham qo’shildi, u #Javaning #kelajagi sifatida ko’rilmoqda. Lightweight threaded model 2018-yil #ProjectLoom bilan birga ishga tushilgan va 2023 yilda #JDK21 ning xususiyati sifatida qo’shildi. Chuqurroq kirib Thread va Virtual Thread farqlarini solishtirib ko’rdim.

#Thread:
- 1,000,000 ta threadlarni ishga tushirish: ~ 31.64 sekund
- Platform Thread
- Scheduling by OS
- Kernel thread, 1:1 mapping
- Runnable

#VirtualThread:
- 1,000,000 ta threadlarni ishga tushirish: ~ 0.38 sekund
- Virtual Thread
- Scheduling by JVM
- Carrier thread, 1:N mapping
- Continuation

🔷 Join @xurshidbek_kurbanov
Savol : Hozir hammada bitta kasallik avj olgan bilasizlarmi? Dasturchilar aksari bundan uzoqda bo'lsa kerak )
Одамзот доимо кам ҳаракат қилиб, кўп пул топиш пайида бўлган. Айниқса, бугунги замонда бу янада авж олмоқда.

Сўзимиз исботи бошини кўтармасдан телефонда майнинг қилаётганлар бўлади. Янги криптавлюта, ноткоин, айниқса, ҳаракатсиз бойиб кетиш иштиёқидагиларни ўзига борган сари қарам қилиб қўймоқда.

Бу ҳақида, ҳатто, домлалар ҳам яхши эмаслигини айтиб чиқишмоқда. Мен масаланинг диний жиҳатига аралашмайман. Шунчаки бир савол бермоқчиман: кетаётган вақтингиз шунга арзийдими? Шу кетаётган вақтга китоб ўқиш мумкин эди-ку.

Ўйлашингиз мумкин, китоб ўқий туриб ҳам, шу ишни қилса бўлади-ку, деб. Бироқ, инсон мияси бир пайтнинг ўзида иккита ишни қабул қилмаслигини ҳам унутмаслик керак.

Хуллас, қандай қарор қабул қилиш ўзингизга ҳавола.

@adolat_kuychisi
👍5
Forwarded from Xurshidbek Kurbanov
#virtual #thread #future #of #java
Virtual Thread, thread yaratish va ishga tushurishda tez ekanini oldingi postimizda aytib o’tgandik. Yana bir yangilikni ko'rdim yani, “#VirtualThread - #Nonblocking I/O ni qo’llab quvvatlaydi“ #Tochnami ? Odatda Blocking I/O dan qutulish uchun Spring #WebFlux & #Netty lar ishlatilinadi. Buni rost ekanini isbotlash uchun quyidagicha test case yaratildi.

1- Tomcat thread 10 ta
2- 10 sekundda response qaytaratigan API
3- Bir vaqtning o’zida 100 ta request

Time = (100 requests) / (10 tomcat threads) * (10 second API call) = 100 sec

Oddiy #PlatformThread dan foydalansak yuqoridagi testimiz 110 sekund atrofida vaqt sarflaganini va bu testimizni #VirtualThread ni ishlatib qilganimizda esa 60 sekund vaqt sarflaganini ko’rdik. Xulosa, Virtual Thread Nonblocking I/O ni qullab quvvatlaydi va bunga erishishda Continuation yield dan foydalanadi. #NIO

🔷 Join @xurshidbek_kurbanov
To'lov tizimlari uchun integratsiya. Payme, Click va boshqa turdagi tizimlarga qanday ulaniladi?

https://diary.manu.uz/blog/tolov-tizimlari-uchun-integratsiya-payme-click-va-boshqa-turdagi-tizimlarga-qanday-ulaniladi.htm

@yetimdasturchi
1👨‍💻1
Forwarded from Xurshidbek Kurbanov
#JavaEE #SpringFramework #SpringBoot

#Java man uchun asosiy dasturlash tili bo'lib kelgan. #Algoritm masalalarini asosan Javada yozaman. Magistraturada o'qiganimda, diplom himoyamdagi tadqiqotning backend qismini #JavaEE da amalga oshirgandim. Koreyada birinchi kompaniyamizda backend asosan .NET va Springda yozilar edi. .NET va mobil jamoa a'zolari bilan birgalikda Spring Study Club tashkil qilib, #SpringFramework ni o'rganib chiqqandik. O'zimizning kompaniyamizda ish boshlaganimdan buyon #SpringBoot da yozib kelaman.
Junior dasturchilarimiz o'zlari bilganicha kod yozib kelgani sababli, kodlarni kelishilgan standartga keltirish uchun vaqt kerak bo'ldi. Har safar yangi loyiha boshlaganimizda birma-bir o'zgarishlar kiritishni boshladim. Hozir esa istalgan yangi loyiha uchun bu o'zgarishlarni qo'llab kelyapmiz. Backendda qilgan dastlabki 5 ta o'zgarishimni siz bilan baham ko'rmoqchiman. Junior dasturchilarga oz bo’lsa ham foydali bo’lsa xursand bo’lamiz! LINK

🔷 Join @xurshidbek_kurbanov
2