Translations of this page?:

อภิธานศัพท์ Rails

  • ActiveRecord: หรือที่รู้จักกันในชื่อของ AR, ActiveRecord เป็น ORM เริ่มต้นของ Ruby on Rails
  • ActionMailer: Action Mailer คือเฟรมเวิร์คของ Rails ที่ให้บริการเกี่ยวกับการส่งอีเมล์
  • AM: ดู ActionMailer
  • AR: ดู ActiveRecord
  • BDD: Behavior Driven Development เป็นเหมือน Test Driven Development (TDD) ขั้นสูงที่ใช้วิธี “ Drive development from the outside in” และ “ เขียนชื่อ method ทดสอบเป็นรูปประโยค” วิธีนี้คิดค้นขึ้นมาโดย Dan North
  • Controller: Controller เป็นส่วนประกอบนึงของแพทเทิร์น Model-View-Controller มีหน้าที่ในการจัดการ “ ตรรกะทางธุรกิจ” หรือจะอธิบายง่ายๆได้ว่ามีหน้าที่ในการประสานงาน - โดยการ map action ของผู้ใช้เข้ากับ models ไม่ว่าจะเป็นการสร้าง แก้ไข หรือทำลาย record ในฐานข้อมูล ทั้งหมดจะถูกเรียกผ่าน controller นี่ล่ะ นอกจากนั้น controller ยังมีหน้าที่ในการเลือก view ที่จะแสดงให้ผู้ใช้ด้วย
  • CRUD: CRUD คือการกระทำสี่อย่างที่ทำได้กับ resource - Create (สร้าง), Read (อ่าน), Update (แก้ไข), และ Delete (ลบ)
  • DRY: Don't Repeat Yourself (DRY) คือปรัชญาในการทำงานที่เน้นการลดโค้ดซ้ำซ้อนให้มากที่สุดเท่าที่จะทำได้
  • Migrations: Migrations คือวิธีในการเก็บเวอร์ชั่นของฐานข้อมูล มีประโยชน์มากเวลาคุณมีนักพัฒนาหลายๆคนหรือว่าต้องการ deploy เวอร์ชั่นใหม่ไปที่เซิร์ฟเวอร์ โดยนักพัฒนาหรือสคริปต์การ deploy สามารถเรียกใช้ migration ด้วยคำสั่ง rake db:migrate เพื่ออัพเกรดโครงสร้างฐานข้อมูลเป็นเวอร์ชั่นใหม่โดยไม่ทำลายข้อมูลที่มีอยู่แล้วในตารางต่างๆ (นอกจากว่าคุณบอกให้ migration ลบอะไรออกไป) เวลาใช้งาน migration จะถูกเรียกใช้ตามลำดับ โดยดูจากเวลาที่อยู่ในชื่อไฟล์ในไดเร็คทอรี่ db/migrate คุณสามารถสร้าง migration ใหม่ได้โดยใช้คำสั่ง script/generate migration MyMigration
  • Model: Models เป็นส่วนประกอบนึงของแพทเทิร์น Model-View-Controller ใน Rails ปกติแล้ว model เป็นตัวแทนของตารางหนึ่งในฐานข้อมูลและ inherit มาจาก ActiveRecord::Base นอกจากนั้น model ยังสามารถเป็นตัวแทนของ mailer โดย inherit จาก ActionMailer::Base, เป็น observer โดย inherit จาก ActiveRecord::Observer, หรือจะ inherit จากคลาสใน gems หรือ plugins, หรือทำตัวเป็น utility class ก็ได้ ที่เก็บ model ต่างๆจะอยู่ในไดเร็คทอรี่ app/models
  • Model-View-Controller: Model-View-Controller (MVC) คือแพทเทิร์นการเขียนโปรแกรมที่แบ่งโปรแกรมออกเป็นสามส่วน คือส่วนการเก็บข้อมูล, ส่วนตรรกะทางธุรกิจ (ซึ่งมีหน้าที่แก้ไขข้อมูลและรับคำสั่งจากผู้ใช้), และส่วนการนำเสนอ (ซึ่งแสดงข้อมูลต่างๆ) กรุณาดู Model, View, และ Controller สำหรับความหมายของแต่ละส่วน
  • ORM: ย่อมาจาก Object-relational mapping หน้าที่ของ ORM คือการแปลงค่า scalar เป็นออบเจ็คต์และกลับกัน โดยปกติแล้วข้อมูลจะถูกแปลงไปมาระหว่างที่เก็บข้อมูลต่างๆ (ปกติจะเป็นฐานข้อมูล) และภาษา Object Oriented (ในกรณีนี้คือ Ruby) ตัว ORM เริ่มต้นที่มากับ Rails เรียกว่า ActiveRecord ลองอ่าน Rails guides ดูเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ ActiveRecord คุณสามารถใช้ ORMs อื่นๆได้ใน Ruby on Rails 3 ไม่ว่าจะเป็น DataMapper และ Sequel
  • REST: Representational State Transfer (REST) คือแพทเทิร์นสำหรับอ้างอิงถึงและจัดการกับ resources (ทรัพยากร) Rails ใช้ REST สำหรับทำ CRUD อย่างแพร่หลายในเฟรมเวิร์ค ยกตัวอย่างเช่น ถ้าคุณส่ง HTTP request โดยใช้ method GET ไปที่ /students/9 คุณจะได้รับทรัพยากร (ในที่นี้คือนักเรียน) ซึ่งมีรหัส 9 กลับมา แต่ถ้าคุณส่ง request เดียวกันโดยใช้ method DELETE แทนจะหมายความว่าคุณต้องการลบทรัพยากรนี้
  • Scaffolding: การสร้าง models, migrations, views และ controllers โดยอัตโนมัติ
  • Skinny Controller, Fat Model: เป็นหลักการที่บอกว่าโลจิกต่างๆใน controller ควรถูกย้ายไปไว้ที่ model การทำเช่นนี้จะทำให้โค้ดใน controller ลดน้อยลงและส่งเสริมการ reuse มากขึ้นเพราะว่าโค้ดที่สำคัญจะอยู่ใน model แทน นักพัฒนา Rails ใหม่ๆมักจะชอบเพิ่มโค้ดที่เป็นโลจิกไปไว้ใน view หรือ controller มาก แต่พอเริ่มพัฒนาไปได้ซักพักก็จะเริ่มย้ายโค้ดต่างๆ “ ลงไป” ที่ model แทน ศัพท์คำนี้มาจาก Jamis Buck หนึ่งในนักพัฒนาหลักของ Rails
  • TDD: Test-driven development เป็น เทคนิคการพัฒนาแบบ Agile ที่เริ่มจากการเขียนโค้ดเพื่อทดสอบความต้องการของระบบก่อน จากนั้นจึงเขียนโค้ดเพื่อให้ระบบทำงานได้
  • View: Views เป็นส่วนประกอบนึงของแพทเทิร์น Model-View-Controller ความรับผิดชอบหลักของ view คือการสร้าง “ หน้าเว็บเพจ” ที่จะถูกแสดงให้ผู้ใช้นั่นเอง นอกจากนั้น view ยังรับหน้าที่ส่งการกระทำต่างๆของผู้ใช้ที่ทำผ่านเบราเซอร์ไปให้ controller และแสดงผลลัพธ์จาก models คุณสามารถใช้ภาษา markup หลายภาษาเพื่อเขียน view โดยปกติแล้ว Rails ใช้ภาษา ERb แต่คุณสามารถใช้ภาษาแม่แบบ (template) อื่นๆเช่น Haml และ Markaby ได้เช่นกัน
 
th/getting-started/glossary.txt · แก้ไขครั้งล่าสุด: 2010/02/01 15:21 โดย sukit
 
Recent changes RSS feed Creative Commons License