توسعه دهندگان پایتون بهره وری بالای پایتون را دوست دارند. متاسفانه، بسیاری از برنامههای پایتون از عملکرد کند رنج میبرند. این دوره در مورد رویکردهای مشخص برای بهبود عملکرد برنامههای کاربردی پایتون شما است.
آنچه یاد خواهید گرفت:
آیا برنامههای پایتون شما به کندی اجرا میشوند. ابتدا یاد خواهید گرفت که چگونه عملکرد برنامههای پایتون را اندازه گیری کنید. در مرحله بعد، نحوه نوشتن کدهای سریعتر پایتون را با استفاده از ساختارهای داده مناسب کشف خواهید کرد. در نهایت، یاد خواهید گرفت که چگونه با استفاده از Threadها، asyncio و فرآیندهای دیگر، برنامههای خود را سرعت بخشید. این دوره را بگذرانید و برنامههای پایتون خود را سریعتر کنید!
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [1min]
01-01 Course Overview [1mins]
02 Measuring Performance [38mins]
02-01 Understanding Performance [6mins]
02-02 Strategy to Improve Performance [4mins]
02-03 Basic Ways to Measure Performance [7mins]
02-04 Why Profile [7mins]
02-05 More Profilers [7mins]
02-06 Visualizing Profiling Data [7mins]
03 Using the Right Data Structures [37mins]
03-01 Which Data Structure Is Faster [7mins]
03-02 Comparing Lists and Arrays [6mins]
03-03 Comparing Sets and Tuples [6mins]
03-04 Comparing Queues and Deques [5mins]
03-05 Using Dictionaries [6mins]
03-06 Comparing Dataclass, Dictionary, and NamedTuple [7mins]
04 Optimizing Python Code [47mins]
04-01 Caching [6mins]
04-02 For vs. List Comprehension [5mins]
04-03 Efficient Iterations with Generators [6mins]
04-04 Fast Concatenation of Strings [5mins]
04-05 Permission or Forgiveness [5mins]
04-06 Faster Functions [5mins]
04-07 Optimizing Numerical Calculations [6mins]
04-08 Interpreter-based Optimizations [4mins]
04-09 Risky Optimizations [5mins]
05 Using More Threads [17mins]
05-01 What Are Threads [6mins]
05-02 Challenges of Working with Threads [6mins]
05-03 When to Use Multithreading [5mins]
06 Using Asynchronous Code [18mins]
06-01 Asynchronous Code [6mins]
06-02 Challenges of Working with asyncio [6mins]
06-03 When to Use asyncio [6mins]
07 Using More Processes [22mins]
07-01 Process-based Parallelism [6mins]
07-02 Processes Communication [3mins]
07-03 When to Use More Processes [5mins]
07-04 Scaling from One to More Machines [6mins]
07-05 Summary [2mins]
[فارسی]
01 نمای کلی دوره [1 دقیقه]
01-01 بررسی اجمالی دوره [1 دقیقه]
02 اندازه گیری عملکرد [38 دقیقه]
02-01 درک عملکرد [6 دقیقه]
02-02 استراتژی برای بهبود عملکرد [4 دقیقه]
02-03 روشهای اساسی برای اندازه گیری عملکرد [7 دقیقه]
02-04 چرا پروفایل؟ [7 دقیقه]
02-05 نمایههای بیشتر [7 دقیقه]
02-06 تجسم نمایهسازی دادهها [7 دقیقه]
03 استفاده از ساختارهای داده مناسب [37 دقیقه]
03-01 کدام ساختار داده سریعتر است؟ [7 دقیقه]
03-02 مقایسه لیستها و آرایهها [6 دقیقه]
03-03 مقایسه ستها و تاپلها [6 دقیقه]
03-04 مقایسه صف و دک [5 دقیقه]
03-05 استفاده از فرهنگ لغت [6 دقیقه]
03-06 مقایسه Dataclass، Dictionary و NamedTuple [7 دقیقه]
04 بهینهسازی کد پایتون [47 دقیقه]
04-01 در حال ذخیره [6 دقیقه]
04-02 برای درک فهرست در مقابل [5 دقیقه]
04-03 تکرارهای کارآمد با ژنراتورها [6 دقیقه]
04-04 الحاق سریع رشتهها [5 دقیقه]
04-05 اجازه یا بخشش؟ [5 دقیقه]
04-06 عملکردهای سریعتر [5 دقیقه]
04-07 بهینهسازی محاسبات عددی [6 دقیقه]
04-08 بهینهسازیهای مبتنی بر مترجم [4 دقیقه]
04-09 بهینه سازیهای مخاطره آمیز [5 دقیقه]
05 استفاده از موضوعات بیشتر [17 دقیقه]
05-01 موضوعات چیست؟ [6 دقیقه]
05-02 چالشهای کار با موضوعات [6 دقیقه]
05-03 زمان استفاده از Multithreading [5 دقیقه]
06 با استفاده از کد ناهمزمان [18 دقیقه]
06-01 کد ناهمزمان [6 دقیقه]
06-02 چالشهای کار با asyncio [6 دقیقه]
06-03 زمان استفاده از asyncio [6 دقیقه]
07 استفاده از فرآیندهای بیشتر [22 دقیقه]
07-01 موازیسازی مبتنی بر فرآیند [6 دقیقه]
07-02 فرآیندهای ارتباطی [3 دقیقه]
07-03 زمان استفاده از فرآیندهای بیشتر [5 دقیقه]
07-04 مقیاسبندی از یک به ماشینهای بیشتر [6 دقیقه]
07-05 خلاصه [2 دقیقه]
دن دههها پیش برنامه نویسی را در یک کلون Spectrum آغاز کرد و حرفه برنامه نویسی حرفهای خود را در سال 2003 آغاز کرد. دن با اشتیاق برای یادگیری به هلند رفت تا در دانشگاه گرونینگن تحصیل کند. در حال حاضر، دن به پایان نامه دکترای خود در مورد تصمیم گیری و کسب دانش در معماری نرم افزار، و حدود دوازده مقاله با صدها استناد افتخار میکند. دن سالها از فناوریهای مایکروسافت استفاده کرد، اما به تدریج به پایتون، لینوکس و AWS مهاجرت کرد تا بیشتر با دنیای محاسبات آشنا شود. در حال حاضر، دن یک برنامه نویس تمام وقت پایتون در دفتر رومانیایی یک شرکت جهانی در حوزه تحقیقاتی است.