วันนี้ทั้งวันนั่งแก้บั๊ก Application ที่เขียนด้วย Flex แล้วก็รู้สึกหงุดหงิด ไม่ได้หงุดหงิดเพราะคนอื่น หงุดหงิดเพราะตัวเอง และโค้ดต่างๆ ที่เห็นอยู่ตรงหน้าพร้อมทั้งปัญหาที่รอการแก้อยู่ ที่หงุดหงิดเพราะ โค้ดต่างๆ มันช่างมีรูปแบบการเขียนที่แตกต่างกันทั้งชื่อตัวแปร ทั้งการเรียกฟังก์ชั่น การรอเหตุการณ์ต่างๆ มันช่างต่างกันเหลือเกินในโค้ดส่วนต่างๆ วันนี้ตอนเย็นเลยอารมณ์เสียรีบกลับบ้านไปหาไรกิน เพื่อคลายอารมณ์เล็กน้อย แล้วก็มานั่งๆ คิดว่าทำไมมันถึงเป็นอย่างนั้น มันต่างจาก iPhone Application ที่ทำอยู่ตอนนี้ยังไง ก็พบว่า สิ่งที่มันขาดไปคือ Framework ที่กำหนดร่วมกันของคนที่ทำโปรเจคนี้นี่เอง Framework ทั่วๆไป แล้วก็คือกรอบที่มีไว้เพื่อให้ทุกคนงานต่างๆ ได้เหมือนกันและเป็นละเบียบ คราวนี้พอมาในสาขาคอมพิวเตอร์ มันกลับถูกเอาไปใช้เรียกชื่อกรอบต่างๆ ที่เอา Library มารวมๆ กันจนบางคนก็สับสนว่าจริงๆ แล้ว Framework กับ Library คืออย่างเดียวกันหรือป่าว (รู้สึกจะเจอคำถามนี้ใน Blognone) แถมเวลาใช้มันก็คล้ายๆ เรียก Library ซะด้วย แต่จริงๆ แล้วมันคือวิธีการเรียกใช้ Library ต่างๆ ตามแบบที่กำหนด เพื่อให้ได้ผลลัพธ์ที่ออกมาเหมือนกัน อย่าง [...]
About llun
Just a programmerFlex Runtime Stacktrace
เวลาหาบั๊กในจาวาแบบขี้เกียจๆ มักจะให้มันพิมพ์ StackTrace ออกมาในจุดที่สงสัยขณะที่มันทำงาน พอมาอยู่บน Flex ก็อยากได้แบบนั้นมั่ง แต่มันไม่ได้เรียกอยู่ในคลาส Thread แบบตรงไปตรงมาเหมือนจาวา มันง่ายกว่านั้น มันอยู่ใน Error เลย var error:Error = new Error() trace(error.getStackTrace()) พอเปิด swf แล้วดักดู flashlog ก็จะได้ StackTrace ออกมาอย่างสวยงาม พร้อมผู้ต้องหาที่ต้องกำจัดมันทิ้ง
ISPConfig
หลังจากเลื่อนมาหลายรอบพร้อมกับหา Host Control Panel มาหลายตัว วันศุกร์ก็เลยยอมฆ่าตัวตายเข้าไปลง ISPConfig ที่เซิร์ฟเวอร์ ตอนแรกนึกว่าจะแป๊บเดียวเสร็จที่ไหนได้ วันนี้ก็ยังไม่ค่อยเรียบร้อยดี แต่เว็บหลักๆ ก็กลับมากันหมดแล้ว ก่อนที่จะเลือก ISPConfig ก็มองตัวอื่นมาหลายตัวมากทั้งที่เสียตังและไม่เสีย แถมด้วยแต่ก่อนขี้เกียจ อยากลองของยากอีกต่างหาก คิดจะทำเองสำหรับ FreeBSD แต่สุดท้ายไม่มีเวลา จะเอาตัว Opensource มาดัดแปลงก็เหนื่อยเพราะส่วนใหญ่ไม่รองรับ มองไปที่ฝั่งเสียตัง ตัวที่ถูกสุดก็ยังไม่รองรับ FreeBSD เลยจำใจเปลี่ยนมาใช้ Debian (จริงๆ ลองคำนวนค่าใช้จ่ายสำหรับ cPanel กับ Plesk ไว้ด้วย แต่ไหนๆ แล้วมี ISPConfig จะเสียตังไปทำไม) แล้วก็เปิดเว็บ ทำตามแบบสบายๆ เพราะ ISPConfig มีคู่มือสำหรับ debian ละเอียดพอสมควร แต่ติดตั้งโปรแกรมครบทุกอย่างเรียบร้อย ขั้นตอนที่เหนื่อยที่สุดคือการย้ายข้อมูลให้ตรงกับโครงสร้างไฟล์ด้านล่างมันเนี๊ยะแหละ เล่นเอาวันนี้เหนื่อยเลย สำหรับ Feature ที่เห็นแล้วถูกใจคือมันกำหนด cron, shell ผ่านเว็บได้ที่เหลือก็งั้นๆ ไม่ค่อยมีอะไรพิเศษ [...]
Flex 3 RSLs
ต้องหาวิธีลดขนาดไฟล์ swf ที่ออกมาจาก Flex จริงๆ ก็รู้อยู่แล้วว่าซักวันต้องทำ แต่เลี่ยงไปมาด้วยความขี้เกียจแล้วก็ได้ทำจนได้ เอามาจดไว้เลยละกัน ถ้าทำผ่าน Terminal ผ่านโปรแกรม mxmlc ตรงๆมี option ให้ใส่คือ -runtime-shared-library-path วิธีใช้ก็ง่ายๆ ใส่ตำแหน่ง .swc และก็ URL ที่ใช้สำหรับโหลด swf ที่สร้างมาจาก swc นี้ก็เสร็จ mxmlc Hello.mxml -rslp=/Developers/SDKs/Flex/frameworks/lib/framework.swc,http://somewhere.com/framework.swf,http://somewhere.com/crossdomain.xml framework.swc เป็นชุด Flex Component ที่ Adobe ใจดีคอมไพล์แล้วแถมมาให้กับ Flex SDK ทุกตัวอยู่แล้ว เอาตัวนี้แยกออกมาก็ลดได้เยอะพอสมควร(ที่ลองทำคือลดได้มากสุดมากกว่า 50%) จากด้านบนใส่ argument ไปสามตัวคือตำแหน่ง framework, URL สำหรับดาวโหลด swf และก็ policy ของ url นั้นว่าให้โหลด swf นั้นมาใช้ยังไงได้บ้าง [...]
สอบอังกฤษวันนี้ …
วันนี้มีสอบอังกฤษกันเป็นการพูดรายบุคคล คนที่ห้องก็เตรียมตัวกันอย่างเครียดในห้อง ไม่เชื่อดูวิดีโอด้านล่างได้ เห็นมะ โคตรเครียดเลย อ๊ะ ยังไม่เชื่ออีกใช่มะ มีอีกอัน สรุปวันนี้เป็นวันที่สอบอังกฤษเหนื่อยมาก เพราะฮาจนปวดท้องเลย คราวหน้ากะว่าจะหยิบ iPhone มากดอัดไว้ตลอดและ จะได้ไม่พลาดอีก (จริงมีอีกเยอะมากแต่ไม่ได้อัดภาพเก็บไว้ T…T)