- docx (Microsoft Word فارميٽ)؛
- pdf (Adobe فارميٽ)؛
- mobi (عام طور تي Amazon Kindle ڊوائيسز ۾ استعمال ٿيل)؛
- ۽ گهڻو ڪجهه (ePub, djvu, fb2...).
JSON
JavaScript آبجیکٹ نوٽيشن. توهان اڳ ۾ ئي هن سان ٿورو واقف آهيو! اسان ان بابت هن ليڪچر ۾ ڳالهايو ، ۽ اسان هتي JSON ۾ سيريلائيزيشن کي ڏٺو . اهو هڪ سبب لاء ان جو نالو مليو. جاوا شيون JSON ۾ تبديل ٿيل اصل ۾ بلڪل جاوا اسڪرپٽ شيون وانگر نظر اچن ٿيون. اسان جي اعتراض جي معني کي سمجهڻ لاء توهان کي جاوا اسڪرپٽ ڄاڻڻ جي ضرورت ناهي:{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
}
اهو ضروري ناهي ته هڪ اعتراض پاس ڪيو وڃي. JSON پڻ شين جي هڪ صف تي مشتمل ٿي سگھي ٿو:
[
{
"title": "Война и мир",
"author": "Лев Толстой",
"year": 1869
},
{
"title": "Бесы",
"author": "Федор Достоевский",
"year": 1872
},
{
"title": "Чайка",
"author": "Антон Чехов",
"year": 1896
}
]
جيئن ته JSON هڪ جاوا اسڪرپٽ اعتراض آهي، اهو هيٺين جاوا اسڪرپٽ ڊيٽا فارميٽ کي سپورٽ ڪري ٿو:
- تارون
- نمبر (نمبر)؛
- شيون (شيون)؛
- arrays (array)؛
- بولين قدر (سچو ۽ غلط)؛
- null
-
انساني پڙهڻ واري شڪل. اهو هڪ واضح فائدو آهي جيڪڏهن توهان جو آخري صارف انسان آهي. مثال طور، توهان جو سرور هڪ ڊيٽابيس کي ذخيرو ڪري ٿو پرواز جي شيڊول سان. هڪ انساني ڪلائنٽ هن ڊيٽابيس مان ڊيٽا جي درخواست ڪري ٿو ويب ايپليڪيشن استعمال ڪندي جڏهن ڪمپيوٽر تي گهر ۾ ويٺي. جتان توھان کي ڊيٽا مهيا ڪرڻ جي ضرورت آھي ھڪڙي شڪل ۾ جيڪا ھو سمجھي سگھي ٿو، JSON ھڪڙو وڏو حل آھي.
-
سادگي. توھان چئي سگھوٿا اھو ابتدائي آھي :) مٿي اسان ٻن JSON فائلن جو مثال ڏنو آھي. ۽ جيتوڻيڪ توهان ڪڏهن به جاوا اسڪرپٽ جي وجود جي باري ۾ نه ٻڌو آهي (ان جي شين کي ڇڏي ڏيو)، توهان آساني سان سمجهي سگهو ٿا ته ڪهڙي قسم جون شيون بيان ڪيون ويون آهن.
سڄو JSON دستاويز ھڪڙو ويب پيج آھي جنھن ۾ ڪجھ تصويرن سان گڏ. -
وسيع. JavaScript غالب فرنٽ-اينڊ ٻولي آهي، ۽ اهو ان جي اصطلاحن کي ترتيب ڏئي ٿو. JSON استعمال ڪرڻ لازمي آھي. تنهن ڪري، ويب سروسز جو هڪ وڏو تعداد JSON کي ڊيٽا جي تبادلي لاء فارميٽ طور استعمال ڪري ٿو. هر جديد IDE JSON فارميٽ کي سپورٽ ڪري ٿو (بشمول Intellij IDEA). سڀني ممڪن پروگرامنگ ٻولين لاءِ JSON سان ڪم ڪرڻ لاءِ لائبريرين جو هڪ گروپ لکيو ويو آهي.
YAML
ان جي وجود جي شروعات ۾، اهو اڃا تائين هڪ ٻي مارڪ اپ ٻولي لاء بيٺو آهي - "ٻي مارڪ اپ ٻولي." ان وقت اها پوزيشن هئي ايڪس ايم ايل جي مقابلي ۾. ھاڻي، وقت گذرڻ کان پوءِ، اھو بيٺو آھي ”YAML Ain't Markup Language“ (“YAML is not a markup language”). هي ڪهڙو آهي؟ اچو ته تصور ڪريون ته اسان کي اسان جي ڪمپيوٽر گيم لاءِ 3 ڪردار جا ڪلاس ٺاهڻ گهرجن: ويريئر، ميج ۽ چور. انهن ۾ هيٺيون خاصيتون هونديون: طاقت، چپلائي، برداشت، ۽ هٿيارن جو هڪ سيٽ. اھو اھو آھي جيڪو اسان جي YAML فائل ڪلاس جي تفصيل سان نظر ايندي:classes:
class-1:
title: Warrior
power: 8
agility: 4
stamina: 7
weapons:
- sword
- spear
class-2:
title: Mage
power: 5
agility: 7
stamina: 5
weapons:
- magic staff
class-3:
title: Thief
power: 6
agility: 6
stamina: 5
weapons:
- dagger
- poison
YAML فائل ۾ ھڪڙي وڻ جي جوڙجڪ آھي: ڪجھ عناصر ٻين جي اندر اندر آھن. اسان هر سطح کي ظاهر ڪرڻ لاءِ مخصوص تعداد ۾ اسپيس استعمال ڪندي nesting کي ڪنٽرول ڪري سگهون ٿا. YAML فارميٽ جا ڪهڙا فائدا آهن؟
-
انسان پڙهڻ لائق. ٻيهر، جيتوڻيڪ توهان بغير ڪنهن تفصيل جي yaml فائل ڏسو، توهان آساني سان سمجهي سگهو ٿا ته ڪهڙيون شيون بيان ڪيون ويون آهن. YAML اهو آهي ته انسان پڙهڻ جي قابل آهي ته yaml.org جو مکيه صفحو هڪ باقاعده yaml فائل آهي :)
-
ٺهڪندڙ. فائل جو ڍانچو خالن سان ٺھيل آھي: بریکٹ يا اقتباس استعمال ڪرڻ جي ڪا ضرورت ناھي.
-
پروگرامنگ ٻولين جي اصلي ڊيٽا جي جوڙجڪ لاءِ سپورٽ. JSON ۽ ٻين ڪيترن ئي فارميٽ تي YAML جو هڪ وڏو فائدو اهو آهي ته اهو مختلف ڊيٽا جي جوڙجڪ کي سپورٽ ڪري ٿو. انهن مان:
-
نقشي
جو هڪ غير ترتيب ڏنل مجموعو: قدر جوڙو جنهن ۾ نقل جو ڪو به امڪان ناهي؛ -
!!omap
ڪي جو ترتيب ڏنل تسلسل: قدر جوڙو جن ۾ نقلن جو ڪو به امڪان ناهي؛ -
!!جوڙا:
ڪي جو ترتيب ڏنل ترتيب: نقل جي امڪان سان گڏ قدر جوڙو؛ - قدرن جو هڪ غير ترتيب وارو سلسلو مقرر ڪريو
جيڪي هڪ ٻئي جي برابر نه هجن؛ - منقول
قدرن جو تسلسل؛
انهن مان ڪجهه تعميرات توهان کي جاوا کان واقف هوندا! :) هن خصوصيت جي مهرباني، توهان مختلف ڊيٽا جي جوڙجڪ کي پروگرامنگ ٻولين مان YAML فارميٽ ۾ ترتيب ڏئي سگهو ٿا.
-
-
لنگر ۽ عرف استعمال ڪرڻ جي صلاحيت
لفظن جو ترجمو "لنگر" ۽ "عرف" - "لنگر" ۽ "تخلص". اصول ۾، اهو بلڪل صحيح طور تي بيان ڪري ٿو انهن شرطن جي جوهر کي YAML ۾.
اهي توهان کي yaml فائل ۾ هڪ عنصر کي سڃاڻڻ جي اجازت ڏين ٿا، ۽ باقي فائل ۾ ان جو حوالو ڏيو جيڪڏهن اهو بار بار ٿئي ٿو. لنگر ٺھيل آھي علامت استعمال ڪندي
&
۽ عرف استعمال ڪندي ٺاھيو ويو آھي*
.اچو ته اسان وٽ هڪ فائيل آهي جنهن ۾ ليو ٽالسٽائي جي ڪتابن جي وضاحت آهي. ليکڪ جو نالو دستي طور تي هر دفعي لکڻ کان بچڻ لاءِ، اسان صرف هڪ لنگر ”ليو“ ٺاهينداسين ۽ ان کي هڪ عرف استعمال ڪندي حوالو ڏينداسين جڏهن اسان کي ضرورت هجي:
books: book-1: title: War and Peace author: &leo Leo Tolstoy year: 1869 book-2: title: Anna Karenina author: *leo year: 1873 book-3: title: Family Happiness author: *leo year: 1859
جڏهن اسان هن فائل کي ڪجهه parser سان پڙهون ٿا، اسان جي عرف جي جاءِ تي "ليو ٽالسٽائي" جي قيمت صحيح هنڌن تي بدلجي ويندي.
- توھان YAML ۾ ڊيٽا کي ٻين شڪلن ۾ شامل ڪري سگھو ٿا. مثال طور، JSON:
books: [ { "title": "War and Peace", "author": "Leo Tolstoy", "year": 1869 }, { "title": "Anna Karenina", "author": "Leo Tolstoy", "year": 1873 }, { "title": "Family Happiness", "author": "Leo Tolstoy", "year": 1859 } ]
ٻيا سيريلائيزيشن فارميٽ
ايڪس ايم ايل
هي فارميٽ نام نهاد ٽيگ وڻ تي ٻڌل آهي.<book>
<title>Harry Potter and the Philosopher’s Stone</title>
<author>J. K. Rowling</author>
<year>1997</year>
</book>
هر عنصر هڪ افتتاحي ۽ بند ڪرڻ واري ٽيگ تي مشتمل آهي (<> ۽ </>). هر عنصر کي nested عنصرن ڪري سگهو ٿا. XML ھڪڙي عام شڪل آھي، JSON ۽ YAML کان گھٽ نه آھي (جيڪڏھن اسان حقيقي منصوبن ۾ استعمال بابت ڳالهايون ٿا). اسان وٽ XML تي هڪ الڳ ليڪچر آهي .
BSON (بائنري JSON)
جيئن ته ان جو نالو مشورو ڏئي ٿو، اهو JSON سان تمام گهڻو ملندڙ جلندڙ آهي، پر انساني پڙهڻ جي قابل ناهي ۽ بائنري فارميٽ ۾ ڊيٽا تي هلندي آهي. هي تصويرون ۽ ٻين منسلڪات کي محفوظ ڪرڻ ۽ منتقل ڪرڻ لاء تمام آسان بڻائي ٿو. ان کان علاوه، BSON ڪجھ ڊيٽا جي قسمن کي سپورٽ ڪري ٿو جيڪي JSON ۾ موجود نه آھن. مثال طور، توهان BSON فائل ۾ تاريخ (ملي سيڪنڊ فارميٽ ۾) يا جاوا اسڪرپٽ ڪوڊ جو هڪ ٽڪرو به لکي سگهو ٿا. مشهور NoSQL ڊيٽابيس MongoDB BSON فارميٽ ۾ معلومات محفوظ ڪري ٿو.پوزيشن تي ٻڌل پروٽوڪول
ڪجهه حالتن ۾، اسان کي ڊرامائي طور تي منتقل ٿيل ڊيٽا جي مقدار کي گھٽائڻ جي ضرورت آهي (مثال طور، جيڪڏهن ڊيٽا تمام گهڻو آهي ۽ اسان کي لوڊ گهٽائڻ جي ضرورت آهي). ھن صورتحال ۾، اسان پوزيشن جي بنياد تي پروٽوڪول استعمال ڪري سگھون ٿا ، اھو آھي، پيٽرولر جي قيمتن کي پاس ڪريو بغير پيٽرولر جي نالن جي پاڻ کي."Leo Tolstoy" | "Anna Karenina" | 1873
هن فارميٽ ۾ ڊيٽا هڪ مڪمل JSON فائل جي ڀيٽ ۾ تمام گهٽ جاء وٺندو آهي. يقينا، ٻيون سيريلائيزيشن فارميٽ آهن، پر توهان کي انهن سڀني کي ڄاڻڻ جي ضرورت ناهي :) اهو بهتر آهي ته انهن فارميٽس کان واقف ٿي وڃو جيڪي هاڻي ايپليڪيشن ڊولپمينٽ لاء انڊسٽري معيار آهن، ۽ انهن جي فائدن ۽ هڪ ٻئي کان اختلافن کي ياد رکو. . ۽ اسان جو ليڪچر پڄاڻي تي پهتو آهي :) اڄ ڪجهه مسئلا حل ڪرڻ نه وساريو! وري ملنداسين! :)
GO TO FULL VERSION