git commit cce9e1a48240eb18110bab1f2d279721acab1ab1

8 views
Skip to first unread message

Manatsawin

unread,
Jan 10, 2010, 4:26:01 AM1/10/10
to AcKernel
(ผมจดลง git log เช่นเดียวกันครับ)

Commit:cce9e1a48240eb18110bab1f2d279721acab1ab1

- sql/ackernel.sql moved to server/ackernel.sql
- ackernel.sql updated to 5/1/2010 (http://ackernel.googlegroups.com/web/CreateAllTables_5Jan2010_ouychai.sql) created & updated by Ouychai Chaita
- Applied slight modification to ackernel.sql
  - Remove the header (as that should be put in git log)
  - Removed the USE command.

Signed-off-by: Manatsawin Hanmongkolchai <manat...@gmail.com>

- ย้ายไฟล์ ackernel.sql
- อัพเดตไฟล์ ackernel.sql ที่คุณอวยชัยเพิ่มเข้ามา
- ดัดแปลงเล็กน้อย


ฝากคุณอวยชัยครับ

- คราวหน้าถ้าจะมีการอัพเดต รบกวนส่งขึ้น git เองเลยครับเพราะตัว redmine จะใส่เครดิตชื่อให้ตามชื่อใน git commit ครับ (ถ้ามีปัญหายังไงเข้ามาติดต่อใน IRC ได้ครับ จันทร์-พุธนี้ผมไม่อยู่นะครับ)
- คำสั่ง USE น่าจะเอาออกนะครับเพราะให้ installer มันจัดการเองดีกว่า

เดี๋ยวสักพักผมจะเขียน abstraction layer push ขึ้นมาแล้วจะเมลเข้ามาอีกทีหนึ่งครับ
(abstraction layer นี้ผมเขียนแบบ passthrough นะครับ คือสั่งแล้วก็เซฟไม่มีการประมวลผลพิเศษใดๆ)
เสร็จแล้วผมไม่แน่ใจว่าจะเสร็จถึง API หรือเปล่านะครับ

Manatsawin

unread,
Jan 10, 2010, 8:10:04 AM1/10/10
to AcKernel
Git commit 0cfdd5ede05dca8ad1361720b4e3fe9497c7cb14

commit 0cfdd5ede05dca8ad1361720b4e3fe9497c7cb14
Author: Manatsawin Hanmongkolchai <manat...@gmail.com>
Date:   Sun Jan 10 19:58:19 2010 +0700

    Added abstraction for ack_{section,account}_id and a test tool.

เห็น log สั้นๆ แค่นี้โค๊ดไม่สั้นนะครับ  154 บรรทัดในไฟล์เดียวเชียว

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

จริงๆ ตาม plan ที่วางไว้คือใช้ SQLObject แต่เนื่องจากมันมี table ที่เป็น SQL อยู่แล้ว จะมานั่งทำ SQLObject มันก็น่าเบื่อ และคงไม่มีประโยชน์ที่จะมา abstraction ซ้อนสองชั้นเลยไม่ทำครับ

สำหรับการใช้งานมอดูลผมพยายามออกแบบให้เข้าใจง่ายที่สุดคือใช้ระบบเดิม เช่นการจะดึงข้อมุล แทนที่จะไปเรียก .get() ขึ้นมา ก็สามารถถือว่า object ตัวดังกล่าวเป็นเหมือน list ปกติ จะดึงก็ list() ขึ้นมาได้เลย (ถ้ามีเงื่อนไขพิเศษค่อยใช้ .get()) หรือจะ for เข้าไปเลยก็ได้ครับ ถ้ายังไม่เข้าใจการทำงาน หรืออยากทราบส่วนอื่นๆ เปิดดูไฟล์ server/testsuite.py ดูนะครับ (ถ้าจะรันไฟล์นี้จะต้องติดตั้งก่อนครับ)

ขั้นตอนการติดตั้งระบบคร่าวๆ คือให้เปิดไปที่ server/ackernel/ คัดลอก conf.py.dist เป็น conf.py แก้ไขไฟล์ตามต้องการ จากนั้นรัน installer.py (working directory ต้องเป็น server/ackernel) โปรแกรมจะติดตั้งให้ทันทีครับเท่านี้ก็สามารถใช้งานได้แล้ว

สำหรับพรุ่งนี้เป็นต้นไปผมไม่อยู่ รบกวนว่าท่านไหนเขียน Python ได้ก็รบกวนทำต่อให้เสร็จด้วยครับ (จริงๆ copy paste โค๊ดผมไปก็ได้บางส่วนแล้ว ยิ่งถ้า table มันเหมือนกันเป๊ะแค่ copy paste เปลี่ยนชื่อ table, field ก็ได้แล้วครับไม่ซับซ้อน เสร็จแล้วเขียน testsuite โดย copy paste เปลี่ยนค่าตัวแปร ack ก็ได้แล้วครับไม่ยาก)

2010/1/10 Manatsawin <manat...@gmail.com>
Reply all
Reply to author
Forward
0 new messages