ผลต่างระหว่างรุ่นของ "418342 ภาคปลาย 2552/การบ้าน 1"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 6: แถว 6:
 
* เรคอร์ด (แถว) อย่างน้อย 500 แถว
 
* เรคอร์ด (แถว) อย่างน้อย 500 แถว
  
== สร้างแอพพลิเคชันและโมเดล ==
+
== สร้างแอพพลิเคชัน ==
 
สร้างแอพพลิเคชันในลักษณะเดียวกันกับ [[418342 ภาคปลาย 2552/ปฏิบัติการที่ 5|ปฏิบัติการที่ 5]] โดยทำตามขั้นตอนนี้
 
สร้างแอพพลิเคชันในลักษณะเดียวกันกับ [[418342 ภาคปลาย 2552/ปฏิบัติการที่ 5|ปฏิบัติการที่ 5]] โดยทำตามขั้นตอนนี้
 
* สร้าง scaffold ของโมเดลของหัวข้อที่คุณเลือก ยกตัวอย่างเช่น ถ้าผมเลือกหัวข้อเกี่ยวกับภาษาโปรแกรม (computer/programming_language.tsv) ผมอาจจะสร้าง scaffold ดังต่อไปนี้
 
* สร้าง scaffold ของโมเดลของหัวข้อที่คุณเลือก ยกตัวอย่างเช่น ถ้าผมเลือกหัวข้อเกี่ยวกับภาษาโปรแกรม (computer/programming_language.tsv) ผมอาจจะสร้าง scaffold ดังต่อไปนี้
  > ruby script/generate scaffold programming_language name:string language_paradigms:string language_designers:string influended:string influenced_by:string developers:string parent_language:string dialects:string
+
  > ruby script/generate scaffold programming_language name:string language_paradigms:string ...
* สร้าง
+
* สร้าง migration สำหรับเพิ่มข้อมูลเข้าฐานข้อมูล เช่น
 +
> ruby script/generate migration add_programming_languages
 +
* copy ไฟล์ .tsv ที่คุณโหลดมาไปใส่ใน directory <tt>db/migrate</tt>
 +
* เติม migration ที่คุณเพิ่งสร้าง ให้ฟังก์ชัน up ทำการอ่านไฟล์ .tsv ที่คุณโหลดมา และฟังก์ชัน down ทำการลบเรคอร์ดทุกตัวออกให้หมด กล่าวคือไฟล์ migration ที่สร้างอาจจะมีหน้าตาเป็นอย่างนี้
 +
<geshi lang="rails">
 +
class AddProgrammingLanguages < ActiveRecord::Migration
 +
  def self.up
 +
    ... (เติมโค้ดส่วนนี้เอาเอง)
 +
  end
 +
 
 +
  def self.down
 +
    ProgrammingLanguage.destroy_all
 +
  end
 +
end
 +
</geshi>

รุ่นแก้ไขเมื่อ 18:39, 10 กุมภาพันธ์ 2553

ในการบ้านนี้คุณจะอ่านข้อมูลจาก Freebase แล้วนำมาสร้างฐานข้อมูลอย่างๆ ง่ายๆ พร้อมกับทำหน้าเว็บให้สามารถค้นหาข้อมูลเหล่านี้ได้

เริ่มต้น

หา database dump ของหัวข้อที่คุณสนใจจาก [1] ให้เลือกไฟล์ .tsv จากในนั้นมาหนึ่งไฟล์ ไฟล์ที่คุณเลือกควรจะมี

  • ฟีลด์ (คอลัมน์) อย่างน้อย 5 ฟีลด์
  • เรคอร์ด (แถว) อย่างน้อย 500 แถว

สร้างแอพพลิเคชัน

สร้างแอพพลิเคชันในลักษณะเดียวกันกับ ปฏิบัติการที่ 5 โดยทำตามขั้นตอนนี้

  • สร้าง scaffold ของโมเดลของหัวข้อที่คุณเลือก ยกตัวอย่างเช่น ถ้าผมเลือกหัวข้อเกี่ยวกับภาษาโปรแกรม (computer/programming_language.tsv) ผมอาจจะสร้าง scaffold ดังต่อไปนี้
> ruby script/generate scaffold programming_language name:string language_paradigms:string ...
  • สร้าง migration สำหรับเพิ่มข้อมูลเข้าฐานข้อมูล เช่น
> ruby script/generate migration add_programming_languages
  • copy ไฟล์ .tsv ที่คุณโหลดมาไปใส่ใน directory db/migrate
  • เติม migration ที่คุณเพิ่งสร้าง ให้ฟังก์ชัน up ทำการอ่านไฟล์ .tsv ที่คุณโหลดมา และฟังก์ชัน down ทำการลบเรคอร์ดทุกตัวออกให้หมด กล่าวคือไฟล์ migration ที่สร้างอาจจะมีหน้าตาเป็นอย่างนี้

<geshi lang="rails"> class AddProgrammingLanguages < ActiveRecord::Migration

 def self.up
   ... (เติมโค้ดส่วนนี้เอาเอง)
 end
 def self.down
   ProgrammingLanguage.destroy_all
 end

end </geshi>