سلام دوستان 👋
خب دوره امنیت رو انتخاب کردید و بیشترین رای رو آورد و ضبط این دوره به زودی استارتش زده میشه
ادامه دوره DRF هم در دست ادیت هست و بزودی منتشر میشه
سایتمون هم به زودی راه اندازی میشه و قراره خفن ترین و بهترین دوره های آموزشی ایران رو ضبط کنیم واستون
منتظر خبرای خوب باشید 😊
خب دوره امنیت رو انتخاب کردید و بیشترین رای رو آورد و ضبط این دوره به زودی استارتش زده میشه
ادامه دوره DRF هم در دست ادیت هست و بزودی منتشر میشه
سایتمون هم به زودی راه اندازی میشه و قراره خفن ترین و بهترین دوره های آموزشی ایران رو ضبط کنیم واستون
منتظر خبرای خوب باشید 😊
🔥18👏4👍3
Ninja Learn | نینجا لرن pinned «سلام دوستان 👋 خب دوره امنیت رو انتخاب کردید و بیشترین رای رو آورد و ضبط این دوره به زودی استارتش زده میشه ادامه دوره DRF هم در دست ادیت هست و بزودی منتشر میشه سایتمون هم به زودی راه اندازی میشه و قراره خفن ترین و بهترین دوره های آموزشی ایران رو ضبط کنیم…»
🎥 معرفی MoviePy ابزاری خفن برای ویدیوها تو پایتون
اگه تا حالا دنبال یه ابزار برای کار با ویدیو تو پایتون گشتی، MoviePy دقیقاً همون چیزیه که میخوای. این پکیج فوقالعاده بهت اجازه میده با چند خط کد، ویدیوها رو ویرایش کنی، بهشون متن یا موسیقی اضافه کنی یا حتی کلیپهای جدید بسازی 🎬
بیایم ببینیم MoviePy چیه و چه کارایی میتونه برامون بکنه.
حالا MoviePy چیه و چرا باید استفاده کنیم؟
خب MoviePy یه کتابخونه اوپنسورسه که میتونی باهاش این کارارو بکنی:
✂️ برش ویدیو (Trimming)
🎞️ چسبوندن چند تا ویدیو به هم (Concatenation)
✍️ اضافه کردن متن یا افکت به ویدیو
🌀 ساخت انیمیشنهای ساده
🔊 ترکیب صدا و ویدیو
این پکیج با کتابخانه هایی مثل NumPy و PIL هم سازگاره، یعنی میتونی راحت ویدیوها رو هرجوری که دوست داری شخصیسازی کنی.
چجوری نصبش کنیم؟
خیلی ساده، این دستور رو بزن:
یه مثال ساده:
برش ویدیو
فرض کن یه ویدیو داری که فقط یه بخشش رو لازم داری. اینجوری میتونی انجامش بدی:
اضافه کردن متن به ویدیو
حالا اگه بخوای یه متن خوشگل هم به ویدیو اضافه کنی، کافیه این کد رو بزنی:
چرا MoviePy خفنه؟
🛠️ سادگی: حتی اگه تازهکاری، خیلی راحت میتونی باهاش کار کنی.
🎨 انعطاف بالا: از پروژههای کوچیک تا حرفهایترین کارا، MoviePy دستتو باز میذاره.
⚡ سرعت مناسب: نسبت به خیلی از ابزارای دیگه، سرعت پردازشش خیلی خوبه.
کجا میتونی ازش استفاده کنی؟
ساخت ویدیوهای آموزشی یا تبلیغاتی
ادیت ویدیوهای یوتیوب یا اینستاگرام
خودکارسازی پردازشهای ویدیویی برای پروژههای بزرگ
امید وارم مفید بوده باشه :)
اگه تا حالا دنبال یه ابزار برای کار با ویدیو تو پایتون گشتی، MoviePy دقیقاً همون چیزیه که میخوای. این پکیج فوقالعاده بهت اجازه میده با چند خط کد، ویدیوها رو ویرایش کنی، بهشون متن یا موسیقی اضافه کنی یا حتی کلیپهای جدید بسازی 🎬
بیایم ببینیم MoviePy چیه و چه کارایی میتونه برامون بکنه.
حالا MoviePy چیه و چرا باید استفاده کنیم؟
خب MoviePy یه کتابخونه اوپنسورسه که میتونی باهاش این کارارو بکنی:
✂️ برش ویدیو (Trimming)
🎞️ چسبوندن چند تا ویدیو به هم (Concatenation)
✍️ اضافه کردن متن یا افکت به ویدیو
🌀 ساخت انیمیشنهای ساده
🔊 ترکیب صدا و ویدیو
این پکیج با کتابخانه هایی مثل NumPy و PIL هم سازگاره، یعنی میتونی راحت ویدیوها رو هرجوری که دوست داری شخصیسازی کنی.
چجوری نصبش کنیم؟
خیلی ساده، این دستور رو بزن:
pip install moviepy
یه مثال ساده:
برش ویدیو
فرض کن یه ویدیو داری که فقط یه بخشش رو لازم داری. اینجوری میتونی انجامش بدی:
from moviepy.editor import VideoFileClip
# بارگذاری ویدیو
clip = VideoFileClip("video.mp4")
# برش از ثانیه ۱۰ تا ۲۰
trimmed_clip = clip.subclip(10, 20)
# ذخیره ویدیو جدید
trimmed_clip.write_videofile("trimmed_video.mp4")
اضافه کردن متن به ویدیو
حالا اگه بخوای یه متن خوشگل هم به ویدیو اضافه کنی، کافیه این کد رو بزنی:
from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
# ویدیو اصلی
clip = VideoFileClip("video.mp4")
# ایجاد متن
txt = TextClip("Hello, World!", fontsize=70, color='white')
txt = txt.set_position('center').set_duration(5)
# ترکیب متن و ویدیو
video = CompositeVideoClip([clip, txt])
# ذخیره ویدیو
video.write_videofile("video_with_text.mp4")
چرا MoviePy خفنه؟
🛠️ سادگی: حتی اگه تازهکاری، خیلی راحت میتونی باهاش کار کنی.
🎨 انعطاف بالا: از پروژههای کوچیک تا حرفهایترین کارا، MoviePy دستتو باز میذاره.
⚡ سرعت مناسب: نسبت به خیلی از ابزارای دیگه، سرعت پردازشش خیلی خوبه.
کجا میتونی ازش استفاده کنی؟
ساخت ویدیوهای آموزشی یا تبلیغاتی
ادیت ویدیوهای یوتیوب یا اینستاگرام
خودکارسازی پردازشهای ویدیویی برای پروژههای بزرگ
#python #libary
🔆 CHANNEL | GROUP
❤8👍2🤩2
iran-cities-zhop.zip
35.1 KB
⚡11👏4👍2
✨ الستیک سرچ در جنگو ✨
اگه یه سیستم داری که نیاز داره روی دیتا جستجوهای سریع و پیشرفته انجام بشه، الستیک سرچ (Elasticsearch) یکی از بهترین انتخابهاست. این ابزار جستجوی قدرتمند بهت کمک میکنه تا جستجوهایی مثل فیلترهای پیچیده، جستجوی تماممتنی (Full-Text Search) و حتی پیشنهادات مرتبط رو راحت پیادهسازی کنی. حالا بیا ببینیم چطور میتونی ازش تو پروژههای جنگو استفاده کنی.
چرا الستیک سرچ؟
جنگو با ORM خودش برای کوئریها خوبه، ولی وقتی تعداد رکوردها زیاد بشه یا بخوای جستجوی خیلی پیچیده بزنی، سرعت و انعطافش کم میشه. اینجا الستیک سرچ به دادت میرسه.
تا باهاش میتونی:
🔍 جستجوهای سریعتر داشته باشی حتی با دیتاستهای بزرگ
✨ جستجوی full-text یا فازی (مثل پیشنهادهای تایپشده اشتباه) انجام بدی
دادهها رو بر اساس 📊 اولویت و امتیاز (Relevance) مرتب کنی
راهاندازی Elasticsearch در جنگو
برای اینکه الستیک سرچ رو به پروژه جنگوت اضافه کنی، مراحل زیر رو دنبال کن:
1⃣ نصب Elasticsearch
اول از همه باید الستیک سرچ رو نصب و راهاندازی کنی. میتونی از Docker استفاده کنی:
2⃣ نصب کتابخونهها
پکیجهایی مثل
3⃣ تنظیمات اولیه
توی فایل تنظیمات جنگو (settings.py)، آدرس و پورت الستیک سرچ رو مشخص کن:
ایجاد ایندکس و اتصال به مدلها
حالا باید دادههات رو به الستیک سرچ وصل کنی و ایندکس بسازی.
ایجاد Document برای مدلها
خب Document جاییه که مدلهای جنگو رو به ایندکس الستیک سرچ وصل میکنه:
ایندکس کردن دادهها
برای انتقال دادههای فعلی به الستیک سرچ:
پیادهسازی جستجو در ویوها
حالا بیا یه API برای جستجو درست کنیم:
ویو جستجو
اضافه کردن به URLها
ادامه پست بعدی
امید وارم مفید بوده باشه :)
اگه یه سیستم داری که نیاز داره روی دیتا جستجوهای سریع و پیشرفته انجام بشه، الستیک سرچ (Elasticsearch) یکی از بهترین انتخابهاست. این ابزار جستجوی قدرتمند بهت کمک میکنه تا جستجوهایی مثل فیلترهای پیچیده، جستجوی تماممتنی (Full-Text Search) و حتی پیشنهادات مرتبط رو راحت پیادهسازی کنی. حالا بیا ببینیم چطور میتونی ازش تو پروژههای جنگو استفاده کنی.
چرا الستیک سرچ؟
جنگو با ORM خودش برای کوئریها خوبه، ولی وقتی تعداد رکوردها زیاد بشه یا بخوای جستجوی خیلی پیچیده بزنی، سرعت و انعطافش کم میشه. اینجا الستیک سرچ به دادت میرسه.
تا باهاش میتونی:
🔍 جستجوهای سریعتر داشته باشی حتی با دیتاستهای بزرگ
✨ جستجوی full-text یا فازی (مثل پیشنهادهای تایپشده اشتباه) انجام بدی
دادهها رو بر اساس 📊 اولویت و امتیاز (Relevance) مرتب کنی
راهاندازی Elasticsearch در جنگو
برای اینکه الستیک سرچ رو به پروژه جنگوت اضافه کنی، مراحل زیر رو دنبال کن:
1⃣ نصب Elasticsearch
اول از همه باید الستیک سرچ رو نصب و راهاندازی کنی. میتونی از Docker استفاده کنی:
docker run -d -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.10.1
2⃣ نصب کتابخونهها
پکیجهایی مثل
elasticsearch-dsl
و django-elasticsearch-dsl
کار رو خیلی راحت میکنن: pip install elasticsearch-dsl django-elasticsearch-dsl
3⃣ تنظیمات اولیه
توی فایل تنظیمات جنگو (settings.py)، آدرس و پورت الستیک سرچ رو مشخص کن:
ELASTICSEARCH_DSL = {
'default': {
'hosts': 'localhost:9200'
}
}
ایجاد ایندکس و اتصال به مدلها
حالا باید دادههات رو به الستیک سرچ وصل کنی و ایندکس بسازی.
ایجاد Document برای مدلها
خب Document جاییه که مدلهای جنگو رو به ایندکس الستیک سرچ وصل میکنه:
from django_elasticsearch_dsl import Document
from django_elasticsearch_dsl.registries import registry
from .models import Article
@registry.register_document
class ArticleDocument(Document):
class Index:
name = 'articles' # اسم ایندکس
class Django:
model = Article
fields = [
'title',
'content',
'published_at',
]
ایندکس کردن دادهها
برای انتقال دادههای فعلی به الستیک سرچ:
python manage.py search_index --rebuild
پیادهسازی جستجو در ویوها
حالا بیا یه API برای جستجو درست کنیم:
ویو جستجو
from django.http import JsonResponse
from .documents import ArticleDocument
def search_articles(request):
query = request.GET.get('q', '')
results = ArticleDocument.search().query("multi_match", query=query, fields=["title", "content"])
data = [hit.to_dict() for hit in results]
return JsonResponse({'results': data})
اضافه کردن به URLها
from django.urls import path
from .views import search_articles
urlpatterns = [
path('search/', search_articles, name='search_articles'),
]
ادامه پست بعدی
#python #django #web
🔆 CHANNEL | GROUP
1❤17👍4
احتمالا با خودتون میگید که پس چی الستیک سرچ رو انقدر متمایز و خفن میکنه؟ این قابلیت هارو که همه ی ابزار های جستجو دارن که 😐
خب باید بگم که الستیک سرچ این قابلیت هارو داره :
1️⃣ جستجوی فازی (Fuzzy Search) و تصحیح خودکار
اگه کاربر اشتباه تایپ کنه، مثل *"javascipt"* بهجای *"javascript"*، الستیک سرچ میتونه همچنان نتیجه درست رو پیدا کنه. این قابلیت برای تجربه کاربری خیلی مهمه.
2️⃣ تحلیل و پردازش متن
الستیک سرچ از analyzerهای قدرتمند استفاده میکنه تا متنها رو قبل از جستجو پردازش کنه. مثلاً میتونه متنها رو به کلمات کلیدی تبدیل کنه، ریشهیابی کنه (stemming)، یا حتی از زبانهای مختلف پشتیبانی کنه.
3️⃣ پشتیبانی از جستجوهای جغرافیایی (Geo-Search)
اگه نیاز داری دادههای مرتبط با مکان رو جستجو کنی، مثل «نزدیکترین رستورانها»، الستیک سرچ این امکان رو داره که جستجو بر اساس فاصله جغرافیایی رو هم انجام بده.
4️⃣ مقیاسپذیری (Scalability)
این ابزار برای کار با Big Data طراحی شده. میتونه بهصورت توزیعشده روی چندین سرور کار کنه، پس اگه حجم دادهها زیاد بشه، همچنان سرعتش حفظ میشه.
5️⃣ قابلیت Aggregation و تحلیل دادهها
الستیک سرچ فقط برای جستجو نیست. میتونی باهاش دادهها رو تحلیل کنی. مثلاً:
شمارش تعداد رکوردها
میانگین یا مجموع یک فیلد خاص
دستهبندی دادهها (مثل نمودارهای pie chart یا histogram)
این قابلیت شبیه کارکرد یه ابزار تحلیل داده (Analytics) عمل میکنه.
6️⃣ جستجوی چندزبانه
با پشتیبانی از زبانهای مختلف، میتونی متنهای فارسی، انگلیسی یا حتی زبانهای دیگه رو بهصورت بومی جستجو کنی. برای هر زبان میتونی تنظیمات اختصاصی مثل تحلیلگرهای متنی (Text Analyzer) تعریف کنی.
ـ7️⃣ Real-Time Indexing
یکی از تفاوتهای بزرگ الستیک سرچ با دیتابیسهای سنتی، امکان بهروزرسانی لحظهای ایندکسهاست. اگه رکورد جدیدی به سیستم اضافه بشه، فوراً توی جستجوها نمایش داده میشه.
ـ8️⃣ Score و Relevance هوشمند
نتایج جستجو بر اساس امتیاز (Score) مرتب میشن. مثلاً اگه یه کلمه توی عنوان یه مقاله باشه، اهمیت بیشتری نسبت به کلمهای که توی متن هست داره. این باعث میشه نتایج دقیقتری بگیری.
9️⃣ پشتیبانی از پایپلاین دادهها (Ingest Pipelines)
اگه بخوای دادهها رو قبل از ذخیرهسازی تغییر بدی (مثل فرمتکردن تاریخ یا حذف کاراکترهای خاص)، میتونی از Ingest Pipelines استفاده کنی. این قابلیت شبیه preprocessor عمل میکنه.
0⃣1⃣ اکوسیستم گسترده
الستیک سرچ فقط یه موتور جستجو نیست. بخشی از مجموعه Elastic Stack (ELK) هست که شامل این ابزارهاست:
Kibana:
برای ویژوالسازی دادهها و داشبوردهای حرفهای
Logstash:
برای پردازش و انتقال دادهها
Beats:
برای جمعآوری داده از منابع مختلف
1⃣1⃣ پشتیبانی از Query DSL
الستیک سرچ یه زبان اختصاصی برای تعریف کوئریها داره به اسم Query DSL. این زبان انعطاف زیادی داره و میتونی حتی پیچیدهترین جستجوها رو باهاش انجام بدی.
خب باید بگم که الستیک سرچ این قابلیت هارو داره :
1️⃣ جستجوی فازی (Fuzzy Search) و تصحیح خودکار
اگه کاربر اشتباه تایپ کنه، مثل *"javascipt"* بهجای *"javascript"*، الستیک سرچ میتونه همچنان نتیجه درست رو پیدا کنه. این قابلیت برای تجربه کاربری خیلی مهمه.
2️⃣ تحلیل و پردازش متن
الستیک سرچ از analyzerهای قدرتمند استفاده میکنه تا متنها رو قبل از جستجو پردازش کنه. مثلاً میتونه متنها رو به کلمات کلیدی تبدیل کنه، ریشهیابی کنه (stemming)، یا حتی از زبانهای مختلف پشتیبانی کنه.
3️⃣ پشتیبانی از جستجوهای جغرافیایی (Geo-Search)
اگه نیاز داری دادههای مرتبط با مکان رو جستجو کنی، مثل «نزدیکترین رستورانها»، الستیک سرچ این امکان رو داره که جستجو بر اساس فاصله جغرافیایی رو هم انجام بده.
4️⃣ مقیاسپذیری (Scalability)
این ابزار برای کار با Big Data طراحی شده. میتونه بهصورت توزیعشده روی چندین سرور کار کنه، پس اگه حجم دادهها زیاد بشه، همچنان سرعتش حفظ میشه.
5️⃣ قابلیت Aggregation و تحلیل دادهها
الستیک سرچ فقط برای جستجو نیست. میتونی باهاش دادهها رو تحلیل کنی. مثلاً:
شمارش تعداد رکوردها
میانگین یا مجموع یک فیلد خاص
دستهبندی دادهها (مثل نمودارهای pie chart یا histogram)
این قابلیت شبیه کارکرد یه ابزار تحلیل داده (Analytics) عمل میکنه.
6️⃣ جستجوی چندزبانه
با پشتیبانی از زبانهای مختلف، میتونی متنهای فارسی، انگلیسی یا حتی زبانهای دیگه رو بهصورت بومی جستجو کنی. برای هر زبان میتونی تنظیمات اختصاصی مثل تحلیلگرهای متنی (Text Analyzer) تعریف کنی.
ـ7️⃣ Real-Time Indexing
یکی از تفاوتهای بزرگ الستیک سرچ با دیتابیسهای سنتی، امکان بهروزرسانی لحظهای ایندکسهاست. اگه رکورد جدیدی به سیستم اضافه بشه، فوراً توی جستجوها نمایش داده میشه.
ـ8️⃣ Score و Relevance هوشمند
نتایج جستجو بر اساس امتیاز (Score) مرتب میشن. مثلاً اگه یه کلمه توی عنوان یه مقاله باشه، اهمیت بیشتری نسبت به کلمهای که توی متن هست داره. این باعث میشه نتایج دقیقتری بگیری.
9️⃣ پشتیبانی از پایپلاین دادهها (Ingest Pipelines)
اگه بخوای دادهها رو قبل از ذخیرهسازی تغییر بدی (مثل فرمتکردن تاریخ یا حذف کاراکترهای خاص)، میتونی از Ingest Pipelines استفاده کنی. این قابلیت شبیه preprocessor عمل میکنه.
0⃣1⃣ اکوسیستم گسترده
الستیک سرچ فقط یه موتور جستجو نیست. بخشی از مجموعه Elastic Stack (ELK) هست که شامل این ابزارهاست:
Kibana:
برای ویژوالسازی دادهها و داشبوردهای حرفهای
Logstash:
برای پردازش و انتقال دادهها
Beats:
برای جمعآوری داده از منابع مختلف
1⃣1⃣ پشتیبانی از Query DSL
الستیک سرچ یه زبان اختصاصی برای تعریف کوئریها داره به اسم Query DSL. این زبان انعطاف زیادی داره و میتونی حتی پیچیدهترین جستجوها رو باهاش انجام بدی.
🔆 CHANNEL | GROUP
❤10👍4
سلام دوستان 👋
اگه با پایتون API توسعه داده باشید، حتماً میدونید که پیادهسازی pagination هرچند سخت نیست، اما توی پروژههای مختلف ممکنه وقتگیر و تکراری بشه.
برای همین یه پکیج مینیمال و کاربردی به اسم Pagify نوشتم که مدیریت pagination رو برای شما راحتتر و منعطفتر میکنه.
چی داره براتون؟
پشتیبانی از روشهای مختلف Pagination:
مثل Offset، Cursor، و Page-based.
سادگی در استفاده:
فقط با چند خط کد میتونید نیازهای pagination پروژهتون رو برطرف کنید.
مستقل از فریمورک:
چه تو پروژههای ساده پایتونی، چه با فریمورکهایی مثل Flask و FastAPI، بهراحتی میتونید ازش استفاده کنید.
قابلیت شخصیسازی بالا:
تنظیمات و رفتارهاش قابل تغییر و تطبیق با پروژه شماست.
مستندات کامل و شفاف:
شروع کار با Pagify رو ساده و سریع میکنه.
پروژه اوپنسورسه!
خیلی خوشحال میشم اگه ایدهای دارید یا میخواید فیچر جدیدی اضافه کنید، توی توسعه این پکیج مشارکت کنید.
ـGitHub رو ببینید، تست کنید، و نظراتتون رو باهام درمیون بذارید:
مشاهده Pagify در GitHub
اگه به دردتون خورد، ستاره یادتون نره ⭐
منتظر بازخوردهای ارزشمند شما هستم. 😊
اگه با پایتون API توسعه داده باشید، حتماً میدونید که پیادهسازی pagination هرچند سخت نیست، اما توی پروژههای مختلف ممکنه وقتگیر و تکراری بشه.
برای همین یه پکیج مینیمال و کاربردی به اسم Pagify نوشتم که مدیریت pagination رو برای شما راحتتر و منعطفتر میکنه.
چی داره براتون؟
پشتیبانی از روشهای مختلف Pagination:
مثل Offset، Cursor، و Page-based.
سادگی در استفاده:
فقط با چند خط کد میتونید نیازهای pagination پروژهتون رو برطرف کنید.
مستقل از فریمورک:
چه تو پروژههای ساده پایتونی، چه با فریمورکهایی مثل Flask و FastAPI، بهراحتی میتونید ازش استفاده کنید.
قابلیت شخصیسازی بالا:
تنظیمات و رفتارهاش قابل تغییر و تطبیق با پروژه شماست.
مستندات کامل و شفاف:
شروع کار با Pagify رو ساده و سریع میکنه.
هدف این پکیج اینه که توی مدیریت pagination وقت کمتری بذارید و روی بخشهای اصلی پروژه تمرکز کنید.
پروژه اوپنسورسه!
خیلی خوشحال میشم اگه ایدهای دارید یا میخواید فیچر جدیدی اضافه کنید، توی توسعه این پکیج مشارکت کنید.
ـGitHub رو ببینید، تست کنید، و نظراتتون رو باهام درمیون بذارید:
مشاهده Pagify در GitHub
اگه به دردتون خورد، ستاره یادتون نره ⭐
منتظر بازخوردهای ارزشمند شما هستم. 😊
#package #python
🔆 CHANNEL | GROUP
GitHub
GitHub - Mohammad222PR/pagify: Pagify is a simple yet flexible Python package for implementing various pagination methods in any…
Pagify is a simple yet flexible Python package for implementing various pagination methods in any dataset or collection. With support for offset, cursor, and page number pagination, Pagify offers a...
1👍14❤3⚡2🔥1
بنظرتون چه پکیجی میتونه کارما دولوپر هارو ساده تر و حرفه ای تر کنه ؟ 🤔
❤6
Ninja Learn | نینجا لرن
سلام دوستان 👋 اگه با پایتون API توسعه داده باشید، حتماً میدونید که پیادهسازی pagination هرچند سخت نیست، اما توی پروژههای مختلف ممکنه وقتگیر و تکراری بشه. برای همین یه پکیج مینیمال و کاربردی به اسم Pagify نوشتم که مدیریت pagination رو برای شما راحتتر…
ممنون میشم روی این رپو استار بزنید که دیده شه 🙂 ❤️
❤6⚡3👎2
💎 ـPartial Functions در پایتون 💎
تا حالا شده یه تابع بنویسی که پر از آرگومان باشه و همیشه بخوای یه سری از اون آرگومانها مقدار ثابتی داشته باشن؟ مثلا فرض کن توی یه پروژه مدام داری درخواست HTTP میفرستی و همیشه متد رو روی
🔎 ـPartial Functions چی هست؟
خیلی ساده، Partial Function بهت اجازه میده یه نسخه سفارشیشده از تابع اصلی بسازی که یه سری از آرگومانهاش از قبل مقداردهی شده. این کار با
🧠 چرا Partial Functions مفیدن؟
✅ سادگی و تمیزی کد: به
✅ کاهش خطا:
✅ ایجاد نسخههای شخصیسازیشده از توابع:
🛠️ چطور Partial Functions بسازیم؟
اینجا
🚀 کاربردهای Partial Functions
1⃣ سادهسازی توابع با آرگومانهای زیاد
وقتی توابع زیادی با پارامترهای تکراری داری، Partial Functions میتونه کمکت کنه:
2⃣ انعطاف بیشتر با توابع دیگر
ـPartial Functions میتونه با توابعی مثل
3⃣ بهبود خوانایی کد در سیستمهای بزرگ
وقتی پروژههات پیچیده میشن، Partial Functions بهت کمک میکنن توابعی بسازی که واضحترن:
⚖️ مقایسه با دیگر روشها
ـPartial Functions یه جایگزین سبکتر برای تعریف کلاسهای خاص یا توابع جدیده. اما وقتی منطق خیلی پیچیدهای داری یا نیاز به شرطهای مختلف هست، بهتره به جای Partial Functions از کلاسها یا Wrapper Functions استفاده کنی.
✍️ جمعبندی
فهمیدیم Partial Functions ابزاری ساده اما قدرتمند در پایتون هستن که میتونن کدهای تکراری رو حذف کنن و انعطاف بالایی بهت بدن.
امید وارم مفید بوده باشه :)
تا حالا شده یه تابع بنویسی که پر از آرگومان باشه و همیشه بخوای یه سری از اون آرگومانها مقدار ثابتی داشته باشن؟ مثلا فرض کن توی یه پروژه مدام داری درخواست HTTP میفرستی و همیشه متد رو روی
POST
میذاری. به جای تکرار این مقدار ثابت، Partial Functions به کمکت میان و کدتو خیلی حرفهایتر میکنن. 🔎 ـPartial Functions چی هست؟
خیلی ساده، Partial Function بهت اجازه میده یه نسخه سفارشیشده از تابع اصلی بسازی که یه سری از آرگومانهاش از قبل مقداردهی شده. این کار با
functools.partial
انجام میشه. 🧠 چرا Partial Functions مفیدن؟
✅ سادگی و تمیزی کد: به
جای تکرار، یه بار آرگومان ثابت رو تعریف میکنی.
✅ کاهش خطا:
آرگومانهای ثابت توی یه جای مشخص مقداردهی میشن.
✅ ایجاد نسخههای شخصیسازیشده از توابع:
بدون نیاز به تعریف تابع جدید.
🛠️ چطور Partial Functions بسازیم؟
from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply, y=2)
print(double(5)) # خروجی: 10
اینجا
double
نسخهای از multiply
شده که مقدار y
همیشه 2
هست. فقط لازمه x
رو بهش بدی. 🚀 کاربردهای Partial Functions
1⃣ سادهسازی توابع با آرگومانهای زیاد
وقتی توابع زیادی با پارامترهای تکراری داری، Partial Functions میتونه کمکت کنه:
def send_request(method, url, headers, data):
# ارسال درخواست
pass
post_request = partial(send_request, method='POST')
post_request(url='/api/data', headers={}, data={})
2⃣ انعطاف بیشتر با توابع دیگر
ـPartial Functions میتونه با توابعی مثل
map
و filter
خیلی خوب کار کنه: from functools import partial
def power(base, exponent):
return base ** exponent
square = partial(power, exponent=2)
numbers = [1, 2, 3, 4]
squared_numbers = list(map(square, numbers))
print(squared_numbers) # خروجی: [1, 4, 9, 16]
3⃣ بهبود خوانایی کد در سیستمهای بزرگ
وقتی پروژههات پیچیده میشن، Partial Functions بهت کمک میکنن توابعی بسازی که واضحترن:
from functools import partial
def logger(log_level, message):
print(f"[{log_level}] {message}")
info_logger = partial(logger, log_level='INFO')
info_logger("This is an info message") # خروجی: [INFO] This is an info message
⚖️ مقایسه با دیگر روشها
ـPartial Functions یه جایگزین سبکتر برای تعریف کلاسهای خاص یا توابع جدیده. اما وقتی منطق خیلی پیچیدهای داری یا نیاز به شرطهای مختلف هست، بهتره به جای Partial Functions از کلاسها یا Wrapper Functions استفاده کنی.
✍️ جمعبندی
فهمیدیم Partial Functions ابزاری ساده اما قدرتمند در پایتون هستن که میتونن کدهای تکراری رو حذف کنن و انعطاف بالایی بهت بدن.
#python #programing
🔆 CHANNEL | GROUP
👌13❤2🔥2
یکی از قشنگ ترین ویدیو هایی که توی این چند وقته دیدم این ویدیو بوده.
یه خلاصه بگم یه یارویی (branzy) همراه با رفیقش (Rek) توی بازی ماینکرفت میان اینترنت رو میسازن 😃
و تستش میکنن و جالب اینه کارمیکنه
پیشنهاد میکنم حتما ببینیدش
یه خلاصه بگم یه یارویی (branzy) همراه با رفیقش (Rek) توی بازی ماینکرفت میان اینترنت رو میسازن 😃
و تستش میکنن و جالب اینه کارمیکنه
پیشنهاد میکنم حتما ببینیدش
#پیشنهادی
🔆 CHANNEL | GROUP
YouTube
We Built the Internet in Minecraft
Rekrap and I were bored, so we decided to build the internet in Minecraft. That's it...
Rek's Channel: @rekrap2
Hope you like it :)
--------------------------------------
I'm terrible at social media!
Twitter: @branzytweets
Twitch: https://www.twitch.tv/branzylive
Rek's Channel: @rekrap2
Hope you like it :)
--------------------------------------
I'm terrible at social media!
Twitter: @branzytweets
Twitch: https://www.twitch.tv/branzylive
⚡6
دوستان پست فردا درمورد AWS هستش 😁
اگه استقبال بشه درمورد سرویس هاش بیشتر و دقیق تر توضیح میدم
اگه استقبال بشه درمورد سرویس هاش بیشتر و دقیق تر توضیح میدم
🔥15❤5
ـ☁️ AWS چیه و چرا اینقدر مهمه؟
ـAmazon Web Services (AWS) یکی از بزرگترین ارائهدهندههای خدمات ابری تو دنیاست. اگه بخوای ساده بگیم، AWS یه پلتفرم ابریه که بهت اجازه میده بدون دردسرهای مربوط به سرور، دیتاسنتر یا زیرساخت، اپلیکیشنهات رو راه بندازی، توسعه بدی و مدیریت کنی. این یعنی تو فقط به توسعه کسبوکارت فکر میکنی و AWS بقیه کارها رو برات هندل میکنه.
چرا AWS ساخته شد؟
سال 2006 آمازون متوجه شد که زیرساختهای عظیم و مقیاسپذیری که برای فروشگاه آنلاینش ساخته، که میتونه به درد خیلی از شرکتها بخوره.
چون استارتاپها، کسبوکارهای متوسط و حتی شرکتهای بزرگ دنبال یه راه سادهتر برای مدیریت سرورهاشون بودن.
ـAWS اومد تا:
مدیریت زیرساخت رو ساده کنه: دیگه نیازی به خرید و نگهداری سرور نیست.
هزینهها رو کاهش بده: فقط برای چیزی که استفاده میکنی، پول میدی.
مقیاسپذیری رو ممکن کنه: هر وقت بخوای، منابع بیشتری بهراحتی اضافه میکنی.
📦 سرویسهای AWS چیه و چی کار میکنه؟
ـAWS بیشتر از 200 سرویس ارائه میده که هرکدوم برای یه نیاز خاص طراحی شدن. اینجا مهمترین و پرکاربردترینهاش رو میگیم:
1⃣ Compute (محاسبات)
برای اجرا کردن اپلیکیشنها و پردازشهای سنگین:
EC2:
Lambda:
Elastic Beanstalk:
2⃣ Storage (ذخیرهسازی)
برای نگهداری امن و قابل اعتماد دادهها:
S3:
EBS:
Glacier:
3⃣ Database (پایگاه داده)
برای مدیریت انواع دیتابیسها:
RDS:
DynamoDB:
Redshift:
4⃣ Networking (شبکهسازی)
برای مدیریت ارتباطات و شبکهها:
VPC:
Route 53:
CloudFront:
5⃣ AI/ML (هوش مصنوعی و یادگیری ماشین)
برای ساخت مدلهای هوش مصنوعی:
SageMaker:
Rekognition:
Polly:
6⃣ DevOps و مدیریت زیرساخت
ابزارهایی برای تیمهای توسعه و عملیات:
CodePipeline:
CloudFormation:
CloudWatch:
Security & personality
برای محافظت از دادهها و مدیریت دسترسی:
IAM:
Shield:
KMS:
📊 یکسری نکات درمورد AWS
🔹 Cost Management:
🔹 Reserved Instances و Spot Instances:
🔹 Hybrid Cloud:
🔹 Global Footprint:
🔹 Scaling Strategies:
جمعبندی ✍
فهمیدیم AWS یه پلتفرم فوقالعاده قوی و انعطافپذیره که تقریباً هر چیزی که برای راهاندازی و مدیریت یه اپلیکیشن نیاز داری رو ارائه میده. این ابزار اگه حرفهای و با دانش درست استفاده بشه، میتونه کسبوکارت رو متحول کنه.
امید وارم مفید بوده باشه :)
ـAmazon Web Services (AWS) یکی از بزرگترین ارائهدهندههای خدمات ابری تو دنیاست. اگه بخوای ساده بگیم، AWS یه پلتفرم ابریه که بهت اجازه میده بدون دردسرهای مربوط به سرور، دیتاسنتر یا زیرساخت، اپلیکیشنهات رو راه بندازی، توسعه بدی و مدیریت کنی. این یعنی تو فقط به توسعه کسبوکارت فکر میکنی و AWS بقیه کارها رو برات هندل میکنه.
چرا AWS ساخته شد؟
سال 2006 آمازون متوجه شد که زیرساختهای عظیم و مقیاسپذیری که برای فروشگاه آنلاینش ساخته، که میتونه به درد خیلی از شرکتها بخوره.
چون استارتاپها، کسبوکارهای متوسط و حتی شرکتهای بزرگ دنبال یه راه سادهتر برای مدیریت سرورهاشون بودن.
ـAWS اومد تا:
مدیریت زیرساخت رو ساده کنه: دیگه نیازی به خرید و نگهداری سرور نیست.
هزینهها رو کاهش بده: فقط برای چیزی که استفاده میکنی، پول میدی.
مقیاسپذیری رو ممکن کنه: هر وقت بخوای، منابع بیشتری بهراحتی اضافه میکنی.
📦 سرویسهای AWS چیه و چی کار میکنه؟
ـAWS بیشتر از 200 سرویس ارائه میده که هرکدوم برای یه نیاز خاص طراحی شدن. اینجا مهمترین و پرکاربردترینهاش رو میگیم:
1⃣ Compute (محاسبات)
برای اجرا کردن اپلیکیشنها و پردازشهای سنگین:
EC2:
سرورهای مجازی قابل تنظیم
Lambda:
اجرای کد بدون نیاز به مدیریت سرور
Elastic Beanstalk:
مدیریت خودکار سرورها برای اپلیکیشنهای وب
2⃣ Storage (ذخیرهسازی)
برای نگهداری امن و قابل اعتماد دادهها:
S3:
ذخیرهسازی اشیاء (Object Storage) با مقیاسپذیری بالا
EBS:
دیسکهای ذخیرهسازی برای EC2
Glacier:
آرشیو کردن دادهها برای ذخیره طولانیمدت
3⃣ Database (پایگاه داده)
برای مدیریت انواع دیتابیسها:
RDS:
دیتابیسهای رابطهای مثل MySQL، PostgreSQL
DynamoDB:
دیتابیس NoSQL با سرعت و مقیاسپذیری بالا
Redshift:
دیتابیس مخصوص تحلیل دادهها
4⃣ Networking (شبکهسازی)
برای مدیریت ارتباطات و شبکهها:
VPC:
ساخت شبکههای خصوصی
Route 53:
مدیریت DNS
CloudFront:
سرویس CDN برای ارسال سریعتر محتوا
5⃣ AI/ML (هوش مصنوعی و یادگیری ماشین)
برای ساخت مدلهای هوش مصنوعی:
SageMaker:
توسعه و دیپلوی مدلهای یادگیری ماشین
Rekognition:
تحلیل تصاویر و ویدیوها
Polly:
تبدیل متن به صدا
6⃣ DevOps و مدیریت زیرساخت
ابزارهایی برای تیمهای توسعه و عملیات:
CodePipeline:
پیادهسازی CI/CD
CloudFormation:
تعریف زیرساخت به شکل کد
CloudWatch:
مانیتورینگ منابع و سرویسها
Security & personality
برای محافظت از دادهها و مدیریت دسترسی:
IAM:
مدیریت دسترسی کاربران
Shield:
محافظت در برابر حملات DDoS
KMS:
مدیریت کلیدهای رمزنگاری
📊 یکسری نکات درمورد AWS
🔹 Cost Management:
تو AWS ممکنه هزینهها از دستت در بره. از ابزارهایی مثل Cost Explorer یا Budgets استفاده کن تا هزینههاتو کنترل کنی.
🔹 Reserved Instances و Spot Instances:
برای کاهش هزینهها، از Reserved Instances برای بارهای ثابت و از Spot Instances برای پردازشهای موقتی استفاده کن.
🔹 Hybrid Cloud:
ـAWS میتونه با دیتاسنترهای داخلی هم کار کنه (Hybrid Cloud). این کار با ابزارهایی مثل Outposts یا Storage Gateway ممکنه.
🔹 Global Footprint:
ـAWS سرویسهاش رو توی چندین منطقه جغرافیایی (Regions) ارائه میده. سعی کن منطقهای رو انتخاب کنی که به کاربرهات نزدیکتر باشه تا زمان تأخیر کم بشه.
🔹 Scaling Strategies:
برای مدیریت ترافیک بالا، از ابزارهایی مثل Auto Scaling و Load Balancer استفاده کن.
جمعبندی ✍
فهمیدیم AWS یه پلتفرم فوقالعاده قوی و انعطافپذیره که تقریباً هر چیزی که برای راهاندازی و مدیریت یه اپلیکیشن نیاز داری رو ارائه میده. این ابزار اگه حرفهای و با دانش درست استفاده بشه، میتونه کسبوکارت رو متحول کنه.
#تکنلوژوی #برنامه_نویسی
🔆 CHANNEL | GROUP
👍11❤4👌3
Ninja Learn | نینجا لرن
ـ☁️ AWS چیه و چرا اینقدر مهمه؟ ـAmazon Web Services (AWS) یکی از بزرگترین ارائهدهندههای خدمات ابری تو دنیاست. اگه بخوای ساده بگیم، AWS یه پلتفرم ابریه که بهت اجازه میده بدون دردسرهای مربوط به سرور، دیتاسنتر یا زیرساخت، اپلیکیشنهات رو راه بندازی، توسعه…
موافقید درباره یه سرویسش خیلی مفصل تر توضیح بدم؟ اگه اره کدوم سرویس رو دوست دارید توضیح بدم؟
👍15❤3👎1