Thursday, December 29, 2011

โหมดนั่งมองตัวเอง ปีนี้เรียนรู้อะไรเพิ่มบ้าง

วันนี้วันที่ 30 ธันวาคม แถมเป็นวันศุกร์แห่งชาติอีกนะเทอว์ ซึ่งถ้าดูตามฮวงจุ้ยแล้ว วันนี้เป็นวันที่ไม่น่ามาทำงานมากที่สุด แต่ในเมื่อมาทำงานไปแล้วลองมานั่งมองตัวเองในปีที่จะผ่านไปนี้ก็ไม่เลวเหมือนกันแฮะ อย่างน้อยเราก็จะได้ประเมินได้ว่าสำหรับการประกอบอาชีพแล้ว เรามีอาวุธอยู่กี่ชิ้น และจะเอาอาวุธพวกนี้ไปใช้อะไรได้บ้าง ซึ่งถ้าจะให้พูดสิ่งที่เรียนรู้มาทั้งหมดในปีที่แล้ว เขียนยาวเป็นอาทิตย์แน่นอน ดังนั้น Entry นี้จะพูดในด้านที่เกี่ยวกับอาชีพ Software Engineer ในแง่ Technical แล้วก็เน้นเป็นตัว Tools หรือ Programming Language ที่เป็น Open Source ละกันนะจ๊ะ


1. JSF
ซึ่ง JSF ตัวที่เรียนรู้นี่ก็คือ RichFace ซึ่งเป็น JSF Framework ตัวนึงอ่ะนะ ส่วนตัวไม่ค่อยประทับใจเท่าไหร่เนื่องจากมีบางครั้งมันชอบ Render ผิด ถึงแม้ว่ามันจะสะดวกสบายในแง่การ Coding กว่าการใช้ JSP อยู่ไม่น้อยก็ตาม หากใครกำลังมองหา Tools ที่ช่วยในการจัดการในด้าน View ใน MVC หรือขี้เกียจมานั่งเขียน Tab, Menu หรืออะไรพวกนี้ ลองดูก็ไม่เสียหาย และผมเชื่อว่าคุ้มค่ากับที่ลงทุนเสียเวลาเรียนรู้แน่นอนฮะ ในแง่ของ Reference ของ RichFace ก็หาไม่ง่ายแล้วก็ไม่ยากทำให้การเรียนรู้ใช้เวลาไม่นานเท่าไหร่ ให้ 3 ดาวฮะ ♥ ♥ ♥


2. Pentaho
เมื่อก่อนก็ใช้แต่ Jasper ในการทำ Business Intelligent แต่พอมารู้จักกับ Pentaho แล้ว อะไรมันก็สบายขึ้นโขเลยฮะ ส่วนตัวแล้วค่อนข้างประทับใจกับ Tools ตัวนี้มาก เนื่องจากสามารถใช้สร้าง Report ได้แล้ว Data Transformation ยังเป็นอีก Function ที่ได้ใช้ประโยชน์อยู่บ่อยครั้ง และที่สำคัญการมี Tools นี้ยังเป็นการบอกใช้ว่าเราควร Transform Data ให้เรียบร้อยก่อนนะจ๊ะ ถึงจะดึง Report Data ได้อย่างมีประสิทธิภาพ 4 ดาวโลด ♥ ♥ ♥ ♥


3. Process Maker
โปรเจกนี้เกิดจากความขี้เกียจเขียน Work Flow Application เลยลอง Tools ที่ชื่อว่า Process Maker นี้ซึ่งมีดีกรีดังมาจากผู้ผลิต CRM Software เจ้าดังอย่าง SugarCRM เลยนะเออ แต่เนื่องจาก Reference หายากเหี้ยๆ เลยทำให้ Effort ที่ทุ่มเทลงไปไม่เต็มที่เท่าที่ควร บวกกับควาามขี้เกียจที่เกิดขึ้นกระทันหัน Project นี้ก็เลย Fail ไปตามระเบียบ แต่ก็ถือเป็นอีกหนึ่งเครื่องมือที่น่าสนใจมาก ถ้าคราวหน้ามีโอกาสก็อยากจะลองให้เป็นให้ได้จ่ะ ♥ ♥ ♥


4. Android
อันนี้แนะนำมากฮะ เนื่องจากกำลังเป็นกระแสของโลก และเชื่อว่าถ้าศึกษาไว้ ไม่อดตายแน่นอน โดยจากประสปการณ์ส่วนตัวก็ลองเล่นไปลึกพอสมควร แต่ไม่ถึงกับต้องเขียน Native นะ ก็พบปัญหาของตัว Android นี้อยู่จำนวนไม่เยอะเท่าไหร่ ที่เห็นจะเป็นเรื่องใหญ่ก็น่าจะเป็นเรื่อง Fragmentation นี่แหละ ส่วนเรื่องโครงสร้างของภาษาก็ไม่มีอะไรมาก Java + XML ซะส่วนใหญ่ ซึ่งหากลองวิเคราะห์แล้วก็ไม่ค่อยจะเหมาะกับการเอามาเขียนบน Smart Phone Devices เท่า Object-C เท่าไหร่ แต่ไม่เป็นไรเพราะ ข้อดีมันก็เยอะเช่นกัน หากใครพอจะมีเวลาแล้วอยากหาอะไรที่สนุกและท้าทาย ลอง Android ซะหน่อยก็ไม่เสียหายนะ 5 ดาวฮะ ♥ ♥ ♥ ♥ ♥


5. Grails
ตัวนี้มีโอกาสได้ลองช่วงท้ายปี เนื่องจากมีโปรเจกที่ต้องใช้พอดี ตอนแรกก็รู้สึกตื่นเต้นมว๊ากกกกก!! เนื่องจากรู้สึกเบื่อกับ Configuration Files ทั้งหลายแหล่ อีกทั้งตัวภาษา (Groovy) ที่ใช้ในการเขียนเนี่ย ยังไม่ค่อยจะชินเท่าไหร่ แต่ก็ถือเป็นภาษาที่น่าสนใจมาก อ้อ เกือบลืมข้อที่ประทับใจในตัว Grails ก็คือ แก้ Code ปุ๊ป Run ต่อได้เลย (อย่างเจ๋ง) พอกันทีกับการ Redeploy แล้วต้องมานั่งรอ อุโฮะ สำหรับตัวนี้ยังศึกษาได้ไม่ค่อยลึกเท่าไหร่ แต่ก็ถือเป็นการเริ่มต้นที่ดีคิดว่าปี 2012 นี้คงจะรู้อะไรมากขึ้น 4 ดาวโลด ♥ ♥ ♥ ♥

Wednesday, December 14, 2011

การติดต่อแบบทุ่งหญ้าใกล้ (NFC)

ดูจากหัวข้อคาดว่าทุกคนคงงงแดรกแน่นอน นี่ก็เป็นรูปแบบการแปลที่น่าทึ่งของ Google Translate ที่พยายามแปลภาษาไทยเพื่ออำนวยความสะดวกให้กับเหล่าผู้ใช้งานทั้งหลาย อีกหนึ่งเทคโนโลยีนึงที่กำลังจะเข้ามาในประเทศไทยคือ "เครื่องตัดสัญญาณอินเตอร์เนท" ที่เหลิมเป็ดบอกจะนำเข้ามาในราคา 400 ล้านบาทตามข่าวที่เห็นในหน้านี้ http://www.blognone.com/news/28340 ถ้าพูดกันตามตรงโดยที่ยังไม่เอาราคามารวม กุก็ยังไม่เคยได้ยินว่าโลกนี้มันมีเครื่องเหี้ยมนี่เกิดขึ้นมาแต่อย่างใด
ไร้สาระกันมาพอหอมปากหอมคอ วันนี้ตัวกระผมจะขอนำเสนอเทคโนโลยีที่กำลังจะมา แต่ไม่รู้ว่าจะโดนรึเปล่าในประเทศไทย นั่นก็คือ NFC เชื่อว่าหลายคนคงเคยได้ยินคำนี้มาบ้างหากติดตามข่าวสารด้าน Gadget หรือ Smartphone ซึ่งเป็นข่าวลือว่า Smartphone หลายรุ่นจะมีเทคโนโลยี NFC นี้ติดมาด้วย วันนี้เราจะมาทำความรู้จักกับมันกับฮะ

NFC คืออะไร
NFC นั้นเป็นร้ายแฟรนชายส์ที่ขายไก่ทอดชื่อดัง (ทุ้ย!! นั่นมัน KFC) อันที่จริงแล้วมันย่อมาจาก Near Field Communication ซึ่งหมายถึงเทคโนโลยีสื่อสารไร้สายระยะสั้น ซึ่งถ้าถามว่าสั้นแค่ไหนนั้น ผมขอบอกเลยว่าแค่ประมาณ 3 นาที่เท่าต้มมาม่าเสร็จ (ทุ้ย!! เค้าหมายถึงระยะทาง) หากจะพูดให้เข้าใจง่าย ให้นึกภาพตามถึงบัตรที่เราติ๊ดเข้าออฟฟิส (RFID) อ่ะ ก็คือจะมีตัวปล่อยสัญญาณแล้วก็มีตัวรับสัญญาณหลักการธรรมดาทั่วไป แล้วถ้าถามว่าทำไมต้องมี NFC ด้วย ตอนนี้เราก็มี Bluetooth อยู่แล้วนี่นะ
ถ้าลองเอา NFC มาเปรียบเทียบกับ Bluetooth ซึ่งเป็น การสื่อสารไร้สายระยะสั้นเหมือนกันจะเห็นได้ว่า NFC นั้นจะส่งข้อมูลได้ช้ากว่า Bluetooth และระยะที่สามารถส่งสัญญาณได้นั้นสั้นกว่า แต่อย่าไรก็ตามมันใช้พลังงานน้อยกว่า แล้วก็ไม่ต้อง Pair เหมือน Bluetooth โดยที่ Maximum Transfer Rate ของ NFC นั้นมีค่าเท่ากับ 424 KBIT/S และข้อดีจากการที่มันสามารถส่งสัญญาณได้ในระยะที่สั้นกว่าก็คือจะไม่มี Interception เยอะเหมือน Bluetooth ซึ่งถ้าหากใครยังไม่กระจ่างชัดเรื่อง NFC ก็สามารถไปหาข้อมูลเพิ่มเติมได้ที่ http://en.wikipedia.org/wiki/Near_field_communication หรือ http://www.nfc-forum.org/home/ โดยในปัจจุบันนี้ผู้ผลิตโทรศัพท์หลายค่ายก็ได้พยายามผลักดันให้ NFC กลายมาเป็นมาตรฐานใหม่ของโลก (ประเทศไทยไม่นับ 555+) เพื่อให้ใช้ในวงกว้าง ลองนึกภาพที่เราไม่จำเป็นต้องพกกระเป๋าตังค์ บัตรขึ้นรถไฟฟ้า ตั๋วหนัง หรือแม้กระทั่ง บัตรประชาชน ซึ่งแน่นอนหลักการทำงานก็จำเป็นจะต้องมีการส่งสัญญาณโดย NFC ซึ่งจะมีลักษณะเป็น Chips และถูกฝังลงในมือถือของเรา และยังต้องมีเครื่องรับสัญญาณเหมือนเครื่องติ๊ดบัตรที่เหล่าร้านค้าจะต้องไปสรรหามาตั้งไว้ เพราะ "คนเรามันตบมือข้างเดียวไม่ดัง" อย่างที่พวกพี่วง Instinct บอกมา ซึ่งอีกไม่นานโลกของเราก็คงจะได้เห็นการใช้งาน NFC ออกมาบ้างแหละ