Abduaziz π
488 subscribers
121 photos
17 videos
1 file
95 links
Download Telegram
Web sahifalarni oflayn rejim uchun saqlab qo'yish

Biror bir loyiha ustida ishlash vaqtingizda albatta brauzersiz va ishlayotgan texnologiyangizni qo'llanmasisiz ishlay olmaysiz. Internetning 2-3 kunlab bo'lmasligi sababli esa qo'llanmaga haqida esdan chiqarishingizga to'g'ri keladi. Shunday vaziyatda sizga qo'llanmaning oflayn rejimda ishlovchi talqini zarur bo'ladi. Buning uchun har bir sahifasini qo'lda skrinshot qilaman deydigan "brat"lardan bo'lsangiz ushbu post aynan sizga bag'ishlanadi. Shaxsan o'zim 3-4 marta internet bo'lmaganiga ishlatgan dasturim HTTrack Website Copier, maqsadi ham aniq nomidan. U yordamida bir necha daqiqalar ichida veb saytni kompyuteringiz xotirasiga ko'chirib, papka ichidagi index.html'ga o'tib "tikkasiga chopilgan" saytni ko'rishingiz mumkin.

@AbduazizPy
🔥8👍2👏1😁1
Arrow yoki datetime

Arrow
bu python dasturchilari uchun ishlab chiqilgan sodda va "odam"larni yaqindan tushuna oladigan kutubxona hisoblanadi (human friendly).
Vaqtlar bilan bog'liq hisob kitoblar, konvertatsiyalar, parsing va shunga o'xshash ko'plab funksiyalarni osongina bajarish mumkin. Pythonning o'zida vaqtlar bilan ishlash uchun juda ko'p modullar(pytz, datetime ...), typelar(date,time, timestamp ...) mavjud. Bu esa ba'zida birozgina noqulaylik keltirib chiqarishi mumkin. Ushbu kutubxonada esa hammasi bitta joyga jamlangan va undan foydalanish uchun minimum kuch & energiya sarflaysiz (xullas "tochkasiga" urilgan). Postning qolgan barcha matnini skrinshotga joylab qo'ydi.

🔗 Havola: Github

@AbduazizPy
👍11👏2🔥1
CLI Ilovalar Yaratish

Siz katta ehtimol bilan ko'pgina sevimli ilovalaringiz bilan ularning grafik interfeysi orqali muloqot qilasiz(agarda terminal jinnisi bo'lmasangiz albatta). Grafik interfeys yangi foydalanuvchilarga nisbatan do'stona munosabatda bo'ladi, ishlatish qiyinchilik tug'dirmaydi. Lekin insonlar har doim ham grafik interfeysga ega ega bo'lgan ilovalardan foydalanishmagan. Birinchi bo'lib CLI (command line interface)lar ishlab chiqilgan. CLI ham bu siz va kompyuteringiz o'rtasidagi muloqotni ta'minlab beruvchi narsa, ammo kompyuterga barcha "instruksiya"lar klaviaturada tekst(kommanda) kiritish bilan beriladi. Agar linux haqida biroz eshitganlar bo'lsa "ls", "cd" kabi buyruqlar va ularning vazifasi haqida biladi. Asosiy plyuslaridan biri kam xotira ishlatishida, katta minusi esa yangi foydalanuvchilarni qiynab qo'yishida deb ayta olamiz. Hech narsani tushunmaydigan odamga CLI'ni kompyuterda har xil yozuvchalar chiqadigan qora ekrancha sifatida tushuntirish mumkin 🙂

Pythonda CLI qurishda ishlatish mumkin bo'lgan kutubxonalar bir nechta, ushbu postda esa boshqalariga nisbatan yangiroq bo'lgan Typer kutubxonasidan foydalamiz (python 3.6+). Typer'dan foydalanish boshqalariga nisbatan juda oson, kodingizdagi "duplikatlar"(takrorlanish) sonini minimumga tushura olasiz va istalgan turdagi murakkab CLI'larni ham yaratishingiz mumkin. Uning ko'pgina qismi pythondagi type hintlarga asoslangan va "editor support" ham yuqori darajada. Boshlash uchun pip orqali uni o'rnatasiz, pythondagi oddiy funksiyalar orqali buyruqlaringizni yozasiz va qolgani o'z fantaziyangizga bog'liq bo'ladi. Skrinshotni diqqat bilan kuzatsangiz "magic" narsalarning guvohi bo'lasiz.

🔗 Havola: Typer

@AbduazizPy
👍11🔥4👏1
IPython

Barcha python dasturchilarga ma'lumki, python dasturlash tilining yangi xususiyatlarini o'rganish va sinab ko'rish uchun eng yaxshi joy bu albatta python shell'dir (python konsoli). Shaxsan men uchun python'ning o'zi taqdim etgan shell'dan ko'ra, IPython'ni ishlatish qulayroq bo'lib qolgan. Ushbu post orqali esa sizga ham uni tavsiya qilmoqchiman. IPython'ning foydali xususiyatlari python shell'ga nisbatan ancha ko'p, u juda ham interaktiv shell hisoblanadi. Sizga nega IPython'ni sinab ko'rishingiz kerakligini tushuntirish uchun, uning ba'zi "feature"larini keltirib o'tmoqchiman.

- Ko'plab "magic" metodlarining borligi. Misol uchun hozirgi sessiyadagi o'zgaruvchilar nomini, turini va qiymatini ko'rsatish uchun `whos`dan foydalanish.
- So'roq(?) belgisini qo'yish orqali biror bir modulning funksiya yoki metodi haqida to'liqroq ma'lumotni olishingiz mumkin.
- Undov(!) belgisi bilan terminalingizda kiritishingiz mumkin bo'lgan buyruqlarni to'g'ridan to'g'ri kirita olasiz. Skrinshotda esa to'g'ridan to'g'ri node'ga murojat qildim (!ls, !cd, !pwd ...)
- U koddagi xatoliklarni yanada aniqroq ko'rsatadi. 3- skrinshotda ko'rishingiz mumkin.
- "Autocomplete"simon xususiyatning borligi ham zo'r yangilik. Kod yozayotagningizda TAB'ni bossangiz chiqadi faqat.
- Asinxron funksiyalarni ham yangi qatordan to'g'ridan to'g'ri ishga tushurishingiz mumkin. Python shell'da esa 'await' outside function xatoligini olasiz va bu biroz noqulaylik keltirib chiqaradi.
- Deyarli hech qayerda uchramaydigan featurelardan biri: Kodingizni to'g'ridan to'g'ri pastebinga qo'yishingiz mumkin. % yordamida pastebin "magic" metodini chaqirasiz va qaysi oraliqdagi kod bloklarini qo'yish kerakligini kiritasiz (kod bloklari chapda raqamlangan turadi). Bitta "enter" tugmasini bosasiz va pastebin havolangizni olasiz.

Uning qulayliklari ancha ko'p, qolganlarini esa ishlatish davomida o'rganib olasiz. Post foydali bo'ldi degan umiddaman, fikrlaringizni albatta izohlarda qoldiring.

🔗 Havola: IPython

@AbduazizPy
👍9🔥1
👍12🔥1👏1😱1
Memreduct

Bu post asosan windows foydalanuvchilariga bag'ishlanadi. Windows foydalanuvchilari orasida operativ xotiraning yetishmasligi oqibatida ba'zan "qotib" qolishlar yuzaga keladi. Memreduct esa real vaqt rejimida ishlovchi, memory managementga yo'naltirilgan foydali ilova hisoblanadi. Ya'ni u sizga operativ xotirangizni tozalashga yordam beradi. Sozlamalar orqali uni kompyuter yonganda ishga tushadigan, har "n" daqiqada tozalab turadigan yoki operativ xotiraning ishlatilish hajmi "n" % ga yetganda tozalaydigan qilish mumkin. Avvalgi kompyuterim nisbatan kuchsiz bo'lganida yordami tekkan, lekin hozirgi kompyuterimda ham undan muntazam ravishda foydalanaman.

🔗 Havola: Memreduct, Memreduct(Github)

@AbduazizPy
👍18👏2🔥1
Abduaziz π pinned Deleted message
Humanize

Python dasturlash tilini ko'pgina tayyor kutubxonalari borligi uchun ham yoqtirishadi desak adashmagan bo'lamiz. Shunday kutubxonalardan birini bugun uchratib qoldim. Uning vazifasi sonlar, fayl hajmlari va vaqt birliklarini so'zlar orqali (odam tushunadigan tilda) ifodalashdan iborat. Qiziq kutubxona ekan 🙂

O'rnatish(pip): pip install humanize

🔗 Havola: Qo'llanmasi

@AbduazizPy
👍14🔥1
Foydali resurs

Python dasturlash tilini o'rganish(yoki mustahkamlash) uchun yaxshi yana bir resurs topdim.
Qimmatli ma'lumotlari ham bor ichida. O'zim ham vaqt borida o'qib turibman, takrorlab qo'ysangiz zarar qilmaydi.

🔗 Havola: https://python.swaroopch.com

@AbduazizPy
👍11🔥1
Folium

Udacity'dagi ma'lumotlar tahlil nanodegree kursida o'qiyotganimda final loyihamni topshirishda ushbu kutubxonadan foydalangan edim. Qisqa qilib aytganda kutubxona geo ma'lumotlar va xaritalar bilan ishlashda juda qo'l keladi. Kerakli ma'lumotlarni yig'ib, pandas yoki shunga o'xshash kutubxonalar orqali ma'lumotlarni tozalab(cleaning process), vizualizatsiya'da ishlatish mumkin. Final loyihamda velosiped ijaraga beradigan tizimning ma'lumotlari tahlil qildim. Dataset ichida foydalanuvchilarning geolokatsiyalariga oid ma'lumot bor ekan, ular orqali velosipedlardan ko'p foydalanilgan hududlar xaritasini vizualizatsiya qildim.
Folium kutubxonasi javascript'dagi Leaflet kutubxonasidan foydalanadi (xuddi API'dek).

P.S Rasmdagi xarita turini geo heatmap deydi, qayerda aktivlik yuqori bo'lsa qizg'ishroq bo'ladi.

📖 Folium documentation

@AbduazizPy
👍13🔥2
Django Packages!

Gap har bir django'da ishlaydigan dasturchi uchun kerak bo'lgan foydali resurslar haqida borsa bu saytni eslamaslikni iloji yo'q. Bu sayt orqali siz django uchun ishlab chiqilgan kutubxona/freymvorklar, ularning imkoniyatlari va reytingi bilan tanishib chiqishingiz mumkin.

Saytni aylanib chiqish orqali o'zingiz uchun kamida bitta foydali kutubxonani topa olasiz 💯

🔗 Havola: djangopackages.org

@AbduazizPy
👍13🔥5🎉1