✔️ اگه میخوایید توی python از توی یک متن تاریخ رو استخراج کنید، میتونید از کتابخانه datefinder استفاده کنید.
💭 @Teachify | برنامه نویسی
💭 @Teachify | برنامه نویسی
❤🔥6👍5
✔️ یه فکت رو بخونیم!
▪️ برنامه نویسی همانند خلق یک جهان جدید است، جایی که تنها محدودیت خلاقیت شماست. با استفاده از کدنویسی، میتوانید ایدههای خود را به واقعیت تبدیل کنید و جایگاه خود را در دنیای دیجیتال به دست آورید.
💭 @Teachify | برنامه نویسی
▪️ برنامه نویسی همانند خلق یک جهان جدید است، جایی که تنها محدودیت خلاقیت شماست. با استفاده از کدنویسی، میتوانید ایدههای خود را به واقعیت تبدیل کنید و جایگاه خود را در دنیای دیجیتال به دست آورید.
💭 @Teachify | برنامه نویسی
❤🔥26👍4❤2
✔️ اگر به دنبال اطلاعات درباره یک حساب GitHub هستید، این سرویس به شما کمک میکند. میتوانید ایمیل و شبکههای اجتماعی مرتبط با آن حساب را پیدا کنید.
🌐 https://braingainsoft.com/gh/index.html
💭 @Teachify | برنامه نویسی
🌐 https://braingainsoft.com/gh/index.html
💭 @Teachify | برنامه نویسی
سلری یا celery چیست؟
سلری یک سامانه صف وظایف (Task Queue) است که با پایتون نوشته شده است. این سامانه به شما امکان میدهد وظایف را به صورت غیر همزمان (asynchronous) اجرا کنید. از جمله کاربردهای سلری به موارد زیر میشه اشاره کرد:
پردازش وظایف سنگین:
فرض کنید یک وبسایت دارید که باید تصاویر آپلود شده توسط کاربران را پردازش کند. این پردازش میتواند شامل تغییر اندازه، واترمارک گذاری و فشردهسازی تصاویر باشد. انجام این کارها به صورت همزمان میتواند باعث کند شدن وبسایت شود. با استفاده از Celery، میتوانید این وظایف را به صورت غیر همزمان در پسزمینه اجرا کنید و از کند شدن وبسایت جلوگیری کنید.
ارسال ایمیل:
فرض کنید میخواهید بعد از ثبتنام کاربر، یک ایمیل تأیید برای او ارسال کنید. ارسال ایمیل به صورت همزمان میتواند باعث کند شدن فرآیند ثبتنام شود. با استفاده از Celery، میتوانید ارسال ایمیل را به صورت غیر همزمان در پسزمینه انجام دهید و از کند شدن فرآیند ثبتنام جلوگیری کنید.
اجرا کردن وظایف زمانبندی شده:
فرض کنید میخواهید هر روز در ساعت 12 شب، یک گزارش از فعالیتهای وبسایت خود تهیه کنید. با استفاده از Celery، میتوانید این وظیفه را به صورت زمانبندی شده اجرا کنید.
پردازش دادههای جریانی:
فرض کنید میخواهید دادههای حسگرها را به صورت بلادرنگ پردازش کنید. با استفاده از Celery، میتوانید این دادهها را به صورت غیر همزمان پردازش کنید و از کند شدن سیستم خود جلوگیری کنید.
سلری (Celery ) از دو سیستم صف اصلی برای ذخیره وظایف استفاده میکند:
1. RabbitMQ:
یک سیستم صف توزیع شده است که وظایف را بین چندین گره در یک شبکه توزیع میکند. RabbitMQ یک انتخاب محبوب برای Celery است زیرا:
مقیاسبندیپذیری: RabbitMQ میتواند به صورت افقی مقیاسبندی شود، که به شما امکان میدهد ظرفیت پردازش وظایف را افزایش دهید.
قابلیت اطمینان: RabbitMQ یک سیستم بسیار قابل اعتماد است که میتواند وظایف را حتی در صورت خرابی یک گره اجرا کند.
کارایی: RabbitMQ یک سیستم بسیار کارآمد است که میتواند وظایف را با سرعت بالا پردازش کند.
2. Redis:
ردیس یک پایگاه داده NoSQL است که میتوان از آن به عنوان سیستم صف نیز استفاده کرد. Redis یک انتخاب محبوب برای Celery است زیرا:
سرعت: Redis بسیار سریع است و میتواند وظایف را با سرعت بالا پردازش کند.
سادگی: Redis یک سیستم ساده است که استفاده از آن آسان است.
قابلیت اطمینان: Redis یک سیستم بسیار قابل اعتماد است که میتواند وظایف را حتی در صورت خرابی یک گره اجرا کند.
انتخاب سیستم صف مناسب برای Celery به نیازهای شما بستگی دارد. اگر به دنبال یک سیستم مقیاسپذیر و قابل اعتماد هستید، RabbitMQ یک انتخاب مناسب است. اگر به دنبال یک سیستم سریع و ساده هستید، Redis یک انتخاب مناسب است.
علاوه بر RabbitMQ و Redis، سلری از سیستمهای صف دیگری مانند Amazon SQS و Azure Service Bus نیز پشتیبانی میکند.
💭 @Teachify | برنامه نویسی
سلری یک سامانه صف وظایف (Task Queue) است که با پایتون نوشته شده است. این سامانه به شما امکان میدهد وظایف را به صورت غیر همزمان (asynchronous) اجرا کنید. از جمله کاربردهای سلری به موارد زیر میشه اشاره کرد:
پردازش وظایف سنگین:
فرض کنید یک وبسایت دارید که باید تصاویر آپلود شده توسط کاربران را پردازش کند. این پردازش میتواند شامل تغییر اندازه، واترمارک گذاری و فشردهسازی تصاویر باشد. انجام این کارها به صورت همزمان میتواند باعث کند شدن وبسایت شود. با استفاده از Celery، میتوانید این وظایف را به صورت غیر همزمان در پسزمینه اجرا کنید و از کند شدن وبسایت جلوگیری کنید.
ارسال ایمیل:
فرض کنید میخواهید بعد از ثبتنام کاربر، یک ایمیل تأیید برای او ارسال کنید. ارسال ایمیل به صورت همزمان میتواند باعث کند شدن فرآیند ثبتنام شود. با استفاده از Celery، میتوانید ارسال ایمیل را به صورت غیر همزمان در پسزمینه انجام دهید و از کند شدن فرآیند ثبتنام جلوگیری کنید.
اجرا کردن وظایف زمانبندی شده:
فرض کنید میخواهید هر روز در ساعت 12 شب، یک گزارش از فعالیتهای وبسایت خود تهیه کنید. با استفاده از Celery، میتوانید این وظیفه را به صورت زمانبندی شده اجرا کنید.
پردازش دادههای جریانی:
فرض کنید میخواهید دادههای حسگرها را به صورت بلادرنگ پردازش کنید. با استفاده از Celery، میتوانید این دادهها را به صورت غیر همزمان پردازش کنید و از کند شدن سیستم خود جلوگیری کنید.
سلری (Celery ) از دو سیستم صف اصلی برای ذخیره وظایف استفاده میکند:
1. RabbitMQ:
یک سیستم صف توزیع شده است که وظایف را بین چندین گره در یک شبکه توزیع میکند. RabbitMQ یک انتخاب محبوب برای Celery است زیرا:
مقیاسبندیپذیری: RabbitMQ میتواند به صورت افقی مقیاسبندی شود، که به شما امکان میدهد ظرفیت پردازش وظایف را افزایش دهید.
قابلیت اطمینان: RabbitMQ یک سیستم بسیار قابل اعتماد است که میتواند وظایف را حتی در صورت خرابی یک گره اجرا کند.
کارایی: RabbitMQ یک سیستم بسیار کارآمد است که میتواند وظایف را با سرعت بالا پردازش کند.
2. Redis:
ردیس یک پایگاه داده NoSQL است که میتوان از آن به عنوان سیستم صف نیز استفاده کرد. Redis یک انتخاب محبوب برای Celery است زیرا:
سرعت: Redis بسیار سریع است و میتواند وظایف را با سرعت بالا پردازش کند.
سادگی: Redis یک سیستم ساده است که استفاده از آن آسان است.
قابلیت اطمینان: Redis یک سیستم بسیار قابل اعتماد است که میتواند وظایف را حتی در صورت خرابی یک گره اجرا کند.
انتخاب سیستم صف مناسب برای Celery به نیازهای شما بستگی دارد. اگر به دنبال یک سیستم مقیاسپذیر و قابل اعتماد هستید، RabbitMQ یک انتخاب مناسب است. اگر به دنبال یک سیستم سریع و ساده هستید، Redis یک انتخاب مناسب است.
علاوه بر RabbitMQ و Redis، سلری از سیستمهای صف دیگری مانند Amazon SQS و Azure Service Bus نیز پشتیبانی میکند.
💭 @Teachify | برنامه نویسی
❤9👍2
✔️ آموزش args و kwargs در توابع پایتون
در برنامه نویسی پایتون، توابع ابزاری قدرتمند برای ساختن بلوک های کد قابل استفاده مجدد هستند. اما گاهی اوقات می خواهیم تابعی بنویسیم که بتواند تعداد نامشخصی از آرگومان ها را دریافت کند. در اینجا، args و kwargs به کمک ما می آیند.
▪️در پایتون *args یک متغیر خاص است که برای دریافت تعداد نامحدود ورودی در تابع به صورت ترتیبی به کار میره و خروجی که به ما میده یه تاپل هست.
خروجی:
▪️در پایتون **kwargs یک متغیر خاص دیگر است که برای دریافت تعداد نامحدود ورودی به صورت نامدار استفاده میشه و خروجی که به ما میده به صورت دیکشنری هست.
خروجی:
می توانید از args و kwargs با هم در یک تابع استفاده کنید.
مثال:
خروجی:
💭 @Teachify | برنامه نویسی
در برنامه نویسی پایتون، توابع ابزاری قدرتمند برای ساختن بلوک های کد قابل استفاده مجدد هستند. اما گاهی اوقات می خواهیم تابعی بنویسیم که بتواند تعداد نامشخصی از آرگومان ها را دریافت کند. در اینجا، args و kwargs به کمک ما می آیند.
▪️در پایتون *args یک متغیر خاص است که برای دریافت تعداد نامحدود ورودی در تابع به صورت ترتیبی به کار میره و خروجی که به ما میده یه تاپل هست.
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3, "Hello")
خروجی:
1
2
3
Hello
▪️در پایتون **kwargs یک متغیر خاص دیگر است که برای دریافت تعداد نامحدود ورودی به صورت نامدار استفاده میشه و خروجی که به ما میده به صورت دیکشنری هست.
def my_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
my_function(name="John", age=30)
خروجی:
name: John
age: 30
می توانید از args و kwargs با هم در یک تابع استفاده کنید.
مثال:
def my_function(*args, **kwargs):
print(args)
print(kwargs)
my_function(1, 2, 3, name="John", age=30)
خروجی:
(1, 2, 3)
{'name': 'John', 'age': 30}
💭 @Teachify | برنامه نویسی
❤10👍2👌1
✔️ معرفی سایت کاربردی برای برنامه نویس ها
هرچیزی که به این سایت بگید (حتی فارسی) کد Html , Css , js رو بهت تحویل میده و نکته جذابش اینه که خروجی کار رو هم نشون میده ، یعنی اگه ازش درخواست کنید یه فرم Login با پس زمینه سبز بهتون بده ، علاوه بر اینکه کد رو براتون می نویسه، پایینش هم خروجی رو نمایش میده!
🌐 https://jit.codes
💭 @Teachify | برنامه نویسی
هرچیزی که به این سایت بگید (حتی فارسی) کد Html , Css , js رو بهت تحویل میده و نکته جذابش اینه که خروجی کار رو هم نشون میده ، یعنی اگه ازش درخواست کنید یه فرم Login با پس زمینه سبز بهتون بده ، علاوه بر اینکه کد رو براتون می نویسه، پایینش هم خروجی رو نمایش میده!
🌐 https://jit.codes
💭 @Teachify | برنامه نویسی
❤9👎7👍1
✔️ به پایان سال ۱۴۰۲ خیلی نزدیک شدیم
امسال با تموم خوشی ها و ناخوشی ها گذشت
دعا میکنم سال ۱۴۰۳ برای همه اتفاق های خوبی رقم بخوره ❤
💭 @Teachify | برنامه نویسی
امسال با تموم خوشی ها و ناخوشی ها گذشت
دعا میکنم سال ۱۴۰۳ برای همه اتفاق های خوبی رقم بخوره ❤
💭 @Teachify | برنامه نویسی
❤26
✔️ بزرگترین دروغی که از یک برنامه نویس شنیدی چیه؟
-الان باید کار بکنه
#fun
#CodeExplore
💭 @Teachify | برنامه نویسی
-الان باید کار بکنه
#fun
#CodeExplore
💭 @Teachify | برنامه نویسی
🤣38👍1🐳1
وقتی یکی برنامه نویسی رو بخاطر خود برنامه نویسی و فان بودنش انجام میده، نتیجه خیلی خوبی میگیره تا یکی که بخاطر
پول، اینده شغلی و...
ایشون کسی هست که ردیس رو نوشته، یک دیتا استراکچر سرور طور که الان خیلی استفاده میشه
ولی خودش دو ساله دیگه مشارکتی نداشته روی ردیس/
#heydyvex
💭 @Teachify | برنامه نویسی
پول، اینده شغلی و...
ایشون کسی هست که ردیس رو نوشته، یک دیتا استراکچر سرور طور که الان خیلی استفاده میشه
ولی خودش دو ساله دیگه مشارکتی نداشته روی ردیس/
#heydyvex
💭 @Teachify | برنامه نویسی
👍19❤🔥2🐳2
✔️ توابع لامبدا (Lambda) در پایتون
توابع لامبدا یا همان توابع بینام در پایتون، توابع کوتاه و غیرقابل تغییر هستند که معمولاً برای استفاده در محیطهایی مانند توابع map، filter و sort استفاده میشوند. این توابع به شما اجازه میدهند که یک تابع کوچک را به طور مستقیم در جایی که نیاز دارید بنویسید، بدون اینکه نیاز به تعریف جداگانه آن داشته باشید.
مثال زیر را در نظر بگیرید:
در این مثال، تابع lambda ما یک ورودی به نام x دریافت میکند و آن را در دو ضرب میکند. این تابع به تابع map داده میشود تا بر روی هر عنصر از لیست numbers اعمال شود و نتیجه در یک شیء map بازمیگرداند. سپس با استفاده از تابع list، این شیء map به لیست تبدیل شده و در doubled_numbers_list ذخیره میشود و سپس چاپ میشود.
مثال هایی دیگر برای تابع لامبدا:
@Teachify | برنامه نویسی
توابع لامبدا یا همان توابع بینام در پایتون، توابع کوتاه و غیرقابل تغییر هستند که معمولاً برای استفاده در محیطهایی مانند توابع map، filter و sort استفاده میشوند. این توابع به شما اجازه میدهند که یک تابع کوچک را به طور مستقیم در جایی که نیاز دارید بنویسید، بدون اینکه نیاز به تعریف جداگانه آن داشته باشید.
مثال زیر را در نظر بگیرید:
# تعریف یک لیست از اعداد
numbers = [1, 2, 3, 4, 5]
# استفاده از تابع map برای ضرب هر عدد در لیست برای 2
doubled_numbers = map(lambda x: x * 2, numbers)
# تبدیل شیء map به لیست
doubled_numbers_list = list(doubled_numbers)
print(doubled_numbers_list) # خروجی: [2, 4, 6, 8, 10]
در این مثال، تابع lambda ما یک ورودی به نام x دریافت میکند و آن را در دو ضرب میکند. این تابع به تابع map داده میشود تا بر روی هر عنصر از لیست numbers اعمال شود و نتیجه در یک شیء map بازمیگرداند. سپس با استفاده از تابع list، این شیء map به لیست تبدیل شده و در doubled_numbers_list ذخیره میشود و سپس چاپ میشود.
مثال هایی دیگر برای تابع لامبدا:
# مرتب سازی لیست بر اساس طول رشته
list_of_strings = ["a", "bb", "ccc", "dddd"]
sorted_list = sorted(list_of_strings, key=lambda s: len(s))
print(sorted_list) # خروجی: ['a', 'bb', 'ccc', 'dddd']
# فیلتر کردن لیست برای اعداد زوج
list_of_numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, list_of_numbers))
print(even_numbers) # خروجی: [2, 4]
# اعمال تابع pow بر روی هر عنصر لیست
list_of_numbers = [1, 2, 3, 4]
squared_numbers = list(map(lambda x: x ** 2, list_of_numbers))
print(squared_numbers) # خروجی: [1, 4, 9, 16]
@Teachify | برنامه نویسی
👍18
✔️ تابع map در پایتون
تابع map در پایتون یک تابع built-in است که برای اعمال یک تابع بر روی هر عنصر یک iterable (مانند لیست، رشته، یا دیکشنری) استفاده می شود. این تابع یک map object را برمی گرداند که می توانید آن را به لیست، ست، یا تاپل تبدیل کنید.
نحوه استفاده از تابع map:
مثال:
نکات:
* تابع map می تواند بیش از یک iterable را به عنوان ورودی دریافت کند.
* اگر می خواهید فقط از اولین عنصر iterable استفاده کنید، می توانید از تابع next() استفاده کنید.
* اگر می خواهید از تمام عناصر iterable استفاده کنید، می توانید از تابع list() استفاده کنید.
مثال هایی از تابع مپ:
@Teachify | برنامه نویسی
تابع map در پایتون یک تابع built-in است که برای اعمال یک تابع بر روی هر عنصر یک iterable (مانند لیست، رشته، یا دیکشنری) استفاده می شود. این تابع یک map object را برمی گرداند که می توانید آن را به لیست، ست، یا تاپل تبدیل کنید.
نحوه استفاده از تابع map:
map(function, iterable)
مثال:
# تابعی که عدد ورودی را دو برابر می کند
double = lambda x: x * 2
# لیست اعداد
numbers = [1, 2, 3, 4]
# اعمال تابع double بر روی هر عنصر لیست
doubled_numbers = map(double, numbers)
# تبدیل map object به لیست
print(list(doubled_numbers)) # خروجی: [2, 4, 6, 8]
نکات:
* تابع map می تواند بیش از یک iterable را به عنوان ورودی دریافت کند.
* اگر می خواهید فقط از اولین عنصر iterable استفاده کنید، می توانید از تابع next() استفاده کنید.
* اگر می خواهید از تمام عناصر iterable استفاده کنید، می توانید از تابع list() استفاده کنید.
مثال هایی از تابع مپ:
# فیلتر کردن لیست برای اعداد زوج
numbers = [1, 2, 3, 4, 5]
# تابعی که اعداد زوج را برمی گرداند
even_numbers = list(map(lambda x: x if x % 2 == 0 else None, numbers))
# چاپ اعداد زوج
print(even_numbers) # خروجی: [2, 4]
@Teachify | برنامه نویسی
👍5