Davronbek SWE ๐Ÿช
935 subscribers
578 photos
113 videos
66 files
446 links
- Loyihalardagi xatoliklar va ularni xal qilishdagi ba'zi tavsiyalarni ulashib boraman.

Don't be shy, say hi ๐Ÿ‘‹ | @firdavs_dev | davronbekdev.uz
Download Telegram
S.O.L.I.D printsiplari
Oโ€™zbek tilida maโ€™lumotlar kam ekanligi uchun Mediumdagi maqola orqali oโ€™zbek tilida yozilgan maqola. #SOLID

https://medium.com/@nurulloh.ubaydullayev2004/s-o-l-i-d-printsiplari-882cd316c312
Transactions

A transaction is a single unit of work that consists of a sequence of database
activities. A transaction's actions are either successful or unsuccessful. A
collection of characteristics that characterize a decent relational database's
transactions is known as ACID transactions. ACID is the acronym for
"Atomic, Consistent, Isolation, Durable."

Atomicity: When a single transaction consists of many operations, atomicity
requires the database to ensure that if any process fails, the entire
transaction fails as well. It's a case of "all or nothing." If the transaction
succeeds, you'll know that all of the sub-operations succeeded as well, and if
one operation fails, you'll know that all of the operations that happened with
it failed as well.

Consistent: Each transaction in a database must be legitimate according to the
database's specified rules, and when the database changes state, some
information must be updated. This change must be valid and not corrupt the
data. Each transaction changes the database's condition from one that is valid
to another that is valid. The following is an example of consistency. Every
"read" operation gets the latest "write" operation results.
Isolation: It implies you may execute many transactions on a database
simultaneously. However, the database will end up in a state that seems like
each operation was run sequentially, like a backlog of operations.

Durable: The term "durability" refers to the assurance that once data is saved
in a database; it will stay there indefinitely. It will be permanent, meaning it
will be held on the disk rather than in memory.

Manba: @malikovdev
Design Patterns.pdf
82.8 KB
Design Patterns uchun ajoyib qo'llanma๐Ÿ––.

Qisqa va tushunarli๐Ÿ‘จโ€๐Ÿ’ป

@davron_coder
Yuqoridagi rasmda yiliga 200 000 $ topadigan IT mutaxasisining uyi tasvirlangan.
Ko'rib turganingizdek juda sodda ko'rinishda. Bunday insonlarga kompyuter, Internet va tinch Joy bo'lsa bas, shuni o'zi yetarli.


IT mutaxasislari o'zi shunaqa bo'ladi. ๐Ÿ˜‰
Hozir Recruitment`lardan eng ko'p eshitayotgan so'zlarim:
- ะฒั‹ ะถะต ะทะฝะฐะตั‚ะต ะบะฐะบ ัะปะพะถะฝะพ ะฝะฐะนั‚ะธ ั‚ะพะปะบะพะฒั‹ั… ะบะฐะดั€ะพะฒ ะฒ ะขะฐัˆะบะตะฝั‚ะต

Ayni kunlarda endi o'rganayotgan dasturchilardan eshitayotgan so'zlarim:
- O'rganib bo'lib ish topa olamanmi?

Endi boshlayotganlar bo'lsa g'am yemang ๐Ÿ˜Š. Alloh g'amxo'r. Unga tavakkal qilib birinchi qadamni tashlab oling.

Yer yuzida oโ€˜rmalagan narsa borki, ularning rizqi Allohning zimmasidadir. U ularning turar joylarini ham, borar joylarini ham bilur. Hammasi ochiq-oydin kitobdadir.
(Hud, 6)

P/s manba: @saudabdulwahed
Forwarded from Engineering Notes
Telegram botlar qanday ishlashini tushunish uchun polling, webhook nima,
ular nega kerak kabi savollarga javob topsak.

User telegramda botga biror buyruq yuborganda, unga javob qaytishi uchun bu buyruq biz yozgan kodimiz turgan servergacha yetib kelishi kerak va server unga javob qaytarishi kerak. User yuborgan buyruqlar telegramning serveriga borib tushadi. Endi o'sha serverga kelgan buyruqlarni bizning serverimizga yetkazish kerak. Lekin telegram aynan o'sha bot uchun yozilgan bizning kodimiz qayerda turganini qanday biladi?

Telegram botlar uchun HTTP protocolidan foydalanadi. Muammo shundaki, HTTP bir tomonlama ishlaydi(push/promisedan tashqari). Ya'ni faqat bir tomon(client) request yuboradi, ikkinchi taraf(server) uni qabul qilib, response qaytaradi.
Bu degani, server xohlagan paytida clientga response yubora olmaydi. Faqatgina client request yuborgandan keyingina response yuborish mumkin.

Bizning server bilan telegram server orasida ma'lumot almashishning ikki yo'li bor:
1. Bizning server HTTP client, telegram serveri esa HTTP server vazifasini bajaradi.
2. Telegram serveri HTTP client, bizning server esa HTTP server vazifasini bajaradi.


1. Deylik, user telegram botga biror buyruq yubordi. Telegram serveri bu buyruqni to'g'ridan to'g'ri bizning serverga yubora olmaydi. Sababi, yuqorida kelishganimizdek, faqat client birinchi bo'lib ma'lumot yubora oladi. Telegram server esa hozir HTTP server rolini o'ynayapti. Plus, telegram biz qaysi bot haqida so'rayotganimizni ham bilmaydi. Demak, avval client so'rov yuborishi kerak.
Lekin client qachon so'rov yuborish kerakligini(telegramga yangi buyruq kelganini) qanday biladi?
Javob โ€” hech qanday. Shunchaki ma'lum vaqt oraligi bilan telegram serveriga to'xtovsiz request yuborib turadi. Botga yangi buyruq kelsa, telegram keyingi safar bizning serverdan request kelganda uni response qilib yuboradi. Bu taxminan mana bunday bo'ladi:

Client: Falonchi bot uchun yangi buyruq bormi?
Telegram: Yo'q
*ozgina vaqt o'tgach*
C: Bormi?
T: Yo'q
C: Bormi?
T: Ha, mana, ol. *Buyruqni yuboradi*
C: *Buyruqqa javob qaytarib, request shaklida yuboradi*
T: Oldim.
C: Bormi?
T: Yo'q
...

Mana shu usul, ya'ni bizning server ma'lum vaqt oralig'i bilan to'xtovsiz telegramdan so'rab turishi polling deyiladi.


2. Endi bizning server HTTP server vazifasini bajarib, Telegram serveri HTTP client rolini o'ynab beradi. Endi telegram client sifatida buyruqlarni to'g'ridan-to'g'ri bizga yubora oladi. Lekin buning uchun ikkita shart bajarilishi kerak:
1. Telegram bizning serverning manzilini bilishi.
2. Bizning server web server sifatida ishlashi, ya'ni requestlarni qabul qilishi kerak.

Buning uchun boshda Pashka akaning serverlariga "Falonchi botga kelgan buyruqlarning hammasini falonchi adressdagi serverga request qilib yubor" degan ma'noda xabar berib qo'yamiz. O'zimizning serverimizni esa web serverga aylantiramiz.

Endi faqat yangi buyruq kelgandagina telegram bizning serverimizga request yuboradi:

Telegram: Uka, botingga yangi buyruq keldi. Ma, ol.
Bizning server: *qayta ishlab, natijani yuboradi*.
*keyingi safar buyruq kelganda*
Telegram: Yangi buyruq. Ma, ol.
...

Mana bu usul, yani telegram bizning serverga request yuborishi esa webhook deyiladi.
After much research, I decided to give UpWork a try ๐Ÿ‘

I really enjoy working remotely online, so I re-registered with UpWork ๐ŸŽ‰

If anyone has experience with UpWork, I would greatly appreciate it if they could share it with me ๐Ÿคš

Contact: @Firdavs_Dev
Recommended: @easy_freelancing
#UpWork
The unwritten Rules of python:
๐Ÿ˜… Don't talk about Python GIL

Advanced Python:

๐Ÿ“Žhttps://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python


๐Ÿ“ https://www.geeksforgeeks.org/memory-management-in-python/

๐ŸŽž https://youtu.be/9zinZmE3Ogk ๐Ÿ‡บ๐Ÿ‡ธ
๐ŸŽž https://youtu.be/wlRbDg8-QH0 ๐Ÿ‡บ๐Ÿ‡ฟ
Gigant kompaniyalarda dasturchi sifatida ishga kirish!

๐Ÿ“น https://youtu.be/DOuh1VQ3k4A?t=3500
๐Ÿ”— @TenxEngineer
Cracking the coding interview ( PDFDrive ).pdf
50 MB
Cracking the coding interview ๐Ÿ“• ๐Ÿ‘†

ยฉMuallif huquqi bor. Imkoniyati yoโ€˜q ammo ilm olishga boโ€˜lgan ishtiyoqi kuchli bulganlar uchun. Lekin barbir kitobni uzini sotib olish maslahat bergan boโ€˜lar edim๐Ÿ‘Œ

#recommended
๐Ÿ Python dasturlash tilining asoschilardan biri bo'lgan "Guido van Rossum" GitHub sahifasi!

Bu sahifasida 'Resume'sining link qoldirgan: https://gvanrossum.github.io//Resume.html ๐Ÿ”ฅ

Dasturlash tilini yaratuvchisising CVsi ajoyib holatda ekan... ๐Ÿ˜
Django: blank=True vs null=True ๐Ÿค”

Many young programmers may get confused in this case. ๐Ÿ’ก
This media is not supported in your browser
VIEW IN TELEGRAM
"Tabriklations" โœจ๐ŸŽ‰

Happy programmers' day๐Ÿฅณ๐Ÿคฉ

Hayotdan zavqlanishni esdan chiqarmang.
Bayram muborak, o'rtoq programmistlar

@davron_coder
.