ঐচ্ছিক কী সাজানো এবং অ্যাঙ্কর/এলিয়াস সম্প্রসারণ নিয়ন্ত্রণসহ YAML ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই এবং পরিদর্শন করুন।
ঐচ্ছিক কী সাজানো এবং অ্যাঙ্কর/এলিয়াস সম্প্রসারণ নিয়ন্ত্রণসহ YAML ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই এবং পরিদর্শন করুন। ঐচ্ছিক কী সাজানো এবং অ্যাঙ্কর/এলিয়াস সম্প্রসারণ নিয়ন্ত্রণসহ YAML ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই এবং পরিদর্শন করুন।
Array
পটভূমি
YAML কী এবং ভিউয়ারকে কী দরকারি করে তোলে
YAML ("YAML Ain't Markup Language") একটি মানব-বান্ধব ডেটা
সিরিয়ালাইজেশন ফরম্যাট যা কনফিগারেশন ফাইলের জন্য ব্যাপকভাবে ব্যবহৃত হয়
(docker-compose.yml, Kubernetes ম্যানিফেস্ট, GitHub Actions
ওয়ার্কফ্লো, Ansible প্লেবুক ইত্যাদি)। এটি JSON-এর কঠোরতা বিনিময় করে
ইন্ডেন্টেশন-ভিত্তিক কাঠামো এবং একটি সমৃদ্ধ টাইপ সিস্টেমের জন্য যাতে
তারিখ, মাল্টি-লাইন স্ট্রিং এবং রেফারেন্স অন্তর্ভুক্ত।
যেহেতু YAML নেস্টিং প্রকাশ করতে ইন্ডেন্টেশনের উপর নির্ভর করে, একটি অনুপস্থিত
স্পেস পুরো ডকুমেন্টের অর্থ বদলে দিতে পারে, এবং বেশিরভাগ এডিটর
হায়ারার্কি দৃশ্যমানভাবে হাইলাইট করে না। একটি ভিউয়ার ডকুমেন্ট পার্স করে
এবং ধারাবাহিক ইন্ডেন্ট দিয়ে পুনরায় নির্গত করে, ইন্ডেন্টেশন
ভুলগুলো প্রকাশ করার সাথে সাথে কাঠামোও প্রকাশ করে।
জানার মতো বৈশিষ্ট্য
বেশিরভাগ ভিউয়ার কিছু আচরণ টগল করতে দেয়: স্থিতিশীল ডিফের জন্য কী
বর্ণানুক্রমিকভাবে সাজানো, YAML অ্যাঙ্কর এবং
এলিয়াস (& / * সিনট্যাক্স) সম্প্রসারণ বা অপসারণ, এবং ইন্ডেন্টেশন প্রস্থ বেছে নেওয়া।
সর্ট অপশনটি বিশেষভাবে মূল্যবান যখন একই
কনফিগারেশনের দুটি স্ন্যাপশট তুলনা করা হয় — এটি ছাড়া, রিলিজের মধ্যে কী পুনর্বিন্যাস
প্রকৃত পরিবর্তনগুলো লুকিয়ে দিতে পারে।
বাইট-গণনা এবং শীর্ষ-স্তরের-কী স্ট্যাটস দেখতে সাহায্য করে ডকুমেন্টটি
কত ভারী এবং ভর কোথায়। আপনার YAML কোনো এনভায়রনমেন্ট-ভেরিয়েবল সীমা বা কোনো Kubernetes
ConfigMap সাইজ বাজেটের ভেতরে ফিট করে কিনা জানতে হলে,
সেই সংখ্যাটি ঠিক সেখানে আছে।
ওয়ার্কফ্লো টিপস
একটি পার্স ত্রুটি ডিবাগ করার সময়, ডকুমেন্টটি একটি নতুন ভিউয়ার
ট্যাবে কপি করুন এবং অপশনগুলো একে একে টগল করুন: একটি &anchor সিনট্যাক্স
টাইপোর মতো দেখাতে পারে যতক্ষণ না আপনি এটি সম্প্রসারিত দেখেন। খুব দীর্ঘ পাইপলাইনের জন্য,
সাধারণ স্টাইল গাইডের সাথে মেলাতে 4-স্পেস ইন্ডেন্ট ব্যবহার করুন; ইনলাইন
রিভিউ বা চ্যাট পেস্টের জন্য, 2-স্পেস বেশি সঙ্কুচিত। কনফিগারেশন কমিট করার সময় সর্বদা
মূল ডকুমেন্ট কাঠামো সংরক্ষণ করুন: একটি
ভিউয়ার পরিদর্শনের জন্য, নর্মালাইজেশনের জন্য নয়।
সচরাচর জিজ্ঞাসা
YAML কেন অতিরিক্ত ধাপসহ JSON-এর মতো দেখায়?
JSON YAML 1.2-এর একটি কঠোর উপসেট: প্রতিটি JSON ডকুমেন্ট একটি বৈধ YAML ডকুমেন্ট। YAML এর উপরে মন্তব্য, মাল্টি-লাইন স্ট্রিং, রেফারেন্স এবং একটি সমৃদ্ধ টাইপ সিস্টেম যোগ করে।
অ্যাঙ্কর (&) এবং এলিয়াস (*) এর মধ্যে পার্থক্য কী?
একটি অ্যাঙ্কর (`&name value`) একটি নাম দিয়ে মান চিহ্নিত করে; একটি এলিয়াস (`*name`) অন্য কোথাও সেই মান পুনরায় ব্যবহার করে। ভিউয়ার এলিয়াসগুলো ইনলাইন সম্প্রসারিত করতে পারে (`*name` মূল মান হয়ে যায়) অথবা সেগুলো সরাতে পারে, যা কমিটের আগে আউটপুট নর্মালাইজ করার জন্য দরকারি।
ভিউয়ার কি পুনরায় নির্গমনের সময় মন্তব্য সংরক্ষণ করে?
না। বেশিরভাগ YAML লাইব্রেরি (js-yaml সহ) লোড/ডাম্প রাউন্ড-ট্রিপের সময় মন্তব্য সরিয়ে দেয় কারণ YAML-এর ডেটা মডেলে সেগুলো অন্তর্ভুক্ত নয়। মন্তব্য গুরুত্বপূর্ণ হলে, মূল ফাইলটি সরাসরি সম্পাদনা করুন।
ভিউয়ার কেন বলে এটি কোনো ট্যাব ক্যারেক্টার খুঁজে পায় না?
YAML ইন্ডেন্টেশনের জন্য ট্যাব অনুমোদন করে না — শুধুমাত্র স্পেস। একটি ব্লক স্কেলারের ভেতরে একটি একক ট্যাবও কিছু পার্সারকে বিভ্রান্ত করতে পারে। ট্যাবগুলো স্পেস দিয়ে বদলে আবার চেষ্টা করুন।
ভিউয়ার কি মাল্টি-ডকুমেন্ট YAML ফাইল মার্জ করবে?
এটি প্রতিটি ডকুমেন্ট আলাদাভাবে পার্স ও পুনরায় নির্গত করে, কিন্তু বর্তমান ভিউয়ার একবারে একটি একক ডকুমেন্ট নির্গত করে। সেই ফাইলগুলোর জন্য একটি মাল্টি-ডক এডিটর ব্যবহার করুন।
আমার YAML কি আপলোড হয়?
না। পার্সিং এবং পুনরায় ফরম্যাটিং বান্ডেল করা js-yaml লাইব্রেরি দিয়ে স্থানীয়ভাবে হয়; কিছুই ব্রাউজার ছাড়ে না।