Python daturlash maktabi 🐍
579 subscribers
343 photos
180 videos
83 files
389 links
Download Telegram
Git va rekursiya bir rasmda. Shunchaki shedevr tushuntirish )

@uz_python
👍2
Forwarded from Engineering Notes
Hozirgi ish joyimga kirganimga 2 oy bo'ldi. Yangi jamoada texnik bilimlardan tashqari "work culture" tomondan ham ko'p narsa o'rganayapman. Quyida shaxsiy fikrimcha bizda ham kengroq adaptatsiya qilishga arziydigan ba'zi qoidalar. E'tibor qilsangiz bularning hammasi oddiy narsalar, lekin negadir ba'zilar shularga ham amal qilmaydi.

1. Sizning vaqtingiz qimmat, boshqalarniki undan ham qimmat. Hamkasbingizning ishi sizga bog'liq bo'lsa iloji boricha tezroq bajarib bering yoki eng kamida qachon qilib bera olishingzni ayting. Schedule qilingan call/meetinglarga vaqtida qatnashing, biror sabab bilan kech qolsangiz yoki qatnasha olmasangiz qolganlarni bu haqida iloji boricha ertaroq ogohlantiring. Managerlar va team leadlar uchun: callga faqat kerakli odamlarni chaqiring va iloji boricha tezroq tugating. Daily standupda jamoadagi faqat 1 kishiga aloqador task ustida gaplashish uchun butun jamoani 1 soat ushlab turmang.

2. Vaqt qimmat, fokus undan ham qimmat. Fokusning 2 ta asosiy dushmani bor, shulardan iloji boricha qochishga harakat qiling:
a) Context switch, ya'ni bir vazifadan boshqasiga o'tish. Masalan, fokus bilan ishlayotgan jamoadoshingizga "hey, tezda mana bu narsani qilib bera olasanmi, 5 minut vaqt ketadi" desangiz u ishning o'zini qilishga 5 minut vaqt ketishi mumkin, lekin jamoadoshingiz yana o'zining ishiga qaytib avvalgidek fokus qilishiga yana kamida 10-15 minut ketadi.
b) Unpredictibility, ya'ni oldindan rejalashtirilmagan ishlar. Masalan, jamoadoshingiz yoki qo'l ostingizdagi ishchini oldindan ogohlantirmasdan "hey, hozir 10 minutlik qisqa callga qatnasha olasanmi" desangiz u callga kirib nima bo'layotganini tushunib olgunicha va calldan keyin oldingi qilayotgan ishiga qaytgunicha ancha vaqt o'tadi. Lekin call oldindan belgilangan bo'lsa u ma'lum darajada tayyor bo'ladi va context switch ancha oson kechadi.

Davomi keyingi postda

@boboshersnotes
👍2
Forwarded from Engineering Notes
Davomi

3. Engineerga vazifa emas, muammo bering. Tayyor yechimni implement qilish oson, yechimni va ayniqsa yaxshi yechimni topish qiyin. Agar manager yoki team lead sifatida engineerlarga "A tildagi B frameworkda C arxitekturada web server yoz, databaseda X, Y, Z tablelar bo'lsin" shaklidagi vazifa berayotgan bo'lsangiz unda birinchidan siz engineerlardan to'liq foydalanmayapsiz, ikkinchidan siz o'ylagan yechim optimal bo'lmasligi mumkin. Yaxshisi, "bizda A muammo bor, shuni hal qilish uchun bizga B imkoniyatga ega yangi servis kerak" deb muammoni o'rtaga tashlang. Shunda bir qancha alternativ yechimlarni ko'rib, hamma tomondan analiz qilib, eng yaxshi yaxshi yechimni tanlash imkoni bo'ladi. Lekin odatda call davomida yaxshi yechim o'ylab topish ko'p vaqt va ma'lum bir sohada chuqur bilim talab qilishi mumkin. Bunday holatda bir kishiga muammoni chuqur o'rganish va potensial yechimlar ustida ishlash vazifa qilib beriladi (yechimni implement qilish emas) va keyin berilgan yechimlarni butun jamoa bilan analiz qilib, qaror qabul qilishingiz mumkin. Implement qilish shundan keyingina boshlanadi.

4. Djangochi emas, engineer bo'ling. Bugun application serverda, ertaga databaseda, indinga networkingdagi muammoni hal qilishingizga to'g'ri kelishi mumkin. Albatta ishga kirishdan oldin bularning hammasini chuqur o'rgana olmaysiz, shuning uchun "T shaped" engineer bo'lishga harakat qiling. Ya'ni bilimingiz T harfidagiga o'xshab biror tor sohada chuqur bo'lishi bilan birga boshqa ko'plab sohalardan ham ma'lum darajada xabardor bo'lishingiz siz uchun ancha foydali, shunda zarur bo'lganida boshqa bir sohani chuqurroq o'rganishingiz oson bo'ladi (ya'ni T ni π ga aylantirish oson bo'ladi). Menimcha lokal bozordagi eng katta muammolardan biri ko'p sohalarni yuzaki biladigan lekin birortasini chuqur tushunmaydigan (– shaped) yoki bir tor sohani chuqur biladigan lekin boshqa sohalarni umuman tushunmaydigan (I shaped) engineerlar. Bundan tashqari bir narsani chuqurroq o'rganib olib, keyin hamma joyga shuni tiqishtiradigan (L shaped) engineerlar ham odatda jamoaga foydadan ko'proq zarar keltiradi, ToDo app qilish uchun ham microservice quradiganlar bunga misol.

5. Qilgan har bir ishingizni va o'ylagan har bir yechimingizni yozib boring. Projectda to'g'ridan-to'g'ri sizga bog'liq narsalar minimal bo'lishi kerak, yechimlar va g'oyalar ham shular qatorida. Ertaga siz ishdan ketsangiz ham yozgan narsalaringiz turadi. Bu kelajakda boshqalarning vaqtini isrof qilmaslik uchun qilishingiz mumkin bo'lgan eng yaxshi narsalardan biri. Bundan tashqari menga o'xshab xotirangiz yomonroq bo'lsa 1 hafta oldin tugata olmagan ishingizga qaytganingizda oldingi safar nima qilganingiz/qilmoqchi bo'lganingizni yozib qo'yganingiz uchun o'zingizga o'zingiz rahmat aytasiz.

@boboshersnotes
👍2
Forwarded from Botir Ziyatov
Telegram yangi tasdiqlash kodi xizmatini ishga tushirdi.

Telegram 5-oktabrda yangi katta yangilanishini e'lon qilgan edi.
ular orasida tasdiqlash kodi platformasi mavjud edi.

Endi API orqali an'anaviy SMS-lardan foydalanish o‘rniga, Telegram orqali tasdiqlash kodlarini yuborishi mumkin.
Buning narxi har bir xabar uchun 0.01 dollar.

Telegramning aytishicha:
Ushbu xizmat SMS-larga qaraganda tezroq va xavfsizroq ekani bilan ajralib turadi.

@botirziyatov
👍2
Forwarded from AD DEV
Xato xabarlari Nginx belgilangan katalogdagi (/root/sifatedu/static/) statik fayllarga kirishga urinayotganda ruxsat berish muammolariga duch kelayotganligini ko'rsatadi. Ruxsat rad etilgan muammosini hal qilish uchun quyidagi qadamlar mavjud:

### 1. Statik fayllarga egalik huquqini o'zgartirish

Nginx odatda www-data foydalanuvchisi ostida ishlaydi (yoki ba'zan o'rnatishga qarab nginx). Ushbu foydalanuvchi statik fayllar katalogiga tegishli egalik qilishiga ishonch hosil qilishingiz kerak. Egalikni o'zgartirish uchun quyidagi buyruqni bajaring:

sudo chown -R www-data:www-data /root/sifatedu/staticfiles
sudo chown -R www-data:www-data /root/sifatedu/media


### 2. Statik fayllar uchun ruxsatlarni o'zgartirish

Egalikdan tashqari, kataloglarning to'g'ri ruxsatlarga ega ekanligiga ishonch hosil qilishingiz kerak. Tegishli ruxsatlarni o'rnatish uchun ushbu buyruqlarni bajaring:

sudo chmod -R 755 /root/sifatedu/staticfiles
sudo chmod -R 755 /root/sifatedu/media


### 3. Statik fayllarni umumiy katalogga ko'chiring

Xavfsizlik nuqtai nazaridan, Internetga kirish mumkin bo'lgan fayllarni (masalan, statik fayllar) /root katalogida saqlamaslik tavsiya etiladi, chunki bu katalog odatda ildiz foydalanuvchisi uchun ajratilgan. Siz qulayroq joyda (masalan, /var/www/) yangi katalog yaratishingiz va statik fayllaringizni u erga ko'chirishingiz mumkin. Mana qanday qilib:

1. Yangi katalog yarating:

sudo mkdir -p /var/www/sifatedu/static
sudo mkdir -p /var/www/sifatedu/media



2. Statik fayllarni ko‘chirish:

Statik fayllarni yangi katalogga ko'chiring:

 sudo mv /root/sifatedu/staticfiles/* /var/www/sifatedu/static/
sudo mv /root/sifatedu/media/* /var/www/sifatedu/media/



3. Nginx konfiguratsiyasini yangilang:

Yangi joylarga ishora qilish uchun Nginx konfiguratsiyasini o'zgartiring:

location /static/ {
alias /var/www/sifatedu/static/; # Update to new path
}

location /media/ {
alias /var/www/sifatedu/media/; # Update to new path
}



4. Yangi kataloglar uchun ruxsatlarni o'rnating:

Yangi kataloglar to'g'ri egalik va ruxsatlarga ega ekanligiga ishonch hosil qiling:

sudo chown -R www-data:www-data /var/www/sifatedu/static
sudo chown -R www-data:www-data /var/www/sifatedu/media
sudo chmod -R 755 /var/www/sifatedu/static
sudo chmod -R 755 /var/www/sifatedu/media



### 4. Nginx-ni qayta yuklang

Ushbu o'zgarishlarni amalga oshirgandan so'ng, yangi konfiguratsiyani qo'llash uchun Nginx-ni qayta yuklang:

sudo systemctl reload nginx



Admin panelni ngnix o'qiy olmagan vaziatda kerak bo'ladi
👍1
Forwarded from D i y o r b e k
Men Diyorbek Aliqo'ziyev Python dasturlash tilidan mentorman.
Tajribamga to'xtaladigan bo'lsam 2021-yil pythonni o'rganganman, hozirda 3 yillik tajribaga egaman.
Mentorlik tajribamga to'xtaladigan bo'lsam 6 oy bo'ldi.
Men o'quvchilarga guruh bilan ham individual o'ziga ham dars o'taolaman.
Guruhda eng ko'pi bilan 4 kishi bo'ladi, individualda tabiiyki 1 kishi.

Pythonni 0 dan qunt bilan o'rganish maqsadida yurganlar bo'lsa murojaat qilishi mumkin:
@dalikuziev
Mastering Docker: Buyruqlar bilan ishlash to'liq qo'llanmasi

Bu qo'llanmada siz Docker buyruqlari bilan ishlashni o'rganishingiz mumkin.

Agar siz endi dockerni o'rganyotgan bo'lsangiz bu qo'llanma sizga juda foydali bo'ladi
👍2
Forwarded from Azimjon's Fikrlog
Quloqchin nima uchun kerak?
- Musiqa eshitish uchun
- Ishlayapman, menga tegma deyish uchun.

Dasturchilar kelishgan qoida.
👍5
Forwarded from Vodiylik aka
Telegram ham Googlega oʻxshab bayramlarni nishonlash uchun oʻz bezaklarini faqatgina shu bayramni nishonlaydigan hududlar foydalanuvchilari uchun belgilasa yaxshiroq boʻlardi menimcha.

@vodiylik aka 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Khumoyun Codes
Nega hozir Juniorlar va internlarga ish yo'q?

Izohlarning birida:

mediumdagi maqolani o'qib miyyam shokka tushishni boshladi, 2019-yil Verstkani bilib Super Dispatchda stajirofka🤯🤯
nima dip o'ylisiz hozirgi bozorga nima bo'gan?


Tuz sho‘rroq, shakar shirinroq va maysalar yashilroq bo‘lgan u paytda, ish o‘rinlari soni, ish qidirayotgan odamlar soniga yaqinroq edi. Hozir esa ular orasidagi farq yildan yilga kattalashib bormoqda. Nega bunday? Nega juniorlarga ish kamayib ketdi? desak, bunga bir nechta sabab bor:

- Birinchidan, sohaga bo‘lgan qiziqish ancha ortdi, ayniqsa pandemiya vaqtida ko‘p odamlar dasturchilarni rostakam kimligini bilishdi (undan oldin Malika bozorida telefon "proshivka" qiladigan inson deb ko‘plar o‘ylardi). Bunga bir tomondan sohaga yaqin kishilarning media-olamida ko‘zga ko‘rinishni boshlagani ham asosiy sabablardan biri bo‘ldi. Shuni ortidan sohaga kirgan odamlar soni ortdi.

- Ikkinchidan dasturchilikni o‘rgatadigan yaxshi va yomon ta’lim markazlari juda ham ko‘payib ketdi, ko‘pchiligida hali (alifni kaltak deyolmasdan) productionda 1 kun ham ishlab ko‘rmasdan, dars berishni boshlagan o‘qituvchilar, sifatsiz "Junior" deb nomlangan intern-dasturchilarni o‘qitib chiqarishni boshlashdi. Ularga, bitirsang Junior bo'lib chiqasan, 500$+ oylik olasan deb va'dalar berishdi. O'quvchilar esa ularga ishonib, o‘z o‘rnida, katta-katta oyliklar so‘rab, yuqori talablar qo‘yib bozorga eshikni tepib kirishni boshlashdi.

- Uchinchidan, ish beruvchilar bunday "derzkiy" "junior"larni ishga olib, ishlatib ko‘rib, undan keyingi keladigan odamlarga talabni yuqoriroq qo‘yishni boshlashdi. Katta oylik olish uchun ko‘proq narsa bilish, qo‘lidan bir ish kelishi kerak. 

- To‘rtinchidan, har bir ishxona "junior" larni ishga olganda, unga o‘z vaqti va resurslarini sarflaydi, tajriba orttirishi va o‘rganishiga imkon beradi. "Junior"lar esa, endi 2 oy ishlab, oyligimni x2 qilib bering deb so‘rashni boshlaydi, qilib bermasa ishdan bo‘shab ketadi. Shuning uchun ularga bo‘lgan talab ham, ishonch ham kamayib ketdi. Qisqa qilib aytganda bunday "Junior"lar bilan ishlash ko‘pgina kompaniyalarga "nevigodno" bo‘lib qoldi. Shuning uchun hozir qimmatroq bo‘lsa ham, ko‘proq ishga tayyor middle va seniorlarni izlashmoqda.

Hozirgi paytda ish qidirib yurgan juniorlarga maslahatim esa, sal kamtarroq bo‘ling, CVni to‘g‘ri yozishni o‘rganing, muomala madaniyatingizni to‘g‘rilang va suhbatlarga tayyorlaning. Kompaniyaga ishga qabul qilinsangiz ko‘proq harakat qiling va puldan ko‘ra ko‘proq tajriba uchun ishlang. Unga qo‘ldan kelguncha "loyalty" saqlab turing. Asosiysi, ishxona menga "doljen" deb hech qachon o‘ylamang. Shunda hammasi yaxshi bo‘ladi.

Men karyeramni boshlaganimda juda ham xom va tajribasiz, HTML & CSS dan boshqa narsani bilmaydigan kadr edim, lekin menga ba’zilar ishlashga imkon berdi, ba’zilar o‘z tajribasini ulashdi, ba’zilar bilim o‘rgatdi, ba’zilar ishdan ketkizib yuborib ko‘zimni ochishdi 😅. Xato va yutuqlarimdan o‘rganib, "Senior"likgacha yetib keldim. Vaziyatdan foydalanib ularga rahmat aytaman.

@khumoyun_codes
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Rio - bu to‘liq Python asosida qurilgan veb-saytlar va ilovalar yaratish uchun sodda va qulay freymvork.  Chiroyli va zamonaviy ilovalar yaratish uchun sizga birorta ham HTML, CSS yoki JavaScript kodi kerak bo‘lmaydi.
👍1