کانال مهرداد لینوکس
3.5K subscribers
714 photos
25 videos
8 files
551 links
لینوکس حرفه ای و اخبار فنی به زبان ساده
تمام محتوای کانال تحت مجوز کرییتیو کامنز (Creative Commons license) CC BY قابل استفاده است

هشتگ:
#Linux
#AI
#Python
#Programming
#DevOps
#دیوار_لینوکس
#Utility
Download Telegram
برای عضویت در گروه به ادمین درخواست بدهید

هشتگ های کانال:
#linux
#devops
#python
#secuirty
#cheat_sheet
#Utility
👍53
اگر نیاز به یک پسورد رندم داشتید کد زیر توی پایتون کوتاه و زیباس
import random as r; p = 'abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)'; print(''.join(r.choices(p, k=10)))
#python
#پایتون
ما بقی تکنیک ها توی کامنت شما از چه تکنیکی استفاده میکنید؟
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
دیتاست هاتون را با drawdata بکشید 😍
پکیچ پایتونی drawdata به شما این امکان را میده در jupyter notebook دیتاست هاتون را بکشید
برای تدریس الگوریتم های یادگیری ماشین ( Machine learning) عالیه
https://github.com/koaning/drawdata
#python #Jupyter #Data_science
👍2
خبر 🎉 انتشار NumPy 2.0.0
کتابخانه NumPy معرفی نداره ولی :
برای محاسبه و پردازش آرایه‌های چندبعدی و تک‌بعدی و دارای توابعی برای کار در حوزه جبر خطی، تبدیل فوریه و ماتریس ها
مزایای بسیار مثلا
تا 50 برابر سریعتر از لیست های سنتی
😎با توجه به توضیحات پایین یادگیری Numpy برای همه برنامه نویسان پایتون جزو واجبات است
توضیح فنی بیشتر:
مهمترین پروژه هایی که Numpy در انها استفاده شده
🔥 اولین تصویر از یک سیاه چاله
🔥تشخیص امواج گرانشی
🔥تجزیه و تحلیل ورزشی
تخمین پوز با استفاده از یادگیری عمیق و هزاران برنامه مهم دیگر ...
حوزه های کاربرد :
محاسبات کوانتومی ،محاسبات آماری ، پردازش سیگنال ،پردازش تصویر ،بیوانفورماتیک ،استنتاج بیزی ،تجزیه و تحلیل ریاضی ،چهار نماد ریاضی ،علم شیمی ، زمین شناسی ،پردازش جغرافیایی،مهندسی معماری ،برد توسعه ریزپردازنده
مهمترین کتابخانه هایی که از numpy استفاده میکنند
Array Library ،Dask،CuPy،JAX،Xarray،Sparse،PyTorch،TensorFlow،Arrow،xtensor،Awkward Array ،uarray ،tensorly

#python #پایتون #numpy #AI #هوش_مصنوعی
👍82
برای تعریف یک تابع یا فانکشن Functions در زبان #پایتون
از کلمه کلیدی def استفاده کنید مثال:
def mehrdadlinux_function():
print("Hello from a MehrdadLinux function")

mehrdadlinux_function()

تا اموزشی دیگر به درود 😎
#Python
از سری درس های #آموزش_پایتون
🤣8👍2😁2
ابزار Profiling یک ابزار ارزشمند برای هر برنامه نویسی که می‌خواهد عملکرد برنامه‌های خودش را بهبود دهد. با یادگیری نحوه استفاده از Profilerها، می‌توانید Performance bottlenecks را به طور موثر شناسایی و رفع کنید و برنامه‌های سریع‌تر و کارآمدتر بسازید.

در #پایتون ابزار Memray یک memory profiler خوبه

🗓 امکانات :

1️⃣ ردیابی کامل: ️‍برخلاف profiler های دیگر ، این ابزار همه فراخوانی‌های تابع را دنبال می‌کند تا بتواند کل مسیر فراخوانی (Call Stack) را نمایش دهد.

2️⃣برسی native calls: قابلیت مدیریت native calls کتابخانه‌های C/C++ ، نمایش کل مسیر فراخوانی در نتایج

3️⃣فوق‌العاده سریع: Profiling کمی برنامه را کند می‌کند. ردیابی کدهای داخلی کمی کندتر است، اما این قابلیت را می‌توان در صورت نیاز فعال یا غیرفعال کرد.

4️⃣گزارش‌های متنوع: گزارش‌های مختلف در مورد داده‌های استفاده شده از حافظه، تولید نمودار مانند (Flame Graph)

5️⃣ سازگاری با Python threads
6️⃣ سازگاری با native-threads
نصب و راه اندازی آموزش بیشتر

 python3 -m pip install memray
memray run --live my_script.py

#python #پایتون
🔥4👍1
❇️ برای پردازش موازی در #پایتون از multiprocessing استفاده میکردیم

در Python 3.12 مفهوم sub interpreters که از per-interpreter GIL برای نوشتن parallel code های سریع‌تر از multiprocessing معرفی شد

در Python 3.13 مفهوم free-threading که اختیاری GIL را حذف و واقعا parallel میشه

⁉️ آآیا این دو جایگزین هم هستند؟
🔥 جواب خیر : هدف ها متفاوت ، مکمل هم اند

در Sub Interpreters:
💠با Isolation جداگانه اجرا ، امنیت افزایش جلوگیری تعاملات ناخواسته
💠هزینه سربار Overhead برای وظایف کوچک‌تر.
💠مناسب برای سرورهای وب، اتصالات پایگاه داده، یا فرآیندهای طولانی‌مدت.

در Free-threading:
💠موازی‌سازی واقعی
💠حافظه اشتراکی
💠فعال سازی اختیاری GIL
💠 مناسب وظایف پردازش سنگین مثل محاسبات علمی، پردازش تصویر، یا شبیه‌سازی‌ها.

✳️ ترکیب Sub Interpreters و Free-threading:
🔥 در برخی موارد، ترکیب میتونه عملکرد حتی بهتری را ارائه بده
⁉️ کامل تر با توضیح بیشتر در کامنت ها نوشتم اگر سوالی داشتید در بخش کامنت ها بنویسد با هم در موردش صحبت کنیم 😎
#python
#python
👍5🔥21
به صورت خودکار دیتافریم های Pandas را visualize کن
نصب
یک فایل csv دارید میخواهید آن را تحلیل کنید
سریع ترین روش Autoprofiler است به عکس دقت کنید
pip install -U digautoprofiler

سورس
#python #Jupyter
👍81
This media is not supported in your browser
VIEW IN TELEGRAM
🌲درخت تصمیم (Decision Tree)

🔥 این ابزار برای پشتیبانی از تصمیم است که از درخت‌ها برای مدل کردن استفاده می‌کند
به‌طور خاص در آنالیز تصمیم، برای مشخص کردن استراتژی که با بیشترین احتمال به هدف برسد

کاربرد :
در هوش مصنوعی AI مبحث یادگیری ماشین Machine Learning از نوع نظارت‌شده Supervised برای طبقه‌بندی یا پیش‌بینی بر اساس پاسخ سؤالات قبلی استفاده می‌شود


پکیچ supertree برای Visualize کردن درخت تصمیم با پایتون عالیه

ابزار dtreeviz یک ابزار دیگه عالی در این زمینه

ابزار graphviz که البته مثل قبلی ها تخصصی نیست

البته که با sklearn import tree هم میشه 😎
⁉️به نظر شما بهترین ابزار Visualize کردن Decision Tree کدام است ؟
#AI #python #Machine_Learning #پایتون
3👍2🔥1
زبان RSQL مخفف Restricted SQL برای فیلتر کردن داده‌ها در APIهای RESTful استفاده میشه
مستندات

اگر نیاز به پیاده سازی فیلتر های RQL/RSQL/FIQL
در پایتون روی Django REST framework داشتید

این کتابخانه را یک نگاهی داشته باشید
https://github.com/njoyard/django-rql-filter

#python #django
🔥3👍2
🗓 ابزار mitmproxy یک HTTPS proxy تعاملی برای debugging, testing و ... به کار میره

پلاگین Kubernetes داره و اگر بخواهید یک REST APIs را به صورت خودکار reverse-engineer کنید روی OpenAPI 3.0 به راحتی با پلاگین امکن پذیره

رهگیری، بازرسی، اصلاح و ارسال مجدد ترافیک روی HTTP/2/1, WebSockets یا هر نوع SSL/TLS-protected

🔥 در نسخه ۱۱ پشتیبانی کامل HTTP/3 را اضافه کرده

💠 امکانات مهم :
✳️ رابط Command Line
انواع پیام‌ها از HTML تا Protobuf را به سادگی رمزگشایی، پیام‌های خاصی را در لحظه رهگیری، قبل از رسیدن به مقصد آن‌ها را اصلاح و بعداً آن‌ها را برای یک کلاینت یا سرور دوباره ارسال کنید.

✳️ رابط Web Interface
با رابط وب با mitmweb شبیه به DevTools برای هر برنامه یا دستگاه دیگری به همراه ویژگی های اضافی مانند رهگیری درخواست و ارسال مجدد استفاده کنید

✳️ رابط Python API
با mitmdump افزونه های قدرتمند و اسکریپت mitmproxy میتوانید بنویسد. API اسکریپت کنترل کاملی را بر mitmproxy ادارد و امکان تغییر خودکار پیام‌ها، تغییر مسیر ترافیک، مشاهده پیام‌ها یا امکان اجرای دستورات میدهد

گیت هاب

#امنیت #پایتون #python
1🔥6
کانال مهرداد لینوکس
ابزار Profiling یک ابزار ارزشمند برای هر برنامه نویسی که می‌خواهد عملکرد برنامه‌های خودش را بهبود دهد. با یادگیری نحوه استفاده از Profilerها، می‌توانید Performance bottlenecks را به طور موثر شناسایی و رفع کنید و برنامه‌های سریع‌تر و کارآمدتر بسازید. …
قبلا برای Profiling برای پایتون ابزار Memray را در پست های قبلی معرفی کرده بودم

🔥 ابزار Austin ابزار قوی دیگری با امکانات خیلی خوب

💠 ابزار Austin یک Python frame stack sampler برای CPython با C نوشت شده. نمونه‌ها با خواندن فضای حافظه مجازی مفسر CPython جمع‌آوری می‌شوند تا اطلاعات رشته‌های در حال اجرا را به همراه پشته فریم‌هایی که در حال اجرا هستند بازیابی کنه. از این رو، می توان از Austin برای ساختن پروفایلرهای آماری قدرتمندی استفاده کرد که کمترین تأثیر را بر برنامه های ما دارند و برای استفاده از این ابزار نیازی به ایجاد تغییرات خاصی در کد منبع برنامه Python شما نیست که بتوان اطلاعات خاصی را برای ابزار جمع‌آوری کند.

🗓 ویژگی های کلیدی Austin عبارتند از:
☑️نیاز به تغییر در کد ندارد (Zero instrumentation)
☑️ تاثیر حداقلی
☑️سریع و سبک
☑️پروفایل زمان و حافظه
☑️پشتیبانی داخلی از برنامه های چند فرآیندی (مثل. mod_wsgi).

⁉️سوالی داشتید در بخش کامنت ها بپرسید با هم برسی کنیم 😎

#python #پایتون
👍2🔥1🤯1
تجزیه و تحلیل برای بسته های PyPI پکیچ های پایتونی
🗓 موقع استفاده از یک پکیچ مهمه آمار:
دانلود، توسعه،کابر و ... یک پکیچ را بدانید

🔥 قبل استفاده از یک پکیج آمار پکیچت را دربیار
سایت های زیادی هستند که این اطلاعات را برای شما جمع آوری میکنند مثل:

https://clickpy.clickhouse.com/
https://snyk.io/advisor/python/
https://pypistats.org/top
https://www.pepy.tech/

⚠️ این پست در آینده به روز میشود

⁉️ اگر سایت دیگری میشناسید یا سوالی داشتید در بخش کامنت ها بپرسید با هم بررسی کنیم 😎

#پایتون #python #برنامه_نویسی
👍6
دربین Python Node Editor ها Nodezator امکانات قوی داره.

نود ادیتور ها با اتصال توابع پایتون به صورت visual کار می کنند تا رفتار پارامتری / داده / برنامه ها / قطعه های انعطاف پذیر تولید کنند.این ابزارها به شما امکان سازماندهی و کار با کدهای Python قابل استفاده مجدد را در یک شبکه پویا می دهد. رابط کاربری گرافیکی بصری و رویکرد ماژولار آن می تواند روند توسعه پایتون شما را ساده تر کند.


✳️ نصب :
pip install --upgrade nodezator


🗓 دیدن این فیلم در یوتیوب میتواند درک ابزار را بهتر و قدرت آن را بهتر نمایش دهد

ابزار های مشابه :
https://github.com/bhowiebkr/python-node-editor
https://github.com/hoffstadt/DearPyGui/
https://github.com/GafferHQ/gaffer
https://pypi.org/project/nodeeditor/

⁉️ اگر سوالی داشتید در بخش کامنت ها بپرسید

#python
👍5🔥1
پایتون ۳.۱۴ و مفسر Tail-Call
یکی از ویژگی های مهم نسخه بعدی Python
پشتیبانی از Tail-Call Optimization (TCO) است.

📈یک تکنیک بهینه‌سازی برای اجرای کارآمدتر کد کاهش هزینه‌ی اجرای توابع بازگشتی

🗓 مفسر CPython از TCOپشتیبانی نمی‌کنه، چون پایتون روی Debugging و traceback خوانا متمرکزه
در نسخه‌ی جدید Tail-Call Interpreter جدید اضافه شده

🔥 درک مفهوم Tail Call
ویژگی Tail Call به فراخوانی تابعی گفته می‌شود که آخرین عملیات قبل از بازگشت مقدار در تابع باشد. به عنوان مثال:
def tail_recursive(n, acc=1):
if n == 0:
return acc
return tail_recursive(n - 1, acc * n) # این یک Tail Call است


💠 به‌طور معمول، در هر فراخوانی جدید، یک فریم جدید روی پشته‌ی فراخوانی (Call Stack) ذخیره می‌شود. این موضوع باعث مصرف زیاد حافظه و احتمال رخ دادن خطای Stack Overflow در بازگشت‌های عمیق می‌شود.

💠 در Tail-Call Optimization (TCO)، به‌جای ایجاد یک فریم جدید برای هر فراخوانی، همان فریم قبلی مجدداً استفاده می‌شود. این کار از پر شدن پشته جلوگیری کرده و عملکرد را بهبود می‌بخشد.

❤️ ممنون از حمایت هاتون 💐🌺
#Python
#پایتون
7👍4🔥2
مدیر بسته Pip در Python بسته‌های نرم‌افزاری را از
PyPI (Python Package Index)
نصب، به‌روزرسانی و حذف میکنه.
☑️در pip install، از براکت‌ها [ ] برای نصب نسخه‌های خاص یا افزونه‌ها (extras) یک بسته استفاده میشه
pip install requests[security]

در اینجا، پکیج requests به همراه بسته‌های اضافی مرتبط با ویژگی‌های امنیتی نصب میشه

⚠️ در شل ZSH در لینوکس
اگر بخواهید از [] در شل ZSH استفاده کنید چون ZSH از [] برای globbing / pattern matching استفاده میکنه باید به صورت :
pip install 'requests[security]'

استفاده بشه
💡این از یک Tips and Tricks پایتونی لینوکس امیدوارم مفید باشه
به نظر شما باز هم از این نکات و ترفندها بنویسم؟


❤️ ممنون از حمایت هاتون 💐🌺
#Python #پایتون
19👍7