Forwarded from Daily Shakhriyor
Suhbat yakunlandi, youtube kanalimizda yozib olinganini ko'rishingiz mumkin
https://www.youtube.com/watch?v=sACswzGDLZ8
Aytib o'tganim EnumMap haqida ham o'qib qo'yinglar
Ha aytgancha concurrent data structure lardan ConcurrentHashMapdan tashqari boshqalarini ham ko'rib qo'yish kerak.
Masalan, ConcurrentSkipListMap va ConcurrentSkipListSet
https://www.youtube.com/watch?v=sACswzGDLZ8
Aytib o'tganim EnumMap haqida ham o'qib qo'yinglar
Ha aytgancha concurrent data structure lardan ConcurrentHashMapdan tashqari boshqalarini ham ko'rib qo'yish kerak.
Masalan, ConcurrentSkipListMap va ConcurrentSkipListSet
YouTube
Java Backend Junior+/Middle Interview
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Forwarded from Daily Shakhriyor
#kurslar
Stanford universiteti yuqori darajadagi kurslarini bepul foydalanishga taqdim etdi
Ichida matematika, xakerlik, neyron tarmoqlar va dasturlash bo‘yicha mutaxassislardan eng sara materiallar mavjud:
Agar havolalar ishlamasa, VPN ulanishni sinab ko‘ring.
@webmakon
Stanford universiteti yuqori darajadagi kurslarini bepul foydalanishga taqdim etdi
Ichida matematika, xakerlik, neyron tarmoqlar va dasturlash bo‘yicha mutaxassislardan eng sara materiallar mavjud:
Machine Learning - sun’iy intellekt asoslari.
Kiberxavfsizlik - fishing, zamonaviy xavfsizlik protokollari.
O‘yinlar nazariyasi - agentlar o‘rtasidagi o‘zaro ta’sirni modellashtirish.
Mukammal SQL - ma’lumotlar bazalari A dan Ya gacha.
R tilida dasturlash asoslari - ma’lumotlarni tahlil qilishning oson yo‘liga kirish uchun poydevor.
Agar havolalar ishlamasa, VPN ulanishni sinab ko‘ring.
@webmakon
Forwarded from Daily Shakhriyor
Assalomu Alaykum qadrdonlar, kasbdoshlar. Navbatdagi suhbatimiz ananaviy kunimizdan bir kun keyin, suhbat topshiruvchi so’rovlariga binoan Payshanba kuni bo’lib o’tadi.
Davogarlik darajasi: Junior🫡
Yo’nalish: Java Backend📱
Davomiylik: ~40 daqiqa - 1 soat🕙
Qayerda: google meet va youtube da
Suhbat topshiruvchi: Jaxongir Xudoyorov
Suhbat oluvchi: kamina
Boshlanish vaqti: 21:00 🕘
Davogarlik darajasi: Junior
Yo’nalish: Java Backend
Davomiylik: ~40 daqiqa - 1 soat
Qayerda: google meet va youtube da
Suhbat topshiruvchi: Jaxongir Xudoyorov
Suhbat oluvchi: kamina
Boshlanish vaqti: 21:00 🕘
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Daily Shakhriyor
Assalomu Alaykum barchaga, kechagi suhbatda Database qismi, ayniqsa ACID haqidagi savolga javob bo'lmagani uchun to'ldirib ketamiz. Keling ACID nima ekanligini qisqacha, hayotdan misollar bilan ko'ramiz.
⚛️ Atomicity - Atom bu bo'linmas degani, yani hammasi yoki hech narsa, tasavvur qiling pul o'tkizmasi jarayonida o'rtada xatolik yuz berdi, unda o'tkizmani butunlay bekor qilib yuborish kerak bo'ladi, va yuboruvchidan yechib olingan summa joyiga qaytishi kerak. Buning uchun RDBMS turidagi database (PostgreSQL, MySQL, Oracle ....) larda Transaction Rollback qilish xususiyati ishlashi kerak.
⚖️ Consistency - Muvofiqlik, yani ma'lumot to'g'riligini nazorat qilish, masalan nisbiy balansli hisoblar bo'lmaydi.
🔘 Isolation - Tranzaksiyalar bir-birini ishini xato yo'singa boshlab qo'ymasligini oldini olish, misol uchun, bir xonani ikki martta bron qilinishini oldini oladi.
🧱 Durability - Tranzaksiya bir martta commit bo'ldimi, bu ma'lumot saqlanib qolishini taminlab berish, to'satdan elektr ketsa ham.
Qaysi biriga qanday misollaringiz bor, izohlarda kutamiz!
⚛️ Atomicity - Atom bu bo'linmas degani, yani hammasi yoki hech narsa, tasavvur qiling pul o'tkizmasi jarayonida o'rtada xatolik yuz berdi, unda o'tkizmani butunlay bekor qilib yuborish kerak bo'ladi, va yuboruvchidan yechib olingan summa joyiga qaytishi kerak. Buning uchun RDBMS turidagi database (PostgreSQL, MySQL, Oracle ....) larda Transaction Rollback qilish xususiyati ishlashi kerak.
⚖️ Consistency - Muvofiqlik, yani ma'lumot to'g'riligini nazorat qilish, masalan nisbiy balansli hisoblar bo'lmaydi.
Qaysi biriga qanday misollaringiz bor, izohlarda kutamiz!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dr. Algorithm
Oracle (va Mobliss)
Magistraturada o‘qib yurganimda Oracle fani kirishni boshlagan. Paradox, Interbase yoki boring ana MySqlni o‘rgangan odam uchun Oracle juda vahimali tuyular edi. Xuddi-ki, 1 qavatli imorat qurmagan odam katta 20 qavatli dom oldida turgandek.
Oracle’ni o‘rganishimga bu ilk turtki bo‘lgan. Oradan 1 yil o‘tib ilk FinTech loyiha boshlaganimizda Oracle men uchun to‘lqinli dengiz, men esa o‘zimni surfing sportchisi kabi his etardim.
Bir kun.
4 ta kursdosh online tolov tizimi ishlab chiqqan edik. Har birimizning vazifamiz bor edi. 2 kishi kodga javob berar edik. Tizimda 5,000dan ortiq foydalanuvchi bor. Har kuni pul o‘tkazmasi va to‘lovlar qilishadi.
Production bazada hisobot olish maqsadida ishlab o‘tiribman.
Hisobot olish ketidan xatoliklarni tuzatishni boshladim. Ba’zi hisoblar noto‘g‘ri saqlangan yoki ikki marta yozilib, hisobot xato chiqayotgan edi.
Select, Update va nihoyat Delete. Eng ko‘p ishlatiladigan buyruqlarim. Va shu payt...
Etim muzlay boshladi. Atrofdagi g‘ala-g‘ovur ovozlar eshitilmay qoldi. Bilaman, bunday vaqtda xotirjamlik kerak. Shoshib bo‘lmaydi. Xato qilib qo‘yish mumkin.
Ekranda TOAD dasturi va so‘nggi yozgan buyrug‘im: Delete.
Soniyalar ichida xayoldan o‘tayotgan o‘ylarim:
- Barcha ma’lumotlar o‘chib ketdi.
- 3 kunlik eski baza bor, uni tiklash mumkin.
- Lekin 3 kun ichida bo‘lgan xarakat 150mln ($100,000). Qayerdan bilaman kimniki qancha bo‘lganini?
- Mijozlar to‘polon boshlasa nima deyman?
- 3 kunlik ma’lumotni har bir mijoz kompyuteridan yig‘sa bo‘ladi. (U vaqt Nokia telefon va desktop kompyuterlar davri.)
- 3 kunlik ma’lumotni tiklash 2 hafta vaqt oladi.
- Shoshma biroz jim tur...
- 1 daqiqa o‘tdi.
- Mijozlar hali to‘polon boshlashmadi.
- Nima uchun tizim hali ham ishlab turibdi?
- Lokal dastur ishlagani uchunmi?
Xayollarim davom etadi:
- Taxminan 5 daqiqa o‘tdi.
- To‘polon hali ham yo‘q.
- Menga faqat Alloh yordam bera oladi.
- Nimadir yechim bo‘lishi kerak.
- Sodda yechim.
- Men uni ko‘rmayapman.
SHU PAYT!!!
Ko‘zimga yashil tugma ko‘rindi.
- Nima uchun bu kulrang emas? - degan xayol o‘tdi.
Yonida qizil tugma ham yonib turibdi.
- Axir bu ikkisi kulrang bo‘lishi...
- To‘xta!
Yuzimga qon yugurdi. Isishni boshlaganimni his etdim.
Chunki yechim ko‘z oldimda edi.
- Xudoga shukr, - dedim va qizil tugmani bosdim.
----
O‘sha kun bitta buyruq bilan ma’lumotlar bazasida asosiy jadvalni tozalab yuborgan edim.
(Delete from table -- where id=1234;).
Agar log yoki qiymati kichik ma’lumot bo‘lsa, ziyoni yo‘q edi. Man har kuni bo‘ladigan kassadagi pul o‘tkazmalari jadvalini tozalagan edim.
Meni nima qutqargan edi?
1. Shoshmaslik. Hech qachon biror muammoga duch kelganda yoki jahl chiqqanida hissiyotga berilish kerak emas.
2. Birov vaqt oling. Chunki yechimni tez izlaganingizda sodda yechimlarni ko‘rmay qolasiz. Miya biroz o‘ziga kelishi kerak. Shuning uchun vaqt oling.
3. Oracle bilan ishlaganda 2 ta buyruq bor: Commit va Rollback.
Ko‘pchilik bu tugmalarni avtomat ishlaydigan qilib qo‘ygan bo‘ladi. Biror buyruq bersangiz darhol ma’lumotlarga ta’sir qiladi.
Men esa buni doim qo‘lda bosish (manual) holatiga qo‘yib qo‘yar edim. Ortiqcha bitta tugma bosaman. Lekin shu odatim ma’lumotlarni saqlab qolgan.
Delete buyrug‘ini berganda, Where qolib ketishi - juda katta xato.
Qo‘limni keyboarddan olib, biroz o‘ylab o‘tirdim. Va Rollback qilish mumkin ekanini ko‘rganimda oxirgi qilgan barcha ishlarimni orqaga qaytardim.
26.04.2025 London
@DrAlgorithm
Magistraturada o‘qib yurganimda Oracle fani kirishni boshlagan. Paradox, Interbase yoki boring ana MySqlni o‘rgangan odam uchun Oracle juda vahimali tuyular edi. Xuddi-ki, 1 qavatli imorat qurmagan odam katta 20 qavatli dom oldida turgandek.
Oracle’ni o‘rganishimga bu ilk turtki bo‘lgan. Oradan 1 yil o‘tib ilk FinTech loyiha boshlaganimizda Oracle men uchun to‘lqinli dengiz, men esa o‘zimni surfing sportchisi kabi his etardim.
Bir kun.
4 ta kursdosh online tolov tizimi ishlab chiqqan edik. Har birimizning vazifamiz bor edi. 2 kishi kodga javob berar edik. Tizimda 5,000dan ortiq foydalanuvchi bor. Har kuni pul o‘tkazmasi va to‘lovlar qilishadi.
Production bazada hisobot olish maqsadida ishlab o‘tiribman.
Agar hozirgi men o‘sha payt yonimda bo‘lganida, rosa kaltak yegan bo‘lar edim. Tirik ishlab turgan ma’lumot ombori bilan ishlab bo‘ladimi?
Hisobot olish ketidan xatoliklarni tuzatishni boshladim. Ba’zi hisoblar noto‘g‘ri saqlangan yoki ikki marta yozilib, hisobot xato chiqayotgan edi.
Select, Update va nihoyat Delete. Eng ko‘p ishlatiladigan buyruqlarim. Va shu payt...
Etim muzlay boshladi. Atrofdagi g‘ala-g‘ovur ovozlar eshitilmay qoldi. Bilaman, bunday vaqtda xotirjamlik kerak. Shoshib bo‘lmaydi. Xato qilib qo‘yish mumkin.
Ekranda TOAD dasturi va so‘nggi yozgan buyrug‘im: Delete.
Where qo‘yish esdan chiqqan edi.
Soniyalar ichida xayoldan o‘tayotgan o‘ylarim:
- Barcha ma’lumotlar o‘chib ketdi.
- 3 kunlik eski baza bor, uni tiklash mumkin.
- Lekin 3 kun ichida bo‘lgan xarakat 150mln ($100,000). Qayerdan bilaman kimniki qancha bo‘lganini?
- Mijozlar to‘polon boshlasa nima deyman?
- 3 kunlik ma’lumotni har bir mijoz kompyuteridan yig‘sa bo‘ladi. (U vaqt Nokia telefon va desktop kompyuterlar davri.)
- 3 kunlik ma’lumotni tiklash 2 hafta vaqt oladi.
- Shoshma biroz jim tur...
- 1 daqiqa o‘tdi.
- Mijozlar hali to‘polon boshlashmadi.
- Nima uchun tizim hali ham ishlab turibdi?
- Lokal dastur ishlagani uchunmi?
Shu payt do‘stim Zafar:
- Hmm, tinchlikmi? - dedi. Xuddi nimanidir sezgandek.
- Ha tinch. O‘ylavomman, - dedim sir boy bermay.
Kulib qo‘ydi va qulog‘iga katta quloqchinni qayta taqib oldi.
Xayollarim davom etadi:
- Taxminan 5 daqiqa o‘tdi.
- To‘polon hali ham yo‘q.
- Menga faqat Alloh yordam bera oladi.
- Nimadir yechim bo‘lishi kerak.
- Sodda yechim.
- Men uni ko‘rmayapman.
Ancha tinchlandim. Lekin hali yechim topmagan edim.
SHU PAYT!!!
Ko‘zimga yashil tugma ko‘rindi.
- Nima uchun bu kulrang emas? - degan xayol o‘tdi.
Yonida qizil tugma ham yonib turibdi.
- Axir bu ikkisi kulrang bo‘lishi...
- To‘xta!
Yuzimga qon yugurdi. Isishni boshlaganimni his etdim.
Chunki yechim ko‘z oldimda edi.
- Xudoga shukr, - dedim va qizil tugmani bosdim.
Yelkamdagi tog‘ ag‘darildi va qushday yengil bo‘ldim.
----
O‘sha kun bitta buyruq bilan ma’lumotlar bazasida asosiy jadvalni tozalab yuborgan edim.
(Delete from table -- where id=1234;).
Agar log yoki qiymati kichik ma’lumot bo‘lsa, ziyoni yo‘q edi. Man har kuni bo‘ladigan kassadagi pul o‘tkazmalari jadvalini tozalagan edim.
Meni nima qutqargan edi?
1. Shoshmaslik. Hech qachon biror muammoga duch kelganda yoki jahl chiqqanida hissiyotga berilish kerak emas.
2. Birov vaqt oling. Chunki yechimni tez izlaganingizda sodda yechimlarni ko‘rmay qolasiz. Miya biroz o‘ziga kelishi kerak. Shuning uchun vaqt oling.
3. Oracle bilan ishlaganda 2 ta buyruq bor: Commit va Rollback.
Ko‘pchilik bu tugmalarni avtomat ishlaydigan qilib qo‘ygan bo‘ladi. Biror buyruq bersangiz darhol ma’lumotlarga ta’sir qiladi.
Men esa buni doim qo‘lda bosish (manual) holatiga qo‘yib qo‘yar edim. Ortiqcha bitta tugma bosaman. Lekin shu odatim ma’lumotlarni saqlab qolgan.
Delete buyrug‘ini berganda, Where qolib ketishi - juda katta xato.
Qo‘limni keyboarddan olib, biroz o‘ylab o‘tirdim. Va Rollback qilish mumkin ekanini ko‘rganimda oxirgi qilgan barcha ishlarimni orqaga qaytardim.
Ko‘za kuniga emas, kunida sinadi.
26.04.2025 London
@DrAlgorithm
❤2
Forwarded from Paiziev24
Агар сиз ишга кириш учун интервьюга чақирилган бўлсангиз, тайёрланиб боринг. Масалан:
— Иш эълонини жуда диққат билан ўқинг ва нега ҳар бир гап ёзилгани ҳақида ўйлаб кўринг.
— Компания сайтига кириб, у ҳақида маълумот олинг.
— Компания ҳақида интернет нима деяпти?
— Компания асосчилари ким ва уларнинг LinkedIn профиллари билан танишинг, улар нималар ёзмоқда?
Тайёрланиб келиш, ишга кириш имкониятингизни анча оширади.
@paiziev24
— Иш эълонини жуда диққат билан ўқинг ва нега ҳар бир гап ёзилгани ҳақида ўйлаб кўринг.
— Компания сайтига кириб, у ҳақида маълумот олинг.
— Компания ҳақида интернет нима деяпти?
— Компания асосчилари ким ва уларнинг LinkedIn профиллари билан танишинг, улар нималар ёзмоқда?
Тайёрланиб келиш, ишга кириш имкониятингизни анча оширади.
@paiziev24
This media is not supported in your browser
VIEW IN TELEGRAM
🤍Ҳайит айёмингиз муборак бўлсин🌙
Forwarded from IT suhbat
Kubernetes bo'yicha Udemydagi bir nechta bepul kurslar:
1. https://www.udemy.com/course/minikube-a-simple-introduction-to-kubernetes/
2. https://www.udemy.com/course/hands-on-introduction-to-orchestration-with-kubernetes/
3. https://www.udemy.com/course/kube-by-example-spring-boot-microservices-on-kubernetes/
@it_suhbat
1. https://www.udemy.com/course/minikube-a-simple-introduction-to-kubernetes/
2. https://www.udemy.com/course/hands-on-introduction-to-orchestration-with-kubernetes/
3. https://www.udemy.com/course/kube-by-example-spring-boot-microservices-on-kubernetes/
@it_suhbat
❤1
Forwarded from Книги для Java программиста
Погружение в паттерны проектирования (2021) PDF + Архив с примерами кода
Книга «Погружение в Паттерны Проектирования» описывает 22 классических паттерна проектирования, а также 8 принципов проектирования, на которых они основаны.
Каждая глава начинается с разбора определённой проблемы, возникающей при проектировании, и шаг за шагом подводит читателя к решению с помощью одного из паттернов.
Далее идёт детальный разбор структуры паттерна и его вариаций, а также пример реализации в коде.
Затем, читатель знакомится с кейсами использования паттерна и учится воспроизводить паттерн по шагам.
Заканчиваются главы обсуждением плюсов и минусов паттерна, а также обзором его связей с другими паттернами.
Книга «Погружение в Паттерны Проектирования» описывает 22 классических паттерна проектирования, а также 8 принципов проектирования, на которых они основаны.
Каждая глава начинается с разбора определённой проблемы, возникающей при проектировании, и шаг за шагом подводит читателя к решению с помощью одного из паттернов.
Далее идёт детальный разбор структуры паттерна и его вариаций, а также пример реализации в коде.
Затем, читатель знакомится с кейсами использования паттерна и учится воспроизводить паттерн по шагам.
Заканчиваются главы обсуждением плюсов и минусов паттерна, а также обзором его связей с другими паттернами.