วันศุกร์ที่ 2 ธันวาคม พ.ศ. 2559

YAML หรือ YML คือ ?

ทำความรู้จัก YAML ไฟล์ นามสกุล .yml

YAML หรือ YML เป็น ภาษา Markup ชนิดหนึ่ง

Markup คืออะไร
Markup หรือ markup language คือ ภาษาคอมพิวเตอร์ ซึ่งเป็นภาษาที่แสดงข้อมูล โครงสร้าง รูปแบบ ตลอดจนข้อมูลอื่นๆ ที่เกี่ยวข้องไว้ด้วยกัน ซึ่งส่วนนี้เรียกว่า มาร์กอัป ส่วนมากจะพบในรูปของ tag  ตัวอย่างภาษามาร์กอัป เช่น GML, SGML, HTML, XML เป็นต้น


ประโยชน์ ของ YAML ไว้สำหรับแลกเปลี่ยนข้อมูลกัน ระหว่างโปรแกรมมิ่งภาษาต่างๆ คล้ายๆ JSON หรือ XML แต่ YAML เป็นภาษาที่สั้นและเข้าใจง่ายกว่า ภาษา Markup อื่นๆ โดยตัวภาษาเองไม่มี tag ที่เข้ามาเกี่ยวข้อง แต่จะใช้ การเว้นวรรคในการแยกข้อมูล

ตัวอย่างโค้ด .yml จาก phpBB3.1
services:
    notification.type_collection:
        class: phpbb\di\service_collection
        arguments:
            - @service_container
        tags:
            - { name: service_collection, tag: notification.type }

นอกจาก การเว้นวรรคแล้ว เรายังเห็น สัญลักษณ์ อื่นๆ เช่น -,{}, : 
โปรแกรมที่มีการนำ YAML ไปใช้เช่น phpBB เวอร์ชั่น 3.1 ใช้ในการตั้งค่า config ของระบบ

phpBB คืออะไร
พีเอชพีบีบี (phpBB ย่อจาก php Bulletin Board)
เป็นโปรแกรมระบบกระดานสนทนาบนอินเทอร์เน็ตแบบโอเพนซอร์ส ทำงานด้วยภาษาพีเอชพี ควบคู่กับระบบฐานข้อมูล โดยรับรองการทำงานของฐานข้อมูลหลากหลายชนิด ได้แก่ MySQL, SQL Server, PostgreSQL หรือ Access (ร่วมกับ ODBC) ด้วยความแพร่หลายของภาษาพีเอชพีและระบบฐานข้อมูล MySQL รวมถึงการติดตั้งที่ง่าย และไม่ต้องเสียค่าใช้จ่ายในการจัดหา ทำให้ phpBB ได้รับความนิยมแพร่หลายในอินเทอร์เน็ต

( ย่อจาก php Bulletin Board) เป็นโปรแกรมระบบบนแบบ ทำงานด้วย ควบคู่กับ โดยรับรองการทำงานของฐานข้อมูลหลากหลายชนิด ได้แก่ , , หรือ (ร่วมกับ ) ด้วยความแพร่หลายของภาษาพีเอชพีและระบบฐานข้อมูล MySQL รวมถึงการติดตั้งที่ง่าย และไม่ต้องเสียค่าใช้จ่ายในการจัดหา ทำให้ phpBB ได้รับความนิยมแพร่หลายในอินเทอร์เน็ต
ความสามารถเด่นของ phpBB ได้แก่ ระบบหมวดหมู่ กระดานส่วนตัว ระบบค้นหา การส่งข้อความด้วยรูปแบบพิเศษและอีโมติคอน การสร้างโพล ระบบสมาชิกและการกำหนดสิทธิ์ผู้ใช้ รวมถึงระบบจัดการสำหรับดูแลรักษากระดานสนทนา ผู้ดูแลระบบสามารถปรับแต่งหน้าตากระดานได้โดยง่าย โดยดัดแปลงโค้ดภาษาพีเอชพี หรือ Cascading Style Sheets (CSS) โดยโค้ดจากโปรแกรมเป็นไปตามมาตรฐาน XHTML 1.0 หรือ HTML 4.01 ของ W3C นอกจากนี้ยังมีโปรแกรมเสริมเพื่อเพิ่มความสามารถใหม่

OpenERP (หรือชื่อใหม่คือ ODoo) ใช้สำหรับทำข้อมูลทดสอบ และ test ข้อมูล และ ไว้ผังโค้ด Python ลงไปในไฟล์ .yml

นอกจากนั้นยังถูกใช้เป็นส่วนสำคัญ ของ php Framework ชื่อดังอย่าง Symfony อีกด้วย 
ทางฝั่ง Ruby on Rails ก็ได้นำ YAML มาใช้เหมือนกัน 
และ ภาษาต่างๆ ก็จะมี Library สำหรับ จัดการข้อมูลให้อยู่ในรูปแบบ YAML อยู่แล้ว
เช่น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น