TOON ফরম্যাট চিট শীট
আপনি যদি কখনও অনুভব করেন যে JSON খুব ভার্বোস (সেই সমস্ত ধনুর্বন্ধনী!) কিন্তু YAML একটু বেশি "জাদুকর" এবং অপ্রত্যাশিত, আপনি কেবল TOON-এর প্রেমে পড়তে পারেন। এই বিন্যাসটি মানুষের পঠনযোগ্যতা এবং মেশিন পার্সিং গতির মধ্যে একটি অনন্য ভারসাম্য সৃষ্টি করে। এটি ঘন, স্পষ্ট এবং অবিশ্বাস্যভাবে দ্রুত পার্স করার জন্য ডিজাইন করা হয়েছে।
আপনি ডেটা স্থানান্তর করছেন বা শুধুমাত্র একটি কনফিগারেশন ফাইল ডিবাগ করার চেষ্টা করছেন কিনা, এই চিট শীটটি আপনার প্রয়োজনীয় সিনট্যাক্সকে কভার করে।
দর্শন: কম শব্দ, আরও ডেটা
আপনি প্রথম যে জিনিসটি লক্ষ্য করবেন তা হল TOON দেখতে অনেকটা YAML এর মত, কিন্তু এটি কঠোরভাবে JSON এর মত আচরণ করে। এটি ইন্ডেন্টেশন এবং নিউলাইনগুলির পক্ষে খোলার এবং বন্ধনী বন্ধনীগুলিকে খণ্ডিত করে, আপনার ডেটা অবিলম্বে পরিষ্কার দেখায়৷
অবজেক্ট এবং নেস্টিং
JSON-এ, আপনি কোঁকড়া ধনুর্বন্ধনীতে সবকিছু মোড়ানোর জন্য অভ্যস্ত। TOON-এ, গঠনটি ইন্ডেন্টেশন দ্বারা নিহিত।
JSON:
``মো { "প্রকল্প": { "মেটাডেটা": { "নাম": "আলফা-সেন্টরি", "স্থিতি": "সক্রিয়" }, "মাইলস্টোন": [ { "ফেজ": "ডিজাইন", "অগ্রাধিকার": 1 }, { "ফেজ": "পরীক্ষা", "অগ্রাধিকার": 2 } ] } }
টুন:
``মো প্রকল্প: মেটাডেটা: নাম: আলফা-সেন্টাউরি অবস্থা: সক্রিয় মাইলফলক[2]{fase,priority}: নকশা, 1 পরীক্ষা, 2
লক্ষ্য করুন যে কীগুলির উদ্ধৃতি প্রয়োজন হয় না যদি না সেগুলিতে বিশেষ অক্ষর থাকে এবং অনুক্রমটি দৃশ্যত স্পষ্ট হয়।
অ্যারের শক্তি
এখানেই TOON সত্যিই অন্য ফরম্যাট থেকে বিচ্ছিন্ন হয়। TOON-এর জন্য আপনাকে কী-তে অ্যারের দৈর্ঘ্য ঘোষণা করতে হবে। এটি প্রথমে অদ্ভুত বলে মনে হতে পারে, তবে এটি পার্সারকে মেমরির প্রাক-বরাদ্দ করতে দেয়, এটি উজ্জ্বলভাবে দ্রুত করে।
আদিম অ্যারে
স্ট্রিং বা সংখ্যার সহজ তালিকার জন্য, TOON একটি কমপ্যাক্ট, কমা-বিচ্ছিন্ন সিনট্যাক্স ব্যবহার করে।
সিনট্যাক্স:
``মো কী [দৈর্ঘ্য]: আইটেম 1, আইটেম 2, আইটেম 3
আপনার যদি একটি রুট অ্যারে থাকে (পুরো ফাইলটি শুধুমাত্র একটি তালিকা), এটি এইরকম দেখায়:
ট্যাবুলার অ্যারে (দ্য কিলার ফিচার)
এটি এমন বৈশিষ্ট্য যা সাধারণত বিকাশকারীদের জয় করে। যদি আপনার কাছে বস্তুর একটি অ্যারে থাকে যেগুলি একই কী ভাগ করে (যেমন একটি ডাটাবেসের সারি), TOON আপনাকে হেডারে once স্কিমা সংজ্ঞায়িত করতে দেয় এবং তারপরে কেবলমাত্র মানগুলি তালিকাভুক্ত করতে দেয়। এটি JSON-এ পাওয়া বিপুল পরিমাণ অপ্রয়োজনীয়তা সরিয়ে দেয়।
সিনট্যাক্স:
``মো কী[সারি]{col1,col2}:
JSON:
``মো { "জায়": [ { "sku": "KB-99", "পরিমাণ": ৫০, "আইল": 4, "পুনঃক্রম": মিথ্যা }, { "sku": "MS-12", "পরিমাণ": 12, "আইল": 7, "পুনঃক্রম": সত্য }, { "sku": "MN-44", "পরিমাণ": 8, "আইল": 2, "পুনঃক্রম": সত্য } ] }
টুন:
``মো ইনভেন্টরি[3]{sku,quty,isle,reorder}: KB-99,50,4, মিথ্যা MS-12,12,7,সত্য MN-44,8,2,সত্য
এই "CSV-ভিতরে-YAML" পদ্ধতি বড় ডেটাসেটগুলিকে অবিশ্বাস্যভাবে পাঠযোগ্য এবং কম্প্যাক্ট করে তোলে।
মিশ্র এবং নেস্টেড অ্যারে
কখনও কখনও ডেটা অভিন্ন হয় না। যদি আপনার অ্যারেতে বিভিন্ন ধরণের ডেটা থাকে (অবজেক্টের সাথে মিশ্রিত সংখ্যা), অথবা যদি এটিতে জটিল নেস্টেড অবজেক্ট থাকে, তাহলে TOON হাইফেন ব্যবহার করে বুলেট-পয়েন্ট শৈলী সিনট্যাক্সে ফিরে আসে।
আপনি এমনকি অ্যারে ভিতরে অ্যারে থাকতে পারে. নোট করুন কিভাবে ভিতরের অ্যারে তার দৈর্ঘ্য ঘোষণা করে:
উদ্ধৃতি: কখন এটি ব্যবহার করবেন
TOON সম্পর্কে সবচেয়ে সুন্দর জিনিসগুলির মধ্যে একটি হল যে আপনার খুব কমই উদ্ধৃতি প্রয়োজন। আপনি "" এ মোড়ানো ছাড়াই Hello 世界 👋 লিখতে পারেন। যাইহোক, যেহেতু TOON প্রকারগুলি (সংখ্যা, বুলিয়ান) অনুমান করার চেষ্টা করে, তাই নির্দিষ্ট নিয়ম আছে যখন আপনি অবশ্যই উদ্ধৃতি ব্যবহার করবেন।
"অবশ্যই-উদ্ধৃতি" তালিকা
আপনাকে অবশ্যই আপনার স্ট্রিংকে ডবল কোটে মোড়ানো হবে "" যদি:
- এটি একটি সংখ্যা বা বুলিয়ানের মত দেখাচ্ছে: আপনি যদি
"123"বা"সত্য"স্ট্রিং চান, তাহলে উদ্ধৃত করুন। অন্যথায়, তারা সংখ্যা123এবং বুলিয়ানসত্যহবে।
- এটিতে সীমাবদ্ধতা রয়েছে: যদি আপনার স্ট্রিংটিতে একটি কমা থাকে
,(বা আপনার সক্রিয় বিভাজন যাই হোক না কেন), এটি উদ্ধৃত করুন।
- এটির হোয়াইটস্পেস প্রান্ত রয়েছে: লিডিং বা ট্রেইলিং স্পেসের জন্য উদ্ধৃতি প্রয়োজন।
- এতে বিশেষ অক্ষর রয়েছে: অক্ষর যেমন
:,",\,[,],{,}।
- এটি খালি: একটি খালি স্ট্রিংকে
""হিসাবে উপস্থাপন করা হয়।
উদাহরণ:
এস্কেপ সিকোয়েন্স
এটা সহজ রাখুন. TOON শুধুমাত্র স্ট্রিং এর ভিতরে পাঁচটি এস্কেপ সিকোয়েন্স চিনতে পারে। অন্য কিছু অবৈধ.
\\(ব্যাকস্ল্যাশ)
\"(ডবল উদ্ধৃতি)
\n(নতুন লাইন)
\r(গাড়ি ফেরত)
\t(ট্যাব)
উন্নত হেডার এবং ডিলিমিটার
আপনার ডেটা কমা পূর্ণ হলে কি হবে? আপনি প্রতিটি একক ক্ষেত্র উদ্ধৃত করতে চান না। TOON আপনাকে অ্যারে হেডারে বিভেদক পরিবর্তন করতে দেয়।
আপনি একটি ট্যাব বা একটি পাইপ (|) এটিকে বন্ধনী বা বন্ধনীর ভিতরে রেখে ব্যবহার করতে পারেন।
পাইপ ডিলিমিটার উদাহরণ:
হেডারে | যোগ করে, পার্সার আপনার সিনট্যাক্স পরিষ্কার রেখে কমার পরিবর্তে পাইপ খুঁজতে জানে।
কী ভাঁজ করা
আপনার যদি গভীর নেস্টিং থাকে তবে ডেটার একটি মাত্র পথ, আপনাকে পাঁচবার ইন্ডেন্ট করার দরকার নেই। আপনি আপনার কাঠামো সমতল করতে ডট নোটেশন (কী ফোল্ডিং) ব্যবহার করতে পারেন।
স্ট্যান্ডার্ড নেস্টিং:
``মো ব্যবহারকারী: প্রোফাইল: সেটিংস: বিজ্ঞপ্তি: ইমেল: সত্য এসএমএস: মিথ্যা
ভাঁজ করা (ক্লিনার):
``মো user.profile.settings.notifications: ইমেল: সত্য এসএমএস: মিথ্যা
দ্রুত টাইপ রেফারেন্স
TOON ম্যাপ সরাসরি JSON প্রকারে, কিন্তু এটি বৈধ আউটপুট নিশ্চিত করতে জাভাস্ক্রিপ্ট-নির্দিষ্ট প্রান্তের ক্ষেত্রে সুন্দরভাবে পরিচালনা করে।
- সংখ্যা: ক্যানোনিকাল দশমিক হিসাবে সংরক্ষিত।
1.0হয়ে যায়1।
- ইনফিনিটি / NaN: এগুলি
নালহয়ে যায় (যেহেতু JSON তাদের সমর্থন করে না)।
- তারিখ: উদ্ধৃত ISO স্ট্রিংগুলিতে রূপান্তরিত।
- অনির্ধারিত/ফাংশন:
নাল-এ রূপান্তরিত।
- খালি বস্তু: কিছুই না (খালি আউটপুট) হিসাবে উপস্থাপন করা হয়েছে।
- খালি অ্যারে:
কী[0]:হিসেবে উপস্থাপন করা হয়েছে।
TOON একটি বিন্যাস যা নির্ভুলতাকে পুরস্কৃত করে। আপনার অ্যারে আইটেমগুলি গণনা করতে অভ্যস্ত হতে কিছুটা সময় লাগতে পারে, তবে পঠনযোগ্যতা এবং ফাইলের আকারে অর্থপ্রদান প্রচেষ্টার মূল্যবান। শুভ কোডিং!