معرفی 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
دوستان نظرتون چیه بعضی وقتی درمورد رشته های دانشگاهی مرتبط به کامپیوتر صحبت کنم؟
👌17👎10👍1
🌱 چطوری قدرت حل مسئلهتون رو قوی کنید؟
حل مسئله مهارتیه که توی زندگی، مخصوصاً دنیای برنامهنویسی، همیشه به دردت میخوره. باید قویتر بشی، چالشهای بزرگ رو به راهکارهای کوچک و عملی تبدیل کنی و بدونی چطور از پس مشکلات بربیای. چندتا توصیه میخوام بهت بکنم که بهت کمک کنن بهتر و حرفهایتر توی حل مسئله پیش بری:
1⃣ مسئله رو کوچیک کن 🧩
ببین، اینکه کل مسئله رو بخوای یه جا حل کنی معمولاً باعث پیچیدگی و گیجشدنه. بیا مسئله رو به بخشهای کوچیکتر تقسیم کن. اگه یه پروژه بزرگ داری، مثل جمعآوری و تحلیل دیتا، کار با API و نمایش نتایج، اینا رو جدا جدا حل کن. وقتی مسئله رو کوچیک کنی، قدم به قدم که جلو میری، نهتنها به راهحل نزدیکتر میشی، بلکه توی ذهنت هم سبکتر و قابل مدیریتتر میشه.
2⃣ همیشه بگو چرا؟ 🤔
یه عادت خوب اینه که همیشه از خودت بپرسی "چرا؟" مثلاً اگه یه بخش کدت کار نمیکنه، به جای اینکه همینطوری چند تا چیز رو تغییر بدی، دقیقاً بفهم چرا اینطوری شده. با این کار، میفهمی ریشه مشکل کجاست و بهتر میتونی ازش جلوگیری کنی. هر جا مشکلی دیدی، یه قدم عمیقتر بشو و دلیل اصلی رو پیدا کن.
3⃣ الگوریتم و ساختار دادهها رو یاد بگیر 📚
خودت میدونی، بدون الگوریتم و ساختار داده نمیشه توی دنیای برنامهنویسی قوی شد. وقت بذار روی اینا، تمرین کن و یاد بگیر که هر جا چه ساختار داده و الگوریتمی میتونه به دردت بخوره. مثلاً وقتی لیستی از دادههای طولانی داری، الگوریتمهای جستجو و مرتبسازی میتونه کمکت کنه راه بهتری پیدا کنی. هر چی بیشتر روی اینها کار کنی، حل مسائل برات سریعتر و راحتتر میشه.
4⃣ از مسائل سخت نترس 💪
یه نکته خیلی مهم اگه همیشه از مسائل پیچیده فرار کنی، هیچوقت توی حل مسئله قوی نمیشی. بپذیر که یه سری مسائل سخت وجود دارن و با تمرکز و صبوری میشه حلشون کرد. حتی اگه اولش غیرممکن به نظر بیاد، با کمی تلاش و تست کردن راههای مختلف، اون مسئله به مرور آسونتر میشه. پس قدم به قدم جلو برو و از نتیجه نترس.
5⃣ مرور تجربههای قبلی 🔄
یه توصیه ساده: هر پروژه یا مسئلهای رو که حل کردی، بعدش مرورش کن. فکر کن که کجا خوب عمل کردی و کجاها باید بهتر بشی. اشتباهات رو بررسی کن و راهحلهایی که به دردت خورده رو یادداشت کن. اینطوری، کمکم یاد میگیری چطور از تجربههای قبلی برای حل مشکلات جدید استفاده کنی.
یه مثال عملی: طراحی یه سیستم پیشنهاد فیلم
فرض کن میخوای یه سیستم پیشنهاد فیلم درست کنی. اولش که کل این پروژه رو نگاه میکنی، شاید پیچیده به نظر بیاد. ولی بیا به چند مرحله تقسیمش کن:
1⃣ جمعآوری دیتا:
اول دادههای فیلمها رو جمع کن.
2⃣ مدلسازی دیتا:
یه مدل ساده برای ذخیره ویژگیهای فیلم مثل ژانر، امتیاز و بازیگرها درست کن.
3⃣ طراحی الگوریتم پیشنهاد:
اینجا الگوریتمی بنویس که بر اساس علاقه کاربر، پیشنهادهای مناسبی بده.
4⃣ ارزیابی و بهبود:
حالا الگوریتمت رو ارزیابی کن و اگه نیاز داشت، بهبودش بده.
با این روش، دیگه ذهنت گیج نمیشه و میتونی هر بخش رو با تمرکز بیشتری حل کنی.
حل مسئله مثل یه عضله میمونه، هر چی بیشتر روش کار کنی قویتر میشه. این توصیهها رو تمرین کن و همیشه ذهنت رو برای چالشهای جدید آماده نگه دار. مطمئن باش این مسیر سختیهاش رو داره، ولی با صبر و تمرین به جایی میرسی که هیچ مسئلهای نمیتونه جلوت رو بگیره 💥
حل مسئله مهارتیه که توی زندگی، مخصوصاً دنیای برنامهنویسی، همیشه به دردت میخوره. باید قویتر بشی، چالشهای بزرگ رو به راهکارهای کوچک و عملی تبدیل کنی و بدونی چطور از پس مشکلات بربیای. چندتا توصیه میخوام بهت بکنم که بهت کمک کنن بهتر و حرفهایتر توی حل مسئله پیش بری:
1⃣ مسئله رو کوچیک کن 🧩
ببین، اینکه کل مسئله رو بخوای یه جا حل کنی معمولاً باعث پیچیدگی و گیجشدنه. بیا مسئله رو به بخشهای کوچیکتر تقسیم کن. اگه یه پروژه بزرگ داری، مثل جمعآوری و تحلیل دیتا، کار با API و نمایش نتایج، اینا رو جدا جدا حل کن. وقتی مسئله رو کوچیک کنی، قدم به قدم که جلو میری، نهتنها به راهحل نزدیکتر میشی، بلکه توی ذهنت هم سبکتر و قابل مدیریتتر میشه.
2⃣ همیشه بگو چرا؟ 🤔
یه عادت خوب اینه که همیشه از خودت بپرسی "چرا؟" مثلاً اگه یه بخش کدت کار نمیکنه، به جای اینکه همینطوری چند تا چیز رو تغییر بدی، دقیقاً بفهم چرا اینطوری شده. با این کار، میفهمی ریشه مشکل کجاست و بهتر میتونی ازش جلوگیری کنی. هر جا مشکلی دیدی، یه قدم عمیقتر بشو و دلیل اصلی رو پیدا کن.
3⃣ الگوریتم و ساختار دادهها رو یاد بگیر 📚
خودت میدونی، بدون الگوریتم و ساختار داده نمیشه توی دنیای برنامهنویسی قوی شد. وقت بذار روی اینا، تمرین کن و یاد بگیر که هر جا چه ساختار داده و الگوریتمی میتونه به دردت بخوره. مثلاً وقتی لیستی از دادههای طولانی داری، الگوریتمهای جستجو و مرتبسازی میتونه کمکت کنه راه بهتری پیدا کنی. هر چی بیشتر روی اینها کار کنی، حل مسائل برات سریعتر و راحتتر میشه.
4⃣ از مسائل سخت نترس 💪
یه نکته خیلی مهم اگه همیشه از مسائل پیچیده فرار کنی، هیچوقت توی حل مسئله قوی نمیشی. بپذیر که یه سری مسائل سخت وجود دارن و با تمرکز و صبوری میشه حلشون کرد. حتی اگه اولش غیرممکن به نظر بیاد، با کمی تلاش و تست کردن راههای مختلف، اون مسئله به مرور آسونتر میشه. پس قدم به قدم جلو برو و از نتیجه نترس.
5⃣ مرور تجربههای قبلی 🔄
یه توصیه ساده: هر پروژه یا مسئلهای رو که حل کردی، بعدش مرورش کن. فکر کن که کجا خوب عمل کردی و کجاها باید بهتر بشی. اشتباهات رو بررسی کن و راهحلهایی که به دردت خورده رو یادداشت کن. اینطوری، کمکم یاد میگیری چطور از تجربههای قبلی برای حل مشکلات جدید استفاده کنی.
یه مثال عملی: طراحی یه سیستم پیشنهاد فیلم
فرض کن میخوای یه سیستم پیشنهاد فیلم درست کنی. اولش که کل این پروژه رو نگاه میکنی، شاید پیچیده به نظر بیاد. ولی بیا به چند مرحله تقسیمش کن:
1⃣ جمعآوری دیتا:
اول دادههای فیلمها رو جمع کن.
2⃣ مدلسازی دیتا:
یه مدل ساده برای ذخیره ویژگیهای فیلم مثل ژانر، امتیاز و بازیگرها درست کن.
3⃣ طراحی الگوریتم پیشنهاد:
اینجا الگوریتمی بنویس که بر اساس علاقه کاربر، پیشنهادهای مناسبی بده.
4⃣ ارزیابی و بهبود:
حالا الگوریتمت رو ارزیابی کن و اگه نیاز داشت، بهبودش بده.
با این روش، دیگه ذهنت گیج نمیشه و میتونی هر بخش رو با تمرکز بیشتری حل کنی.
حل مسئله مثل یه عضله میمونه، هر چی بیشتر روش کار کنی قویتر میشه. این توصیهها رو تمرین کن و همیشه ذهنت رو برای چالشهای جدید آماده نگه دار. مطمئن باش این مسیر سختیهاش رو داره، ولی با صبر و تمرین به جایی میرسی که هیچ مسئلهای نمیتونه جلوت رو بگیره 💥
#توصیه #حل_مسئله
🔆 CHANNEL | GROUP
👏11👍1🔥1
Ninja Learn | نینجا لرن
دوستان نظرتون چیه بعضی وقتی درمورد رشته های دانشگاهی مرتبط به کامپیوتر صحبت کنم؟
خب دوستان استقبال کردن دراینده درمورد
رشته مهندسی کامپیوتر صحبت میکنم و شاخه هایی که داره و ... 🫡
منتظرش باشید 😁
رشته مهندسی کامپیوتر صحبت میکنم و شاخه هایی که داره و ... 🫡
منتظرش باشید 😁
🔥9👍1