از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 16 آموزش مهندسی داده و بیگ دیتا، مدرس به بررسی و اعتبارسنجی ورودیهای اسکریپتها میپردازد. این شامل چک کردن خالی نبودن ورودی، وجود فایل یا دایرکتوری، و اعتبارسنجی اعداد است. همچنین، به مفهوم و نحوه استفاده از آرگومانها در اسکریپتها برای اتوماسیون اشاره شده است. مدرس همچنین توضیح میدهد که چگونه با استفاده از شرطها و نمایش آرگومانها به صورت لیست، کارایی اسکریپتها افزایش مییابد.
نکات کلیدی
اعتبارسنجی ورودی شامل چک کردن خالی نبودن، وجود فایل، وجود دایرکتوری و اعتبارسنجی عددی است.
استفاده از آرگومانها در اسکریپتها برای اتوماسیون کارها ضروری است.
استفاده از شرطها در اسکریپت میتواند کارایی را افزایش دهد.
نمایش آرگومانها به صورت لیست میتواند به درک بهتر اطلاعات کمک کند.
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. بریم سراغ ادامه بحث
شیر اسکریپت. ما جلسه قبلی
اینو یاد گرفتیم که چهجوری بتونیم ورودی
رو کنترل بکنیم که خالی نباشه. اما لزوماً
خالی نبودن معنیش این نیست که معتبره.
ما باید یه سری ولیدیشن دیگه رو هم یاد
بگیریم. میخوایم بیم چند تا ولیدیشن یاد
بگیریم.
مثلاً یه مثالی داره میزنه. میزنه که من فرض کنید توی ورودی شما قراره مسیری یک
مسیر یک فایلیو از کاربر دریافت کنید.
صرف اینکه مسیر خالی نباشه
کافی نیست. ما باید بتونیم یه جوری مثلاً
چک بکنیم که
اون مسیر اصلاً وجود داره یا نه به عنوان
مثال.
پس اول چک کردن خالی بودم بعد چک کردن
فرمت بعد چک کردن که اصلاً وجود داره یا
نه
چند نوع ولیدیشونو میخوایم عرضی کنیم
اولیش بهش میگن ریکورد ولیدیشن
و دومی فایل اکزیستنس ولیدیشن
سومی هم دایرکتور اکس ولیدیشن و چهارمی هم
نومریک ولیدیشن
مثلاً بررسی کن که اون پورتی که وارد کرده
حتماً عدد باشه
اصلاً حروف نباشه توش.
خب برای اینکه این ولیدیشن رو بتونیم انجام
بدیم باید کمی سینتکس مربوط به کاندیشن،
شرطها و اپراتورها رو استفاده بکنیم و
یاد بگیریم.
اما جلوتر بریم تو ماژول اختصاصی خودش
راجع بهش صحبت میکنیم.
ولیدشن برای یوزرنم
ما میگیم یوزرنمو وارد کنه با هم دستور
سادهای که خب قبلاًم یاد گرفتیم
حالا ولیدیشن ما اینه که یوزرنم خالی
نباشه قبلاً اینو دیدیم چهجوریه این چک
میکنه خالی نبودنو
اگر این مثبت باشه یعنی خالیه اگرم خالی باشه که بهش یه دونه پیام میدیم
که خالی خیلی میفرستیم
اینو میتونیم بیایم چک کنیم
وین اسلش
او اسلش
اس تست.
اسپیچ
خب این خطا رو پاک میکنم خودش قبلاً نوشته
یه دونه ولی حالا من همونی که اینجا هستو
نقطه تست. اس
مستقیم میگه یوزر آ خط اولشو یادم رفته بزنم
من تو اینسرت نیستم ا خب بعدم اینه
و تمام
آ ریدونلی شده یه لحظه خب میگه که فایل ریدونیشه خب دو نقطه رو
میزنید دبلیو رو میزنید یه دونه من تعجب
میذارید ببینید درست میشه یا نه.
خب
بذارید من الان درست شد.
الان
من اینا رو کلاً پاک کنم. یه بار دیگه از
اول بیاریم.
خب من دستم خورده که این چیز شده این حالت کرش پیدا کرده اومده یه فایل بکآپ درست
کرده برای فایل من خب
باید بگیم که
بذارید کیو رو بزنم بیاد بیرون
یه لحظه صبر کنید برم اینجا ال اس بگیرم
چیا داره اینجا
خب من یه فایل جدید درست میکنم و دست از سرمون برداره فعلاً خب میریم تو اینسرت
مود
الان درست من یه چیز میزنم یه کار دیگه میکنم خب
اینو ذخیره کنیم ببخشید دیگه بیا میبرد
این فایلا رو اجرا کنیم ببینیم چی شد.
خب بعد یه دسترسی چی بهش میدادیم؟ دسترسی اگزکیوت بهش میدادیم. نگاه کنید اینجا رو
اینو جلسه قبلی راجعش صحبت کردیم که فایلی
که شما اولین بار درست میکنید دستز
اگزکیوت نداره باید بهش این اون دسته
ایکسو اضافه کنید
خیلی هم راحت با دستور سی اچ مود پلاس
ایکس اسم اون فایلا رو منویسید
چیه تست د. اس اچ حالا میرید اجراش
میکنید من اینتر بزنم یوزرنیم وارد نکنم
خطا میده
خب بالاخره تونستیم مرحله رو رد کنیم بریم
مرحله بعدی
ولی داشته فقط خالی بودن الان چک میکنه
اما میتونیم قهوانین بیشتری بذاریم مثلاً
کاربر باید یه دونه مسیر لاک فایل به ما
وارد بکنه خب خب یکی اینکه چک کنیم خالی
نباشه اوکی که
باید چک کنیم آیا واقعاً فایلا وجود داره
یا نه
برای فایلای معمولی از دش اف استفاده میشه
یه همچین چیزی
میام اینجا میرم تو مود ا بذار اینا رو پاک کنم همه رو
با دیدی میتونید راحت پاک کنید خب خب
میگم که
یه لاک فایل اول میگیریم از کاربرمون
بعد میایم اینجوری چکش میکنیم که آیا اون وجود داره یا نداره. من الان
یه دونه الکی یه فایلیو میزنم و اصلاً
همچین حالی وجود نداره. ببینیم چه اتفاقی
میفته. دو ن. دبلیو کیو اینو کلیر کنم
بیاد بالای صفحه خب
مثلاً بیایم یه آدرسی رو بهش بدیم چه
آدرسی
من این فایل رو اجرا کنم
مثلاً بگم اسلش هوم اسلش پیستا اس مثلاً
سپیده.
تی اکس دی اصلاً همچین فایلی وجود نداره
چی میگه فایلو وجود نداره اما مثلاً چه
فایلایی داشتیم تو اون مسیر ما یه الس
بگیرم اینجا چه فایلایی داریم مثلاً داریم
پیست تی اکیو داریم میتونیم این مسیرو
تست کنیم
مثلاً بگم اسلش هو اس
۲ اس
ت این فایل وجود داره پس نباید مشکل باشه
دقیقاً خطا نداد پس با دش اف میتونید
اینو چک بکنید
برای وشم برای دایرکتوری دش دیو باید
بذارید با این اینجوری یه الان تعجبم
بچهها پشتش وجود داره
اینم این مثال کامله کاری نداریم رد شیم بیم میخوام یه ذره سریعتر بریم جلو
چین برای اعداد اگه بخوایم انجام بدیم که
مطمئن بشیم عددی که وارد میشه اون چیزی که
وارد میشه عدده یا نه میتونیم با همچین
چیزی انجام بدیم
بذار مثال کاملشو بیاریم به این صورت یه چک میتونیم بکنیم اینو بله چون
خب
اول به عنوان ورودی یه دونه پرت دریافت میکنم اینا
مقدار پیشفرضشم که گذاشته ۲۲ حالا اگه
وارد نکنیم
اینو میارم
میذارم اینجا میخوام مطمئن شم که عدد وارد کرده دو نقطه دبلیو کیو
مثلاً من به عدد وارد نمیکنم الان یه سری
حروف میزنم دیگه باید حتماً عدد باشه
بعد عدد بودنم کفایت نمیکنه شما باید حتماً چک کنید که عددا کم کوچکتر از این
باشه میتونید ۲ تا شرطو با همدیگه کهه
بکنید که اگه هر کدوم رعایت نشد بگه که
درست نیست
اینم یه چیز دیگهست این جیتی یعنی گرتر دن
بزرگتر از اگه بزرگتر از این باشد پرت
معتبر نیست
یه ال تی داریم یعنی کوچکتر جیت تی داریم
یعنی بزرگتر حالا جلوتر راجع به این موضوع
صحبت میکنیم ولی خب اینجاهم داشته باشیم
اینم که اور یکی از دو طرف شرطا درست باشه
کلاً درست میشه
این ترتیبش بچهها میگه مهمه اول باید چک کنیم عدده بعد بریم چک کنیم که کوچیکتر
یا بزرگتره چون اگه عدد نباشه اصلاً چک
کردن این شرط اشتباهه دیگه
بریم مرحله بعدی خب یه جمعبندی بکنیم بحث اینپوتو ببندیم
تا الان ما چیا یاد گرفتیم اگه بخوایم
پرامپتو بنویسیم به این صورت مینویسیم
اگه بخوایم به صورت مخفی چیزی دریافت
بکنیم با این فلگو انجام میدیم چند تا
مقدار بخوایم بگیریم که هیچ مشکلی نداره.
مقدار پیشفرضو دیدیم. بررسی اینپوت بودن
خالی، بررسی فایل، بررسی دایرکتوری، بررسی
عدد، محدوده پر الی آخر. اینا چیزا بود که
تا الان یاد گرفتیم.
اینم یه اسکریپت ساده کوچیکه که میتونید
تمام مواردی که تا الان گفتیمو مرور کنید
باهاش. حالا فعلاً رد میشیم ازش.
بریم جلو.
پروژه نمیخوام فعلاً انجام بدیم.
خب بریم ادامه
درسو می چی بیتی واقعاً به معنای واقعی این یه
کار منو خیلی راحت کرده قبلاً واقعاً
دنبال کردن سرفصل نوشتناش اینو خیلی دردسر
داشت برا من ولی الان واقعاً از خیلی وقته
دیگه چیزی نمینویسم توی دوران ضبطهایی که
انجام میدم دیگه خودش عجیب مینویسه برام
خب خب
تا الان ما بیشتر اطلاعاتو داخل اسکریپت نوشتیم یا به
این صورت خودمون دسته مینوشتیم یا هنگام
اجرا از کاربریم
روش سوم و بسیار مهمی که اطلاعاتو بتونیم هنگام هنگام اجا اسکلیپ مستقیماً بعد از
نام فایل دریافت بکنیم بهش میگن آرگومان
یا میتونیم یه سری آرگومان تعریف بکنیم
چهجوری این کارو بکنیم ببین اینجا
میگه فرض کنید ما یه اسکریپت بکآپ داریم
میتونیم بعد از اسکریپت سؤال بپرسیم که
سورسمون کجاست دستینیشنمون کجاست
اما برای اتومیشن همیشه مناسب نیست این روش بچهها این کهه ما بخوایم از یوزر
بخوایم اینو وارد بکنیم ولی اتومیشن خوب
نیست
اما بهتره که ما بتونیم اینجوری بنویسیم یعنی اونجا که داریم اون اون فایل شلو
اجرا میکنیم بعدش بتونیم مقادی رو
خودمونم وارد بکنیم نیاز نباشه یوزر وارد
کنه دیگه این سؤالو بپرسه این حالت میشه
آرگوما
میگه فرض کن اسکریپتو اینجوری اجرا کنیم یعنی اسم سرور آیپی و پورتو همین بعد خود
اسکریپته بگیریم
و اینا رو در اختیار اسکریپت قرار میده
اولیش میشه هشتگ صفر دومی میشه هشتگ
نبخشید دالر
دالر یک یعنی اینا رو میاره میریزه داخل
یه سری متغیر که از صفر شروع میشه اسماش
بریم اینو چک بکنیم من اینو اجرا کنم بیارم اینجا
خب چرا پاک نمیشه اوکی
الان فهمیدم چش بوده کیبوردم فارسی بوده بریم مود اینسرت
من این کپی کنم کل اینو
دو نقطه
دبلیو کیو الان میتونم سه تاشو به صورت مستقیم
دریافت بکنم یعنی بیام اینجا و یه تیکه رو
کپی کنم
اینجا که دارم اینو اجرا میکنم پشت سرش سه تا رو وارد کنم الان سه تا رو تو خروجی
برای من چاک بکنم فرست آرگومان سکند
آرگومان و ترد آرگومان پس میشه به عنوان
ورودی اینجوری هم در کرد برای اتومیشن این
بهتره
میگه میتونید اینا رو بیاید تبدیل بکنید به یه سری اسمای معنیدار
بهتر از ابتدای اسکریپت اینو بنویسیم دقیقاً بیایم اینا رو بگیم که این
منظورمون سرور نیمه این سرور آیپی سرور اس
اس اچ پورته
یه همچین چیزی یعنی مییم ابتداش اینا رو
مشخص کنیم بعد بگیم حالا وارد کن بیایم
اینو انجام بدیم
الان من اینجا اینو وارد بکنم اینا به این صورت میشه پس شما میتونید اسم اینا رو
عوض بکنید به این شکل خیلی چیز مهمیه چون
برای اتومیشن خیلی به درد میخوره شما
اسکریپتو اجرا میکنید آرگمارم جلوش وارد
میکنید دیگه نیاز کسی دیتایی به شما بده
حالا اگه آرکما وجود نداشت چی میشه یعنی
من اینجا اینا رو وارد نکنم خالی رد میشه
یه چک بکنیم من د تا رو وارد نکنم
با بالایی مقایسه کنید اینو وارد کردم
گرفت اینا رو خالی داره قطع میکنه دیگه
داخلش چیزی نمیره
برای همین باید بچهها حتماً تعداد آرکومنا بررسی باشه که درست باشه
با این میتونید تعداد آرکوم رو بررسی
کنید. هشتگ دالر
حالا میتونید یه شرطی توش بذارید و بر اساس اون برید جلو خیان دو دنبال شرط بدم
یه همچین شرطی میذارید میگید که اگر کمتر از صفر بود اگه مساوی سه نبود ببخشید
اونوقت بگو با یه چیزی وارد نکردیم
میتونیم اینو ابتداش بذاریم قبل اینکه اصلاً کاری بکنید
این چی میگه؟ این میاد تمام آرگومها رو نشون میده.
اه اینایی که به عنوان ورودی دادیم رو
بهمون خ برمیگردونه با این شا به درد
بخوره.
میتونیم باهاش لوپ بزنیم. باحاله این متعد تمام اینا رو آرگون نشون میدهست
فرقش اون بالایی چیه
میگه بعداً تو لو راجع بهش صحبت میکنیم اوکی ببین اسپیس دال
اوکی پروداکشن وب سرور
میگه اینجا بش ه س تا آرگومان به عنوان
ورودی میبینه این یکی این د تا این سه تا
درسته
اما اگه بخوایم تمامش رو به عنوان یه دونه
آرگومان در نظر بگیره باید حتماً به این
صورت بچهها وارد بکنید یعنی بین دبل
کوتیشن بذارید حتماً
بدون اینو سه تا میگیره با کتینو یه دونه میگیره
و بعد دیگه رفت یه مثال واقعی زد
همین کفایت میکنید بریم بیایم ادامهش جلسه بعدی صحبت کنیم فعلاً خداحافظ
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای اعتبارسنجی ورودیها، باید ابتدا چک کنیم که ورودی خالی نیست، سپس وجود فایل یا دایرکتوری را بررسی کنیم و در صورت نیاز، اعداد را نیز اعتبارسنجی کنیم.
آرگومانها به اسکریپت اطلاعات از کاربر یا خود اسکریپت میدهند که میتواند به اتوماسیون کارها کمک کند.
شرطها در اسکریپت میتوانند به انجام عملیات متفاوت بر اساس ورودیها کمک کنند و کارایی اسکریپت را افزایش دهند.
آخرین بهروزرسانی محتوای متنی:
🎓 دوره جامع «متخصص مهندسی داده و بیگ دیتا» | Pista Academy در دنیای امروز، حجم عظیمی از دادهها هر روز توسط سازمانها، کسبوکارها و سرویسهای آنلاین تولید میشود؛ اما داده زمانی ارزشمند است که بتوانیم آن را بهدرستی جمعآوری، ذخیره، پردازش و مدیریت کنیم. در دوره «متخصص مهندسی داده و بیگ دیتا» در Pista Academy، قدمبهقدم با مفاهیم، ابزارها و تکنولوژیهای مهم حوزه Data Engineering و Big Data آشنا میشویم و تلاش میکنیم مسیر یادگیری را از مفاهیم پایه تا ابزارهای حرفهای این حوزه طی کنیم. 📚 در این دوره با موضوعاتی مانند موارد زیر آشنا خواهید شد: 🔹 Linux Server و ابزارهای موردنیاز مهندسی داده 🔹 Python و Java برای کار با ابزارهای Data Engineering 🔹 مفاهیم دادههای توزیعشده و پایگاه داده 🔹 پایگاه دادههای رابطهای و SQL 🔹 پایگاه دادههای NoSQL 🔹 مفاهیم Big Data 🔹 اکوسیستم Hadoop 🔹 کار با ابزارهای Hadoop و مثالهای کاربردی 🔹 Apache Spark و پردازش دادههای حجیم 🔹 کار عملی با ابزارهای Spark 🔹 Kubernetes 🔹 خودکارسازی و مدیریت فرایندهای انتشار در مهندسی داده 🎯 این دوره برای چه کسانی مناسب است؟ اگر قصد دارید وارد حوزه مهندسی داده شوید، دانش خود را در زمینه Big Data گسترش دهید یا با ابزارهایی مانند Hadoop، Spark، SQL، NoSQL و Kubernetes بهصورت جدیتر آشنا شوید، این دوره میتواند مسیر مناسبی برای شروع و توسعه مهارتهای شما باشد. در طول دوره تلاش میکنیم مفاهیم را به زبان ساده و کاربردی بررسی کنیم و در کنار مباحث تئوری، با ابزارها و سناریوهای واقعی نیز آشنا شویم. ━━━━━━━━━━━━━━━━━━ 📌 نام دوره: متخصص مهندسی داده و بیگ دیتا 🏫 Pista Academy آموزش تخصصی، ساده و کاربردی اگر این آموزش برای شما مفید بود، با 👍 لایک کردن ویدیو و Subscribe کردن کانال Pista Academy از ادامه تولید آموزشهای تخصصی حمایت کنید. همچنین اگر درباره مباحث دوره سؤال یا پیشنهادی دارید، در بخش نظرات مطرح کنید. 👇 #مهندسی_داده #بیگ_دیتا #DataEngineering #BigData #Python #SQL #NoSQL #Hadoop #Spark #Kubernetes #PistaAcademy