YAML কনফিগারেশন (.yaml)

YAML স্ট্যান্ডার্ড

YAML Ain't Markup Language (YAML) হলো আধুনিক ডেভপস, ক্লাউড অবকাঠামো (কুবারনেটস, ডকার কম্পোজ) এবং CI/CD অটোমেশনের প্রধান ডেটা সিরিয়ালাইজেশন ফরম্যাট, যা পরিচ্ছন্ন হোয়াইটস্পেস ইন্ডেন্টেশনের মাধ্যমে মানব পঠনযোগ্যতার ওপর জোর দেয়।

YAML থেকে JSON কনভার্ট করুন

বিনামূল্যে ইন-ব্রাউজার YAML থেকে JSON কনভার্টার। আপনার ডিভাইসে তাত্ক্ষণিকভাবে ফাইল কনভার্ট করুন।

ইনস্পেক্ট ও মেটাডেটা

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে YAML ফাইল শনাক্ত করে:

এখানে ফাইল নির্বাচন করুন বা ড্রপ করুন

১০০% প্রাইভেট ব্রাউজার-মধ্যস্থ কনভার্শন - ফাইল কখনো আপনার ডিভাইস ছেড়ে যায় না

অথবা পেস্ট করুন Ctrl+V
জিরো-নেটওয়ার্ক-ট্রান্সমিশন প্রাইভেসি গ্যারান্টি: বাহ্যিক সার্ভারে ০ বাইট আপলোড করা হয়েছে। সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজার স্যান্ডবক্সে স্থানীয়ভাবে ঘটেছে।

বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে YAML ফাইল শনাক্ত করে:

হেক্স সিগনেচার (অফসেট 0):

2D 2D 2D 0A

ASCII রিপ্রেজেন্টেশন: ---\n

স্ট্যান্ডার্ডাইজেশন: YAML 1.2.2 Specification

প্রযুক্তিগত বৈশিষ্ট্য

কন্টেইনার আর্কিটেকচারIndentation-based human-friendly data serialization format superset of JSON supporting anchors and aliases
কম্প্রেশনUncompressed text stream
বাইট এন্ডিয়াননেসUTF-8 / Unicode text stream
কালার স্পেসN/A (Data Serialization)
চ্যানেল ও কাঠামোMappings (key-value dictionaries), sequences (lists), scalar types (strings, numbers, booleans), and anchors (&ref/*ref)
সর্বোচ্চ মাত্রাUnbounded document size (supports multi-document streams separated by '---')
স্বচ্ছতাNone
স্ট্রিমিং ও প্রোগ্রেসিভMulti-document streams allow sequential document-by-document processing

টেকনিক্যাল তুলনা ম্যাট্রিক্স: YAML বনাম প্রতিযোগীগণ

প্রযুক্তিগত বৈশিষ্ট্যYAML (বর্তমান)JSONTOMLXML
সিনট্যাক্স স্টাইলইন্ডেন্টেশন হোয়াইটস্পেস হায়ারার্কিকঠোর ব্র্যাকেট এবং কোটেশনটেবিল এবং key=value জোড়বিবরণমূলক ওপেনিং/ক্লোজিং ট্যাগ
কমেন্ট সমর্থননেটিভ (# কমেন্ট)কোনো কমেন্ট অনুমোদিত নয়নেটিভ (# কমেন্ট)<!-- কমেন্ট -->
ডেভপস গ্রহণসর্বজনীন স্ট্যান্ডার্ড (কুবারনেটস, CI/CD)সর্বজনীন API স্ট্যান্ডার্ডরাস/পাইথন প্যাকেজ কনফিগারেশনএন্টারপ্রাইজ লিগ্যাসি কনফিগারেশন
ডেটা পুনঃব্যবহারনেটিভ অ্যাঙ্কর (&) এবং এলিয়াস (*)নেই (ম্যানুয়াল ডুপ্লিকেশন)নেই (ম্যানুয়াল ডুপ্লিকেশন)XML এনটিটি

সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড

পার্সার ত্রুটি: 'mapping values are not allowed here' বা ইন্ডেন্টেশন ত্রুটি।

মূল কারণ: ট্যাব এবং স্পেস একসাথে ব্যবহার করা বা ভুলভাবে সাজানো ইন্ডেন্টেশন লেভেল।

পুনরুদ্ধার: ট্যাবগুলোকে স্পেস দিয়ে প্রতিস্থাপন করুন এবং File2File YAML ফরম্যাটার ব্যবহার করে সিনট্যাক্স যাচাই করুন।

নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর

যে সমস্ত YAML পার্সার কাস্টম টাইপ ট্যাগ সমর্থন করে (যেমন PyYAML-এর 'yaml.load()'), সেগুলো অতীতে স্বেচ্ছাচারী অবজেক্ট ইনস্ট্যান্সিয়েশনের মাধ্যমে রিমোট কোড এক্সিকিউশন (RCE) এর সুযোগ দিত।

পরিচিত অ্যাটাক ভেক্টর

  • অনিরাপদ অবজেক্ট ডিসিরিয়ালাইজেশন ট্যাগ (যেমন '!!python/object/apply') এর মাধ্যমে স্বেচ্ছাচারী কোড এক্সিকিউশন।
  • এনটিটি এক্সপ্যানশন বম (YAML অ্যাঙ্কর এবং এলিয়াস ব্যবহার করে বিলিয়ন লাফস অ্যাটাকের সমতুল্য)।
  • অন্তর্নিহিত বুলিয়ান এবং টাইমস্ট্যাম্প পার্সিংয়ের কারণে টাইপ কনফিউশন দুর্বলতা।

প্রতিরক্ষামূলক সেরা অনুশীলন:

ঐতিহাসিক উৎপত্তি ও মাইলফলক

2021YAML 1.2.2 সংস্করণ প্রকাশিত হয়, যা JSON সামঞ্জস্যতা এবং আনুষ্ঠানিক ব্যাকরণ সংজ্ঞা উন্নত করে।
2009YAML 1.2 স্ট্যান্ডার্ড অনুযায়ী YAML কে JSON-এর একটি কঠোর সুপারসেট হিসেবে নির্ধারণ করা হয়, যার মানে সমস্ত বৈধ JSON-ই বৈধ YAML।
2001ক্লার্ক ইভানস, ইঙ্গি ডট নেট এবং ওরেন বেন-কিচি XML-এর মানব-বান্ধব বিকল্প হিসেবে YAML তৈরি করেন।

প্রধান সুবিধাসমূহ ও গুণাবলী

  • আধুনিক ক্লাউড অবকাঠামোর অবিসংবাদিত মানদণ্ড: কুবারনেটস ম্যানিফেস্ট, ডকার কম্পোজ এবং গিটহাব অ্যাকশনসে সার্বজনীনভাবে ব্যবহৃত হয়।
  • পরিচ্ছন্ন, পঠনযোগ্য সিনট্যাক্স: স্বজ্ঞাত ইন্ডেন্টেশনের মাধ্যমে ব্র্যাকেট, বন্ধনী এবং কোটেশনের ঝামেলা দূর করে।
  • ডুপ্লিকেশন ছাড়াই পুনরাবৃত্ত কনফিগারেশন ব্লকগুলো পুনরায় ব্যবহার করার জন্য রেফারেন্স এবং অ্যাঙ্কর (&anchor / *anchor) সমর্থন করে।

কারিগরি সীমাবদ্ধতা ও অসুবিধা

  • হোয়াইটস্পেস সংবেদনশীল: একটি অনভিপ্রেত ট্যাব বা সামান্য অতিরিক্ত স্পেস নথির হায়ারার্কি নষ্ট করতে পারে বা পার্সিং ত্রুটি ঘটাতে পারে।
  • কুখ্যাত টাইপ কোমরিশন বাগ: 'no', 'on', 'yes' বা দেশের কোডের (নরওয়ের জন্য 'NO') মতো উদ্ধৃতিচিহ্নহীন শব্দগুলো নীরবে বুলিয়ানে রূপান্তরিত হতে পারে।
  • বাইনারি ফরম্যাট বা কঠোর JSON-এর তুলনায় উল্লেখযোগ্যভাবে ধীর পার্সিং গতি।

আকর্ষণীয় কারিগরি তথ্য

  • YAML-এর আদি অর্থ ছিল 'Yet Another Markup Language', কিন্তু ডেটা সিরিয়ালাইজেশনের ওপর জোর দিতে এর নাম পরিবর্তন করে মজার ছলে রিকার্সিভ অ্যাক্রোনিম 'YAML Ain't Markup Language' করা হয়।
  • 'নরওয়ে সমস্যা' হলো একটি বিখ্যাত প্রোগ্রামিং বাগ যেখানে YAML ফাইলের দেশের কোড 'NO'-কে ভুলবশত বুলিয়ান মান 'false' হিসেবে পার্স করা হয়েছিল।
  • বিশ্বের প্রতিটি বৈধ JSON ফাইল একই সাথে ১০০% বৈধ YAML ফাইলও বটে।

সচরাচর জিজ্ঞাসಿತ টেকনিক্যাল প্রশ্নাবলি

YAML কী কাজে ব্যবহার করা হয়?

YAML হলো ক্লাউড কম্পিউটিং, Kubernetes ক্লাস্টার ডিপ্লয়মেন্ট, Docker Compose ফাইল, GitHub Actions ওয়ার্কফ্লো এবং সফটওয়্যার সেটিংসের প্রাথমিক কনফিগারেশন ভাষা।

আমি কি YAML ফাইলে ট্যাব ব্যবহার করতে পারি?

না। অফিশিয়াল YAML স্পেসিফিকেশন ইন্ডেন্টেশনের জন্য ট্যাব ক্যারেক্টার ব্যবহার কঠোরভাবে নিষিদ্ধ করে; আপনাকে সর্বদা স্পেস ব্যবহার করতে হবে (সাধারণত প্রতি লেভেলে ২টি স্পেস)।

আমি কীভাবে YAML-কে JSON-এ রূপান্তর করতে পারি?

সম্পূর্ণ গোপনীয়তা বজায় রেখে আপনার ওয়েব ব্রাউজারে সরাসরি File2File.app ব্যবহার করে এক ক্লিকেই আপনি YAML ফাইলগুলোকে পরিষ্কার, যাচাইকৃত JSON-এ রূপান্তর করতে পারেন।