Thursday, June 22, 2006

งานเขียนโปรแกรมมาราธอน

วันที่ 1-2 กรกฎาคมนี้ ผมมีนัดหมายเข้าร่วมกิจกรรม "งานเขียนโปรแกรมมาราธอน"
โดย Project ที่จะทำก็คือ Server ที่ใช้สำหรับงาน Vehicle Tracking System
ตัว scope งานก็มีนิดเดียว (เพราะมีเวลาแค่นิดหนึ่ง)

1. เขียนโปรแกรมส่วน server ที่ทำหน้าที่รวบรวมข้อมูลที่ submit มาจาก vehicle ผ่านทาง http protocol
2. เขียน web service (rest style) ที่เปิดให้สามารถ query สอบถามสถานะของ vehicle ได้ 
 2.1 สอบถามสถานะของ Vehicle by ID
 2.2 สอบถาม Active Vehicle ที่อยู่ในพื้นที่ที่กำหนด
3. จัดทำ service และ javascript client library ที่เปิดให้ client สามารถ monitor ความเคลื่อนไหวของ vehicle ที่ต้องการได้

ภาษาที่ใช้ก็คือ Erlang
โดย Web Server จะใช้เจ้า Yaws
ส่วน Database จะใช้ Mnesia

ประเด็นที่ผมสนใจในเจ้า erlang ก็คือ
1. มันเป็น Functional Language (code น้อย ต่อยหนัก)
2. Concurrent Model ของมันเป็น Processes โดยมันจัดการ processes เอง
ไม่ได้ใช้ native process หรือ native thread
3. Process คุยกันผ่านทาง Message ซึ่งเป็นแบบ Asynchronous เท่านั้น
4. ย้าย process ข้ามเครื่องได้
5. hot upgrade code ได้
...
เยอะเลยที่ชอบ

ปัญหาตอนนี้มีอยู่อย่างเดียว นั่นคือผมและลูกทืมทั้งหมดยังไม่เคยมีใครเขียน erlang เลย
ความสนุกคงอยู่ตรงนี้แหล่ะ
ตอนนี้สมาชิกในทิืมมีอยู่ 6 คน
มีน้องๆที่บริษัทฯ 2 คน และเป็นเพื่อนหรือน้องใหม่อีก 3 คน

ดังนั้นอาทิตย์นี้และอาทิตย์หน้า blog นี้จะอุทิศให้แก่ erlang

Related link from Roti

No comments: