TECH STASH – Telegram
TECH STASH
212 subscribers
115 photos
5 videos
15 files
254 links
اینجا هر چی رو که یاد میگیرم، به اشتراک میزارم...
هوش مصنوعی، لینوکس، اوپن سورس، برنامه نویسی و...

Admin: @D3F4U1T_ARS
Download Telegram
رنکینگ دیتابیس های SQL
بر اساس استفاده مرتب شده

https://db-engines.com/en/ranking
TECH STASH
رنکینگ دیتابیس های SQL بر اساس استفاده مرتب شده https://db-engines.com/en/ranking
جالبه MySQL تو رتبه دومه
ظاهرا به خاطر سادگیش تو این رتبه قرار داره
اگر دنبال این میگردید که چقدر مموری داخل برنامه پایتون اتون مصرف میشه نگاهی به memray بندازید.

یه برنامه عه واسه profile کردن مموری.
یه فایل html اکسپورت میکنه که حاوی اطلاعات از مموری مصرف شده در هر لحظه از برنامه هست

https://github.com/bloomberg/memray
پروفایلر های دیگه هم داریم
یکی دیگه از خفناش هم scalene هست که GPU, CPU و مموری رو پروفایل میکنه.

خیلی ابزار محبوبی هست و سرعت خیلی بالایی داره

https://github.com/plasma-umass/scalene
معمولا وقتی که میخواید مموری پروفایل کنید باید ابزارتون سریع باشه که از سرعت برنامه کاسته نشه.


به همین دلیل سرعت هم اهمیت خیلی زیادی داره
البته توی memory خیلی چنین فاکتور مهم نیست ولی باز واسه برنامه هایی با memory footprint سنگین سرعت خیلی پایین میاد و زمان بیشتری از شما میگیره
جدا از دو پروفایلر بالا خود پایتون هم یه پروفایلر داره به اسم cProfile که یه نوع CPU پروفایلره

اونم سریع هست (نه به سرعت scalene اما نزدیک)
چند وقت پیش با telethon سر و کله زده بودم.

کلا type hinting داخلش داغون بود.
فایل های pyi نداشت واسه اینکه mypy بتونه بررسی کنه.

اما وقتی که فهمیدم فایل های pyi رو ساده میشه ساخت و اینکه type hinting رو میشه اصلاح کرد. کلا نظرم راجب مشکلات داینامیک بودن پایتون عوض شد.

حتی میشه با docstring هم اصلاح کرد تایپ هارو.
Forwarded from memealloc
Forwarded from memealloc
بان چند وقت پیش رلیز شد و کل اکوسیستم جاوا اسکریپت رو طوفانی کرد.

بهترین ابزارایه جاوا اسکریپت با بیشترین compatibility...

Time to throw node into the garbage can.

https://www.youtube.com/watch?v=BsnCpESUEqM
مار نویس های عزیز
یکی از مهم ترین ماژول های زبان مورد علاقمون (مار) itertools هستش
اونقدر بدرد میخوره که پیشنهاد میکنم یاد بگیری.

پیش نیازش اینه که با generator ها و مفهوم iterator و iterable کار کرده باشید.

داکیومنت اصلیش هم گیگاچد ها میدونن کجاست 🗿🗿🗿

https://www.youtube.com/watch?v=0L3qFHiRC_I
دیروز روی چیزی کار میکردم که مموری لیک داشت

اومدم با memray آنالیز و profile اش کردم و دیدم که منشا اش از خود پایتونه.
خیلی هم عجیب بود چون فکر میکردم همچنین چیزی رو خود پایتون هندل میکنه.

لایبرری concurrent.futures وقتی که ترد هارو میسازه نمیاد نخاله و نتایج های ترد های قبلی رو از بین ببره. لیمیتی هم نداره که باعث میشه مموری پر بشه

همچنین چیزی واسه سرور ها و VPS ها با محدودیت مموری و برنامه های با ترد بالا مشکل سازه. بنابراین یه نفر اومده و با یه دستکاری جزیی این مشکل رو رفع کرده

https://github.com/mowshon/bounded_pool_executor
Forwarded from جادی | Jadi
‏توی روز برنامه نویس، براتون دنیایی آرزو می‌کنم که همه ما توی نوشتن برنامه‌هاش سهیم هستیم؛ دنیایی آزاد.
Forwarded from La3tKnight
Forwarded from memealloc