====== Practicum in Computer Engineering (Software) ====== ===== ประกาศ ===== * งานจาก Lab 1 และ Lab 2 เปิดให้ส่งได้ถึงวันที่ 20 ก.ค. 52 เท่านั้น ===== Lab 1: Unix ===== * [[http://158.108.183.10:4223/|Submission Server]] * [[http://www.cpe.ku.ac.th/~jtf/204223/s01-unix.pdf|Lab 1]] ===== Lab 2: More unix ===== * [[http://garnet.cpe.ku.ac.th/~jtf/223/adv-unix.pdf|เอกสาร]] * การแก้ไข: * ในส่วนที่ 2 เกี่ยวกับ pipe ให้ใช้แฟ้ม [[http://garnet.cpe.ku.ac.th/~jtf/223/files/etc_passwd|etc_passwd]] แทนแฟ้ม''/etc/passwd'' * ในส่วนอื่น ๆ ที่สั่งให้คัดลอกแฟ้มจาก ''~jtf/files/'' ให้โหลดแฟ้มประกอบจาก [[http://garnet.cpe.ku.ac.th/~jtf/223/files/|http://garnet.cpe.ku.ac.th/~jtf/223/files]] แทน * ข้อ 2.3 แก้ไขให้นับนิสิตปี 4 (นับเฉพาะนิสิตรหัส 49) * อธิบายเพิ่มเติม: * ข้อ 4.2.4 โจทย์ต้องการหารายการของสาขาวิชาที่นิสิตที่เลือกสาขา 204 เป็นอันดับแรก เลือกเป็นอันดับที่สอง ให้แสดงผลรายการสาขาวิชาดังกล่าวตามลำดับ * ข้อ 4.5.1 ให้สร้างรายการของสาขาวิชาที่มีนิสิตเลือกอยู่ใน 3 อันดับแรก แล้วให้แสดงจำนวนนิสิตที่เลือกสาขานั้นใน 3 อันดับแรกด้วย\\ สมมติว่ามีนิสิตคนหนึ่งเลือกสาขา 204 205 206 เป็นสามอันดับแรก สาขาทั้งสามดังกล่าวนับว่าเป็นสาขาวิชาที่มีนิสิตเลือกใน 3 อันดับแรก\\ สมมติว่าสาขา 204 มีนิสิตเลือกอยู่ใน 3 อันดับแรก 20 คน ผลลัพธ์จะต้องมีบรรทัด ''204 20'' หรือ ''20 204'' อยู่ด้วย * [[204223-52:awk|การใช้งาน awk]] (bonus :-D ) ===== Lab 3: การพัฒนาโปรแกรมบน unix ===== * [[http://theory.cpe.ku.ac.th/wiki/index.php/C_for_programmers|ภาษา C เบื้องต้น]] * Editor: vi * Links: [[http://www.gentoo.org/doc/en/vi-guide.xml|vi-guide]], [[http://www.atmos.albany.edu/deas/atmclasses/atm350/vi_cheat_sheet.pdf|Cheat sheet]] * Build tool: make ===== Lab 4: Python ===== * [[http://www.cpe.ku.ac.th/~jtf/204223/files/python/python.pdf|เอกสาร]] * [[http://www.cpe.ku.ac.th/~jtf/204223/files/python/|แฟ้มประกอบ]] * ระบบรับคำตอบ (และตรวจ): * [[http://158.108.183.10/elab|Elabsheet]] (ข้อ 2.1.6 รอก่อน จะใส่ให้ภายในวัน-สองวันนี้) ===== Lab 5: Django และ Source code version control ===== * [[http://theory.cpe.ku.ac.th/~jittat/dm/?q=node/29|โมดูลและการโปรแกรมเชิงวัตถุในภาษาไพธอน]] * [[http://theory.cpe.ku.ac.th/~jittat/dm/?q=node/22|HTML เบื้องต้น (มากๆ)]] * [[http://www.w3.org/Style/CSS/|CSS]] * [[http://www.w3schools.com/css/|Tutorial]] * [[http://mercurial.selenic.com/wiki/|Mercurial]] * cheat sheet * [[http://www.djangoproject.com/|Django]] * [[http://theory.cpe.ku.ac.th/~jittat/dm/?q=node/69]] * บทความ "มาสร้าง app สำหรับอัพโหลดรูปกัน" [[http://django66.com/node/19|ตอน 1 โมเดลและหน้า admin]], [[http://django66.com/node/21|ตอน 2 views และ templates]], [[http://django66.com/node/24|ตอน 3 form]] ==== การติดตั้ง Django ==== * ดาวน์โหลด Django 1.1 RC-1: [[http://media.djangoproject.com/releases/1.1/Django-1.1-rc-1.tar.gz|ต้นฉบับ]], [[http://www.cpe.ku.ac.th/~jtf/204223/files/django/Django-1.1-rc-1.tar.gz|mirror ที่ ku]] * ขยายไฟล์ดังกล่าว โดยสั่ง ''tar -zxvf Django-1.1-rc-1.tar.gz'' * cd เข้าไปในไดเร็กทรอรีที่ขยายออกมา จากนั้นสั่ง ''sudo python setup.py install'' * ดูวิธีการติดตั้งแบบอื่น ๆ ได้ที่ [[http://docs.djangoproject.com/en/dev/topics/install/|หน้าการติดตั้งที่ Django]] (โดยปกติผมจะติดตั้ง[[http://docs.djangoproject.com/en/dev/topics/install/#installing-the-development-version|ตามวิธีในส่วนนี้]]) ===== Lab 6: Django (ต่อ) ===== * [[204223-52:ตัวอย่างการประกาศโมเดล|การประกาศโมเดล]] * [[204223-52:การใช้แฟ้ม static|การใช้แฟ้ม static]] * [[204223-52:การเชื่อมโยงระหว่างโมเดล|การเชื่อมโยงระหว่างโมเดล]] ===== Lab 7: Django (ต่อ) ===== * [[Django notes|รายการช่วยจำในการพัฒนาด้วย Django]] * [[204223-52:board module]] ===== ตัวอย่างการสร้าง application ด้วย Django ===== เราจะแสดงการสร้าง [[204223-52:uQuiz]] ซึ่งเป็นระบบสร้างและเล่น quiz