YAML ट्यूटोरियल
- YAML ट्यूटोरियल: शुरुआती गाइड
YAML, जिसका अर्थ 'YAML Ain't Markup Language' है, एक मानव-पठनीय डेटा क्रमांकन भाषा है। यह अक्सर कॉन्फ़िगरेशन फ़ाइलें और डेटा इंटरचेंज के लिए उपयोग किया जाता है। इसकी सरलता और पठनीयता इसे JSON और XML जैसे अन्य प्रारूपों से अलग करती है। यह ट्यूटोरियल आपको YAML की मूल अवधारणाओं और उपयोगों के बारे में बताएगा।
YAML क्या है?
YAML एक डेटा धारावाहिक प्रारूप है जो मानवों के लिए आसानी से पढ़ने और लिखने के लिए डिज़ाइन किया गया है। इसका डिज़ाइन कॉन्फ़िगरेशन फ़ाइलों को प्रबंधित करने और डेटा को विभिन्न भाषाओं और प्रणालियों के बीच आदान-प्रदान करने में आसानी प्रदान करता है। YAML की मुख्य विशेषताएं हैं:
- **पठनीयता:** YAML का सिंटैक्स सरल और सीधा है, जो इसे समझना और लिखना आसान बनाता है।
- **मानव-अनुकूल:** इसका उद्देश्य मनुष्यों द्वारा आसानी से संपादित किया जा सके।
- **डेटा प्रकारों का समर्थन:** YAML विभिन्न डेटा प्रकारों का समर्थन करता है, जैसे कि स्ट्रिंग, संख्या, बूलियन, सूचियाँ, और डिक्शनरी।
- **hierarchical डेटा संरचना:** यह जटिल डेटा संरचनाओं को आसानी से निरूपित कर सकता है।
- **भाषा स्वतंत्र:** YAML किसी भी विशिष्ट प्रोग्रामिंग भाषा से बंधा नहीं है।
YAML का सिंटैक्स
YAML का सिंटैक्स इंडेंटेशन (indentation) पर आधारित है। यह महत्वपूर्ण है कि YAML फ़ाइलों में इंडेंटेशन सही हो, क्योंकि यह डेटा संरचना को परिभाषित करता है।
- **इंडेंटेशन:** YAML में इंडेंटेशन के लिए स्पेस का उपयोग किया जाता है, टैब का नहीं। आम तौर पर 2 या 4 स्पेस का उपयोग किया जाता है।
- **कुंजी-मान जोड़े:** YAML में डेटा को कुंजी-मान (key-value) जोड़े के रूप में दर्शाया जाता है। कुंजी और मान को कोलन (:) से अलग किया जाता है।
उदाहरण: ```yaml name: John Doe age: 30 city: New York ```
- **सूचियाँ:** YAML में सूचियाँ डैश (-) से शुरू होती हैं।
उदाहरण: ```yaml fruits: - apple - banana - orange ```
- **डिक्शनरी (मैपिंग):** डिक्शनरी या मैपिंग में कुंजी-मान जोड़े होते हैं।
उदाहरण: ```yaml person: name: John Doe age: 30 address: street: 123 Main St city: New York ```
- **टिप्पणियाँ:** YAML में टिप्पणियाँ हैश (#) चिह्न से शुरू होती हैं।
उदाहरण: ```yaml # This is a comment name: John Doe # This is an inline comment ```
- **स्ट्रिंग:** स्ट्रिंग को उद्धरण चिह्नों (single or double quotes) में संलग्न करने की आवश्यकता नहीं है, जब तक कि उनमें विशेष वर्ण न हों।
उदाहरण: ```yaml message: Hello, world! ```
- **बूलियन:** बूलियन मान `true` या `false` होते हैं।
उदाहरण: ```yaml is_active: true ```
- **संख्या:** YAML पूर्णांक (integers) और फ्लोटिंग-पॉइंट संख्याओं (floating-point numbers) का समर्थन करता है।
उदाहरण: ```yaml count: 10 price: 99.99 ```
YAML के डेटा प्रकार
YAML विभिन्न डेटा प्रकारों का समर्थन करता है, जिनमें शामिल हैं:
- **स्ट्रिंग (Strings):** पाठ्य डेटा।
- **संख्या (Numbers):** पूर्णांक और फ्लोटिंग-पॉइंट संख्याएँ।
- **बूलियन (Booleans):** `true` या `false` मान।
- **सूचियाँ (Lists):** मानों का क्रमबद्ध संग्रह।
- **डिक्शनरी (Dictionaries):** कुंजी-मान जोड़े का संग्रह।
- **नल (Null):** अनुपस्थित मान को दर्शाता है। YAML में इसे `null` या `~` के रूप में दर्शाया जा सकता है।
- **तिथि (Dates) और समय (Times):** YAML तिथियों और समयों को विभिन्न प्रारूपों में संभाल सकता है।
YAML का उपयोग
YAML का उपयोग विभिन्न क्षेत्रों में किया जाता है, जिनमें शामिल हैं:
- **कॉन्फ़िगरेशन फ़ाइलें:** डॉकर कंपोज़, कुबर्नेटिस, एन्सिबल जैसे उपकरणों में कॉन्फ़िगरेशन फ़ाइलों के लिए व्यापक रूप से उपयोग किया जाता है।
- **डेटा धारावाहिकरण (Data Serialization):** डेटा को संग्रहीत करने और विभिन्न प्रणालियों के बीच आदान-प्रदान करने के लिए।
- **इंटरप्रोसेस कम्युनिकेशन (Interprocess Communication):** विभिन्न प्रक्रियाओं के बीच डेटा संचारित करने के लिए।
- **लॉगिंग:** लॉग फ़ाइलों को संरचित प्रारूप में संग्रहीत करने के लिए।
- **ऑब्जेक्ट पर्सिस्टेंस (Object Persistence):** वस्तुओं को फ़ाइलों में संग्रहीत करने के लिए।
YAML उदाहरण
यहां एक अधिक जटिल YAML उदाहरण दिया गया है:
```yaml --- application:
name: My Awesome App version: 1.0.0 description: This is a sample application configuration file.
database:
host: localhost port: 5432 username: myuser password: mypassword name: mydb
server:
host: 0.0.0.0 port: 8080 threads: 4
features:
enabled: - feature_a - feature_b disabled: - feature_c
```
इस उदाहरण में, हमने एक YAML फ़ाइल बनाई है जो एक एप्लिकेशन की कॉन्फ़िगरेशन जानकारी संग्रहीत करती है। फ़ाइल में एप्लिकेशन का नाम, संस्करण, विवरण, डेटाबेस सेटिंग्स और सर्वर सेटिंग्स शामिल हैं। हमने यह भी निर्दिष्ट किया है कि कौन सी विशेषताएं सक्षम हैं और कौन सी अक्षम हैं।
YAML टूल और लाइब्रेरी
विभिन्न प्रोग्रामिंग भाषाओं के लिए कई YAML टूल और लाइब्रेरी उपलब्ध हैं। कुछ लोकप्रिय उपकरण और लाइब्रेरी में शामिल हैं:
- **PyYAML (Python):** Python के लिए एक लोकप्रिय YAML लाइब्रेरी।
- **js-yaml (JavaScript):** JavaScript के लिए एक YAML लाइब्रेरी।
- **Ruby YAML (Ruby):** Ruby के लिए एक YAML लाइब्रेरी।
- **SnakeYAML (Java):** Java के लिए एक YAML लाइब्रेरी।
- **YAMLlint:** YAML फ़ाइलों को मान्य करने के लिए एक उपकरण।
YAML और अन्य डेटा प्रारूपों की तुलना
| सुविधा | YAML | JSON | XML | |---|---|---|---| | पठनीयता | बहुत अच्छी | अच्छी | खराब | | सिंटैक्स | सरल | सरल | जटिल | | डेटा प्रकार | व्यापक | सीमित | व्यापक | | इंडेंटेशन | आवश्यक | अनावश्यक | अनावश्यक | | टिप्पणियाँ | समर्थित | समर्थित नहीं | समर्थित | | उपयोग | कॉन्फ़िगरेशन, डेटा इंटरचेंज | डेटा इंटरचेंज | डेटा इंटरचेंज |
YAML में उन्नत अवधारणाएँ
- **एन्कर और उपनाम (Anchors and Aliases):** YAML आपको एन्कर और उपनाम का उपयोग करके दोहराव को कम करने की अनुमति देता है। एन्कर को `&` चिह्न से और उपनाम को `*` चिह्न से दर्शाया जाता है।
उदाहरण: ```yaml default_settings: &default timeout: 30 retries: 3
service_a: <<: *default host: service_a.example.com
service_b: <<: *default host: service_b.example.com ```
- **मल्टी-लाइन स्ट्रिंग (Multi-line Strings):** YAML में मल्टी-लाइन स्ट्रिंग को `|` (शाब्दिक) या `>` (फोल्डेड) का उपयोग करके दर्शाया जा सकता है।
उदाहरण: ```yaml message: | This is a multi-line string. It preserves newlines.
long_message: > This is a long message. It folds newlines into spaces. ```
- **स्कीमा सत्यापन (Schema Validation):** YAML स्कीमा का उपयोग करके YAML फ़ाइलों को मान्य किया जा सकता है। यह सुनिश्चित करता है कि YAML फ़ाइल में अपेक्षित डेटा और संरचना है।
YAML और बाइनरी ऑप्शन
हालाँकि YAML सीधे तौर पर बाइनरी ऑप्शन ट्रेडिंग से संबंधित नहीं है, लेकिन इसका उपयोग ट्रेडिंग सिस्टम और बॉट्स की कॉन्फ़िगरेशन फ़ाइलों के लिए किया जा सकता है। उदाहरण के लिए, आप YAML का उपयोग रणनीतियों, संकेतकों और जोखिम प्रबंधन नियमों को परिभाषित करने के लिए कर सकते हैं।
- **रणनीति कॉन्फ़िगरेशन:** रणनीति के मापदंडों को YAML फ़ाइल में संग्रहीत किया जा सकता है।
- **संकेतक सेटिंग्स:** तकनीकी विश्लेषण में उपयोग किए जाने वाले संकेतकों की सेटिंग्स को YAML में संग्रहीत किया जा सकता है।
- **जोखिम प्रबंधन:** जोखिम प्रबंधन नियमों, जैसे कि स्टॉप-लॉस और टेक-प्रॉफिट स्तरों को YAML में परिभाषित किया जा सकता है।
- **बैकटेस्टिंग:** बैकटेस्टिंग परिणामों को YAML फ़ाइलों में संग्रहीत किया जा सकता है।
- **वॉल्यूम विश्लेषण:** वॉल्यूम विश्लेषण डेटा को YAML में संरचित किया जा सकता है।
निष्कर्ष
YAML एक शक्तिशाली और लचीली डेटा क्रमांकन भाषा है जो विभिन्न प्रकार के अनुप्रयोगों के लिए उपयुक्त है। इसकी पठनीयता और सरलता इसे कॉन्फ़िगरेशन फ़ाइलों और डेटा इंटरचेंज के लिए एक उत्कृष्ट विकल्प बनाती है। यदि आप डेटा को संरचित तरीके से संग्रहीत और आदान-प्रदान करने का एक तरीका खोज रहे हैं, तो YAML सीखने लायक है।
डेटा संरचनाएं, प्रोग्रामिंग भाषाएं, कॉन्फ़िगरेशन प्रबंधन, फाइल प्रारूप, डेटाबेस, सिस्टम एडमिनिस्ट्रेशन, स्वचालन, स्क्रिप्टिंग, सॉफ्टवेयर विकास, API, वेब सेवाएं, डेटा विज्ञान, मशीन लर्निंग, क्लाउड कंप्यूटिंग, डेवोप्स, कंटेनरीकरण
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री