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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
 
ให้เมื่อวันที่ 15 กุมภาพันธ์ 2553 ส่ง'''วันที่ 22 กุมภาพันธ์ 2553 เวลา 23.59 น.'''
 
ให้เมื่อวันที่ 15 กุมภาพันธ์ 2553 ส่ง'''วันที่ 22 กุมภาพันธ์ 2553 เวลา 23.59 น.'''
  
ในการบ้านนี้นิสิตจะสร้างระบบบัญชีค่าใช้ส่วนตัว เพื่อให้นิสิตสามารถบันทึกรายรับและรายจ่ายประจำวัน รวมถึงสามารถตรวจสอบรายงานสรุปค่าใช้จ่ายของตนเองได้  
+
ในการบ้านนี้นิสิตจะสร้างระบบบัญชีค่าใช้ส่วนตัว เพื่อให้นิสิตสามารถบันทึกรายรับและรายจ่ายประจำวัน รวมถึงสามารถตรวจสอบรายงานสรุปค่าใช้จ่ายของตนเองได้
 
 
== เริ่มต้น ==
 
 
 
หา database dump ของหัวข้อที่คุณสนใจจาก http://download.freebase.com/datadumps/2009-12-30/browse/ ให้เลือกไฟล์ .tsv จากในนั้นมาหนึ่งไฟล์ ไฟล์ที่คุณเลือกควรจะมี
 
* ฟีลด์ (คอลัมน์) อย่างน้อย 5 ฟีลด์
 
* เรคอร์ด (แถว) อย่างน้อย 500 แถว
 
 
 
== สร้างแอพพลิเคชัน ==
 
สร้างแอพพลิเคชันในลักษณะเดียวกันกับ [[418342 ภาคปลาย 2552/ปฏิบัติการที่ 5|ปฏิบัติการที่ 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 <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>
 
* สร้าง action ชื่อ search ใน controller ให้รับ parameter ลักษณะเดียวกันกับหน้า search ในปฏิบัติการที่ 5 '''แต่คราวนี้ให้ผู้ใช้กำหนดค่าฟีลด์ได้อย่างน้อยสามฟีลด์ขึ้นไป'''
 
* หลังจากทำการพัฒนาเสร็จแล้ว ให้ rollback migration ทั้งหมด (ให้ database ว่าง) แล้ว zip ไดเรคทอรีที่ rails สร้างทั้งหมดส่งมาที่อีเมล์ของ อ.ประมุข (pramook at gmail dot com) และ อ.ชาคริต (fscickw at ku dot ac dot th)
 

รุ่นแก้ไขเมื่อ 09:27, 14 กุมภาพันธ์ 2553

ให้เมื่อวันที่ 15 กุมภาพันธ์ 2553 ส่งวันที่ 22 กุมภาพันธ์ 2553 เวลา 23.59 น.

ในการบ้านนี้นิสิตจะสร้างระบบบัญชีค่าใช้ส่วนตัว เพื่อให้นิสิตสามารถบันทึกรายรับและรายจ่ายประจำวัน รวมถึงสามารถตรวจสอบรายงานสรุปค่าใช้จ่ายของตนเองได้