วันเสาร์ที่ 30 พฤศจิกายน พ.ศ. 2556

การใช้งาน app บน Django (Tutorial part 1)

    การใช้งาน app บน django นั้นจะเป็นการให้ django ช่วยจัดการเกี่ยวกับ database ให้เรา โดยที่เราไม่ต้องสร้างไฟล์เพื่อมาจัดเก็บข้อมูลเอง ผมจะทำตาม tutorial part1

    เมื่อทำการสร้าง project django ขึ้นมาแล้วให้ทำการ สร้าง app โดยเข้าไปในโฟลเดอร์ project แล้วใช้คำสั่ง python manage.py startapp ชื่อapp
จากในรูปเป็นการสร้าง app ที่ชื่อว่า polls ขึ้นมา เมื่อสร้าง app ขึ้นมาเสร็จเราจะได้ โฟลเดอร์ตามชื่อ app ที่ทำการสร้างขึ้นมา โดยจะมีไฟล์อยู่ในโฟลเดอร์ดังนี้
จากนั้นเราจะทำการแก้ไขไฟล์ models.py โดยใส่ code ตามนี้
class Poll สร้างมาเพื่อเป็นการสำรวจเก็บข้อมูลแบบสอบถาม
question นั้นเป็น object ชนิด charfield ขนาดไม่เกิน 200 ตัวอักษร เพื่อใช้เก็บข้อมูลคำถาม
pub_date นั้นเป็น object ชนิด charfield โดยตั้งค่าเริ่มต้นคือ 'date published' เพื่อใช้เก็บวันเวลาที่ทำการสำรวจ

ส่วน class Choice นั้นสร้างมาเพื่อทำแบบสำรวจแบบตัวเลือก
poll เป็น object ที่สร้างมาแล้วดึงข้อมูลจาก class Poll มาเพื่อเก็บข้อมูลแบบสอบถาม
choice_text นั้นเป็น object ชนิด charfield ขนาดไม่เกิน 200 ตัวอักษร เพื่อเป็นตัวเลือกให้ user เลือก
votes  เป็น object ชนิด integer โดยค่าเริ่มต้นคือ 0 เพื่อให้ user กำหนดว่าจะให้คะแนนเท่าไร

จากนั้น เราต้องทำการเพิ่มชื่อ app เข้าไปใน INSTALL_APPS ที่อยู่ใน settings.py
โดยเราจะใส่ชื่อ app ที่เราสร้างขึ้นมาเข้าไปในที่นี้คือ polls

ต่อไปเราจะทำการสร้างไฟล์ database ขึ้นมาด้วยคำสั่ง python manage.py syncdb
เมื่อเราพิมพ์คำสั่ง syncdb เสร็จระบบจะถามว่าเราต้องการสร้าง super user หรือไม่ ซึ่งก็คือ admin นั้นเอง ถ้าไม่ต้องการสร้างให้พิมพ์ no แต่ถ้าต้องการก็พิมพ์ yes การสร้าง super user นั้นเพื่อเป็นการเข้าไปจัดการในส่วนของ admin
จากรูปเป็นการสร้าง super user จะมีให้กำหนด
user :
e-mail :
password :
password(again) :

ต่อไปจะเป็นการทดสอบ database โดยเราสามารถทดลองได้ด้วยการรัน python shell ด้วยคำสั่ง
python manage.py shell จากนั้นก็ทดสอบตาม tutorial

เมื่อทำการแสดงค่า object ทั้งหมดออกมา จะเห็นว่า output ยังไม่แสดงค่าของ object เราสามารถเพิ่ม function ตามตัวอย่างได้
ซึ่ง function ที่เพิ่มเข้าไปคือการส่งค่า object ออกมาโดยที่ python version 2.7 ใช้ __unicode__ แต่หากเป็น python 3 ให้ใช้ __str__

    ใน Tutorial part 1 นี้จะสอนให้เรารู้จักเกี่ยวกับ app ทั้งขั้นตอนการสร้าง และ การใช้งานต่างๆ ซึ่ง app นั้นจะเป็นตัวจัดการเกี่ยวกับ database เพื่อใช้ในการเก็บข้อมูลต่างๆ และยังมีให้ลองใช้ API ต่างๆ ตอนที่ได้ลองในส่วนของ python shell

ข้อมูลอ้างอิง : Django Document

วันอาทิตย์ที่ 24 พฤศจิกายน พ.ศ. 2556

งานนิทรรศการ 50 ปี วิศวกรรมศาสตร์ และ Job fair

    งานนิทรรศการ 50 ปี วิศวกรรมศาสตร์ เป็นงานฉลองครบรอบ 50 ปีของคณะวิศวกรรมศาสตร์ และเปิดให้แต่ละคณะแสดงผลงานต่างๆ ของคณะวิศวกรรมศาสตร์ ซึ่งภายในงานนี้ได้มีงาน Job fair อยู่ด้วยซึ่งก็จะมีตัวแทนแต่ละบริษัทมาเปิดบูธรับสมัครพนักงาน และนักศึกษาฝึกงานอยู่ด้วย ซึ่งแต่ละบริษัทก็จะมีการรับสมัครพนักงานหลายตำแหน่ง โดยในที่นี้ผมสนใจบริษัทแห่งหนึ่งซึ่งก็คือ Think Net เป็นบริษัท IT แห่งหนึ่ง

    ที่ผมสนใจบริษัทนี้เพราะว่า เขาเปิดรับคนที่สนใจจะทำ iOS application ซึ่งเป็นสายงานที่ผมสนใจจะทำ เนื่องจากว่าในปัจจุบันมีผู้คนใช้อุปกรณ์ของ Apple มากมายหลากหลาย ซึ่งในความคิดผมทั้งปัจจุบัน และอนาคตอีกไกล software ด้าน iOS application ยังสามารถเจริญเติบโต และอยู่ได้อีกนาน

ข้างมูลบริษัท : บริษัท ThinkNet

การใช้งาน Template

    การใช้ template นั้น จะเป็นการแยกส่วนของ code ของ python กับ html ออกจากกัน เพื่อความสะดวกในการอ่าน code โดยผมจะทำการใช้ template กับ project เวลาในบทความที่แล้วให้ดูกัน

เริ่มต้นทำการสร้าง folder templates ขึ้นมา
จากนั้นจะทำการกำหนด TEMPLATE_DIR ในไฟล์ settings.py

โดยเราจะกำหนด path ของ folder templates ที่เราสร้างไว้เข้าไปโดยสามารถกำหนดด้วย
os.path.join(BASE_DIR, 'ชื่อโฟล์เดอร์'),

จากนั้นทำการสร้างไฟล์ template โดยมีนามสกุลเป็น .html ขึ้นมา
จากนั้นทำการใส่ code html เข้าไปในไฟล์ template
โดย code html จะมี tag ตัวแปร {{ }} ที่เราจะนำไปใช้ในการรับค่าจาก code python ในไฟล์ views.py
ในไฟล์ views.py เราจะทำการ import django.template.loader import get_template ซึ่งเป็นการ load template มาจาก TEMPLATE_DIR ในไฟล์ settings.py และในส่วน
django.template import Template, Context เป็นการ import template มาจาก django

ในส่วนที่ comment ไปนั้นจะเป็น code ในบทความเก่าที่ไม่ได้ใช้ template
t = get_template('now_template.html') คือการประกาศใช้ template ที่ชื่อ now_template.html
c = Context() เป็นการนำค่าเข้าไปแทนในตัวแปรของ template อย่าง c = Context('now':now) คือการนำค่า now ด้านขวาซึ่งเป็นตัวแปรของ python ไปแทนค่า now ใน template({{ now}})
html = t.render(c) คือการดึงค่าของ template ออกมาเก็บไว้ใน html

การใช้ template นั้นจะทำการแยก html ออกจาก code python ทำให้ code ดูง่ายขึ้น และ สั้นลง

ข้อมูลอ้างอิง : Django Book

การรับข้อมูลจาก URL

    ในบทนี้ผมจะอธิบายเกี่ยวกับการรับข้อมูลจาก url โดยผมจะยกตัวอย่างเกี่ยวกับเวลามาครับ
เริ่มต้นก็ทำการสร้าง project จากนั้นเราจะทำการแก้ไขไฟล์ urls.py โดยที่การแก้ไขไฟล์ urls.py นั้นเราจะกำหนดให้มีการรับค่าจาก url เข้ามาว่าจะเป็น integer หรือ character โดยในที่นี้ผมจะรับค่ามาเป็น integer
การรับค่ามาเป็นตัวเลขนั้นจะใช้ (\d) จะสามารถรับตัวเลขได้ 1 ตัว การจะรับค่ามากกว่า 1 ตัว ต้องใส่ + เข้าไป

จากนั้นให้ทำการสร้างไฟล์ views.py แล้วทำการ coding ดังนี้
ในฟังก์ชั่น time นั้นจะเป็นการแสดงเวลาปัจจุบัน และมีการเปลี่ยน format ของเวลาให้ดูง่ายขึ้นจากนั้นก็จะทำการเขียนข้อความ html ส่งออกไป
ในฟังก์ชั่น hours_ahead นั้นเป็นฟังก์ชั่นการแสดงชั่วโมงข้างหน้า โดยรับค่ามาจาก url เก็บไว้ในตัวแปร offset ที่กำหนดใน parameter จากนั้นจะทำการเซ็ทค่าชั่วโมงที่รับมาจาก url โดยใช้ datetime.timedelta() ในการเซ็ท จากนั้นก็นำไปบวกกับเวลาปัจจุบันแล้วส่งค่าออกไป โดยฟังก์ชั่น hours_ahead , days_ahead และ weeks_ahead จะมีการทำงานเหมือนกัน เพียงแต่เปลี่ยนข้อความที่ส่งออกไป

สุดท้ายเราจะจัดการเปลี่ยนช่วงเวลา Time zone ในไฟล์ settings.py เมื่อเปิดไฟล์ settings.py ให้หา Time zone จากนั้นเปลี่ยนจาก 'UTC' เป็น 'Asia/Bangkok'


ข้อมูลอ้างอิง : Django Book

การใช้งาน Django

    บทความนี้จะกล่าวถึงการใช้งาน Django(อ่านว่า จังโก้) ซึ่งเป็น framework อย่างหนึ่งที่เหมาะสำหรับใช้ฝึกการติดต่อสื่อสารระหว่าง client กับ server เพื่อที่ผู้ใช้งานจะได้มีความรู้ความเข้าใจเกี่ยวกับการ coding ติดต่อสื่อสารระหว่าง client กับ server

เริ่มต้นให้ผู้ใช้ทำการ download และติดตั้ง django ลงบนเครื่องเสียก่อนโดยสามารถ download และติดตั้งได้ที่ https://www.djangoproject.com/download/ จากนั้นจะทำการทดลองใช้งาน django กัน

1. เปิด terminal ขึ้นมา และไปยัง directory ที่จะทำการสร้าง project ของ django และพิมพ์คำสั่ง django-admin.py startproject ชื่อโปรเจ็ค
เราจะเห็น folder ตามชื่อ project ที่เราตั้งไว้
แต่เมื่อเราดับเบิ้ลคลิกเข้าไปใน folder เราจะเห็นชื่อ folder เดียวกันอีกเพื่อหลีกเลี่ยงการสับสน เราจะทำการ เปลี่ยนชื่อ folder ด้านนอกโดยพิมพ์คำสั่ง mv ชื่อproject ชื่อใหม่
จากนั้นเราจะทำการทดสอบการทำงานของ project โดยทำการเข้าไปใน path ที่มีไฟล์ manage.py อยู่ แล้วทำการ runserver โดยพิมพ์คำสั่ง python manage.py runserver
ทำการเข้าไปดูใน http://127.0.0.1:8000/ ถ้าหากขึ้น It worked! แสดงว่า project ที่เราสร้างขึ้นมานั้นปกติดี
ต่อมาเราจะทำการแสดงข้อความบน browser โดยเริ่มต้นต้องทำการสร้างไฟล์ views.py ขึ้นมา โดยในที่นี้ผมขอสร้างไว้ใน path ชั้นในสุดของ project ที่เราสร้างไว้และทำการเขียน code ดังนี้
 
จากนั้นทำการแก้ไขไฟล์ urls.py
url(r'^hello/$', 'mysite.views.hello'), นี้คือบรรทัดที่เพิ่มขึ้นมาเพื่อที่จะระบุ url ให้มี hello ต่อท้ายขึ้นมา แระดึงข้อมูลจาก directory mysite และไฟล์ชื่อ views และเรียกใช้ ฟังก์ชั่น hello เมื่อทำการ runserver อีกครั้ง ให้ใส่ url http://127.0.0.1:8000/hello/ ก็จะเห็นข้อความ Hello Django

ข้อมูลอ้างอิง : Django Document Django Book

การเขียนประวัติด้วย html

    การเขียนข้อมูลด้วยภาษา html นั้นสามารถสร้าง Empty file แล้วสร้างชื่อไฟล์เป็นนามสกุล .html ได้เลย แต่ผมจะขอใช้ภาษา python สร้างไฟล์ html ขึ้นมาครับ

1.เริ่มต้นสร้างไฟล์ข้อมูล .txt ไว้ให้ python อ่านข้อมูลมาใช้

2.สร้างไฟล์ .py ขึ้นมาแล้วเขียน code ดังนี้
f = open() คือการเปิดไฟล์ หากใส่ 1 parameter จะเป็นชื่อไฟล์ และจะเป็นการเปิดเพื่ออ่านไฟล์ แต่หากจะระบุว่าทำการเขียนไฟล์ ต้องใส่ parameter ที่ 2 ด้วย 'w' ซึ่งก็คือ write ถ้าเปลี่ยนเป็น 'r' จะเป็นการอ่านคือ read โดยที่ f เป็นตัวแปรที่เก็บข้อมูลการอ่านไฟล์ ส่วน f1,f2 จะเป็นการเขียนไฟล์โดย f1 ทำหน้าเขียนไฟล์ myfile.html ส่วน f2 ทำการเขียน home.html

f1.write() คือการเขียนข้อมูลลงไฟล์ โดยจะทำการเขียนข้อมูลภายใน () ลงในไฟล์

for line in f:
    print line
    f1.write()
ทำการวนลูป for เพื่อทำการอ่านข้อมูลในไฟล์ทีละบรรทัด และเขียนข้อมูลจากที่อ่านได้ลง myfile.html

f2.write('<a href="file:///home/mullenza/Documents/test/myfile.html">Enter to my profile</a>') คือการสร้าง link ของ html โดยที่ <a href="url">Show word</a> คือส่วนที่เป็นการสร้าง link โดย url ในที่นี้คือ path ที่อยู่ของไฟล์ในคอมพิวเตอร์ ในส่วน Show word ก็คือข้อความที่ต้องการแสดง

f.close() คือคำสั่งการปิดไฟล์ที่ทำการเปิด

3. จากนั้นทำการแสดงผลไฟล์ .py
 จากนั้นเราจะได้ไฟล์ myfile.html และ home.html

4. จากนั้นทำการดับเบิ้ลคลิกไฟล์ home.html แล้วจะทำให้ Browser ขึ้นมาแสดงผลข้อมูล html ในไฟล์ home ขึ้นมา
จากนั้นทำการคลิก Enter to my profile ก็จะแสดงหน้าข้อมูลขึ้นมาจากไฟล์ myfile.html


อ้างอิงข้อมูล html : w3schools


วันพุธที่ 13 พฤศจิกายน พ.ศ. 2556

เขียนประวัติด้วย python

    ปัจจุบันภาษาบนคอมพิวเตอร์นั้นมีมากมายหลากหลาย ผู้คนต่างก็มีความชอบและถนัดต่างกัน ในหัวข้อนี้ ผมจะมากล่าวถึงภาษา python โดยผมจะแนะนำการเขียนภาษา python บน ubuntu แบบง่ายๆให้ครับ

เริ่มต้น
1. ให้สร้างไฟล์ Empty ขึ้นมาโดยทำการคลิกขวาบนพื้นที่ว่างๆ>Create New Document>Empty Document
2. สร้างไฟล์ โดยตั้งสกุลไฟล์เป็น .py
3. เปิดไฟล์ขึ้นมา
4. ทำการเขียนแนะนำตัวเอง (โดยผมจะยกตัวอย่างให้ในรูป)
5. เปิด Terminal ขึ้นมาโดยกดที่ Menu funtion และพิมพ์ในช่องค้นหาว่า terminal หรือสามารถกด Ctrl+Alt+T ก็ได้เช่นกัน

6. ทำการเข้าไปยัง Directory ที่คุณทำการ save file .py ของคุณไว้ โดยใช้การพิมพ์คำสั่ง cd ตามด้วยชื่อ Directory ทีละ path โดยสามาถดูว่าตอนนี้มี Directory อะไรบ้างได้โดยพิมพ์ ls
7. ทำการแสดงผลลัพธ์ไฟล์ .py โดยพิมพ์คำสั่ง python ชื่อไฟล์.py

    บทความนี้แสดงให้เห็นว่า ภาษา python สามารถเขียนได้โดยการสร้างไฟล์อย่างง่าย โดยไม่ต้องลง IDE ใดๆ เลยก็ได้ และภาษา python จะมีรูปแบบสั้นกะทัดรัด