Kahibaro
Discord Login Register

خودکارسازی چیست؟

مقدمهٔ خودکارسازی

خودکارسازی (Automation) یعنی سپردن انجام یک کار تکراری به کامپیوتر، به‌طوری‌که:

در این فصل‌ها یاد می‌گیرید چطور با پایتون کارهای تکراری و خسته‌کننده را به برنامه بسپارید.

تعریف سادهٔ خودکارسازی

اگر کاری این ویژگی‌ها را داشته باشد، معمولا می‌توان آن را خودکار کرد:

  1. تکراری است
    مثلا هر روز یا هر هفته، یا بارها در طول روز انجام می‌شود.
  2. الگوی مشخص دارد
    یعنی قدم‌های آن تقریبا همیشه یکسان است:
    • فایل را باز کن
    • چند خط را بخوان
    • نتیجه را جایی ذخیره کن
  3. به تصمیم‌گیری پیچیدهٔ انسانی نیاز ندارد
    کامپیوتر با یک سری قوانین ساده می‌تواند تصمیم بگیرد چه کار کند.

خودکارسازی یعنی:

چرا خودکارسازی مهم است؟

چند دلیل اصلی:

۱. صرفه‌جویی در زمان

فرض کنید هر روز ۳۰ دقیقه صرف کارهای تکراری می‌کنید:

اگر این کار را خودکار کنید و به ۱ دقیقه برسانید:

۲. کاهش خطای انسانی

انسان خسته می‌شود، حواسش پرت می‌شود و اشتباه می‌کند.
کامپیوتر:

این در کارهایی مثل:

۳. یکنواختی و استاندارد شدن کار

با خودکارسازی می‌توانید مطمئن باشید:

این موضوع بعدا:

۴. آزاد شدن ذهن برای کارهای مهم‌تر

به جای وقت گذاشتن روی:

می‌توانید:

خودکارسازی دستی در مقابل خودکارسازی با برنامه‌نویسی

دو نوع «خودکار کردن» وجود دارد:

۱. خودکارسازی دستی (بدون کدنویسی)

مثلا:

این روش‌ها:

۲. خودکارسازی با برنامه‌نویسی (مثل پایتون)

در این دوره تمرکز ما روی این نوع است.
با پایتون می‌توانید:

مثلا:

ویژگی‌های مناسب برای خودکارسازی با پایتون

همه‌چیز را نباید خودکار کرد.
کارهایی برای خودکارسازی با پایتون مناسب‌اند که:

  1. ورودی و خروجی مشخصی دارند
    مثلا:
    • ورودی: یک پوشهٔ حاوی عکس‌ها
    • خروجی: یک پوشهٔ جدید که عکس‌ها با نام‌های مرتب ذخیره شده‌اند
  2. مراحل می‌توانند به زبان ساده توصیف شوند
    مثلا:
    • «همهٔ فایل‌های PDF را پیدا کن»
    • «اگر نام فایل شامل گزارش بود، آن را به پوشهٔ report منتقل کن»
  3. با فایل‌ها، متن، وب یا داده‌ها سروکار دارند
    بخش زیادی از خودکارسازی در پایتون دربارهٔ:
    • کار با فایل‌ها و پوشه‌ها
    • پردازش متن‌ها و داده‌ها
    • ارتباط با سرویس‌های وب
      است (جزئیات این‌ها در زیر‌فصل‌های بعدی همین فصل می‌آید).
  4. نیاز به تکرار منظم دارند
    مثلا:
    • هر روز، هر هفته یا هر ماه
    • یا هر بار که دادهٔ جدید می‌رسد

مثال‌های ساده از ایده‌های خودکارسازی (بدون پیاده‌سازی کامل)

در این زیر‌فصل نمی‌خواهیم کد کامل بنویسیم، فقط ایده‌ها را نشان می‌دهیم تا حس بگیرید خودکارسازی یعنی چه. جزئیات پیاده‌سازی در زیر‌فصل‌های بعدی همین فصل می‌آید.

مثال ۱: مرتب‌سازی خودکار فایل‌ها در یک پوشهٔ دانلود

ایده:

نمایی خیلی ساده از منطق کار به شکل شبه‌کد:

اگر پسوند فایل .jpg یا .png بود -> انتقال به پوشهٔ تصاویر
اگر پسوند فایل .pdf بود         -> انتقال به پوشهٔ اسناد
در غیر این صورت                  -> در همان‌جا بماند

در زیر‌فصل «کار با فایل‌ها و پوشه‌ها» یاد می‌گیرید چطور چنین ایده‌ای را در پایتون اجرا کنید.

مثال ۲: تولید گزارش ساده از یک فایل متنی یا CSV

فرض کنید هر روز یک فایل داده دریافت می‌کنید. می‌توانید اسکریپتی بسازید که:

منطق کلی:

باز کردن فایل داده
خواندن همهٔ ردیف‌ها
محاسبهٔ آمار موردنظر (مثلا میانگین)
نوشتن نتیجه در یک گزارش متنی

در زیر‌فصل «خودکارسازی پردازش متن» نمونه‌های واقعی‌تری خواهید دید.

مثال ۳: تمیز کردن متن‌ها

فرض کنید:

می‌توانید اسکریپتی بنویسید که:

مزایا و معایب خودکارسازی

خودکارسازی همیشه «خوب» نیست؛ باید با دقت از آن استفاده کرد.

مزایا

معایب / چالش‌ها

نقش پایتون در خودکارسازی

چرا برای خودکارسازی در این دوره روی پایتون تمرکز می‌کنیم؟

  1. سینتکس ساده و خوانا
    حتی برای تازه‌کارها قابل‌فهم است.
  2. کتابخانه‌های فراوان
    برای:
    • کار با فایل و پوشه
    • پردازش متن
    • کار با وب
    • کار با زمان و تاریخ
      کتابخانه‌های آماده وجود دارد.
  3. قابل‌استفاده در سیستم‌عامل‌های مختلف
    ویندوز، macOS، لینوکس
  4. مناسب برای اسکریپت‌های کوچک و پروژه‌های بزرگ
    می‌توانید با چند خط کد کار ساده را خودکار کنید،
    یا بعدا ابزار بزرگ‌تری از روی همان ایده بسازید.

در زیر‌فصل‌های بعدی همین فصل (۱۴) می‌بینید چطور:

در عمل از کجا شروع کنیم؟

برای این‌که بتوانید کار خودتان را خودکار کنید، این چهار سؤال را از خودتان بپرسید:

  1. کدام کار من تکراری است و از انجامش خسته می‌شوم؟
  2. آیا می‌توانم این کار را قدم‌به‌قدم روی کاغذ توضیح دهم؟
  3. آیا داده‌های این کار (فایل‌ها، متن‌ها، پوشه‌ها…) در دسترس برنامه هستند؟
  4. آیا این کار آن‌قدر تکرار می‌شود که ارزش نوشتن یک اسکریپت را داشته باشد؟

اگر پاسخ بیشتر این سؤال‌ها «بله» است،
احتمالا این کار یک نامزد خوب برای خودکارسازی با پایتون است.

در بخش‌های بعدی فصل ۱۴،
روی نمونه‌های واقعی‌تری کار می‌کنیم و قدم‌به‌قدم آن‌ها را به اسکریپت‌های پایتون تبدیل خواهیم کرد.

Views: 6

Comments

Please login to add a comment.

Don't have an account? Register now!