احتمالا همتون توی پروژه هاتون که نیاز به درگاه پرداخت داشتید کلی سرش ازیت شدید (مخصوصا سر merchant_id) و میخواستید دیگه سرتون رو بزنید به دیوار
حالا چرا اینارو میگم؟
من یه پکیج توسعه دادم برای حل همین مشکل 😁
توی این پکیج پایتونی من از درگاه پرداخت zibal استفاده کردم که استفاده ازش فوق سادست
حالا من اومدم ساده ترشم کردم
فیچرهایی که برای درگاه پرداخت نیاز دارید پیاده شده و همچین یه ارور هندلینگ قوی هم داره
و همینجوری لاگینگ قوی
براتون مثال هم گذاشتم که ازش راحت استفاده کنید
توی هر فریم ورک پایتونی هم که بخواید قابل استفاده هستش و مشکل نمیخورید باهاش
اگه دوست داشته باشید میتونید روی پروژه کانتربیوتر بشید و فیچرجدیدی یا درگاه جدیدی خواستید اضافه کنید دستتون بازه
لینک ریپو
لینک پکیج
@ninja_learn_ir
حالا چرا اینارو میگم؟
من یه پکیج توسعه دادم برای حل همین مشکل 😁
توی این پکیج پایتونی من از درگاه پرداخت zibal استفاده کردم که استفاده ازش فوق سادست
حالا من اومدم ساده ترشم کردم
فیچرهایی که برای درگاه پرداخت نیاز دارید پیاده شده و همچین یه ارور هندلینگ قوی هم داره
و همینجوری لاگینگ قوی
براتون مثال هم گذاشتم که ازش راحت استفاده کنید
توی هر فریم ورک پایتونی هم که بخواید قابل استفاده هستش و مشکل نمیخورید باهاش
اگه دوست داشته باشید میتونید روی پروژه کانتربیوتر بشید و فیچرجدیدی یا درگاه جدیدی خواستید اضافه کنید دستتون بازه
لینک ریپو
لینک پکیج
2⚡11🔥6❤5
Ninja Learn | نینجا لرن
احتمالا همتون توی پروژه هاتون که نیاز به درگاه پرداخت داشتید کلی سرش ازیت شدید (مخصوصا سر merchant_id) و میخواستید دیگه سرتون رو بزنید به دیوار حالا چرا اینارو میگم؟ من یه پکیج توسعه دادم برای حل همین مشکل 😁 توی این پکیج پایتونی من از درگاه پرداخت zibal…
ممنون میشم اگه روی این رپو استار بزنید 🙂❤️
❤14
🎢 برنامهنویسی Async
شاید زیاد به گوشت خورده باشه: Async Programming، ولی خب، دقیقاً یعنی چی؟ 🤔 بیایید با هم ببینیم چجوری میشه باهاش پروژههامونو بهتر و سریعتر توسعه بدیم.
حالا Async چیه؟ 🤔
تصور کن یه کافه پر سر و صدا داری؛ مشتریها میان، سفارش میدن، میشینن و منتظر آماده شدن سفارش میمونن. حالا فرض کن فقط یه کارمند داری که باید یکییکی سفارش بگیره و هرکدوم آماده شد، بده دست مشتری. 😴 اما اگه از Async کمک بگیری، این کارمند میتونه همه سفارشها رو پشت سر هم بگیره و هربار که یه سفارش آماده شد، همونو تحویل بده. بدون اینکه لازم باشه به مشتری بگه "منتظر بمون"
حالا Async چجوری کار میکنه؟
برنامهنویسی Async بهت اجازه میده که تسکها رو همزمان اجرا کنی. مثلا موقع درخواست به یه سرور خارجی (API)، میتونی به برنامه بگی به جای منتظر موندن، همزمان یه کار دیگه هم انجام بده.
کجا به درد میخوره؟
▶️ API Calling:
وقتی داری اطلاعات میگیری، منتظر نمیمونی، یه تسک دیگه اجرا میکنی. 🚀
▶️ File Handling:
خوندن و نوشتن فایلهای بزرگ بدون توقف کد. 📂
▶️ Web Scraping:
همزمان چندین صفحه رو بررسی میکنی.
یه مثال ساده از Async با Python و Js🐍
فرض کن یه فانکشن میخوایم بنویسیم که ۲ ثانیه بخوابه و بعد یه متن چاپ کنه. حالا ببین فرق sync و async چیه:
حالا Js :
امید وارم مفید بوده باشه :)
@ninja_learn_ir
شاید زیاد به گوشت خورده باشه: Async Programming، ولی خب، دقیقاً یعنی چی؟ 🤔 بیایید با هم ببینیم چجوری میشه باهاش پروژههامونو بهتر و سریعتر توسعه بدیم.
حالا Async چیه؟ 🤔
تصور کن یه کافه پر سر و صدا داری؛ مشتریها میان، سفارش میدن، میشینن و منتظر آماده شدن سفارش میمونن. حالا فرض کن فقط یه کارمند داری که باید یکییکی سفارش بگیره و هرکدوم آماده شد، بده دست مشتری. 😴 اما اگه از Async کمک بگیری، این کارمند میتونه همه سفارشها رو پشت سر هم بگیره و هربار که یه سفارش آماده شد، همونو تحویل بده. بدون اینکه لازم باشه به مشتری بگه "منتظر بمون"
حالا Async چجوری کار میکنه؟
برنامهنویسی Async بهت اجازه میده که تسکها رو همزمان اجرا کنی. مثلا موقع درخواست به یه سرور خارجی (API)، میتونی به برنامه بگی به جای منتظر موندن، همزمان یه کار دیگه هم انجام بده.
کجا به درد میخوره؟
▶️ API Calling:
وقتی داری اطلاعات میگیری، منتظر نمیمونی، یه تسک دیگه اجرا میکنی. 🚀
▶️ File Handling:
خوندن و نوشتن فایلهای بزرگ بدون توقف کد. 📂
▶️ Web Scraping:
همزمان چندین صفحه رو بررسی میکنی.
یه مثال ساده از Async با Python و Js🐍
فرض کن یه فانکشن میخوایم بنویسیم که ۲ ثانیه بخوابه و بعد یه متن چاپ کنه. حالا ببین فرق sync و async چیه:
import asyncio
# Sync
def print_sync():
print("Starting Sync...")
time.sleep(2)
print("Done Sync!")
# Async
async def print_async():
print("Starting Async...")
await asyncio.sleep(2)
print("Done Async!")
# اجرا
asyncio.run(print_async())
حالا Js :
// Sync
function printSync() {
console.log("Starting Sync...");
sleep(2000); // این تابع sleep فقط برای شبیهسازیه
console.log("Done Sync!");
}
function sleep(ms) {
const start = Date.now();
while (Date.now() - start < ms) {}
}
// Async
async function printAsync() {
console.log("Starting Async...");
await new Promise(resolve => setTimeout(resolve, 2000));
console.log("Done Async!");
}
// اجرا
printAsync();
#async #sync #backend
🔥16👍2🍾1
پست فردا چی باشه دوستان؟ خودم نظرم رو معرفی pydantic هست
اگه چیزی مد نظرتون هست کامنت کنید
اگه چیزی مد نظرتون هست کامنت کنید
👍14👎2
Ninja Learn | نینجا لرن
پست فردا چی باشه دوستان؟ خودم نظرم رو معرفی pydantic هست اگه چیزی مد نظرتون هست کامنت کنید
This media is not supported in your browser
VIEW IN TELEGRAM
❤🔥2
Ninja Learn | نینجا لرن
احتمالا همتون توی پروژه هاتون که نیاز به درگاه پرداخت داشتید کلی سرش ازیت شدید (مخصوصا سر merchant_id) و میخواستید دیگه سرتون رو بزنید به دیوار حالا چرا اینارو میگم؟ من یه پکیج توسعه دادم برای حل همین مشکل 😁 توی این پکیج پایتونی من از درگاه پرداخت zibal…
دوستان ممنون میشم روی پروژه استار بزنید تا به من انرژی بدید :) ❤️
(۱۰ ثانیه هم وقتتون رو نمیگیره)
(۱۰ ثانیه هم وقتتون رو نمیگیره)
👍5
معرفی Pydantic 🧩
ـPydantic یه کتابخونه خفنه برای پایتون که بهت اجازه میده راحت و دقیق دادههات رو اعتبارسنجی (validation) و تایپ کنی. اگه توی پروژههای بزرگ کار میکنی، Pydantic خیلی کمکت میکنه چون بهت کمک میکنه دادهها رو تمیز و بینقص نگه داری.
چرا Pydantic؟ 🔍
فرض کن میخوای دادههای کاربر رو توی یه اپلیکیشن بگیری، اما مطمئن نیستی که دادهها دقیقا همونی هستن که میخوای. ممکنه کاربر یه مقدار اشتباه وارد کنه، یه فیلد رو جا بندازه، یا نوع داده رو اشتباه بزنه. با Pydantic، میتونی مطمئن باشی که همه چیز درست وارد شده و اگه چیزی اشتباه بود، خیلی راحت یه ارور میگیری و جلوش رو میگیری.
چطور کار میکنه؟ 🔨
ـPydantic با استفاده از مدلها کار میکنه. مدلها همون کلاسهای پایتون هستن که به کمکشون میتونی ساختار داده رو تعریف کنی. بیاید با یه مثال شروع کنیم:
اینجا یه مدل به نام
بررسی Validation در Pydantic 🛠️
ـPydantic بهت این امکان رو میده که خیلی راحت دادهها رو اعتبارسنجی کنی. مثلا اگه بخوای مطمئن بشی که
اینجا
جمعبندی 🎯
فهمیدیم Pydantic یه ابزار قوی برای مدیریت و اعتبارسنجی دادههاست که بهویژه تو پروژههای بزرگ و APIها خیلی کمک میکنه. میتونی مدلهای پیچیده بسازی، دادهها رو اعتبارسنجی کنی، و با استفاده از تایپهای قوی پایتون، کد تمیزتر و قابل خوانا تر بکنی.
امید وارم مفید بوده باشه :)
@ninja_learn_ir
ـPydantic یه کتابخونه خفنه برای پایتون که بهت اجازه میده راحت و دقیق دادههات رو اعتبارسنجی (validation) و تایپ کنی. اگه توی پروژههای بزرگ کار میکنی، Pydantic خیلی کمکت میکنه چون بهت کمک میکنه دادهها رو تمیز و بینقص نگه داری.
چرا Pydantic؟ 🔍
فرض کن میخوای دادههای کاربر رو توی یه اپلیکیشن بگیری، اما مطمئن نیستی که دادهها دقیقا همونی هستن که میخوای. ممکنه کاربر یه مقدار اشتباه وارد کنه، یه فیلد رو جا بندازه، یا نوع داده رو اشتباه بزنه. با Pydantic، میتونی مطمئن باشی که همه چیز درست وارد شده و اگه چیزی اشتباه بود، خیلی راحت یه ارور میگیری و جلوش رو میگیری.
چطور کار میکنه؟ 🔨
ـPydantic با استفاده از مدلها کار میکنه. مدلها همون کلاسهای پایتون هستن که به کمکشون میتونی ساختار داده رو تعریف کنی. بیاید با یه مثال شروع کنیم:
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str
email: str
age: int = 18 # مقدار پیشفرض
user_data = {
"id": 1,
"name": "Ali",
"email": "[email protected]"
}
user = User(**user_data)
print(user)
اینجا یه مدل به نام
User
تعریف کردیم که شامل id
، name
، email
و age
هست. اگه فیلدی رو اشتباه بدیم یا از نوعی غیر از نوع مشخصشده استفاده کنیم، Pydantic خطا میده.بررسی Validation در Pydantic 🛠️
ـPydantic بهت این امکان رو میده که خیلی راحت دادهها رو اعتبارسنجی کنی. مثلا اگه بخوای مطمئن بشی که
email
به فرمت درستی وارد شده، Pydantic خودش اینو هندل میکنه و نیازی نیست دستی بررسی کنی. بیاین یه مثال دیگه رو ببینیم:from pydantic import BaseModel, EmailStr, PositiveInt
class User(BaseModel):
id: PositiveInt
name: str
email: EmailStr
age: int = 18
try:
user = User(id=-1, name="Ali", email="ali@bad-email", age=22)
except ValueError as e:
print("خطا:", e)
اینجا
PositiveInt و EmailStr رو استفاده کردیم که به طور خودکار id باید مثبت باشه و email هم باید فرمت درستی داشته باشه. این یعنی خیلی راحت میتونی دادهها رو کنترل کنی و از ورود دادههای اشتباه جلوگیری کنی.
مدلهای تو در تو (Nested Models) 🧬
اگه دادههات پیچیدهترن و شامل چند مدل میشن، میتونی مدلهای تو در تو بسازی. مثلا:
from typing import List
from pydantic import BaseModel
class Address(BaseModel):
street: str
city: str
class User(BaseModel):
id: int
name: str
addresses: List[Address]
user_data = {
"id": 1,
"name": "Ali",
"addresses": [
{"street": "خیابون اول", "city": "تهران"},
{"street": "خیابون دوم", "city": "مشهد"}
]
}
user = User(**user_data)
print(user)
جمعبندی 🎯
فهمیدیم Pydantic یه ابزار قوی برای مدیریت و اعتبارسنجی دادههاست که بهویژه تو پروژههای بزرگ و APIها خیلی کمک میکنه. میتونی مدلهای پیچیده بسازی، دادهها رو اعتبارسنجی کنی، و با استفاده از تایپهای قوی پایتون، کد تمیزتر و قابل خوانا تر بکنی.
#python #pydantic #programing
👍8❤3👌2🔥1
❤19👍6
This media is not supported in your browser
VIEW IN TELEGRAM
#programing #algorithm
این ویدیو الگوریتمهای مختلف Sorting رو به تصویر میکشه و نشون میده چطور هر کدوم عملیات مرتبسازی رو انجام میدن.
واقعا دیدنیه 🌚
🔆 CHANNEL | GROUP
👍5❤4👏2👌1
👍20❤3
هشتک #توصیه اضافه شد برای پستایی که بهتون توصیه های خوب خوب میکنم 😁
👏12❤2😍2👍1
👍16❤4⚡1🔥1👏1
❤10👎1
دوستان شرمنده دوروزه پست نزاشتم درگیر یکسری مسائل شدم. 😅
سعی میکنم از فردا روال عادی رو جلو ببریم.
ممنون میشم با ریکشن و شیر کردن بهمون انرژی بدید 😊❤️
سعی میکنم از فردا روال عادی رو جلو ببریم.
ممنون میشم با ریکشن و شیر کردن بهمون انرژی بدید 😊❤️
❤20👍6
استفاده از PWA در Django 🌐
امروز میخوایم درباره یه موضوع داغ صحبت کنیم: Progressive Web Apps (PWA) و چطور میتونیم ازش توی Django استفاده کنیم. اگه دنبال این هستی که اپلیکیشن وبی بسازی که نه تنها روی مرورگرها کار کنه، بلکه تجربهای شبیه به اپلیکیشنهای موبایل به کاربران بده، PWA گزینه عالیه.
حالا PWA چی هست؟ 🤔
خب PWAها وباپلیکیشنهایی هستن که ویژگیهای اپلیکیشنهای موبایل رو دارن. این ویژگیها شامل:
1⃣ عملکرد آفلاین:
کاربران میتونن بدون اینترنت به اپلیکیشن دسترسی داشته باشن.
2⃣ نصب روی صفحه اصلی:
میتونی اپلیکیشن رو مستقیماً روی صفحه اصلی گوشی نصب کنی.
3⃣ سرعت بارگذاری بالا: PWAها به دلیل cache کردن منابع، خیلی سریع بارگذاری میشن.
چطور PWA رو توی Django پیادهسازی کنیم؟ 🚀
برای ساختن PWA با Django، مراحل زیر رو دنبال کن:
1⃣ نصب Django و تنظیم پروژه
اول از همه، یه پروژه Django جدید ایجاد کن:
2⃣ تنظیمات پروژه
حالا باید
3⃣ ساخت فایل Manifest
فایل Manifest یه فایل JSON هست که اطلاعاتی درباره اپلیکیشن تو میده. این فایل رو به اسم
4⃣ اضافه کردن Service Worker
ـService Worker یه جاوااسکریپت فایلیه که به مرورگر اجازه میده کارهایی رو در پسزمینه انجام بده، مثلاً cache کردن منابع. این فایل رو به اسم
5⃣ اضافه کردن به HTML
حالا باید فایلهای manifest و service worker رو به قالب HTML خودت اضافه کنی. به عنوان مثال، در
جمع بندی 🎉
با انجام این مراحل، شما یک PWA با Django ساختید که میتونه به کاربران تجربهای مشابه با اپلیکیشنهای موبایل بده. این یعنی کاربرها میتونن اپلیکیشن شما رو نصب کنن و حتی وقتی اینترنت ندارن هم بهش دسترسی داشته باشن. PWAها به سرعت در حال محبوبیت هستن و میتونی با استفاده از Django و این تکنیکها، یه اپلیکیشن عالی بسازی.
امید وارم مفید بوده باشه :)❤️
امروز میخوایم درباره یه موضوع داغ صحبت کنیم: Progressive Web Apps (PWA) و چطور میتونیم ازش توی Django استفاده کنیم. اگه دنبال این هستی که اپلیکیشن وبی بسازی که نه تنها روی مرورگرها کار کنه، بلکه تجربهای شبیه به اپلیکیشنهای موبایل به کاربران بده، PWA گزینه عالیه.
حالا PWA چی هست؟ 🤔
خب PWAها وباپلیکیشنهایی هستن که ویژگیهای اپلیکیشنهای موبایل رو دارن. این ویژگیها شامل:
1⃣ عملکرد آفلاین:
کاربران میتونن بدون اینترنت به اپلیکیشن دسترسی داشته باشن.
2⃣ نصب روی صفحه اصلی:
میتونی اپلیکیشن رو مستقیماً روی صفحه اصلی گوشی نصب کنی.
3⃣ سرعت بارگذاری بالا: PWAها به دلیل cache کردن منابع، خیلی سریع بارگذاری میشن.
چطور PWA رو توی Django پیادهسازی کنیم؟ 🚀
برای ساختن PWA با Django، مراحل زیر رو دنبال کن:
1⃣ نصب Django و تنظیم پروژه
اول از همه، یه پروژه Django جدید ایجاد کن:
django-admin startproject my_pwa
cd my_pwa
python manage.py startapp my_app
2⃣ تنظیمات پروژه
حالا باید
my_app
رو به INSTALLED_APPS
توی فایل settings.py
اضافه کنی:INSTALLED_APPS = [
...
'my_app',
]
3⃣ ساخت فایل Manifest
فایل Manifest یه فایل JSON هست که اطلاعاتی درباره اپلیکیشن تو میده. این فایل رو به اسم
manifest.json
در پوشه static
بساز:{
"name": "My PWA",
"short_name": "PWA",
"start_url": "/",
"display": "standalone",
"background_color": "#FFFFFF",
"theme_color": "#000000",
"icons": [
{
"src": "icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
4⃣ اضافه کردن Service Worker
ـService Worker یه جاوااسکریپت فایلیه که به مرورگر اجازه میده کارهایی رو در پسزمینه انجام بده، مثلاً cache کردن منابع. این فایل رو به اسم
sw.js
در پوشه static
بساز:self.addEventListener('install', (event) => {
event.waitUntil(
caches.open('my-pwa-cache').then((cache) => {
return cache.addAll([
'/',
'/static/icon-192x192.png',
'/static/icon-512x512.png',
// Add other resources here
]);
})
);
});
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
return response || fetch(event.request);
})
);
});
5⃣ اضافه کردن به HTML
حالا باید فایلهای manifest و service worker رو به قالب HTML خودت اضافه کنی. به عنوان مثال، در
base.html
:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="manifest" href="{% static 'manifest.json' %}">
<title>My PWA</title>
</head>
<body>
<h1>خوش اومدی به PWA من</h1>
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/static/sw.js').then((registration) => {
console.log('Service Worker registered with scope:', registration.scope);
});
});
}
</script>
</body>
</html>
جمع بندی 🎉
با انجام این مراحل، شما یک PWA با Django ساختید که میتونه به کاربران تجربهای مشابه با اپلیکیشنهای موبایل بده. این یعنی کاربرها میتونن اپلیکیشن شما رو نصب کنن و حتی وقتی اینترنت ندارن هم بهش دسترسی داشته باشن. PWAها به سرعت در حال محبوبیت هستن و میتونی با استفاده از Django و این تکنیکها، یه اپلیکیشن عالی بسازی.
#django #pwa
🔆 CHANNEL | GROUP
❤18👍12🔥1