پایتون برای DevOps - تسلط به اتوماسیون واقعی
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- تسلط به اصول پایتون از متغیرها و ساختارهای داده برای توابع و کلاسها
- نوشتن کد زیبا و کارآمد از نظر حافظه با ویژگیهای پیشرفته مانند ژنراتورها و دکوراتورها
- پیادهسازی مدیریت خطای قوی با بلوکهای try و except و استثناهای سفارشی برای ساخت اسکریپتهای تابآور
- لاگ کردن JSON ساختاریافته را در اپلیکیشنهای خود برای بهبود قابلیت مشاهده و عیبیابی یکپارچهسازی کنید.
- با اطمینان فرمتهای داده مانند JSON ،YAML و CSV را تجزیه، پردازش و تولید کنید.
- مدیریت فایل و دایرکتوری را با pathlib و shutil مدرن خودکار کنید.
- فرمانهای سیستم خارجی را به صورت ایمن اجرا کنید و خروجی آنها را با ماژول پردازش فرعی ضبط کنید.
- تعاملات REST APIها را با ارسال درخواستهای GET و POST و مدیریت احراز هویت با کتابخانه درخواستها خودکار کنید.
- کلاینتهای API تابآور بسازید که تایماوتها را مدیریت میکنند و منطق تلاش مجدد را با exponential backoff پیادهسازی کنید.
- تستهای واحد حرفهای را با فریمورک قدرتمند pytest نوشته و اجرا کنید.
- از فیکسچرها و پارامتریسازی برای نوشتن تستهای مبتنی بر داده، تمیز و قابل استفاده مجدد استفاده کنید.
- وابستگیها را ایزوله کنید و تعاملات پیچیده را با ایجاد و پیکربندی ماکها تست کنید.
- کد خود را به صورت حرفهای با ماژولها و پکیجهای پایتون را برای قابلیت نگهداری بهتر ساختاردهی کنید.
- ابزارهای خط فرمان قابل نصب خود را با pyproject.toml و نقاط ورودی ساخته و توزیع کنید.
پیشنیازهای دوره
- آشنایی با مفاهیم اولیه برنامهنویسی مانند متغیرها، حلقهها و توابع در هر زبان اسکریپتنویسی یا برنامهنویسی
- تجربه اولیه کار با ترمینال خط فرمان برای ناوبری در دایرکتوریها و اجرای فرمانها
- درک سطح بالا از مفاهیم رایج DevOps مانند APIها، CI-CD و اتوماسیون زیرساخت
- توانایی نصب نرمافزار روی کامپیوتر، مانند پایتون و پکیجهای شخص ثالث با pip
- تمایل به فراتر رفتن از اسکریپتهای shell ساده و ساخت اتوماسیون قوی، قابل نگهداری و آماده برای تولید
- آشنایی اولیه با گیت برای کلون کردن مخزن دوره و ناوبری برنچهای مختلف
توضیحات دوره
به دوره نهایی آموزش پایتون برای DevOps خوش آمدید! آمادهاید که فراتر از اسکریپتهای ساده بروید و شروع به ساخت اتوماسیون قدرتمند، قابل اعتماد و سطح تولید کنید؟ این دوره به دقت طراحی شده است تا شما، مهندس DevOps، مهندس قابلیت اطمینان سایت یا مدیر سیستم را به مهارتهای ضروری پایتون برای اتوماسیون زیرساخت و سادهسازی گردش کارها، مجهز کند. برنامه درسی این دوره بسیار کاربردی است و سرشار از آزمونها و لابراتوارهای برنامهنویسیمیباشد تا بتوانید هر چیزی که در درسها یاد میگیرید را تمرین کنید.
با سرمایهگذاری در این دوره، نه تنها یک زبان را یاد میگیرید، بلکه مجموعهای قدرتمند از ابزارها را برای حل مشکلات واقعی DevOps به صورت موثر و قابل اطمینان کسب میکنید.
چرا این دوره را انتخاب کنید؟
این دوره از پایه با تمرکز بر DevOps ساخته شده است و ترکیبی منحصر به فرد از مفاهیم اصلی پایتون و کاربردهای عملی آن در محیطهای زیرساختی ارائه میدهد.
- رویکرد عملی و متمرکز بر DevOps: ما در این دوره به ساخت وب اپلیکیشنها یا علم داده نمیپردازیم. هر درس، مثال و تمرین به دنیای DevOps اختصاص یافته است. شما با فایلها، APIها، فرمانهای سیستم و فرمتهای داده مانند JSON و YAML کار خواهید کرد، همان چیزهایی که روزمره استفاده میکنید.
- تمرین، تمرین، تمرین: ما فراتر از بحثهای تئوری میرویم، عمیقاً وارد کدنویسی هر چیزی میشویم. در کنار درسهای ویدئوهایی، این دوره سرشار از آزمونها و لابراتوارهای کدنویسی است که به شما کمک میکند هر مفهومی که یاد میگیرید را تثبیت کنید!
- فراتر از مبانی: این دوره تنها یک دوره "یادگیری سینتکس پایتون" نیست. ما به طور عمیق وارد ویژگیهای پیشرفته و قدرتمندی مانند ژنراتورها برای پردازش داده کارآمد از نظر حافظه، دکوراتورها برای افزودن قابلیتهای قابلاستفاده مجدد، context managerها برای مدیریت ایمن منابع، لاگ کردن برای سطح تولید، لاگ کردن اپلیکیشن قوی و خیلی موارد دیگر میشویم! شما یاد میگیرید کدتان صرفاً کاربردی نباشد، بلکه زیبا و بهینه باشد.
- تمرکز بر کد آماده برای تولید: یاد بگیرید چگونه اتوماسیونی بسازید که در تولید قابل اعتماد باشد. ما بخشهای بزرگی را به موضوعات حیاتی مانند لاگ کردن ساختاریافته، مدیریت استثنای پیشرفته، پیادهسازی تلاشهای مجدد با exponential backoff و مهمتر از همه، تست خودکار با pytest اختصاص میدهیم.
چه مهارتهایی در این دوره کسب خواهید کرد؟
در طول این دوره، مجموعهای کامل و ارزشمند از مهارتها را فرا میگیرید که عبارتند از:
- تسلط به اصول پایتون: پایهای محکم در سینتکس، ساختارهای داده (لیستها، دیکشنریها و مجموعهها)، کنترل جریان، توابع و اصول شیگرا بسازید.
- استفاده از ویژگیهای پیشرفته پایتون: از قدرت ژنراتورها برای پایپلاینهای داده کارآمد و دکوراتورها برای افزودن نگرانیهای cross-cutting مانند لاگ کردن و تلاشهای مجدد بدون بههمریختن کدتان استفاده کنید.
- نوشتن اسکریپتهای تابآور و در سطح تولید: پیادهسازی لاگ کردن ساختاریافته برای قابلیت مشاهده بهتر و ایجاد منطق مدیریت استثنای قوی برای شکست دلپذیر
- تضمین قابلیت اطمینان با تستهای خودکار: به pytest برای نوشتن تستهای واحد موثر مسلط شوید. همه چیز از assertionها و فیکسچرهای اولیه تا تکنیکهای پیشرفته مانند پارامتریسازی و ایزوله کردن وابستگیها با ماکها را یاد بگیرید.
- اتوماسیون عملیاتهای سیستم و فایل: مدیریت مطمئن سیستم فایل با pathlib مدرن و اجرای فرمانهای خارجی با ماژول فرآیند فرعی به صورت ایمن
- تعامل با هر API REST: تسلط به استفاده از کتابخانه درخواستها برای ارسال درخواستهای GET و POST، مدیریت متدهای احرازهویت (اولیه و توکن) و ساخت کلاینتهای تابآور با قابلیت مدیریت تایماوتها و تلاشهای مجدد
- مدیریت فرمتهای داده ضروری: تجزیه، پردازش و تولید روان فرمتهای داده که به DevOps قدرت میدهند. - JSON ،YAML و CSV
- ساخت و بستهبندی ابزارهای حرفهای: پروژههای پایتون خود را با ماژولها و پکیجها ساختاردهی کنید و از pyproject.toml برای ایجاد و توزیع ابزارهای خط فرمان قابل نصب خود استفاده کنید.
آماده شوید تا تواناییها و حرفهتان را متحول کنید. بیایید با هم ساخت اتوماسیون DevOps قوی را شروع کنیم!
این دوره برای چه کسانی مناسب است؟
- مهندسان DevOps، مهندسان قابلیت اطمینان سایت و مهندسان ابر که قصد دارند به پایتون برای ساخت اتوماسیون قدرتمند و قابل اسمینان تسلط یابند.
- مدیران سیستم که میخواهند از اسکریپتنویسی shell به ساخت ابزارهای نگهداری و در سطح تولید در پایتون ارتقاء پیدا کنند.
- توسعهدهندگان نرمافزار که در فرهنگ DevOps کار میکنند و به اتوماسیون تست، استقرارها و مدیریت زیرساخت نیاز دارند.
- مهندسان تست اتوماسیون که میخواهند از قدرت کامل پایتون و pytest برای ساخت مجموعههای تست مقاوم بهرهمند شوند.
- متخصصان فناوری اطلاعات و دانشجویانی که به دنبال شروع حرفهای در DevOps، ابر یا مهندسی قابلیت اطمینان سایت هستند و به مهارتهای کاربردی اصلی نیاز دارند.
- هر کسی که میخواهد از نوشتن اسکریپتهای ساده فراتر رود و بیاموزد چگونه اپلیکیشنهای پایتون حرفهای، به خوبی تستشده و بستهبندیشده بسازد.
پایتون برای DevOps - تسلط به اتوماسیون واقعی
-
به این دوره خوش آمدید! 05:37
-
چگونه بییشترین بهره را از این دوره ببریم؟ 05:52
-
همراستا کردن انتظارات 03:19
-
بررسی بخش 00:53
-
چرا پایتون برای DevOps؟ 02:18
-
نصب و پیکربندی پایتون 03:53
-
مدیریت چندین نصب پایتون با pyenv 02:38
-
بررسی محیطهای مجازی 04:40
-
ایجاد اولین محیط مجازی 03:24
-
مدیریت چند محیط مجازی 06:37
-
REPL در پایتون 05:39
-
نوشتن و اجرای فایلهای پایتون 01:47
-
استفاده از JupyterLab برای اجرای کد تعاملی 08:00
-
بررسی بخش 01:20
-
متغیرها 04:40
-
کامنتها 03:15
-
اعداد 07:32
-
رشتهها 12:41
-
بخش عملی: محاسبه مصرف دیسک 03:33
-
مفاهیم اصلی پایتون None
-
آشنایی با لیستها 07:18
-
تغییر محتوای لیست 09:51
-
بخش عملی: تمرین و کار با لیستها 02:20
-
تاپلها 06:01
-
آشنایی با مجموعهها 05:53
-
عملیاتهای مجموعه 06:01
-
بخش عملی: تمرین و کار با مجموعهها 04:30
-
تمایز بین لیستها، تاپلها و مجموعهها 02:36
-
آشنایی با دیکشنریها 12:12
-
عملیاتهای دیکشنری 05:38
-
بخش عملی: تمرین و کار با دیکشنریها 05:56
-
کالکشنهای داده در پایتون None
-
آشنایی با اجرای کد شرطی 03:29
-
عبارتهای if ،else و elif 08:47
-
عبارات گارد 05:02
-
حلقههای for و while 06:53
-
دستورات break و continue 03:59
-
آشنایی با list comprehension 04:01
-
dictionary comprehension ،List comprehension و set comprehension 07:53
-
کنترل جریان و تکرار مختصر None
-
تأییدکننده پیکربندی None
-
آشنایی با توابع 02:05
-
تعریف توابع و مقادیر بازگشتی 05:09
-
پارامترها و آرگومانها 08:19
-
Docstrings 04:11
-
بخش عملی: تمرین و کار با توابع 07:40
-
تابع range 07:53
-
توابع enumerate و ZIP 07:01
-
توابع و ابزارهای تکرار None
-
پارسر خط لاگ None
-
Server Inventory Reporter None
-
آشنایی با کلاسها 05:40
-
متدهای کلاس 04:59
-
وراثت 07:38
-
برنامهنویسی شیءگرا در پایتون None
-
مدیر استقرار شیءگرا None
-
آشنایی با سینتکس args* و kwargs** 06:10
-
ترتیب در آرگومانهای args* و kwargs** 08:32
-
فراخوانی توابع: args* و kwargs** 06:04
-
کار با آرگومانهای انعطافپذیر None
-
Resource Tagger انعطافپذیر None
-
توابع لامبدا 03:18
-
مرتبسازی کالکشنها با لامبدا 03:17
-
تبدیل کالکشنها با لامبدا 02:33
-
فیلترینگ کالکشنها با لامبدا 02:03
-
بررسی بخش 01:32
-
پروتکل تکرار 05:18
-
دموی کد iterable و Iterator 09:18
-
سینتکس ژنراتور 06:15
-
دستور yield 05:23
-
وقفه و ادامه اجرای ژنراتور 03:47
-
State در ژنراتورها 05:36
-
از کار افتادگی ژنراتور 01:58
-
دستورات return و yield 05:06
-
اصول ژنراتور None
-
بخش عملی: تمرین و کار با ژنراتورها 08:12
-
ژنراتور خط فایل لاگ None
-
کدنویسی پایپلاین lazy 18:38
-
ساخت پایپلاین lazy با ژنراتورها None
-
پایپلاین پردازش فایل پیکربندی None
-
توابع به عنوان شهروندان درجه اول 06:31
-
توابع فکتوری 02:50
-
توابع در ساختارهای داده 03:08
-
آشنایی با دکوراتورها 07:04
-
آرگومانها در دکوراتورها 08:54
-
مدیریت مقادیر بازگشتی در دکوراتورها 03:44
-
اصول و بهترین شیوههای دکوراتورها None
-
Argument sanitizer None
-
مدیریت استثناها در دکوراتورها 03:19
-
دکوراتور functools.wraps 04:45
-
دکوراتور فکتوری کنترل دسترسی مبتنی بر نقش (RBAC) None
-
استک کردن دکوراتورها 06:03
-
تمرینات پیشرفته دکوراتورها None
-
مقدمه بخش 01:37
-
سینتکس استثنا 03:57
-
فکر کردن در قالب استثناها 04:22
-
بررسی استثناهای داخلی 07:10
-
استثناهای KeyError و سیستم عامل 08:08
-
استثناهای شاخص، مقدار و TypeError 05:57
-
استثناهای Attribute و ImportError 05:31
-
مدیریت استثنا در پایتون: اصول None
-
دستور raise 05:05
-
raise کردن استثناها 05:56
-
اعتبارسنجی ورودیها برای Resource Tagger انعطافپذیر None
-
اعتبارسنجی ورودیها برای Deployment Manager شیءگرا None
-
تعریف استثناهای سفارشی 03:07
-
اضافه کردن کانتکس به استثناهای سفارشی 08:59
-
raise کردن و تعریف استثناهای سفارشی None
-
دکوراتور RBAC قوی با استثناهای سفارشی None
-
دکوراتور تلاش مجدد پیشرفته با Exponential Backoff و Jitter None
-
پاکسازی دستی کانتکس 05:21
-
پروتکل Context manager 04:09
-
Context managerها و دستور with 07:05
-
تعریف Context managerهای سفارشی 05:56
-
دکوراتور contextmanager 09:56
-
مدیریت منابع با Context managerها None
-
مقدمه بخش 01:33
-
چرا لاگ کردن؟ 07:57
-
آشنایی با ساختار لاگ کردن 06:37
-
بخش عملی: تمرین آناتومی لاگ کردن 13:24
-
سطوح لاگ 15:29
-
لاگ کردن پایتون: مفاهیم و مکانیکهای بنیادی None
-
لاگر فعالیت اسکریپت اولیه None
-
هندلرهای فایل 04:51
-
چرخش فایلهای لاگ بر اساس اندازه 08:18
-
چرخش فایلهای لاگ بر اساس زمان 08:47
-
Log Rotator برای سرویس نظارت None
-
لاگ کردن ساختاریافته با JSON 11:29
-
فیلدهای اضافی و استثناها در لاگهای ساختاریافته 04:56
-
لاگ کردن عملی: هندلرهای فایل و خروجی ساختاریافته JSON None
-
پیکربندی لاگ با فایلهای ini 12:40
-
پیکربندی لاگ با دیکشنریها 07:32
-
پیکربندی لاگ با فایلهای JSON 06:00
-
پیکربندی لاگ پویایی 07:40
-
پیکربندی لاگ پویا و اعلانی None
-
پیکربندی لاگ کردن پویا با حالت Verbose None
-
مقدمه بخش 01:48
-
شیء Path 06:03
-
لیست کردن محتوای دایرکتوری، خواندن و نوشتن فایلها 06:43
-
بررسی عمیق حالتهای خواندن و نوشتن 08:28
-
بررسی عمیق متدهای خواندن و نوشتن 11:29
-
تعامل با سیستم فایل و ورودی و خروجی None
-
بایگانیکننده فایل لاگ None
-
Regex: مقدمه و الزامات 13:03
-
Regex: کمیتسنجها و جستجوی greedy و non-greedy 08:51
-
Regex: گروههای Capturing 08:30
-
Regex: گروههای Non-capturing 03:40
-
تشخیصدهنده خطای خط لاگ None
-
پارسر رویداد ورود کاربر None
-
Regex: بررسی Back-references 05:58
-
Regex: بررسی ()findall و ()finditer 06:21
-
Regex: تقسیم رشته 10:51
-
Regex: جایگزینی رشته 12:27
-
پردازش متن با عبارات منظم None
-
حذفکننده داده حساس در فایلهای پیکربندی None
-
سریالزدایی JSON 09:05
-
سریالسازی JSON 05:04
-
بروزرسانیکننده پیکربندی JSON None
-
آشنایی با عملیاتهای YAML 07:58
-
سریالسازی و سریالزدایی YAML 07:59
-
خواندن فایلهای CSV 08:46
-
نوشتن فایلهای CSV 07:57
-
کار با فرمتهای داده (JSON ،YAML و CSV) None
-
مقدمه بخش 01:14
-
دسترسی به متغیرهای محیطی 08:10
-
تنظیم و حذف متغیرهای محیطی 05:19
-
فایلهای Dotenv 06:42
-
متغیرهای محیطی و پیکربندی None
-
لیست کردن محتوای دایرکتوری 05:36
-
ایجاد دایرکتوریها 03:39
-
حذف فایلها و دایرکتوریها 04:21
-
کپی کردن فایلها و دایرکتوریها 04:43
-
اسکریپت پشتیبانگیری با پاکسازی دایرکتوری None
-
انتقال فایلها و دایرکتوریها 08:22
-
فایلهای موقت 09:57
-
دایرکتوریهای موقت 04:48
-
عملیاتهای سیستم فایل و دایرکتوری None
-
آشنایی با فرآیندهای فرعی 10:31
-
مدیریت خطاهای فرآیند فرعی 05:43
-
مدیریت تایماوتهای منقضیشده 03:27
-
اجرا و مدیریت زیر فرآیندهای فرعی None
-
بررسی سلامت سیستم با پینگ None
-
مقدمه بخش 01:06
-
درخواستهای GET 07:43
-
پارامترهای کوئری 08:01
-
درخواستهای POST 06:27
-
ساخت و بازرسی درخواستهای HTTP None
-
بررسیکننده تعطیلات عمومی None
-
کدهای وضعیت HTTP 05:18
-
Raise برای وضعیت HTTP 04:38
-
احراز هویت اولیه 07:02
-
احراز هویت مبتنی بر توکن 06:30
-
تریگر Job جنکینز None
-
PagerDuty Incident Fetcher None
-
مدیریت تایماوتها 03:45
-
تعامل قدرتمند با API: احراز هویت و مدیریت خطا None
-
تلاشهای مجدد: استراتژی ساده 06:32
-
تلاشهای مجدد: بررسی Exponential backoff با jitter 10:48
-
تابآوری پیشرفته: استراتژیهای تلاش مجدد API None
-
مقدمه بخش 01:30
-
آشنایی با Type Hintها 10:53
-
Type Hintها: تلههای رایج 05:01
-
حاشیهنویسی یک لودر پیکربندی اولیه None
-
نوعدهی لیستها 04:46
-
نوعدهی دیکشنریها، تاپلها و مجموعهها 05:35
-
انواع Union و optional 10:06
-
Type Hintها در پایتون: اصول و کالکشنهای اولیه None
-
نوعدهی تابع مدیریت کاربر و نقش None
-
دیکشنریهای نوعدار 05:15
-
نوعدهی کلاسها 09:49
-
ارجاعهای نوع فوروارد 04:24
-
نوعدهی ساختار یافته: TypedDict و کلاسهای سفارشی None
-
فکتوری شی سرور از دیکشنری None
-
آشنایی با جنریکها 07:58
-
متغیرهای نوع Constrained 04:18
-
متغیرهای نوع Bounded 08:01
-
جنریکها و کلاسها 08:25
-
انعطافپذیری پیشرفته با جنریکها None
-
نوعدهی دکوراتورها 08:01
-
بهبود انواع دکوراتورها 04:29
-
نوعدهی ژنراتورها 05:09
-
نوعدهی iterableها و iteratorها 03:08
-
نوعدهی دکوراتورها و ژنراتورها None
-
مقدمه بخش 01:35
-
Assertionها در pytest 05:13
-
بخش عملی: پیادهسازی مبتنی بر تست 20:17
-
بازرسی خروجی شکست و تقریب شناور 03:33
-
تست استثناها 03:02
-
علامتگذاری تستها به عنوان شکستهای مورد انتظار 02:06
-
پیکربندی pytest 04:49
-
رد کردن تستها 06:10
-
تعیین شکستهای مورد انتظار 03:36
-
مارکرهای سفارشی 06:25
-
اصول pytest: مارکرها، Assertionها و پیکربندی None
-
آشنایی با فیکسچرها 10:44
-
اسکوپهای فیکسچر 08:05
-
اشتراکگذاری فیکسچرها در conftest.py 04:52
-
آشنایی با پارامتریسازی 08:38
-
استفاده از تابع param 10:56
-
مدیریت State تست با فیکسچرها و پارامتریسازی None
-
اصول ماک کردن 08:17
-
دکوراتور patch و fixture mocker 06:07
-
پیکربندی اشیای ماک 11:49
-
تنظیم استثناها و لیستها به عنوان اثر جانبی 08:16
-
استفاده از callable به عنوان اثر جانبی 08:39
-
ماکها در مقابل MagicMock 05:48
-
تکنیکهای پیشرفته تست: ماک کردن با pytest None
-
مقدمه بخش 01:47
-
ماژولهای پایتون 07:39
-
پکیجهای پایتون 07:18
-
آشنایی با پکیجهای فرعی 08:12
-
ایمپورتهای مطلق در مقابل نسبی 08:55
-
خطاهای رایج ایمپورت و چگنگی فیکس کردن آنها 06:59
-
اجرای ماژولهای پایتون 12:17
-
فایل pyproject.toml 07:31
-
افزودن تستها به پروژههای چندفایلی 09:30
مشخصات آموزش
پایتون برای DevOps - تسلط به اتوماسیون واقعی
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:متوسط
- تعداد درس:256
- مدت زمان :20:49:59
- حجم :11.52GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy