Ruby Academy · पाठ

Format चुनना

विभिन्न विकल्पों के समझौते

पाठ 4, कुल 4 में से13 चरण

Format चुनना, CoddyKit पर Ruby Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Ruby Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

तीन प्रारूप, तीन काम

अब आप JSON, CSV और YAML जानते हैं। हर प्रारूप अलग-अलग परिस्थितियों में बेहतर काम करता है। सही प्रारूप चुनने से आपका डेटा बनाना, संग्रहीत करना और उपयोग करना आसान रहता है।

  • एपीआई और वेब के लिए JSON
  • सारणीबद्ध या स्प्रेडशीट डेटा के लिए CSV
  • कॉन्फ़िगरेशन के लिए YAML
puts ['JSON', 'CSV', 'YAML'].join(', ')

JSON की खूबियाँ

JSON संक्षिप्त है, लगभग हर जगह समर्थित है और नेस्टेड हैश तथा ऐरे में बदल जाता है। सेवाओं के बीच वेब एपीआई और डेटा के आदान-प्रदान के लिए यह वास्तविक मानक है।

require 'json'
puts({ id: 1, items: [1, 2] }.to_json)

JSON की कमियाँ

JSON में कोई टिप्पणियाँ नहीं होतीं और मनुष्यों के लिए हाथ से संपादित करने पर यह अनावश्यक रूप से विस्तृत होता है। अंत में लगाए गए कॉमा और सिंगल कोट अमान्य होते हैं, जिससे कॉन्फ़िगरेशन फ़ाइलों में लोगों को परेशानी होती है।

require 'json'
begin
  JSON.parse('{"a":1,}')
rescue JSON::ParserError
  puts 'trailing comma not allowed'
end

CSV की खूबियाँ

CSV सपाट, सारणीबद्ध डेटा के लिए बिल्कुल उपयुक्त है: पंक्तियाँ और कॉलम। स्प्रेडशीट, निर्यात और बड़ी मात्रा में आयात—सभी CSV का उपयोग करते हैं, और बड़ी सारणियों के लिए यह अत्यंत संक्षिप्त होता है।

require 'csv'
puts(CSV.generate { |c| c << ['a', 'b']; c << [1, 2] })

CSV की कमियाँ

CSV नेस्टेड या पदानुक्रमित डेटा को व्यक्त नहीं कर सकता। इसमें कोई मानक प्रकार-प्रणाली नहीं होती, इसलिए परिवर्तित करने तक हर चीज़ एक स्ट्रिंग रहती है। इसके अलग-अलग रूपों में विभाजक और उद्धरण का तरीका भी अलग हो सकता है।

require 'csv'
row = CSV.parse_line('5,true')
puts(row[0].class)
puts(row[1].class)

YAML की खूबियाँ

YAML सबसे अधिक मनुष्य-पठनीय है, टिप्पणियों का समर्थन करता है और नेस्टिंग को साफ़-सुथरे ढंग से संभालता है। इसलिए यह उन कॉन्फ़िगरेशन फ़ाइलों के लिए आदर्श है जिन्हें डेवलपर हाथ से संपादित करते हैं।

require 'yaml'
text = "# app config\nport: 8081"
puts(YAML.load(text)['port'])

YAML की कमियाँ

YAML के इंडेंटेशन नियमों में त्रुटि की बहुत संभावना होती है (एक अतिरिक्त स्पेस भी इसे बिगाड़ सकता है), और असुरक्षित लोडिंग सुरक्षा जोखिम बन सकती है। इसे पार्स करना JSON की तुलना में धीमा भी होता है।

require 'yaml'
cfg = YAML.safe_load("port: 8081")
puts(cfg['port'])

नेस्टिंग की तुलना

JSON और YAML दोनों एक ही नेस्टेड संरचना को स्वाभाविक रूप से दर्शा सकते हैं; CSV नहीं।

require 'json'
require 'yaml'
data = { 'user' => { 'name' => 'Ada', 'roles' => ['admin'] } }
puts(data.to_json)
puts(data.to_yaml)

पठनीयता बनाम संक्षिप्तता

समझौता यह है: YAML सबसे अधिक पठनीय है, JSON संतुलित है और CSV सारणियों के लिए सबसे अधिक संक्षिप्त है। चुनाव इस आधार पर करें कि मुख्य उपयोगकर्ता मनुष्य हैं या मशीनें।

require 'json'
require 'yaml'
h = { 'a' => 1, 'b' => 2 }
puts("JSON len: #{h.to_json.length}")
puts("YAML len: #{h.to_yaml.length}")

निर्णय लेने की मार्गदर्शिका

त्वरित नियम:

  • वेब एपीआई से बात करनी है? JSON
  • स्प्रेडशीट के लिए पंक्तियाँ निर्यात करनी हैं? CSV
  • मनुष्य द्वारा संपादित की जाने वाली ऐप सेटिंग्स? YAML

संदेह होने पर, आदान-प्रदान के लिए JSON सबसे सुरक्षित डिफ़ॉल्ट विकल्प है।

choice = { api: 'JSON', table: 'CSV', config: 'YAML' }
puts(choice[:config])

प्रारूपों के बीच रूपांतरण

तीनों को एक जैसी रूबी हैश/ऐरे संरचनाओं में पार्स किया जाता है, इसलिए रूपांतरण सीधा है: एक को पार्स करें और दूसरे को डंप करें।

require 'json'
require 'yaml'
data = JSON.parse('{"port":8081,"name":"app"}')
puts(data.to_yaml)

त्वरित जाँच

डेवलपर द्वारा हाथ से संपादित की जाने वाली और टिप्पणियों की आवश्यकता वाली कॉन्फ़िगरेशन फ़ाइल के लिए डिफ़ॉल्ट रूप से कौन-सा प्रारूप सबसे अच्छा है?

पुनरावलोकन: प्रारूप चुनना

अब आप सही उपकरण चुन सकते हैं:

  • JSON: एपीआई, आदान-प्रदान, संतुलित
  • CSV: सपाट सारणियाँ, स्प्रेडशीट, संक्षिप्त
  • YAML: कॉन्फ़िगरेशन, पठनीय, टिप्पणियाँ, नेस्टिंग
  • सभी एक जैसी रूबी संरचनाओं में पार्स होते हैं, इसलिए रूपांतरण आसान है
require 'yaml'
require 'json'
puts(YAML.load('a: 1').to_json)
शुरुआत निःशुल्क

एआई शिक्षक के साथ Ruby सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
109

अक्सर पूछे जाने वाले प्रश्न

क्या “Format चुनना” पाठ निःशुल्क है?

हाँ — Ruby Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Format चुनना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Format चुनना” में मैं क्या सीखूँगा?

विभिन्न विकल्पों के समझौते आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ruby Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ruby Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ruby Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“Format चुनना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ruby Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ruby Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. JSON पढ़ना और लिखना
  2. CSV के साथ काम करना
  3. YAML Configuration
  4. Format चुनना
← Ruby Academy पर वापस जाएँ