فریمورک فلسک (FLASK)
آمادهای برای سفری هیجانانگیز به دنیای توسعه وب؟ در این دوره Flask در کنارت هستیم تا یکی از محبوبترین و انعطافپذیرترین فریمورکهای پایتون را یاد بگیری!
فریمورک فلسک (FLASK)
فریمورک Flask، یکی از محبوبترین ابزارهای پایتون برای ساخت بخش بکاند در توسعه فولاستک است. این فریمورک به تو اجازه میدهد تا سریع و ساده، بکاندی کارآمد و منعطف بسازی.
چند مورد از کاربردهای Flask برای تو، به عنوان یک فولاستککار:
1. ساخت بکاند سبک و سریع
بهدلیل طراحی مینیمال و سبکوزن Flask، میتوانی خیلی سریع یک سرور بکاند راهاندازی کنی. این ویژگی بهخصوص در مراحل اولیه توسعه محصول یا برای ساخت نمونه اولیه (MVP) خیلی بهدردبخور است. Flask به تو آزادی میدهد که فقط آنچه لازم داری را به پروژه اضافه کنی و با انعطاف بیشتر، برنامهات را شخصیسازی کنی.
2. ارتباط با بخش فرانتاند (Frontend)
Flask بهخوبی با تکنولوژیهای فرانتاند مثل HTML، CSS و JavaScript هماهنگ میشود. میتوانی از Flask برای مسیریابی (Routing) و ارائه صفحات وب استفاده کنی، و با ابزار Jinja2، قالبهای داینامیک و زیبا بسازی. همچنین Flask امکان ارسال دادهها به فرانتاند از طریق APIهای RESTful را فراهم میکند، که به تو این امکان را میدهد دادهها را سریع بین بکاند و فرانتاند جابهجا کنی.
3. ساخت و مدیریت APIها
اگر باید دادهها را بین بخشهای مختلف برنامه جابهجا کنی، Flask برای توسعه APIهای RESTful یک انتخاب ایدهآل است. با Flask میتوانی APIهای سریع و قابلاعتماد بسازی که فرانتاند به آنها دسترسی داشته باشد و بهاینترتیب نیازهای ارتباطی بین سرور و کلاینت را به راحتی برآورده کنی.
4. اتصال به پایگاهداده و مدیریت دادهها
با Flask و ابزارهایی مثل SQLAlchemy، میتوانی به راحتی به پایگاهدادههای مختلف متصل شوی و دادهها را مدیریت کنی. این امکان به تو اجازه میدهد که دادهها را نهتنها ذخیره و بازیابی کنی، بلکه با استفاده از مدلهای ORM، دادهها را ساختارمندتر و بهینهتر مدیریت کنی.
5. استقرار آسان در سرورهای مختلف
یکی از ویژگیهای عالی Flask این است که بهراحتی روی سرورهای مختلف مانند Heroku، AWS و DigitalOcean مستقر میشود. میتوانی بکاند Flask خود را روی این پلتفرمها مستقر کنی و فرانتاند را به آن متصل کنی و به سرعت پروژهات را به کاربران ارائه دهی.
6. توسعه سریع و ساده در پروژههای کوچک و متوسط
Flask بهدلیل سبک و ساده بودنش، برای پروژههای کوچک و متوسط عالی است. در پروژههایی که پیچیدگی زیادی ندارند، میتوانی با Flask اپلیکیشنهای سریع و پایدار بسازی و تمرکز بیشتری روی افزودن ویژگیهای جدید داشته باشی.
7. مدیریت احراز هویت و امنیت
Flask با کتابخانههایی مثل Flask-Security و Flask-Login این امکان را فراهم میکند که ویژگیهای امنیتی و احراز هویت را به پروژه اضافه کنی. این امر در پروژههای فولاستک حیاتی است، چون دادهها و کاربران باید با اطمینان کامل مدیریت شوند. Flask به تو کمک میکند تا برنامههایی امن و پایدار بسازی.
Flask برای یک فولاستککار، انتخابی عالی است. این فریمورک با انعطافپذیری و ابزارهای سادهاش به تو اجازه میدهد که بکاندی سبک و سریع بسازی و همزمان ارتباط خوبی با بخش فرانتاند برقرار کنی. با Flask میتوانی مدیریت درخواستها، دادهها و امنیت پروژه را به راحتی انجام دهی و برنامهای مؤثر و کارآمد ایجاد کنی.
سرفصل ها و جلسات دوره
1معرفی و نکات عمومی
- جلسه صفرم: معرفی FLASK
- جلسه اول: نکات عمومی
معرفی و نکات عمومی: شروع سفر جذاب با فریمورک فلسک
در این فصل، با فلسک آشنا میشی؛ یک فریمورک سبک، سریع و قدرتمند برای توسعه وب. یاد میگیری چرا فلسک یکی از محبوبترین ابزارها بین توسعهدهندههاست و چطور میتونه پروژههات رو به سطح جدیدی برسونه.
اگر آمادهای وارد دنیای پرسرعت فلسک بشی و یه توسعهدهنده وب حرفهای باشی، این فصل نقطه شروع توئه!
2فریمورک و فلسک چیست؟
- جلسه دوم
فریمورک و فلسک چیست؟ شروعی برای ساخت دنیای وب
در این فصل، میفهمی فریمورک دقیقاً چه نقشی تو توسعه وب داره و چرا فلسک (Flask) به یکی از بهترین انتخابها برای ساخت اپلیکیشنهای سبک و انعطافپذیر تبدیل شده. اینجا همه چیز رو درباره فلسک یاد میگیری، از مفهوم پایهایش گرفته تا دلیل محبوبیتش بین برنامهنویسها.
3توضیح کلی درباره بک اند و virtualenv
- جلسه سوم
بکاند و Virtualenv: پشتصحنه وب و مدیریت حرفهای محیطها
در این فصل، با دنیای بکاند (Backend) و ابزار قدرتمند Virtualenv آشنا میشی. یاد میگیری بکاند چه نقشی در عملکرد سایتها و اپلیکیشنها داره و چرا Virtualenv بهت کمک میکنه تا محیطهای توسعهای مرتب و حرفهای داشته باشی.
بکاند بهعنوان قلب سایت و اپلیکیشن، تمام دادهها و منطق رو مدیریت میکنه.
با Virtualenv محیطهای مستقل برای پروژههات بسازی و تداخل نسخهها رو از بین ببری.
4ساخت virtualenv
- جلسه چهارم: ساخت virtualenv
ساخت Virtualenv: اولین قدم برای مدیریت محیطهای حرفهای
در این فصل، یاد میگیری چطور یه Virtualenv بسازی و پروژههات رو تو یه محیط ایزوله و امن نگه داری. با این ابزار، میتونی هر پروژه رو با نسخههای مخصوص خودش از کتابخونهها و ابزارها مدیریت کنی، بدون اینکه تداخلی با بقیه پروژههات پیش بیاد.
5شروع کار با فلسک
- جلسه پنجم
- تمرین 1 جلسه 5
- تمرین 2 جلسه 5
- تمرین 3 جلسه 5
شروع کار با فلسک: ساخت اولین اپلیکیشن وبت!
تو این فصل، وارد دنیای جذاب فلسک میشی و یاد میگیری چطور اولین اپلیکیشن وبت رو بسازی. اینجا با مراحل ساده و عملی شروع میکنی و قدمبهقدم پیش میری تا فلسک رو مثل یه حرفهای درک کنی.
اگر آمادهای اولین کدت رو با فلسک بنویسی و دنیای وب رو تسخیر کنی، این فصل شروع سفر هیجانانگیزته!
6route
- جلسه ششم
- تمرین 1 جلسه 6
- تمرین 2 جلسه 6
- تمرین 3 جلسه 6
Route: نقشهکشی مسیرها در اپلیکیشن فلسک
در این فصل، یاد میگیری Route چیه و چطور میتونی مسیرهای مختلف رو تو اپلیکیشن فلسک تعریف کنی. اینجا تمام چیزهایی که برای هدایت کاربران به صفحات مختلف نیاز داری، به سادهترین شکل یاد میگیری.
اگر میخوای یاد بگیری چطور مسیرهای وبسایتت رو به شکلی خلاقانه و کارآمد تنظیم کنی، این فصل نقشه راه توئه!
7کار با template
- جلسه هفتم
- تمرین 1 جلسه 7
- تمرین 2 جلسه 7
- تمرین 3 جلسه 7
کار با Template: طراحی صفحات حرفهای در فلسک
در این فصل، یاد میگیری چطور با استفاده از Template در فلسک، صفحات وب پویا و حرفهای بسازی. Templateها ابزارهایی هستن که بهت کمک میکنن ظاهر و محتوای اپلیکیشنت رو جدا کنی و توسعه وب رو سادهتر و کارآمدتر کنی.
8فایلهای static
- جلسه هشتم
- تمرین 1 جلسه 8
- تمرین 2 جلسه 8
- تمرین 3 جلسه 8
فایلهای Static: افزودن استایل و جذابیت به اپلیکیشن فلسک
در این فصل، یاد میگیری چطور با استفاده از فایلهای Static مثل CSS، JavaScript، و تصاویر، اپلیکیشن فلسک خودت رو زیباتر و کاربردیتر کنی. این فایلها بهت کمک میکنن تا ظاهر و تعاملات اپلیکیشنت رو به سطح بالاتری برسونی.
9کار با template و jinja2
- جلسه نهم: کار با template و jinja2 - بخش اول
- جلسه دهم: کار با template و jinja2 - بخش دوم
- تمرین 1 جلسه 10
- تمرین 2 جلسه 10
- تمرین 3 جلسه 10
کار با Template و Jinja2: ترکیب هوشمندانه دادهها و طراحی در فلسک
در این فصل، یاد میگیری چطور از Jinja2، موتور قالبسازی قدرتمند فلسک، برای ساخت صفحات وب پویا و جذاب استفاده کنی. با Jinja2 میتونی دادههای بکاند رو به راحتی در قالبهای HTML ترکیب کنی.
10کار با فرمها
- جلسه یازدهم: کار با فرم ها - بخش اول
- جلسه دوازدهم: کار با فرم ها - بخش دوم
- تمرین 1 جلسه 12
- تمرین 2 جلسه 12
- تمرین 3 جلسه 12
در این فصل، یاد میگیری چطور با استفاده از فرمها در فلسک، تعامل کاربران با اپلیکیشنت رو ممکن کنی. فرمها بهت کمک میکنن اطلاعات رو از کاربر دریافت کنی، اونها رو پردازش کنی و اپلیکیشنت رو پویا و هوشمندتر کنی.
11Redirect
- جلسه سیزدهم
- تمرین 1 جلسه 13
- تمرین 2 جلسه 13
- تمرین 3 جلسه 13
Redirect: هدایت کاربران به مسیرهای درست در فلسک
در این فصل، یاد میگیری چطور با استفاده از Redirect کاربران رو به صفحات مختلف هدایت کنی. این ابزار کاربردی در فلسک بهت کمک میکنه تجربه کاربری رو بهبود بدی و کاربران رو به مسیرهای دلخواهت راهنمایی کنی.
12کار با کوکیها
- جلسه چهاردهم
- تمرین 1 جلسه 14
- تمرین 2 جلسه 14
- تمرین 3 جلسه 14
کار با کوکیها: شخصیسازی تجربه کاربران در فلسک
در این فصل، یاد میگیری چطور از کوکیها (Cookies) برای ذخیره اطلاعات کاربران و شخصیسازی تجربه کاربری در اپلیکیشن فلسک استفاده کنی. کوکیها بهت این امکان رو میدن که تنظیمات، جلسات، و اطلاعات خاص هر کاربر رو ذخیره و بازیابی کنی.
13کار با فایلهای فرم
- جلسه پانزدهم
- تمرین 1 جلسه 15
- تمرین2 جلسه 15
- تمرین 3 جلسه 15
کار با فایلهای فرم: آپلود و مدیریت فایلها در فلسک
در این فصل، یاد میگیری چطور با فایلهای فرم در فلسک کار کنی و امکان آپلود و مدیریت فایلها رو به اپلیکیشنت اضافه کنی. این قابلیت به کاربران اجازه میده تصاویر، اسناد و سایر فایلها رو به راحتی بارگذاری کنن.
14کار با سشنها و ایجاد صفحه لاگین
- جلسه شانزدهم
- تمرین 1 جلسه 16
- تمرین 2 جلسه 16
- تمرین 3 جلسه 16
کار با سشنها و ایجاد صفحه لاگین: مدیریت کاربران در فلسک
در این فصل، یاد میگیری چطور با استفاده از سشنها (Sessions) کاربران رو مدیریت کنی و یه صفحه لاگین (Login) حرفهای بسازی. این قابلیت بهت اجازه میده کاربران رو شناسایی کنی، اطلاعات ورودشون رو ذخیره کنی و تجربهای امن و شخصیسازیشده ارائه بدی.
15تنظیم تاریخ انقضا سشنها
- جلسه هفدهم
- تمرین 1 جلسه 17
- تمرین 2 جلسه 17
- تمرین 3 جلسه 17
تنظیم تاریخ انقضا سشنها: کنترل امنیت و زمان دسترسی کاربران در فلسک
در این فصل، یاد میگیری چطور تاریخ انقضا برای سشنها (Sessions) تنظیم کنی تا امنیت اپلیکیشنت رو بالا ببری و مدیریت دقیقتری روی دسترسی کاربران داشته باشی. این ویژگی بهت کمک میکنه تا زمان فعال بودن هر سشن رو تعیین کنی و خطرات احتمالی ناشی از سشنهای طولانیمدت رو کاهش بدی.
16انواع ارورها و کدهای http
- جلسه هجدهم
- تمرین 1 جلسه 18
- تمرین 2 جلسه 18
- تمرین 3 جلسه 18
انواع ارورها و کدهای HTTP: درک پاسخهای سرور و مدیریت خطاها
در این فصل، با کدهای HTTP و انواع ارورهای رایج در توسعه وب آشنا میشی. این کدها نشاندهنده وضعیت درخواستهای ارسالشده به سرور هستن و بهت کمک میکنن تا مشکلات رو شناسایی و رفع کنی.
17Flash Messages
- جلسه نوزدهم
- تمرین 1 جلسه 19
- تمرین 2 جلسه 19
- تمرین 3 جلسه 19
18ارسال یک فایل برای کاربر خاص (دانلود)
- جلسه بیستم
- تمرین 1 جلسه 20
- تمرین 2 جلسه 20
- تمرین 3 جلسه 20
ارسال فایل برای کاربر خاص: مدیریت دانلود در فلسک
در این فصل، یاد میگیری چطور با استفاده از فلسک، فایلهایی رو برای دانلود به کاربران خاص ارسال کنی. این قابلیت بهت کمک میکنه تا فایلهای امن و شخصیسازیشده رو به هر کاربر اختصاص بدی و تجربه کاربری رو بهبود بدی.
19استفاده از CSRF Token برای افزایش امنیت
- جلسه بیست و یکم: استفاده از CSRF Token برای افزایش امنیت - بخش اول
- جلسه بیست و دوم: استفاده از CSRF Token برای افزایش امنیت - بخش دوم
- تمرین 1 جلسه 22
- تمرین 2 جلسه 22
- تمرین 3 جلسه 22
استفاده از CSRF Token: حفاظت از اپلیکیشن در برابر حملات امنیتی
در این فصل، یاد میگیری چطور با استفاده از CSRF Token، امنیت اپلیکیشن فلسک خودت رو در برابر حملات Cross-Site Request Forgery افزایش بدی. این ابزار ضروری بهت کمک میکنه تا درخواستهای مخرب رو شناسایی و از سوءاستفاده جلوگیری کنی.
20چرا از CSRF Token استفاده میکنیم؟
- جلسه بیست و سوم
چرا از CSRF Token استفاده میکنیم؟
CSRF Token ابزاری برای افزایش امنیت اپلیکیشنهای وب است و از اپلیکیشن در برابر حملات Cross-Site Request Forgery محافظت میکند. این حملات زمانی اتفاق میافتند که یک کاربر، بدون اطلاع، درخواست مخربی را به سرور ارسال کند.
21ارتباط با دیتابیس MySQL
- جلسه بیست و چهارم
- تمرین 1 جلسه 24
- تمرین 2 جلسه 24
- تمرین 3 جلسه 24
ارتباط با دیتابیس MySQL در فلسک: پیوند دادهها و برنامه
در این فصل، یاد میگیری چطور اپلیکیشن فلسک خودت رو به دیتابیس MySQL متصل کنی تا بتونی دادهها رو ذخیره، بازیابی و مدیریت کنی. این اتصال بهت امکان میده تا اپلیکیشنت رو پویا و دادهمحور کنی.
22توضیح درباره ORM
- جلسه بیست و پنجم
23شروع کار با کتابخونه SQLAlchemy
- جلسه بیست و ششم
- تمرین 1 جلسه 26
- تمرین 2 جلسه 26
- تمرین 3 جلسه 26
24نکته مهم
- جلسه بیست و هفتم
25تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy
- جلسه بیست و هشتم: تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy - بخش اول
- جلسه بیست و نهم: تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy - بخش دوم
- تمرین 1 جلسه 29
- تمرین 2 جلسه 29
- تمرین 3 جلسه 29
26تنظیم مشخصات جداول دبتابیس با SQLAlchemy
- جلسه سی ام: تنظیم مشخصات جداول دبتابیس با SQLAlchemy - بخش اول
- جلسه سی و یکم: تنظیم مشخصات جداول دبتابیس با SQLAlchemy - بخش دوم
- تمرین 1 جلسه 31
- تمرین 2 جلسه 31
- تمرین 3 جلسه 31
27معرفی انواع ارتباطات بین جداول دیتابیس
- جلسه سی و دوم
- تمرین 1 جلسه 32
- تمرین 2 جلسه 32
- تمرین 3 جلسه 32
28ایجاد ارتباط بین جداول دیتابیس با SQLAlchemy
- جلسه سی و سوم
- تمرین 1 جلسه 33
- تمرین 2 جلسه 33
- تمرین 3 جلسه 33
29گرفتن اطلاعات از دیتابیس
- جلسه سی و چهارم: گرفتن اطلاعات از دیتابیس - بخش اول
- جلسه سی و پنجم: گرفتن اطلاعات از دیتابیس - بخش دوم
- تمرین 1 جلسه 35
- تمرین 2 جلسه 35
- تمرین 3 جلسه 35
30حذف یا آپدیت اطلاعات دیتابیس
- جلسه سی و ششم
- تمرین 1 جلسه 36
- تمرین 2 جلسه 36
- تمرین 3 جلسه 36
31کار با Case When
- جلسه سی و هفتم
- تمرین 1 جلسه 37
- تمرین 2 جلسه 37
- تمرین 3 جلسه 37
32کار با join
- جلسه سی و هشتم
- تمرین 1 جلسه 38
- تمرین 2 جلسه 38
- تمرین 3 جلسه 38
33کار با union
- جلسه سی و نهم
- تمرین 1 جلسه 39
- تمرین 2 جلسه 39
- تمرین 3 جلسه 39
34کار با group by و having
- جلسه چهلم
- تمرین 1 جلسه 40
- تمرین 2 جلسه 40
- تمرین 3 جلسه 40
35درک sqlalchemy
- جلسه چهل و یکم
- تمرین 1 جلسه 41
- تمرین 2 جلسه 41
- تمرین 3 جلسه 41
36مقایسه دیتابیس MySQL و SQLite
- جلسه چهل و دوم
37ایجاد فایل requirement.txt
- جلسه چهل و سوم
- تمرین 1 جلسه 43
- تمرین 2 جلسه 43
- تمرین 3 جلسه 43
38مرتب سازی فایل های پروژه
- جلسه چهل و چهارم: مرتب سازی فایل های پروژه - بخش اول
- جلسه چهل و پنجم: مرتب سازی فایل های پروژه - بخش دوم
- تمرین 1 جلسه 45
- تمرین 2 جلسه 45
- تمرین 3 جلسه 45
39ایجاد فایل wsgi
- جلسه چهل و ششم
- تمرین 1 جلسه 46
- تمرین 2 جلسه 46
- تمرین 3 جلسه 46
40تئوری نحوه اجرای برنامه روی هاست و اتصال به دامنه
- جلسه چهل و هفتم
41خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی
- جلسه چهل و هشتم: خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی - بخش اول
- جلسه چهل و نهم: خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی - بخش دوم
42بالا آوردن نهایی برنامه فلسکی روی هاست و دامنه واقعی
- جلسه پنجاهم
- تمرین 1 جلسه 50
- تمرین 2 جلسه 50
- تمرین 3 جلسه 50
43رفع مشکلات متداول شما و چند نکته
- جلسه پنجاه و یکم
- تمرین 1 جلسه 51
- تمرین 2 جلسه 51
- تمرین 3 جلسه 51
44آشنایی با برنامه نویسی سوکت
- جلسه پنجاه و دوم
- تمرین 1 جلسه 52
- تمرین 2 جلسه 52
- تمرین 3 جلسه 52
45کار با Migration
- جلسه پنجاه و سوم
- تمرین 1 جلسه 53
- تمرین 2 جلسه 53
- تمرین 3 جلسه 53
46API چیست ؟
- جلسه پنجاه و چهارم
47ساخت API
- جلسه پنجاه و پنجم
48ارتباط با API
- جلسه پنجاه و ششم
- تمرین 1 جلسه 56
- تمرین 2 جلسه 56
- تمرین 3 جلسه 56
49Hybrid Property
- جلسه پنجاه و هفتم
- تمرین 1 جلسه 57
- تمرین 2 جلسه 57
- تمرین 3 جلسه 57
50آشنایی با معماری
- جلسه پنجاه و هشتم
51سخن پایانی دوره
- سخن پایانی
52پروژه پایانی
- پروژه پایانی
اساتید دوره
ویژگی های دوره
نیاز به مشاوره تخصصی دارید؟
مزایای Flask برای فولاستککارها:
- طراحی مینیمال و سبک برای ساخت بکاندهای سریع
- مدیریت APIها برای تبادل داده با فرانتاند
- پشتیبانی از پایگاهدادهها و ORMهای متنوع
- استقرار آسان روی پلتفرمهای ابری
- امنیت بالا و امکان افزودن احراز هویت
فریمورک فلسک (FLASK)
فریمورک Flask، یکی از محبوبترین ابزارهای پایتون برای ساخت بخش بکاند در توسعه فولاستک است. این فریمورک به تو اجازه میدهد تا سریع و ساده، بکاندی کارآمد و منعطف بسازی.
چند مورد از کاربردهای Flask برای تو، به عنوان یک فولاستککار:
1. ساخت بکاند سبک و سریع
بهدلیل طراحی مینیمال و سبکوزن Flask، میتوانی خیلی سریع یک سرور بکاند راهاندازی کنی. این ویژگی بهخصوص در مراحل اولیه توسعه محصول یا برای ساخت نمونه اولیه (MVP) خیلی بهدردبخور است. Flask به تو آزادی میدهد که فقط آنچه لازم داری را به پروژه اضافه کنی و با انعطاف بیشتر، برنامهات را شخصیسازی کنی.
2. ارتباط با بخش فرانتاند (Frontend)
Flask بهخوبی با تکنولوژیهای فرانتاند مثل HTML، CSS و JavaScript هماهنگ میشود. میتوانی از Flask برای مسیریابی (Routing) و ارائه صفحات وب استفاده کنی، و با ابزار Jinja2، قالبهای داینامیک و زیبا بسازی. همچنین Flask امکان ارسال دادهها به فرانتاند از طریق APIهای RESTful را فراهم میکند، که به تو این امکان را میدهد دادهها را سریع بین بکاند و فرانتاند جابهجا کنی.
3. ساخت و مدیریت APIها
اگر باید دادهها را بین بخشهای مختلف برنامه جابهجا کنی، Flask برای توسعه APIهای RESTful یک انتخاب ایدهآل است. با Flask میتوانی APIهای سریع و قابلاعتماد بسازی که فرانتاند به آنها دسترسی داشته باشد و بهاینترتیب نیازهای ارتباطی بین سرور و کلاینت را به راحتی برآورده کنی.
4. اتصال به پایگاهداده و مدیریت دادهها
با Flask و ابزارهایی مثل SQLAlchemy، میتوانی به راحتی به پایگاهدادههای مختلف متصل شوی و دادهها را مدیریت کنی. این امکان به تو اجازه میدهد که دادهها را نهتنها ذخیره و بازیابی کنی، بلکه با استفاده از مدلهای ORM، دادهها را ساختارمندتر و بهینهتر مدیریت کنی.
5. استقرار آسان در سرورهای مختلف
یکی از ویژگیهای عالی Flask این است که بهراحتی روی سرورهای مختلف مانند Heroku، AWS و DigitalOcean مستقر میشود. میتوانی بکاند Flask خود را روی این پلتفرمها مستقر کنی و فرانتاند را به آن متصل کنی و به سرعت پروژهات را به کاربران ارائه دهی.
6. توسعه سریع و ساده در پروژههای کوچک و متوسط
Flask بهدلیل سبک و ساده بودنش، برای پروژههای کوچک و متوسط عالی است. در پروژههایی که پیچیدگی زیادی ندارند، میتوانی با Flask اپلیکیشنهای سریع و پایدار بسازی و تمرکز بیشتری روی افزودن ویژگیهای جدید داشته باشی.
7. مدیریت احراز هویت و امنیت
Flask با کتابخانههایی مثل Flask-Security و Flask-Login این امکان را فراهم میکند که ویژگیهای امنیتی و احراز هویت را به پروژه اضافه کنی. این امر در پروژههای فولاستک حیاتی است، چون دادهها و کاربران باید با اطمینان کامل مدیریت شوند. Flask به تو کمک میکند تا برنامههایی امن و پایدار بسازی.
Flask برای یک فولاستککار، انتخابی عالی است. این فریمورک با انعطافپذیری و ابزارهای سادهاش به تو اجازه میدهد که بکاندی سبک و سریع بسازی و همزمان ارتباط خوبی با بخش فرانتاند برقرار کنی. با Flask میتوانی مدیریت درخواستها، دادهها و امنیت پروژه را به راحتی انجام دهی و برنامهای مؤثر و کارآمد ایجاد کنی.
سرفصل ها و جلسات دوره
1معرفی و نکات عمومی
- جلسه صفرم: معرفی FLASK
- جلسه اول: نکات عمومی
معرفی و نکات عمومی: شروع سفر جذاب با فریمورک فلسک
در این فصل، با فلسک آشنا میشی؛ یک فریمورک سبک، سریع و قدرتمند برای توسعه وب. یاد میگیری چرا فلسک یکی از محبوبترین ابزارها بین توسعهدهندههاست و چطور میتونه پروژههات رو به سطح جدیدی برسونه.
اگر آمادهای وارد دنیای پرسرعت فلسک بشی و یه توسعهدهنده وب حرفهای باشی، این فصل نقطه شروع توئه!
2فریمورک و فلسک چیست؟
- جلسه دوم
فریمورک و فلسک چیست؟ شروعی برای ساخت دنیای وب
در این فصل، میفهمی فریمورک دقیقاً چه نقشی تو توسعه وب داره و چرا فلسک (Flask) به یکی از بهترین انتخابها برای ساخت اپلیکیشنهای سبک و انعطافپذیر تبدیل شده. اینجا همه چیز رو درباره فلسک یاد میگیری، از مفهوم پایهایش گرفته تا دلیل محبوبیتش بین برنامهنویسها.
3توضیح کلی درباره بک اند و virtualenv
- جلسه سوم
بکاند و Virtualenv: پشتصحنه وب و مدیریت حرفهای محیطها
در این فصل، با دنیای بکاند (Backend) و ابزار قدرتمند Virtualenv آشنا میشی. یاد میگیری بکاند چه نقشی در عملکرد سایتها و اپلیکیشنها داره و چرا Virtualenv بهت کمک میکنه تا محیطهای توسعهای مرتب و حرفهای داشته باشی.
بکاند بهعنوان قلب سایت و اپلیکیشن، تمام دادهها و منطق رو مدیریت میکنه.
با Virtualenv محیطهای مستقل برای پروژههات بسازی و تداخل نسخهها رو از بین ببری.
4ساخت virtualenv
- جلسه چهارم: ساخت virtualenv
ساخت Virtualenv: اولین قدم برای مدیریت محیطهای حرفهای
در این فصل، یاد میگیری چطور یه Virtualenv بسازی و پروژههات رو تو یه محیط ایزوله و امن نگه داری. با این ابزار، میتونی هر پروژه رو با نسخههای مخصوص خودش از کتابخونهها و ابزارها مدیریت کنی، بدون اینکه تداخلی با بقیه پروژههات پیش بیاد.
5شروع کار با فلسک
- جلسه پنجم
- تمرین 1 جلسه 5
- تمرین 2 جلسه 5
- تمرین 3 جلسه 5
شروع کار با فلسک: ساخت اولین اپلیکیشن وبت!
تو این فصل، وارد دنیای جذاب فلسک میشی و یاد میگیری چطور اولین اپلیکیشن وبت رو بسازی. اینجا با مراحل ساده و عملی شروع میکنی و قدمبهقدم پیش میری تا فلسک رو مثل یه حرفهای درک کنی.
اگر آمادهای اولین کدت رو با فلسک بنویسی و دنیای وب رو تسخیر کنی، این فصل شروع سفر هیجانانگیزته!
6route
- جلسه ششم
- تمرین 1 جلسه 6
- تمرین 2 جلسه 6
- تمرین 3 جلسه 6
Route: نقشهکشی مسیرها در اپلیکیشن فلسک
در این فصل، یاد میگیری Route چیه و چطور میتونی مسیرهای مختلف رو تو اپلیکیشن فلسک تعریف کنی. اینجا تمام چیزهایی که برای هدایت کاربران به صفحات مختلف نیاز داری، به سادهترین شکل یاد میگیری.
اگر میخوای یاد بگیری چطور مسیرهای وبسایتت رو به شکلی خلاقانه و کارآمد تنظیم کنی، این فصل نقشه راه توئه!
7کار با template
- جلسه هفتم
- تمرین 1 جلسه 7
- تمرین 2 جلسه 7
- تمرین 3 جلسه 7
کار با Template: طراحی صفحات حرفهای در فلسک
در این فصل، یاد میگیری چطور با استفاده از Template در فلسک، صفحات وب پویا و حرفهای بسازی. Templateها ابزارهایی هستن که بهت کمک میکنن ظاهر و محتوای اپلیکیشنت رو جدا کنی و توسعه وب رو سادهتر و کارآمدتر کنی.
8فایلهای static
- جلسه هشتم
- تمرین 1 جلسه 8
- تمرین 2 جلسه 8
- تمرین 3 جلسه 8
فایلهای Static: افزودن استایل و جذابیت به اپلیکیشن فلسک
در این فصل، یاد میگیری چطور با استفاده از فایلهای Static مثل CSS، JavaScript، و تصاویر، اپلیکیشن فلسک خودت رو زیباتر و کاربردیتر کنی. این فایلها بهت کمک میکنن تا ظاهر و تعاملات اپلیکیشنت رو به سطح بالاتری برسونی.
9کار با template و jinja2
- جلسه نهم: کار با template و jinja2 - بخش اول
- جلسه دهم: کار با template و jinja2 - بخش دوم
- تمرین 1 جلسه 10
- تمرین 2 جلسه 10
- تمرین 3 جلسه 10
کار با Template و Jinja2: ترکیب هوشمندانه دادهها و طراحی در فلسک
در این فصل، یاد میگیری چطور از Jinja2، موتور قالبسازی قدرتمند فلسک، برای ساخت صفحات وب پویا و جذاب استفاده کنی. با Jinja2 میتونی دادههای بکاند رو به راحتی در قالبهای HTML ترکیب کنی.
10کار با فرمها
- جلسه یازدهم: کار با فرم ها - بخش اول
- جلسه دوازدهم: کار با فرم ها - بخش دوم
- تمرین 1 جلسه 12
- تمرین 2 جلسه 12
- تمرین 3 جلسه 12
در این فصل، یاد میگیری چطور با استفاده از فرمها در فلسک، تعامل کاربران با اپلیکیشنت رو ممکن کنی. فرمها بهت کمک میکنن اطلاعات رو از کاربر دریافت کنی، اونها رو پردازش کنی و اپلیکیشنت رو پویا و هوشمندتر کنی.
11Redirect
- جلسه سیزدهم
- تمرین 1 جلسه 13
- تمرین 2 جلسه 13
- تمرین 3 جلسه 13
Redirect: هدایت کاربران به مسیرهای درست در فلسک
در این فصل، یاد میگیری چطور با استفاده از Redirect کاربران رو به صفحات مختلف هدایت کنی. این ابزار کاربردی در فلسک بهت کمک میکنه تجربه کاربری رو بهبود بدی و کاربران رو به مسیرهای دلخواهت راهنمایی کنی.
12کار با کوکیها
- جلسه چهاردهم
- تمرین 1 جلسه 14
- تمرین 2 جلسه 14
- تمرین 3 جلسه 14
کار با کوکیها: شخصیسازی تجربه کاربران در فلسک
در این فصل، یاد میگیری چطور از کوکیها (Cookies) برای ذخیره اطلاعات کاربران و شخصیسازی تجربه کاربری در اپلیکیشن فلسک استفاده کنی. کوکیها بهت این امکان رو میدن که تنظیمات، جلسات، و اطلاعات خاص هر کاربر رو ذخیره و بازیابی کنی.
13کار با فایلهای فرم
- جلسه پانزدهم
- تمرین 1 جلسه 15
- تمرین2 جلسه 15
- تمرین 3 جلسه 15
کار با فایلهای فرم: آپلود و مدیریت فایلها در فلسک
در این فصل، یاد میگیری چطور با فایلهای فرم در فلسک کار کنی و امکان آپلود و مدیریت فایلها رو به اپلیکیشنت اضافه کنی. این قابلیت به کاربران اجازه میده تصاویر، اسناد و سایر فایلها رو به راحتی بارگذاری کنن.
14کار با سشنها و ایجاد صفحه لاگین
- جلسه شانزدهم
- تمرین 1 جلسه 16
- تمرین 2 جلسه 16
- تمرین 3 جلسه 16
کار با سشنها و ایجاد صفحه لاگین: مدیریت کاربران در فلسک
در این فصل، یاد میگیری چطور با استفاده از سشنها (Sessions) کاربران رو مدیریت کنی و یه صفحه لاگین (Login) حرفهای بسازی. این قابلیت بهت اجازه میده کاربران رو شناسایی کنی، اطلاعات ورودشون رو ذخیره کنی و تجربهای امن و شخصیسازیشده ارائه بدی.
15تنظیم تاریخ انقضا سشنها
- جلسه هفدهم
- تمرین 1 جلسه 17
- تمرین 2 جلسه 17
- تمرین 3 جلسه 17
تنظیم تاریخ انقضا سشنها: کنترل امنیت و زمان دسترسی کاربران در فلسک
در این فصل، یاد میگیری چطور تاریخ انقضا برای سشنها (Sessions) تنظیم کنی تا امنیت اپلیکیشنت رو بالا ببری و مدیریت دقیقتری روی دسترسی کاربران داشته باشی. این ویژگی بهت کمک میکنه تا زمان فعال بودن هر سشن رو تعیین کنی و خطرات احتمالی ناشی از سشنهای طولانیمدت رو کاهش بدی.
16انواع ارورها و کدهای http
- جلسه هجدهم
- تمرین 1 جلسه 18
- تمرین 2 جلسه 18
- تمرین 3 جلسه 18
انواع ارورها و کدهای HTTP: درک پاسخهای سرور و مدیریت خطاها
در این فصل، با کدهای HTTP و انواع ارورهای رایج در توسعه وب آشنا میشی. این کدها نشاندهنده وضعیت درخواستهای ارسالشده به سرور هستن و بهت کمک میکنن تا مشکلات رو شناسایی و رفع کنی.
17Flash Messages
- جلسه نوزدهم
- تمرین 1 جلسه 19
- تمرین 2 جلسه 19
- تمرین 3 جلسه 19
18ارسال یک فایل برای کاربر خاص (دانلود)
- جلسه بیستم
- تمرین 1 جلسه 20
- تمرین 2 جلسه 20
- تمرین 3 جلسه 20
ارسال فایل برای کاربر خاص: مدیریت دانلود در فلسک
در این فصل، یاد میگیری چطور با استفاده از فلسک، فایلهایی رو برای دانلود به کاربران خاص ارسال کنی. این قابلیت بهت کمک میکنه تا فایلهای امن و شخصیسازیشده رو به هر کاربر اختصاص بدی و تجربه کاربری رو بهبود بدی.
19استفاده از CSRF Token برای افزایش امنیت
- جلسه بیست و یکم: استفاده از CSRF Token برای افزایش امنیت - بخش اول
- جلسه بیست و دوم: استفاده از CSRF Token برای افزایش امنیت - بخش دوم
- تمرین 1 جلسه 22
- تمرین 2 جلسه 22
- تمرین 3 جلسه 22
استفاده از CSRF Token: حفاظت از اپلیکیشن در برابر حملات امنیتی
در این فصل، یاد میگیری چطور با استفاده از CSRF Token، امنیت اپلیکیشن فلسک خودت رو در برابر حملات Cross-Site Request Forgery افزایش بدی. این ابزار ضروری بهت کمک میکنه تا درخواستهای مخرب رو شناسایی و از سوءاستفاده جلوگیری کنی.
20چرا از CSRF Token استفاده میکنیم؟
- جلسه بیست و سوم
چرا از CSRF Token استفاده میکنیم؟
CSRF Token ابزاری برای افزایش امنیت اپلیکیشنهای وب است و از اپلیکیشن در برابر حملات Cross-Site Request Forgery محافظت میکند. این حملات زمانی اتفاق میافتند که یک کاربر، بدون اطلاع، درخواست مخربی را به سرور ارسال کند.
21ارتباط با دیتابیس MySQL
- جلسه بیست و چهارم
- تمرین 1 جلسه 24
- تمرین 2 جلسه 24
- تمرین 3 جلسه 24
ارتباط با دیتابیس MySQL در فلسک: پیوند دادهها و برنامه
در این فصل، یاد میگیری چطور اپلیکیشن فلسک خودت رو به دیتابیس MySQL متصل کنی تا بتونی دادهها رو ذخیره، بازیابی و مدیریت کنی. این اتصال بهت امکان میده تا اپلیکیشنت رو پویا و دادهمحور کنی.
22توضیح درباره ORM
- جلسه بیست و پنجم
23شروع کار با کتابخونه SQLAlchemy
- جلسه بیست و ششم
- تمرین 1 جلسه 26
- تمرین 2 جلسه 26
- تمرین 3 جلسه 26
24نکته مهم
- جلسه بیست و هفتم
25تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy
- جلسه بیست و هشتم: تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy - بخش اول
- جلسه بیست و نهم: تنظیم مشخصات ستون های جداول دیتابیس با SQLAlchemy - بخش دوم
- تمرین 1 جلسه 29
- تمرین 2 جلسه 29
- تمرین 3 جلسه 29
26تنظیم مشخصات جداول دبتابیس با SQLAlchemy
- جلسه سی ام: تنظیم مشخصات جداول دبتابیس با SQLAlchemy - بخش اول
- جلسه سی و یکم: تنظیم مشخصات جداول دبتابیس با SQLAlchemy - بخش دوم
- تمرین 1 جلسه 31
- تمرین 2 جلسه 31
- تمرین 3 جلسه 31
27معرفی انواع ارتباطات بین جداول دیتابیس
- جلسه سی و دوم
- تمرین 1 جلسه 32
- تمرین 2 جلسه 32
- تمرین 3 جلسه 32
28ایجاد ارتباط بین جداول دیتابیس با SQLAlchemy
- جلسه سی و سوم
- تمرین 1 جلسه 33
- تمرین 2 جلسه 33
- تمرین 3 جلسه 33
29گرفتن اطلاعات از دیتابیس
- جلسه سی و چهارم: گرفتن اطلاعات از دیتابیس - بخش اول
- جلسه سی و پنجم: گرفتن اطلاعات از دیتابیس - بخش دوم
- تمرین 1 جلسه 35
- تمرین 2 جلسه 35
- تمرین 3 جلسه 35
30حذف یا آپدیت اطلاعات دیتابیس
- جلسه سی و ششم
- تمرین 1 جلسه 36
- تمرین 2 جلسه 36
- تمرین 3 جلسه 36
31کار با Case When
- جلسه سی و هفتم
- تمرین 1 جلسه 37
- تمرین 2 جلسه 37
- تمرین 3 جلسه 37
32کار با join
- جلسه سی و هشتم
- تمرین 1 جلسه 38
- تمرین 2 جلسه 38
- تمرین 3 جلسه 38
33کار با union
- جلسه سی و نهم
- تمرین 1 جلسه 39
- تمرین 2 جلسه 39
- تمرین 3 جلسه 39
34کار با group by و having
- جلسه چهلم
- تمرین 1 جلسه 40
- تمرین 2 جلسه 40
- تمرین 3 جلسه 40
35درک sqlalchemy
- جلسه چهل و یکم
- تمرین 1 جلسه 41
- تمرین 2 جلسه 41
- تمرین 3 جلسه 41
36مقایسه دیتابیس MySQL و SQLite
- جلسه چهل و دوم
37ایجاد فایل requirement.txt
- جلسه چهل و سوم
- تمرین 1 جلسه 43
- تمرین 2 جلسه 43
- تمرین 3 جلسه 43
38مرتب سازی فایل های پروژه
- جلسه چهل و چهارم: مرتب سازی فایل های پروژه - بخش اول
- جلسه چهل و پنجم: مرتب سازی فایل های پروژه - بخش دوم
- تمرین 1 جلسه 45
- تمرین 2 جلسه 45
- تمرین 3 جلسه 45
39ایجاد فایل wsgi
- جلسه چهل و ششم
- تمرین 1 جلسه 46
- تمرین 2 جلسه 46
- تمرین 3 جلسه 46
40تئوری نحوه اجرای برنامه روی هاست و اتصال به دامنه
- جلسه چهل و هفتم
41خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی
- جلسه چهل و هشتم: خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی - بخش اول
- جلسه چهل و نهم: خرید هاست و دامنه واقعی برای بالا آوردن برنامه فلسکی - بخش دوم
42بالا آوردن نهایی برنامه فلسکی روی هاست و دامنه واقعی
- جلسه پنجاهم
- تمرین 1 جلسه 50
- تمرین 2 جلسه 50
- تمرین 3 جلسه 50
43رفع مشکلات متداول شما و چند نکته
- جلسه پنجاه و یکم
- تمرین 1 جلسه 51
- تمرین 2 جلسه 51
- تمرین 3 جلسه 51
44آشنایی با برنامه نویسی سوکت
- جلسه پنجاه و دوم
- تمرین 1 جلسه 52
- تمرین 2 جلسه 52
- تمرین 3 جلسه 52
45کار با Migration
- جلسه پنجاه و سوم
- تمرین 1 جلسه 53
- تمرین 2 جلسه 53
- تمرین 3 جلسه 53
46API چیست ؟
- جلسه پنجاه و چهارم
47ساخت API
- جلسه پنجاه و پنجم
48ارتباط با API
- جلسه پنجاه و ششم
- تمرین 1 جلسه 56
- تمرین 2 جلسه 56
- تمرین 3 جلسه 56
49Hybrid Property
- جلسه پنجاه و هفتم
- تمرین 1 جلسه 57
- تمرین 2 جلسه 57
- تمرین 3 جلسه 57
50آشنایی با معماری
- جلسه پنجاه و هشتم
51سخن پایانی دوره
- سخن پایانی
52پروژه پایانی
- پروژه پایانی
امیرحسین نائی