برنامه نویسی را از صفر شروع کنید!
مشخصات مقاله
-
0.0
-
350
-
0
-
0
YAML چگونه کار می کند؟
YAML چگونه کار می کند؟
YAML شامل ویژگی هایی است که از الگوها و ابزارهای مختلف تعبیه شده در سایر زبان های برنامه نویسی به منظور تسهیل فرآیند خواندن و نوشتن کد الهام گرفته شده است. به عنوان مثال، تورفتگیها و خطوط جدید ممکن است برای ساختار کد استفاده شوند تا نحوه نمایش آن در صفحه نمایش شما، نحوه عملکرد آن را در عمل، مانند پایتون، منعکس کند. همچنین میتوانید عمق فرورفتگیها را پیکربندی نمایید تا اطمینان حاصل شود که تا آنجا که ممکن است کد، برای شما قابل خواندن است، تا زمانی که کدی را که مینویسید حفظ کنید. با این حال، نمیتوانید از یک کاراکتر تب استفاده نمایید که مشکل سازگاری تبهای پردازش سیستمهای عامل مختلف را به روشهای مختلف دور میزند.
کدگذارها ممکن است از YAML برای اتخاذ قالببندی دقیقتر استفاده کنند که در آن دو نوع داده اصلی، فهرستها و آرایهها، که به عنوان نقشه نیز شناخته میشوند، با شکلهای [ ] و {} مشخص میشوند. در واقع، این امر YAML را به یک ابرمجموعه از JSON تبدیل میکند، اگرچه برای خواندن آن برای ماشینها و نه افراد مشخص شده است. این زبان همچنین شامل ویژگیهایی است که در JSON وجود ندارد، مانند نظرات، که برای پشتیبانی ایجاد نشده است.
انواع داده ها همچنین ممکن است مانند Pearl تو در تو باشند تا ساختارهای پیچیده تری را نشان دهند. همچنین ویژگیهای گرفته شده از C، HTML و MIME و همچنین سرصفحههای ایمیل، با دو نقطه برای نشان دادن جفتهای کلید و ارزش آن وجود دارد.
تابع فاصله نیز گنجانده شده است، بنابراین نیازی نیست رشته ها و اعداد را با علامت نقل قول قرار دهید. انواع داده مانند اعداد صحیح و بولین ها به طور خودکار شناسایی و از تاریخ ها و زمان های قالب بندی شده ISO پشتیبانی می شود، اگرچه می توانید انواع داده های خود را نیز تعیین کنید.
این مسئله بدان معناست که زبان YAML بسیار انعطاف پذیرتر از JSON می باشد، که در آن سلسله مراتب ثابت است، با هر گره فرزند فقط یک گره والد و در حالی که گزینه مشابهی در XML وجود دارد، تجزیه YAML به طور خودکار مراجع را گسترش می دهد.
مزایای YAML
از آنجایی که قالببندی ساده است و نیازی نیست نگران بستن براکتها یا علامتهای نقل قول باشید، میتوانید YAML را در ابزارهای ویرایش متن ساده ویرایش نمایید. اما افزونه هایی نیز برای افزودن پشتیبانی YAML به IDE های رایج مانند Visual Studio Code و Atom وجود دارد. اینها می توانند از سرور زبان YAML برای تکمیل خودکار و Intellisense استفاده کنند و چندین YAML برای بررسی صحت کد وجود دارد.
شما نمیتوانید YAML را بنویسید که خود را به روشی که اسناد XML میتوانند انجام دهند، بر اساس طرحواره بنویسید، اما اگر نیاز به تعریف طرحی برای YAML خود دارید، زبانهایی وجود دارند که به شما این امکان را میدهند. ترکیب طرحواره YAML و JSON می تواند قدرتمند باشد: VS Code، مولد وب سایت استاتیک DocFX و حتی طرحواره کتابخانه Q# Quantum Chemistry مایکروسافت از آنها برای دستیابی به نسخه قابل خواندن تر JSON برای انسان استفاده می کند.
استفاده از فایلهای YAML نسبت به تایپ کردن در گزینههای خط فرمان مزایایی دارد؛ شما میتوانید ساختارهای بسیار پیچیدهتری در YAML ایجاد کنید و مجبور نیستید با رشتههای طولانی و غیرقابل انعطاف پارامترها سر و کار داشته باشید. از آنجا که آنها فایل هستند، می توانید آنها را در سیستم های کنترل منبع بررسی کنید، نسخه ها و تغییرات را دنبال نمایید. از آنجایی که YAML خطوط را به عنوان اطلاعات در نظر می گیرد، با سیستم های مبتنی بر git برای ردیابی تغییرات بهتر از JSON کار می کند.
معایب YAML
همانطور که قبلا ذکر شد، اشتباهات بسیار کوچک هنگام تایپ کد YAML می تواند منجر به خطاهای شکستن فایل شود. توسعهدهندگان اغلب با موارد آزاردهندهای مواجه میشوند که در آن مجبور هستند زمان خود را صرف جستجوی خطای قالببندی جزئی کنند که به آنها اجازه نمیدهد پایگاه کد خود را کامپایل نمایند.
از آنجایی که YAML بیشتر از JSON یا XML قابل خواندن است، خواندن از طریق یک فایل YAML به احتمال زیاد نسبت به سایر زبان ها منجر به یافتن خطا می شود. با مرتبطتر شدن نوع پیکربندی شما در YAML به پذیرش DevOps، پیکربندیهایی که مشخص میکنید ممکن است پیچیدهتر شوند و ممکن است نیاز به تخصص بیشتری داشته باشند.
کار با ابزارهای درجه بالاتر در مقایسه با خواندن و نوشتن فایلهای YAML همیشه آسانتر خواهد بود، و انتخاب گستردهای از آنها برای Kubernetes وجود دارد. این انتخاب از ابزارها مانند Helm، که نصب و مدیریت برنامه های Kubernetes را برای سرویس های ابری مدیریت شده ساده می کند، تا خط فرمان kubectl را شامل می شود. ابزارهایی مانند Pulumi که از زبان های برنامه نویسی آشنا مانند JavaScript یا PowerShell استفاده می کنند نیز در این میان قرار می گیرند. YAML یک فرمت پیکربندی است، اما در بسیاری از ابزارها و پروژه های پرکاربرد استفاده می شود که ارزش آشنایی با آن و درک مزایا و معایب آن را دارد.