วันอังคารที่ 18 ธันวาคม พ.ศ. 2555

ขี่จิงโจ้ รอบที่ 3-- มาแก้ไขโค้ดเพื่อให้ได้เวปอย่างที่คุณต้องการกันเถอะ ตอนที่ 3 (ตอนจบ)

หลังจากจัดการกับหน้าเวปเสร็จแล้ว เรามาดูวิธีการจัดการกับ Controller กันบ้างค่ะ
ระบบจะทำการสร้างไฟล์ AspectJ ขึ้นมาเป็นโค้ดส่วน controller ให้อัตโนมัติ ซึ่งตรงนี้เราจะไปเปลี่ยนแปลงแก้ไขไม่ได้เลย แต่ก็จะมีพวกฟังก์ชันพื้นฐานครบตาม CRUD (Create,Read,Update,Delete) ดังรูป

5. แต่บางครั้งเราก็อาจจะต้องการฟังก์ชันนอกเหนือจากนี้ เช่น ค้นหาข้อมูลแบบแปลกๆ เราก็ต้องเขียน Controller เองค่ะ ซึ่งจะต้องเขียนในไฟล์ Controller.java เท่านั้น
ที่สำคัญ ถ้ามีการติดต่อฐานข้อมูลที่ไม่ตรงตามที่ AspectJ มีให้ เราก็จะต้องเขียนฟังก์ชันที่ดึงข้อมูลจากฐานข้อมูลต่างหากค่ะ  ดังตัวอย่าง
ไฟล์ RecordExpenseService จะเป็นโค้ดที่เขียนขึ้นมาเพื่อเก็บชุดคำสั่งสำหรับการติดต่อฐานข้อมูลในแบบที่ไม่มีให้ใน Spring Roo  เช่น ค้นหาข้อมูลที่มีความสัมพันธ์กันมากกว่าสองตาราง หรือใช้การเปรียบเทียบต่างๆ เราก็สามารถเขียนชุดคำสั่ง JPA หรือจะใช้ Native SQL ก็ได้

ส่วนไฟล์ RecordeExpensesController เราก็ไปเพิ่มอีก action นึงให้ทำการแสดงรายการซื้อสินค้าที่ราคาแพงๆ ทั้งหมดออกมาค่ะ

6. ส่วนของการล็อกอิน จะต้องกำหนดให้กับไฟล์ applicationContext.xml ว่าให้อ่านข้อมูล username, password จากที่ไหนและยังไง กำหนดได้ดังรูปเลยค่ะ ก็จะเห็นว่าเราระบุชุดคำสั่ง SQL ที่จะใช้ดึงข้อมูลผู้ใช้ออกมา นอกจากนี้ยังกำหนดการเข้ารหัสพาสเวิร์ดได้ด้วยนะคะ

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

ถ้าหากมีเวลา จะเขียนอธิบายโครงสร้างของ Spring Roo อย่างละเอียด(กว่านี้) ครั้งหน้า แต่อาจจะไม่มีเวลาอธิบาย Spring Framework และการเขียนเวปด้วย JAVA อย่างครบถ้วนนะคะ ผู้อ่านคงต้องปรับพื้นฐานด้วยการอ่านจากหนังสืออีกทีน่ะค่ะ  อย่างไรก็ตาม ขอให้สนุกกับการเขียนเวปด้วยสปริงจิงโจ้นะคะ

วันจันทร์ที่ 17 ธันวาคม พ.ศ. 2555

ขี่จิงโจ้ รอบที่ 3-- มาแก้ไขโค้ดเพื่อให้ได้เวปอย่างที่คุณต้องการกันเถอะ ตอนที่ 2

ต่อจากตอนที่แล้วนะคะ เราก็สามารถเปลี่ยน theme ของเวปได้แล้ว ทีนี้เรามาเปลี่ยนหน้าตาเวปกันบ้าง
2. การเปลี่ยนข้อมูลแสดงผลหน้าตาของเวป ไฟล์ .jspx ที่ถูกสร้างให้อัตโนมัติ
ถ้าจำกันได้ เจ้า Spring Roo จะสร้างหน้าเวป 4 หน้าให้เราอัตโนมัติ ตามแบบ CRUD ซึ่งก็จะได้ไฟล์ create.jspx , list.jspx, show.jspx และ update.jspx มาสำหรับหนึ่งตารางข้อมูล ทีนี้หากเราต้องการปรับเปลี่ยนหน้าตาเหล่านี้ให้เป็นอย่างที่เราต้องการทำยังไงดี
อันดับแรก จะต้องไปที่ไฟล์ Controller ของข้อมูลชุดนั้นก่อนเลยค่ะ
จะเห็นว่าตรง @RooWebScaffold มีคำสั่งให้ automaticallyMaintainView=true อยู่ ให้เปลี่ยนเป็น =false ซะ ตรงนี้ก็คือคำสั่งที่ให้ Spring Roo ปรับเปลี่ยนหน้าเวปของเราให้อัตโนมัติค่ะ ที่ต้องมาเปลี่ยนเป็น false ก็เพราะว่า ถึงแม้เราไปแก้โค้ดหน้าเวปให้เปลี่ยนไปตามที่เราชอบแล้ว แต่ว่า spring roo ก็จะจัดการปรับหน้าเวปเรากลับมาเป็นเหมือนเดิมอยู่ดีค่ะ เพราะว่ามันจะสร้างหน้าเวปตามไฟล์ .java ที่มีอยู่ตามรูปแบบของมันเสมอ ดังนั้นต้องแก้เป็น false ก่อนที่เราจะเริ่มทำการแก้โค้ด .jspx นะคะ

มาถึงการแก้โค้ด ไฟล์ .jspx จะใช้ Syntax ของ spring form สำหรับฟอร์มที่เก็บข้อมูล (ดูได้ที่นี่ )และใช้ Syntax HTML กับ JSPX กับส่วนอื่นๆที่เหลือ

ยกตัวอย่างเช่น หน้าเวปที่เราได้ ตรง List Menu จะแสดงข้อความยาวๆ (คือทั้ง object) แต่เราอาจจะต้องการให้แสดงแค่ ชื่อ อย่างเดียว ก็สามารถ แก้ไขโดย ตรง <form:select> จะมี <form:options> ซึ่งก็คือตัวเลือกใน List เราก็เพิ่มตัวแปรเข้าไป ให้ itemLabel="name" (เมื่อ name คือชื่อตัวแปรใน .java) แค่นี้ก็ทำให้แสดงเฉพาะชื่อของกลุ่มแล้วค่ะ
 <form:options itemValue="id" itemLabel="name" items="${expensecategorys}"/>

3. การที่เราจะเพิ่มไฟล์ .jspx เข้าไปใหม่ (ที่ไม่ใช่ 4 ไฟล์ที่ระบบสร้างให้อัตโนมัติแบบข้างบน) ก็สามารถทำได้เลย แต่จะต้องแก้ไขไฟล์ views.xml ซึ่งเป็นไฟล์ที่ทำหน้าที่ระบุว่ามีไฟล์ .jspx อะไรบ้าง
อย่างในรูปข้างบน จะเห็นว่าถ้าเราต้องการเพิ่มไฟล์ .jspx เข้าไปใหม่อีกไฟล์ ก็จะต้องเพิ่ม <definition> เข้าไปที่ระบุชื่อไฟล์นั้นๆค่ะ
4. การที่เราจะจัดการหน้าเมนู ที่มีไว้ให้อัตโนมัติ เราสามารถเพิ่มเมนูใหม่ๆ ปรับย้ายได้ตามต้องการ แต่ก็จะขออธิบายโครงสร้างมันไว้คร่าวๆเผื่อใครอยากจะแก้ไขไฟล์เดิม menu.jspx นะคะ
จะเห็นว่าไฟล์ menu.jspx นี้เป็น Syntax HTML ธรรมดา จะมีพิเศษก็ตรงที่ตัวแรป id กับค่าตัวแปรต่างๆที่ถูกเอามาใช้ เช่น ${web_mvc_jsp_create_recordexpenses_menu_item_url} นั้นเป็นตัวแปรของข้อความที่จะเอามาแสดงซึ่งถูกสร้างอัตโนมัติโดยระบบ อยู่ในไฟล์ที่ชื่อว่า application.properties ดังรูปค่ะ
จะเห็นว่า ตัวแปรก็เก็บแค่ข้อความที่จะใช้แสดงผลในหน้าเวปค่ะ เพราะฉะนั้น เราสามารถที่จะตั้งชื่อตัวแปรใหม่ก็ได้ หรือเปลี่ยนข้อความ(สีน้ำเงิน) ก็ได้ค่ะ

อีกจุดนึงก็คือ ตัวแปรที่ถูกใช้ในฟอร์ม เช่น <spring:message code=label.recordexpenses> ตัวแปร label.recordexpenses นี้คือตัวแปรที่อยู่ในไฟล์ message.properties ค่ะ
จะเห็นว่า การตั้งชื่อมักจะบอกก่อนว่าข้อความนี้จะถูกใช้ที่บริเวณไหน เช่น button. แล้วก็บอกรายละเอียดชื่อของข้อความ เช่นปุ่มบันทึกก็เป็น button.save เช่นเคยเราสามารถปรับเปลี่ยนข้อความ หรือเพิ่มตัวแปรใหม่ๆได้ค่ะ

ทีนี้ตรงนี้มีประโยชน์ตรงที่ว่า Spring Roo ออกแบบนี้เพื่อให้รองรับเวปที่มีมากกว่า 1 ภาษา ดูได้จากไฟล์ message.properties จะมีต่อท้ายว่า _de / _es คือเปลี่ยนตามภาษาค่ะ เพราะฉะนั้นเราก็แค่ให้หน้าแรกของเวปสามารถกดเลือกภาษาที่จะอ่านได้ ระบบก็จะมาดึงข้อมูลตัวแปรจากไฟล์ภาษาที่เลือกไปแสดงผลค่ะ

เดี๋ยวจะมาต่อ ตอนที่ 3 ให้จบการแก้ไขเวปอย่างง่ายๆบน Spring Roo นะคะ

ขี่จิงโจ้ รอบที่ 3-- มาแก้ไขโค้ดเพื่อให้ได้เวปอย่างที่คุณต้องการกันเถอะ ตอนที่ 1

ทิ้งค้างกันไว้นานเลยนะคะ จากบทความ Spring Roo ครั้งที่แล้ว คราวนี้คิดว่าจะพยายามหาเวลาว่างเขียนบล็อกให้ได้อาทิตย์ละครั้ง ก็เลยอยากมาต่อเรื่องที่ติดค้างไว้ซักหน่อยค่ะ

จากครั้งที่แล้วได้โชว์ชุดคำสั่ง 14 คำสั่ง ที่ใช้สำหรับสร้างเวปอย่างง่ายๆ บน Spring Framework กันไปแล้ว จุดประสงค์ก็เพื่อต้องการให้เห็นว่า แม้ Java เองก็มี scaffold มารองรับ ทำให้สร้างเวปได้ง่ายขึ้นเหมือนๆกับ dynamic language ภาษาอื่นๆเหมือนกันค่ะ (แต่เอาเข้าจริง Java จะค่อนข้างซับซ้อนกว่านะคะ)

หลังจากที่รัน 14 คำสั่งพื้นฐานเสร็จแล้ว เราก็จะได้เวปที่มีหน้าตาสีเขียวตาม Template ที่เค้าให้มา และก็อาจจะมีอีกหลายๆจุดในเวปที่ยังไม่ตรงกับความต้องการของเราจริงๆใช่มั้ยคะ
เริ่มต้น จะเห็นว่า Spring Roo สร้างโฟลเดอร์และไฟล์ต่างๆให้เราอัตโนมัติตามรูปนี้ค่ะ

 ทีนี้เราจะเริ่มมาปรับปรุงแก้ไขกันทีละจุด (อย่างง่ายๆ) เพื่อให้เหมาะกับการสร้างเวปอย่างง่ายนะคะ
1. ถ้าหากต้องการเปลี่ยนหน้าตา template / theme ของเวป เราก็คงต้องการเปลี่ยนไฟล์ CSS ที่ใช้ใช่มั้ยคะ สำหรับไฟล์ที่ทำหน้าที่เกี่ยวกับการแสดงผลหน้าตาของเวปนั้น จะอยู่ในโฟลเดอร์ WEB-INF/layouts ค่ะ


จะเห็นว่าในโฟลเดอร์ layouts มีไฟล์ default.jspx กับไฟล์ layouts.xml อยู่ซึ่งไฟล์ .jspx ก็คือไฟล์ theme ในเวปนั่นเองค่ะ ส่วนไฟล์ .xml จะเป็นไฟล์ที่กำหนดโครงสร้างว่า theme เวปเนี่ยจะมีไฟล์ .jspx อะไรบ้างที่จะเอามาใช้
เริ่มจากดูที่ไฟล์ layouts.xml ก่อนนะคะ ก็จะเห็นว่า โครงสร้างของ theme เวปแบ่งเป็นสองส่วนค่ะ คือ body กับ menu ไฟล์ .xml เนี่ยก็จะระบุว่า ส่วนของ body จะใช้ .jspx อะไร และส่วน menu ใช้ .jspx อะไร ซึ่งเราก็จะสามารถเปลี่ยนไฟล์ .jspx ที่ใช้ตามที่เราออกแบบได้ค่ะ

สำหรับไฟล์ default.jspx ก็จะเป็นรายละเอียดส่วนของ theme ในหน้าเวปทั้งหมด ซึ่งจะสามารถเพิ่มลิงก์ไฟล์ CSS และ Java Script ได้ค่ะ จะเห็นว่า Syntax ที่ใช้นั้นเป็น spring tag ดังนั้น เราจะต้องใช้ <spring:url> เพื่อกำหนดที่อยู่ลิงก์ของไฟล์ CSS / Java Script ก่อนที่จะ เพิ่มเข้าไปในหน้าเวป หากจะเพิ่มหรือเปลี่ยนไฟล์ CSS แก้ตรงคำสั่ง <link rel="stylesheet">
หากจะเพิ่มหรือเปลี่ยนไฟล์ Java Script ก็แก้ตรงคำสั่ง <script >
ส่วน Syntax อื่นๆทั่วไปก็เป็น HTML ธรรมดา ซึ่งสามารถที่จะปรับเปลี่ยนได้ตามใจเราต้องการ

อ่านต่อได้ที่ มาแก้ไขโค้ดเพื่อให้ได้เวปอย่างที่คุณต้องการกันเถอะ ตอนที่ 2

วันพุธที่ 5 ธันวาคม พ.ศ. 2555

รีวิว BB10 OS จากงาน BB Jam Asia 2012 และจาก Alpha B Device

คราวนี้มาพูดถึงรายละเอียดเนื้อหาในงานกันบ้างนะคะ เนื่องจากว่าไม่ได้จดรายละเอียดไว้มากนัก ก็จะขอเล่าแบบคร่าวๆเท่าที่พอจำได้ดีกว่า

ในส่วนของ General Session นั้นก็ พูดถึงแนวทางของ BB10 OS ที่เรียกได้ว่าเป็นไพ่ตายใบสำคัญของ RIM แล้วล่ะค่ะ เพราะทุ่มเทสุดๆเพื่ออนาคตของบริษัท ซึ่งทั้ง OS ตัวเต็มและ Device ก็เตรียมจะออกมาให้ยลโฉมกันเดือน ก.พ. ปีหน้านี้

สำหรับ Developer ก็มีทั้งโปรแกรม 10k commitment ซึ่งคือการที่ให้เหล่า developer ส่งโปรแกรมขึ้น app world ภายใน deadline ที่กำหนดไว้(ต้องลงทะเบียนว่าเราจะเข้าร่วมโปรแกรมนี้ก่อน) แล้วถ้าหากไม่สามารถทำรายได้ถึง 1,000$ ในหนึ่งปี ทาง RIM ก็จะจ่ายชดเชยส่วนที่ขาดให้ค่ะ

ต่อมาก็เรื่อง BB10 Gold SDK คือตัว API ฉบับสมบูรณ์สำหรับนักพัฒนาบน BB10 ที่จะออกมาให้เหล่า developer ได้ใช้กันในเดือน ธันวาคมนี้ และก็ยังมี Alpha C device ที่ถ้าใครลงทะเบียนขอไว้และสามารถส่ง application เข้า app world ได้ตามเงื่อนไขที่กำหนด ก็จะได้รับไปค่ะ

รายละเอียดเพิ่มเติม
https://developer.blackberry.com/builtforblackberry/commitment/
https://developer.blackberry.com/devalphac/

มีโปรแกรม appgenerator ที่จะทำการดึงข้อมูลจาก blogspot, facebook, twitter จาก account ของเรามาเป็นแอพให้อ่านกันผ่านมือถือได้อย่างง่ายๆด้วยค่ะ (อย่างบล็อกนี้ก็ดูผ่านมือถือที่เป็น BB ได้นะคะ โหลดมาฟรี ชื่อแอพ Ant-share ค่ะ)
เพิ่มเติม http://www.blackberryappgenerator.com/blackberry/

ซึ่ง RIM ยืนยันความรักที่มีต่อ developer ด้วยเพลงนี้


ถึงแม้ตัวเพลงกับทำนองถึงจะร็อคไปหน่อย แต่ความหมายฮาและน่ารักน่าหยิกเลยทีเดียว (เค้าจะมีอีกเพลงออกมา วันเปิดตัว BB10 ปีหน้าค่ะ)

ส่วนรายละเอียดเกี่ยวกับ BB10 คร่าวๆคือ รองรับคีย์บอร์ดภาษาไทยแน่ๆ สามารถพิมพ์ได้หลายภาษาในข้อความ และเพิ่ม keyboard layout ได้สูงสุด 3 ภาษา
ส่วนของ word suggestion ที่จะแสดงคำที่คาดเดาว่าเราจะพิมพ์นั้น ทำได้น่าสนใจมาก เพราะจะมีคำเพราะแทนที่เราจะกด space bar จะกลายเป็นใช้นิ้วปัดคำที่เราเลือกแทนค่ะ
พอพิมพ์ตัว g ก็จะเห็นว่ามีคำแนะนำปรากฎบนแป้น ดังรูป มีคำว่า Get, Good, Glad ถ้าเราชอบคำไหนก็แค่ใช้นิ้วปัดตรงแป้นคำนั้นแทนการกด space bar อย่างใน ios / android ค่ะ

พอปัดคำว่า Good ก็ได้จะแบบในรูป เสร็จแล้วก็จะมีการแนะนำคำต่อไปอย่างที่เห็นค่ะ

ตัว social application เองก็มี Social Hub ซึ่งเป็นการรวมเอา social network รายใหญ่ทั้ง 4 account มาใส่ไว้ใน BB10 แล้วก็แทนที่เราจะต้องพิมพ์ข้อความด้วยการล็อกอินเข้า app จริงๆก็สามารถทำผ่าน BB Social Hub ได้เลย รวมถึง notification และ message ต่างๆก็ทำผ่านโปรแกรมนี้ได้ค่ะ
ส่วนของ UI ก็คล้ายๆกับ playbook แต่ว่าเป็น UI สไตล์ที่เราชอบนะคะ เพราะว่า concept คือไม่ต้องกดปุ่ม back  เริ่มตั้งแต่ การเข้าหน้า home ก็ใช้ slide ขึ้นค่ะ ถ้าสไลด์เฉียงจะได้ คีย์บอร์ด ถ้าสไลด์ลงจะได้ระบบการโทรฯ เวลาเราเข้าไปในแอพต่างๆ จะกลับไปแอพอื่นๆ ก็ใช้สไลด์หมดเลย
รู้สึกว่ามันสะดวกต่อการใช้งานมาก
อย่างรูปนี้ พอเปิดเครื่องมาจะได้เป็นหน้าแรกก็ใช้นิ้วลากขึ้นบน

จะเห็นว่า ภาพค่อยๆเปลี่ยนไปเป็นหน้าแรกที่เก็บเมนูต่างๆ  สวยตรงที่ภาพค่อยๆเปลี่ยนทับจากเลเยอร์เดิม ทำให้เห็น 2 screen ซ้อนกัน

จนสุดท้ายก็จะได้เป็นหน้าหลักแบบนี้ค่ะ
ที่ชอบมากๆอีกอย่างคือ แนวคิด Flow ของเค้า ซึ่งมันก็คือ UI ที่ออกมา แสดงให้เห็นว่ารองรับ multi tasking อย่างแท้จริง เราสามารถเปิดแอพ stand by ไว้ได้สูงสุด 8 แอพ และถ้าเราเลื่อน screen ของหน้าที่เปิดใช้งานอยู่ จะเห็นว่ามันซ้อนทับกับ screen ของอีกหน้าจริงๆค่ะ
อันนี้เปิดส่วนของ Social Hub ไว้ก่อน แล้วจะกลับมาหน้าหลักก็แค่เลื่อนมาทางขวาค่ะ

อันนี้เป็นแอพที่ถูกเปิด stand by ไว้ ในหนึ่งหน้าจะมี 4 ไอคอนค่ะ มีได้สูงสุด 8 แอพ
สำหรับ session ย่อยๆ ส่วนใหญ่แล้วเราจะเข้าฟัง Native SDK ค่ะ ก็คงขอเว้นไว้ไม่เอามาอธิบาย เพราะเป็นเทคนิคย่อยๆของหมวดหมู่ต่างๆ ไม่ว่าจะเป็น PIM, Push otification, Camera and Video, Network connection, etc.
อ้อ ในตัว BB10 นี้จะไม่รองรับ JAVA API แล้วนะคะ แต่ก็สามารถ port แอพที่พัฒนาบน andriod มาใส่ใน  BB10 ได้ตามปกติ แล้วก็รองรับนักพัฒนา HTML5 , Adobe AIR ค่ะ

สรุปว่า ใครที่สนใจจะ develop แอพบน BB10 ก็สามารถอ่านรายละเอียดต่างๆได้ที่ https://developer.blackberry.com/
ส่วนใครที่เล็งๆอยู่ว่าจะใช้ BB ดีมั้ย เค้าก็จะมีขายเครื่องทั้งแบบมีปุ่มกด และไม่มีนะคะ แล้วก็โฆษณาว่าจะเปิดตัวด้วย app world ที่มีแอพเยอะมากเลยล่ะค่ะ อันนี้ก็ต้องรอดูกันต่อไป แล้วก็ไปลองใช้ BB10 OS ดูก่อนว่าชอบใจ ใช่แนวหรือเปล่า รอทดสอบกันได้เดือน กุมภาพันธ์ปีหน้านี้แล้วค่า

เข้าร่วมงาน BB Jam Asia 2012 ที่กรุงเทพฯ

ได้มีโอกาสเข้าร่วมงาน Blackberry Jam Asia เป็นครั้งแรก ก็เลยอยากมาแชร์ประสบการณ์ ก่อนอื่นต้องขอบคุณ SIPA ที่ให้โอกาสลงทะเบียนได้ฟรีนะคะ เพราะปกติแล้วงานนี้จะต้องเสียค่าลงทะเบียน ประมาณ 20$ แต่มีส่วนลดสำหรับคนที่เคยเข้าร่วมงานมาแล้ว หรือคนที่เป็นนักศึกษาอาจารย์ค่ะ

จริงแล้ว งาน Blackberry Jam นี่จะวนไปจัดตามประเทศต่างๆเป็นตัวแทนของแต่ละทวีป ซึ่งปีที่แล้วประเทศไทยน้ำท่วมเลยต้องไปจัดที่สิงคโปร์ ปีนี้ก็เลยจัดที่เมืองไทยของเราตามสัญญา งานก็มี 2 วัน คือ 29-30 พ.ย. ไปกันตั้งแต่เช้าจนเย็นค่ำไม่อยากจะกลับกันเลยทีเดียว

งานนี้เป็นงานที่จัดขึ้นเพื่อรวบรวมเอานักพัฒนาแอพพลิเคชั่นบน BB platform มาเจอกัน ซึ่งจะมี General session ที่พูดถึงเรื่องรวมๆเกี่ยวกับแผนการผลิตภัณฑ์ของ BB เอง และแนวทางต่างๆ ต่อจากนั้น ก็จะแบ่งเป็นห้องๆ ที่จะมีวิทยากรมาพูดแบ่งตามหัวข้อต่างๆ ซึ่งจะลงรายละเอียดถึงโครงสร้างของการพัฒนาแต่ละจุดใน BB  และถึงแม้ใครจะไม่ใช่ BB developer ก็ยังสามารถเข้าร่วมได้นะคะ เพราะว่าหัวข้อที่พูดบางหัวข้อก็เป็นแบบพื้นฐานทั่วๆไป หรือใครที่มีพื้นอยู่แล้วก็เข้าฟังหัวข้อที่เป็นขั้นสูง หรือเข้าห้องแลปเขียนโค้ดกันก็ได้

สำหรับรูปแบบการจัดงาน ต้องขอชมเชยว่าจัดได้ดีมากเลย ตั้งแต่ระบบการลงทะเบียนออนไลน์ การให้เราสามารถเลือก session ที่เข้าฟังได้ออนไลน์(เป็นการจองที่นั่ง) เรียกว่าจัดตารางการเข้าร่วมงานของตัวเองได้ตามใจชอบก่อนจะถึงวันงานจริง และก็แม้กระทั่งวันงานเองก็แค่ล็อกอินเข้าระบบก็ถือว่าลงทะเบียนเรียบร้อยแล้ว รับป้ายชื่อ เสื้อแจกฟรี(ที่เป็นธรรมเนียมของงานเหล่าๆนี้ไปแล้ว) ทำให้รวดเร็วทันใจดีจริงๆ และที่พิเศษคือมีการแจก BB Alpha B device ให้กับ developer ที่มีคุณสมบัติผ่านตามเกณฑ์ ซึ่งก็คิดว่าน่าจะคัดมาจากประวัติในใบลงทะเบียนนั่นเอง

แม้กระทั่งภายในงานเอง การเข้าฟังแต่ละ session ก็สะดวก มีการสแกนบาร์โค้ดที่ป้ายชื่อทำให้รู้ว่าใครเข้าฟังห้องไหน(มีห้องสำหรับฟังเลคเชอร์ทั้งหมด 4 ห้อง และแลป 2 ห้อง) ถ้าใครจองที่นั่งไว้ก็จะเข้าได้เลย แต่คนที่ไม่ได้จองที่นั่งไว้จะต้องรอจนกว่าจะถึง 5 นาทีก่อนเริ่มพูด ถึงจะเข้าห้องได้ค่ะ ในห้องจะมีกระดาษกับดินสอเตรียมไว้ให้สำหรับคนที่ต้องการจด

ส่วนเรื่องการเลี้ยงรับรอง เรียกว่างานนี้ไม่ท้องแตกไม่เลิกกิน เพราะอาหารกลางวันเป็นบุฟเฟต์ มีทั้งอาหารฝรั่ง ไทย ญี่ปุ่น คาวหวาน มากันครบ ช่วงพักเบรกก็มีอาหารว่าง น้ำผลไม้สดๆ ให้ทานกันตลอด รวมถึงในห้องที่ฟังเลคเชอร์แต่ละห้องก็จะมี น้ำดื่มแบบขวด วางไว้ให้หยิบดื่มแก้กระหายกันตลอดทั้งงาน ซึ่งตอนเย็นของวันแรกจะมีปาร์ตี้ด้วยค่ะ (แต่เราไม่ได้เข้าร่วม เสียดายง่ะ T T)
มุมโปรดที่เราฟาดเรียบทุกวัน
หลังจากงานจบ ก็จะมี online survey ให้เราทำการประเมินมีทั้งประเมินในแต่ละ session ที่เราได้เข้าฟัง รวมถึงประเมินการจัดงานด้วยค่ะ ในวันที่สองนี้ พอเราทำประเมินเสร็จเค้าก็จะแจกของที่ระลึกให้
รวมมิตรของฝากจากงาน BBJam Asia มี Mobile alpha device , Funduino microcontroller board,  ปากกา และลูกบอลคลายเครียด (จริงๆได้ บัตรรถไฟ MRT มูลค่า 150 บาทมาด้วยล่ะ)


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

ที่สำคัญ แค่ความรู้ๆต่างๆที่ได้ ก็คุ้มค่ามากแล้วค่ะ เพราะวิทยากรส่วนใหญ่เป็นระดับมืออาชีพจาก RIM เองทั้งนั้น อีกทั้งยังแบ่งหัวข้อที่พูดตามระดับความยากง่าย ทำให้เราเลือกฟังได้เหมาะสมตามพื้นความรู้ของเราค่ะ
ครั้งหน้าถ้ามีโอกาสได้เข้าร่วมงานนี้อีก คิดว่าเราคงไม่พลาดแน่นอนค่ะ :)

สำหรับใครที่สนใจอยากรู้ว่า สรุปเนื้อหาที่พูดในงานมีอะไรบ้าง รออ่านบล็อกหน้านะคะ รู้สึกว่าบล็อกนี้จะยาวไปแล้ว