☕️ Java BACKEND developers </>☕️
185 subscribers
89 photos
148 videos
34 files
212 links
Download Telegram
#SAVOL Checked va Unchecked exception lar qarqi nimada ?
Forwarded from Gayratjon Rayimjonov
Hozirgi kunda dasturlarga talablar oshib borishi bilan dastur yaratishda ko‘plab tillar va texnologiyalarga ham talablar qo‘yilyapti. Zamonaviy dasturlarni ayniqsa misroserviselarni message borokerlarsiz tasavvur qilish qiyin. Ushbu maqolamizda eng ko‘p foydalaniladigan message brokerlar kafka va rabitMQlarini ba’zi farqlarini ko‘rib chiqamiz.
https://medium.com/@gayratjonr/kafka-va-rabbitmq-farqlari-83e9dec9d0a5
👍4
🎞 Revolution OS - bu film GNU, Linux, open source va free software tarixini yorituvchi hujjatli filmdir. Unda taniqli xakerlar va mutaxassislar, jumladan Richard Stallman, Maykl Tiemann, Linus Torvalds, Larri Augustin, Erik S. Raymond, Bryus Perens, Frenk Xekker va Brayan Behlendorflar bilan bir nechta intervyular mavjud.

Eng - https://topdocumentaryfilms.com/revolution-os/
Ru (to'g'ri tarjimasi) - https://youtu.be/n1F_MfLRlX0
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Qaysi messenjerni tanlaysiz ?)

Suratda messenjerlar foydalanuvchilaridan qanday ma'lumotlar yig'ishi ko'rsatilgan !

Xech qanday ma'lumot yi'gmaydigan va xech narsa talab qilmaydigan messenjer bu "Session" bo'lib bu haqida yuqorida bir nechta postlarimiz bor :

1) clik 2) click 3) click 4) click

BMSECURITY Group 2021 ©️
@best_master_uz_official
👍1
Ассалому алайкум ва раҳматуллоҳи ва баракатуҳ!

РАМАЗОН ҲАЙИТИНГИЗ МУБОРАК БЎЛСИН!
👍1
Microservices are evil 👿

Ha, to'g'ri o'qidingiz. Mikroservislar yomon. Ular dasturchilarning samaradorligini tushiradi, juda sekin ishlay boshlashlariga sabab bo'ladi, kodni qiyinlashtiradi va sekinlashtiradi. Undan tashqari yana bir qancha muammolar olib keladi. Mikroservislar hech qachon monolitlarga tenglasha olmaydi bu jihatdan.

Lekin nega unda Mikroservislar shuncha haypga sabab bo'ldi? Nega hamma ularni ishlatishga, o'rganishga harakat qiladi?

Sababi bitta: boshqa yaxshiroq iloji yo'q.

Siz qilgan produktning foydalanuvchilar soni ko'paygan sari, severlaringizga yuk oshgan sari, siz qurgan produktingizni bo'lishga majbur bo'lasiz. Monolitngizni mikroservislarga bo'lasiz. Bitta katta ma'lumotlar bazasini bir nechta kichikroq bazachalarga bo'lasiz. Ha, aytganimdek ular ishingizni juda ham qiyinlashtiradi. Lekin sizning yangi millionlab foydalanuvchilaringiz sizning produktingizdan foydalanishda davom etishadi.

Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (mikroservislar) birinchi muammodan (produktingiz yukni ko'tara olmay, ishlamay qolishidan) kichikroq. Hayot davom etadi.

Bu holatni huddi Saraton (Rak) kassaligi va uning davolash usuliga, yani Kimyoterapiyaga solishtirsa bo'ladi. Kimyoterapiya ham odam organizmi uchun juda juda juda katta zarar. Nega unda dunyo bo'ylab aynan shu usuldan foydalaniladi?

Sababi bitta: boshqa yaxshiroq iloji yo'q.

Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (Kimyoterapiya) birinchi muammodan (Saraton kasalligidan kelib chiqqan o'limdan) kichikroq. Hayot davom etadi.

Tushindingiza? Mikroservislarni faqatgina majbur bo'lganda ishlatish kerak.

Ba'zi bir dasturchilar va kompaniyalar haypga berilib, 10ta foydalanuvchisi yo'q bo'lgan produktlarini mikroservislar yordamida qurishni boshlashadi. Natijada dasturchilar juda sekin ishlashadi, kodda xatolar ko'p bo'ladi, o'zgartirish juda qiyin bo'ladi. Pul olib keladigan foydalanuvchilar yo'q, lekin millionlab foydalanuvchisi bor produktlarda bor bo'lgan muammolar bor. "Worst of the both worlds" deyiladi ingliz tilida. Borib borib korxonada pul qolmasligi mumkin, yoki tezroq ishlaydigan raqib kompaniya bozorni egallab qo'yishi mumkin. Chunki ular mikroservis ishlatmaganda boshidayoq.

Hype Driven Development yaxshilikka olib kelmaydi odatda.

O'zi asli kodni o'zi bu "evil". Iloji boricha kodsiz hal qilgan yaxshi ishlarni. Kodni faqat majbur bo'lganda yozish kerak.

@jakhonrakhmonov
👍2
Yes, AI can code. But coding is only a small part of what competent software engineers do.

@jakhonrakhmonov
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