Telegram Group & Telegram Channel
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.

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
👍51🔥17🤯145👏1😢1



tg-me.com/DrAlgorithm/839
Create:
Last Update:

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.

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

BY Dr. Algorithm






Share with your friend now:
tg-me.com/DrAlgorithm/839

View MORE
Open in Telegram


Dr Algorithm Telegram | DID YOU KNOW?

Date: |

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

Dr Algorithm from id


Telegram Dr. Algorithm
FROM USA