university

ก็ผ่านไปแล้ว สำหรับงานจุฬาฯวิชาการ 2551 งานนิทรรศการที่ยิ่งใหญ่มากๆงานหนึ่ง ถึงกับปิดจุฬาฯ 5 วันเพื่อจัดงานนี้เลยทีเดียว

entry นี้คงจะเล่าเกี่ยวกับการมีส่วนร่วมในงานครั้งนี้ว่าผมไปทำอะไรบ้าง entry นี้ค่อนข้างจะยาว และมีรูปเยอะอาจจะรอโหลดหน่อยนะครับ

อีกอย่างคือ ช่วงแรกๆอาจจะเป็นเรื่องที่หลายๆคนอ่านไม่รู้เรื่อง หากจะข้ามไปดูรูปด้านล่างได้เลยไม่ว่ากัน (แต่ก็จะไม่รู้ว่าผมทำอะไร )

 

 

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

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

คำถามต่อไป คือแล้วจะลงทะเบียนกันยังไงวะ ?

คำตอบที่ได้กลับมา คือจะมีจุดลงทะเบียนทุกๆประตูทางเข้ารอบจุฬาฯ

shit !

ผมสบถกับตัวเองสั้นๆ แล้วพยายามจินตนาการภาพทุกประตูรอบมหาวิทยาลัย มีโต๊ะเรียงรายรอให้ผู้เข้าชมงานมากรอกข้อมูลลงกระดาษ staff ยืนรอบๆคอยอำนวยความสะดวก ไม่สิวะ ! มีคอมพิวเตอร์เรียงรายแล้วผู้เข้าชมงานก็กรอกข้อมูลลงในนั้น ใช่ ! มันก็ดูดีหรอกนะหากว่าคนเข้าชมงานมีไม่เยอะคำถามเรื่องการ design ระบบแบบนั้นจะเอาอะไรมาทำแบบไหนดีที่สุด แล้วจะทำมันยังไงดี หากว่าจะทำเป็นแบบ client/server แล้วจะทำ network นั้นทุกๆประตูได้ยังไง ? ภาพนี้ยังไม่เกิดขึ้นในหัวผมเวลานั้น ผมยังไม่ได้ตอบคำเชิญชวนของปิงไป

 

 

หลายสัปดาห์ต่อมาก็ได้รับคำชวนให้ไปลองเข้าประชุมกับรุ่นพี่ที่จะทำระบบนี้ดู เอาวะ! บ่ายว่างพอดีก็เลยลองไปเจอกับรุ่นพี่ 2 คนที่ดูเหมือนว่าจะ design อะไรบางอย่างไว้แล้ว แจ่มล่ะ มันคือ database แล้วก็ interface บางส่วนของโปรแกรม ในเย็นวันนั้นเราก็เริ่ม coding กันเลย ผม code ไปทั้งๆที่ยังมองภาพของระบบไม่ออก พี่ๆเองก็ยังไม่รู้ว่ามันจะออกมาเป็นยังไงเหมือนกัน ฟังดูบ้าๆยังไงไม่รู้ แต่ภาพที่เห็น คือ เด็กภาคคอม 4 คนนั่งปั่นอะไรบางอย่างด้วยคอมพิวเตอร์ของศูนย์คอมในคณะที่จำเป็นจะต้องใช้ notepad ในการ coding แล้วก็มี mac book กับ Think pad ที่รัน Flash ตลอดเวลา สองสามชั่วโมงผ่านไป interface บางส่วนก็เสร็จ แล้วก็ออกไปกินข้าวกันแล้วก็แยกกันกลับ

 

ผมจะอธิบายให้ฟังว่าระบบมันเป็นยังไง

ระบบลงทะเบียนแบ่งเป็น 2 ส่วน
ส่วนแรก ลงทะเบียนเดี่ยว ประมาณว่าคนเดินเข้ามาในงานก็กรอกข้อมูลทีละคนซะข้อมูลที่ได้ค่อนข้างละเอียด ประกอบด้วย ชื่อ สกุล ที่อยู่ อายุ อีเมล เบอร์โทรโรงเรียนหรือมหาวิทยาลัย หรือสถานที่ทำงานสำหรับคนที่ทำงานแล้ว

ส่วนที่สอง ลงทะเบียนกลุ่ม สำหรับนักเรียนที่มากับโรงเรียน อะไรประมาณนั้น ก็จะเก็บหน่วยงาน/โรงเรียน/ จำนวน

เวลาผ่านไปหลายสัปดาห์ ใกล้ถึงวันงานจริงเข้ามาทุกที แต่ระบบเองก็ยังไม่เป็นรูปร่าง

 

1 วันก่อนงานจริง

  • งานที่แบ่งกันไปทำยังแยกกันอยู่
  • ระบบยังทำงานร่วมกันไม่ได้
  • คอมพิวเตอร์ที่จะใช้ทำยังมาไม่ถึง
  • ระบบ network ที่อยากจะให้เป็น wifi รอบมหา'ลัยยังไม่ work
  • server ที่จะใช้เก็บยังไม่พร้อม
  • บลาๆๆ

เช้าวันนั้น ที่ร้าน true coffee ใต้คณะเรายังนั่งนึกหาวิธีที่จะทำให้ระบบมันทำงานได้

ก็แบบนี้แหละ CP ของจริง

พอตอนบ่ายคอมก็มาถึง เป็น notebook 35 เครื่องจาก dell และ acer

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

ข้อสรุปก็คือเลิกแนวคิด client/server ซะ แล้วกลับไป stand alone ซะ !

คำถามต่อมาก็คือ หากว่าจะมี databaseที่คอมทุกเครื่องแล้วล่ะก็ เราจะทำยังไงกับ database ที่เป็น mySQL ในทั้ง 35 เครื่องให้มารวมกัน ?

ยังไม่มีการเสนอแนวทางแก้ปัญหาใดๆ ผมรับหน้าที่แก้ปัญหานี้ ทั้งๆที่เวลานั้นยังไม่มีแนวคิดใดๆในหัว

ในบ่ายวันนั้นเราทำได้แค่ setup ทุกเครื่องให้เป็น webserver ที่มี PHP+mySQL ทุกแนวคิดที่คิดได้ในเวลานั้นถูกนำมาใช้ flashdrive หลายตัว มีไฟล์ที่ประกอบด้วย RAR SFX ที่ผมเขียนขึ้นมาให้ double cilck แล้ว update file ใหม่ได้ทันที

หลังจาก setup เครื่องแรกผ่านไปก็เป็นปกติที่เราต้องทำการ test มันเปิด IE ขึ้นมา เปิด http://localhost

shit! ทำไมมันเป็นหน้าว่างๆวะ !?!

เครื่องหมายคำถามเกิดขึ้นเต็มหัว เครื่องมันลง Flash Player ยังวะ ? ว่าแล้วก็โหลด Flash Player ให้มันซะ แล้วก็รันอีกครั้ง 

เห้ย มันทำไมไม่ work วะ เวลานั้นทุกคนงง แล้วก็รีบกลับไปเช็คไฟล์ Flash ที่ทำมาอย่างเคร่งเครียด

และแล้วอะไรมันดลใจผมก็ไม่รู้ ... IE ... IE6 ต้องแกแน่ๆ

ทันใดนั้นเองก็ Download Firefox 3 มา แล้วทำการ install ลงไป

แล้วเปิดหน้าเวบช้าๆ ... ทุกคนก็ลุ้น แล้วมันก็ Work ! ! !  !

FCUK IE6 !

เอาล่ะ สุดท้ายทุกอย่างดูจะราบรื่นดีทั้งๆที่ความจริงที่เรารู้คือระบบมันยังไม่สมบูรณ์ ...

ในคืนนั้น ผมใช้เวลาหลายชั่วโมงในการอ่าน code ทั้งหมดที่เขียนจากทุกคนที่ทำ แล้วหาแนวทางแก้ปัญหา

ประเด็นคือ mySQL จากเครื่องที่จะนำมาใช้รับลงทะเบียนจำนวน 24 เครื่อง จาก 35 เครื่อง เราจะมีวิธีไหนที่ทำให้เราได้ DB มาโดยที่เราเหนือยน้อยที่สุด ลองนึกภาพวันงานจริงมีจุดรับลงทะเบียน 6 จุดรอบมหาวิทยาลัย หากว่าเป็นผมคนเดียวที่คอยเข้าไป phpMyAdmin เพื่อ export ข้อมูลทุกวันๆ มันต้องแย่แน่ๆ

ผมค่อยๆนึกถึงสิ่งที่ผมต้องการ

  • เราต้องการdatabseวันต่อวัน เพื่อสรุปยอดผู้ลงทะเบียน
  • จุดลงทะเบียนมี 6 จุดรอบจุฬาฯ ไม่ดีแน่ถ้าต้องไปดึงข้อมูลทุกที่
  • ไม่ดีอีกเช่นกัน ถ้าต้องเปิดคอมตอนค่ำทุกเครื่องเพื่อดึงข้อมูล
  • ต้องกระจายงานเก็บข้อมูลให้ head แต่ละจุดทำ
  • วิธีการได้ข้อมูลมาต้องง่ายมาก แล้วต้องเผื่อข้อผิดพลาดที่อาจะเกิดขึ้น

ว่าแล้วผมก็ละเลง algorithm ลงไป โดยมันจะทำหน้าที่ generate คำสั่ง mySQL ให้ผม แล้วบันทึกลงใน ไฟล์ ซึ่งผมสามารถนำไฟล์นี้ไป query ได้ทันที ซึ่งทุกๆไฟล์จะมี labelเป็น index ที่ uniqueเพื่อที่เวลา copy แต่ละเครื่องจะไม่มีการซ้ำกัน และมันยังช่วยเช็คได้หากเกิดปัญหา ว่าเกิดจากเครื่องไหน แล้วเราก็จะแก้ปัญหาได้โดยไม่เสียเวลา O(n)วิธี label จะเสีย O(1)

นั่นแหละแจ่ม ทุกๆวันผมจะได้ flash drive 6 อันจาก head แต่ละจุด แล้วก็มี script รวม file แล้วก็ทำการ generate syntax และค่าต่างๆ เช่น วันที่ให้ตรง แล้วจากนั้นก็ import ผ่าน phpMyAdmin ได้ทันที

ฝันที่สวยหรูจะเป็นอย่างไรในวันจริง การทำงานที่แสนจะเร่งรีบการ coding ทำไปโดยไม่มีการ test ทุกคนได้แต่หวังว่าทุกอย่างจะราบรื่น ใกล้ถึงตี 3 ผมก็เข้านอน

 

 

วันงานจริงมาถึง !

งานวันแรก ทุกอย่างวุ่นวายมากๆ เพราะเราไม่มีข้อมูลของ 3 ปีที่แล้วเลย การทำงานนี้ก็เป็นงานแรกที่มีอะไรแบบนี้เกิดขึ้น และที่แน่ๆ งานแรกที่ผมได้มีส่วนร่วมกับอะไรที่ใหญ่ และห้ามพลาดแบบนี้

การทำงานของแต่ละประตูดูจะวุ่นวาย เพราะการทำงานนี้มันไม่เคยมีมาก่อนน่ะสิ

วันแรกผ่านไป ยอดผู้ลงทะเบียนราวๆ 5000 คนมันก็ดูสูงนะ แต่เราก็รู้ว่ามันยังไม่ดีพอ

คืนวันนี้ที่ อบจ. มีการประชุมเครียดถึงแนวทางแก้ปัญหาprocess ต่างๆของแต่ละงาน

หลังเสร็จการประชุม สิ่งที่เราหวังจะเป็นในวันที่สองของงาน คือ หากว่าคุณเป็นผู้เข้าชมงาน เดินผ่านประตูเข้ามาแล้วจะเจอหน่วยปฏิคม หรือไม่ก็คนแจกสูจิบัตรที่เป็นแผนทีของงาน แล้วจากนั้นก็เข้ามาลงทะเบียนเพื่อรับของที่ระลึก เป็นถุงสวยๆ ถ้าหากยังไม่รู้จะชมส่วนไหนของงานก็สามารถสอบถามได้ที่ information และ navigator คอบแนะนำว่ามี event เด็ดๆ ที่คณะไหน และตอนไหนบ้าง และถ้ามาหลายคนอยากได้คนนำทางก็สามารถติดต่อปฏิคม แล้วก็จะมีไกด์หนุ่ม/สาวคอยพาเดินเที่ยวชมงาน หรือหากว่าจะขึ้นรถ sight seeing เพื่อเที่ยวชมงานรอบๆก็สามารถทำได้

งานวันที่สอง !!

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

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

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

เดี๋ยวเอนทรี่หน้าอยากจะเขียนสิ่งที่ได้จากการทำงานในตั้งนี้ ต่อจากนี้ ชมรูปไปก่อน

 

ป้ายหน้าเตนท์
 
 
key ข้อมูลกันเข้าไป วิดวะ กะ บัญชี ฮ่าๆ
 ปกติแล้วประตูอักษรคนจะน้อยที่สุดและ staff ประตูนี้จะเป็นวิดวะคอมเสมอๆ
 
วันไหน staff มีกันเยอะพอก็จะใช้วิธีสัมภาษณ์ แล้วพิมพ์ทีละคน
 
น้องชื่ออะไร นามสกุลอะไร อีเมลล่ะ เบอร์โทร อายุเท่าไร จากโรงเรียนอะไร อยากไปเที่ยวคณะไหน บอกได้นะ
 
เสื้อน้องคนนี้เท่มาก
 
staff ลงทะเบียน
 
navigator  พร้อมนำทางได้ อ้อ ใครใช้ symbian ลงโปรแกรมรับข้อมูล event ในงานได้ตลอดเวลาเลยนะ
 
มุมนี้สวยดีว่ะพี่ กดทันพอดี
 
คณะบัญชีเค้ามาเก็บงานกันแล้ว - ยังไม่ได้เข้าไปดูเลย
 
หลายๆครั้งผมก็อดคิดไม่ได้ว่า จุฬาฯเป็นมหาวิทยาลัยหญิงล้วนที่มีวิศวฯเป็นโรงเรียนชายล้วนอยู่ข้างใน
ผมเลือกเรียนผิดคณะจริงๆ
 
 NITAD 15 ของคณะตัวเอง ก็ได้แค่แว๊บเข้าไปนิดเดียว
 
ลาเอนทรี่นี้ด้วยมุมสวยๆจากคณะอักษรศาสตร์

 รูปจากกล้องตัวอื่น เดี๋ยวจะมาลง link ไว้เมื่อเจ้าของเค้า upload เสร็จ เจอกัน entry หน้าครับ

Tags