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
https://medium.com/@gayratjonr/kafka-va-rabbitmq-farqlari-83e9dec9d0a5
Medium
Kafka vs RabbitMQ farqlari
1-qism
👍4
Forwarded from BM SECURITY Group 🇺🇿
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
Forwarded from BM SECURITY Group 🇺🇿
🔥 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
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
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
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
@jakhonrakhmonov
Forwarded from JavaHere's Blogs 🚀
Tekin Spring
Spring akademiyasi pro kurslari(yaxshigina summa edi)ning hammasini tekin qilib yuboribdi.
Deb tarjima qilsak bo’ladi.
Link: https://www.infoq.com/news/2024/04/spring-academy-pro-free/
Spring akademiyasi pro kurslari(yaxshigina summa edi)ning hammasini tekin qilib yuboribdi.
Ey “g’aroyib human” mana senga tekini. Endiyam o’qimasang bilmadim endi…
Deb tarjima qilsak bo’ladi.
Link: https://www.infoq.com/news/2024/04/spring-academy-pro-free/
InfoQ
Spring Now Offers Free Access for the Spring Academy Pro Content
The Spring team has announced that the Pro Content from their Spring Academy will no longer require a paid subscription to improve the learning experience for the Spring community. The Spring Academy will continue to provide new content in the future.
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. 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
GitHub
GitHub - codecrafters-io/build-your-own-x: Master programming by recreating your favorite technologies from scratch.
Master programming by recreating your favorite technologies from scratch. - codecrafters-io/build-your-own-x
👍1
Forwarded from CODE_UZ
https://www.youtube.com/watch?v=uVvJJTqPVbY
Please open Telegram to view this post
VIEW IN TELEGRAM
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.
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
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