Engineering Notes
2.45K subscribers
137 photos
5 files
208 links
Kanalda asosan backend engineeringga oid postlar yozib boriladi.

Ba'zi postlarda xatoliklar bor.
Postlar foydali bo’lgan bo’lsa adminni duo qilib qo’ying. Rahmat.

Contact: @Bobosher_Musurmonov
LinkedIn: https://www.linkedin.com/in/bobosher-musurmonov
Download Telegram
Forwarded from Engineering Notes
RDBMS, umuman DBMSlar haqida 20 ta savol.
Qolganlaridan qiyinroq savollar * bilan belgilangan.


1. ACID xususiyatlaridan biri bo'lgan atomicity nimani bildiradi?

2. RDBMSlarda qaysi holatlarda denormalizatsiya qilish foydali hisoblanadi?

3. Database cursor nima? Server-side cursorning client-side cursordan ustun tomoni qaysi?

4. Database engine nima?

5. Read committed va repeatable read izolyatsiya darajalarining orasidagi asosiy farq nimada?

6. Pessimistic Concurrency control nima? Uning qanday kamchiliklari bor?

7*. Transaction snapshot nima?

8*. Serialization anomaliyalaridan biri bo'lgan rw-conflict qachon sodir bo'ladi?

9. Connection pool haqida ma'lumot bering.

10. Clustered index bilan non-clustered indexning farqi nimada?

11*. B-tree va B+tree orasidagi farq nimada?

12. Master va slave replicalar orasida to'liq consistencyni qanday ta'minlash mumkin?

13. Database sharding nima?

14*. Row-based storage nima? U nima uchun OLAP operatsiyalari uchun yaxshi tanlov emas?

15*. WAL nima?

16. PostgreSQLda vacuuming nima?

17. PostgreSQLda index scan va index-only scan bir-biridan qanday farq qiladi?

18. PostreSQLda view nima?

19. PostgreSQLda ANALYZE buyrug'i nima vazifani bajaradi?

20*. PostgreSQLda SELECT FOR UPDATE komandasi nima vazifani bajaradi?


P.S. Bu savollardan ba'zilari backend developer uchun texnik intervyularda tushishi mumkin.

P.S.2. Agar to'g'ri javoblaringiz soni 20 dan kam bo'lsa tabriklayman, o'rganish uchun sizga yangi mavzu topildi.
👍10
The feeling of power when you correct someone smarter than you ))
👍26😁3
Siz ham menga o'xshab bir vaqtda Pythonning bir nechta versiyalari bilan bir vaqtda ishlashingizga to'g'ri kelsa va versiyalar orasida oson almashish yo'lini izlayotgan bo'lsangiz, pyenv ni ishlatib ko'rishni tavsiya qilaman.
Yengil va foydalanishga oson.

EuroPython 2021 da Sebastian Witowskining shu haqidagi talkini ko'rganimdan beri pyenv ishlataman.
Hozircha biror marta pand bermadi.
👍8
Nima?
Nega?
Qanday?

O'rganish uchun men biladigan (va qo'llaydigan) eng yaxshi ketma-ketliklardan biri.
Top-down approach. Kimgadir yoqmasligi mumkin, lekin menga yoqadi.
👍22
O'rtog'lar, bu kanalga faqat ilhom kelganida post yoza olaman.
Havotir olib, so'raganlarga rahmat.
Kimdir keyingi postni kutayotganidan xursandman.
Bollar, biz yutamiz 🙂
👍31
Ungacha bir ikkita eski postlarni repost qilib turaman.
Yoqsa like bosing, yoqmasa...yam like bosib qo'yavering ))
👍16😁4
Forwarded from Engineering Notes
#javob

It includes non-index column values to the actual index (b-tree).

Let's say you have a table named "users" with id, name and a bunch of other columns.
If you include name column in the index on id field:
CREATE INDEX
idx_user_id_include_name
ON users(id)
INCLUDE name;

Each time you query that uses this index and only asks for the columns on the index:
SELECT id, name 
FROM users
WHERE id = 1;
PostgreSQL doesn't necessarily go to the actual table after finding the required row, since it can find both id and name field on the index. This is called index-only scan.

If you query some other columns (let's say age), PostgreSQL first finds the required row id from the index and go to that row on the table to get age value, since it's not presented on the index. Searching on the index and fetching from the actual table. This is called index scan.
👍13
Forwarded from Engineering Notes
#savol
Can anybody explain in simple words to me
What does INCLUDE does in CREATE INDEX?
😁8👍1
Savoldan oldin javobni yuboribmanku ))
😁13👍1
Forwarded from Josh*Developer
"Ishlasa bo'ldide" deb kod yozadigan dasturchilarga haqiqiy maslahatlarimni ulashsam.
Buyerda test uchun birinchi shunaqa kod yozib, keyin to'g'irlab qo'yadiganlar haqida emas, balki keyinchalik kimdir ishlaydigan loyihalarga to'g'ridan to'g'ri, tikkasiga, uyalmasdan shu kodlarni push qiladiganlar haqida gapiriladi.

Maslahatlar:

- Kod ishlashi yaxshi. Ammo ...
Kodingizni ertaga kimdir o'qiy olishi, o'zgartira olishi ham kerak (Yozganingizni ertaga o'zingiz ham tushunmaysizku, bularga yo'l bo'lsin 😄). O'zingiz kimdir sizga shunday kodli proyektni tashlab ketsa qancha qarg'aysiz ortidan, endi sizni nechtasi qarg'ayotganini tavavvur qilavering 😄

- Dastur sekin ishlashida hissangiz juda katta.
Yaxshi yozilmagan kod, ertaga dasturni sekin ishlashiga olib keladi, oqibatda nafaqat dasturchilardan, balki Foydalanuvchilar va Klient tarafdan ham qarg'ishlar yog'iladi.

- Sinash uchun yozgan kodingizni to'g'irlab qo'ying.
Sinash uchun hammamiz ham yomon kodlar yozib turamiz. Ammo haqiqiy mardlar ularni to'g'irlab, yaxshiroq qilib qo'yadi. Xatto ba'zan console.log("Test") ham main branch'da yotgan bo'ladi. Yaxshimaas 🙂

- O'rganib qolishdan chetlaning.
Shunday kodlar yozgan sari, inson shunga o'rganib qoladi. Ertaga jiddiyroq joyga kirganida esa, juda qiynaladi. Chunki unday joylarda "Ishlasa bo'ldi" o'tmaydi. "Eh, o'rganib qolgan 'tryuk'larim endi yo'q 😢" deb yuborasiz.

So'nggi gapim shuki, o'zim ham shunday kod yozib turaman. 🙂

Maslahatlarimga amal qilmasangiz ham, share qilib keting guruh va kanallarga. Zora kimdir
olar bu gaplarni 😄

@JoshDeveloper
👍18
Forwarded from UzGeeks Community
Assalom alaykum!!!

📆 27-avgust shanba kuni Toshkent shahri Progress Academy'da "UzGeeks August2022 Meetup" bo'lib o'tadi.

📚 Meetup quyidagi bo'limlardan tashkil topgan:

1. “Indekslar haqida gaplashamiz” - Bobosher Musurmonov (dasturchi, Applied Labs);

2. "Postgres: Partitioning" - Saidolim Djurayev (CTO, Safenetpay.com).


Meetupda qiziqarli savol bergan ishtirokchilarga esdalik sovg'alari topshiriladi.
🕰 Meetup odatiy ravishda bepul bo'lib, soat 14:00 da boshlanadi va unda ishtirok etish uchun oldindan ro'yxatdan o'tish kerak bo'ladi.

Hamkorlar:
Progress Academy
Thinkland kompaniyasi

✍️ Ro'yxatdan o'tish: www.uzgeeks.uz
🏷 Tadbir Facebookda
📆 Google Calendar
👍10
Forwarded from Engineering Notes
👍21
PHP logosini fildan dinozavrga o'zgartirishni taklif qilaman.
😁27👍11👎3
Forwarded from UzGeeks Community
Assalomu alaykum

27-avgust kuni bo’lib o’tgan, UzGeeks Meetupining DATABASEga bag’ishlangan sonida “Indekslash haqida gaplashamiz” mavzusida Bobosher Musurmonovning dokladi.

PS: Meetup juda ajoyib o'tdi, ko'p foydali ma'lumotlar berildi.

Videoga havola:

https://youtube.com/watch?v=w0NeUPZOjW8&feature=youtu.be
👍13
Uber Engineering blogida juda zo'r maqolalar chiqadi. Mana bu yerda Uber 2016-yil nega PostgreSQLdan MySQLga o'tishganini va bu jarayon qanday bo'lganini chiroyli qilib tushuntirilgan. Endi MySQLdan MyRocksga o'tishayapti ekan. Hali maqolani vaqt topib o'qimadim. Ungacha o'qib, fikrlaringizni commentda yozib turing:
https://www.uber.com/blog/mysql-to-myrocks-migration-in-uber-distributed-datastores/
👍15
"To change a lightbulb" challenge qilamizmi (bilmasangiz googledan izlab ko'ring)?
Faqat dasturlash sohasida.
Qiziq bo'lsa discussion guruhida yoki shaxsiy kanalingizda davom ettiring.
👍3
— How many programmers does it take to replace a lightbulb?
— None. They don't wanna change the lightbulb because light attracts bugs.
👍10😁5
— Lampochkani almashtirish uchun nechta dasturchi kerak?
— 3 ta. 1 tasi lampochkani almashtiradi, qolgan 2 tasi Python yoki PHP zo'rligi haqida janjallashib turadi.
😁24👍2