Archive | ภาษา RSS feed for this section

Rails Style or Make it from scratch

เพื่อนชวนให้ไปทำงานด้วย เป็นการเขียนเว็บขึ้นมาแล้ววันนี้ก็นัดเข้าไปคุยว่าจะมีอะไรบ้าง ใช้อะไรทำ สิ่งที่เตรียมไปคือ Framework แบบ Rails แต่เป็นภาษา PHP ชื่อ Symfony และเพื่อนอีกคนเตรียมตัวอย่าง Java Project ไปใช้ Java Spring + Hibernate ลองเอามาชนกัน ก็ได้อะไรหลายๆ อย่างกลับมา Spring MVC + Hibernate มันปรับปรุงขึ้นมากด้าน Configuration ดูแล้วชอบอย่างแรง ถ้าเอา Rails แบบสำเร็จรูปให้คนเขียน Java + .NET ดูจะเกิดแต่เครื่องหมายคำถาม ว่ามันจะแก้ไขส่วนต่างๆ ได้ยังไง Grails อ้วน (หรอ ไม่เคยลองแฮะ ขอสรุปแค่นี้จากที่ได้ยินมาละกัน) JSF เป็นอะไรที่น่ากลัวมาก พูดแล้วไม่ค่อยมีคนอยากใช้ iBatis มันยังอยู่!!! Rails จะเทพยังไง ถ้าไม่ลองทำก็ไม่เห็นความเทพของมัน (หรือเพราะตูเสนอให้ดูไม่ดีเองหว่า -*- ) PHP [...]

Read full story Comments { 0 }

ทำไม Flex Listener ควรใช้ Weak Reference

วันนี้นั่งรื้อฟื้นความจำ อธิบายให้ @pitiphong_p ฟังว่าทำไมเวลา addEventListener แล้วต้องใส่ argument ช่องสุดท้ายให้เป็น true ลองดูก่อนละกันว่าหน้าตามันเป็นยังไง public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void useWeakReference หมายความว่าเวลาที่ GC มาเก็บกวาดแล้วนับว่ามี reference ไปที่ object นี้เท่าไหร่บ้าง มันจะไม่นับ reference นี้คำถามคือ ทำไมต้องทำให้ reference ไปที่ listener function เป็น weak ก็ลองดูจาก diagram ด้านล่างดู ที่ Observer จะมี reference ไปหามันจาก 2 Object คือตัวที่เป็นคนเพิ่มมันไปให้ Observable กับตัว Observable [...]

Read full story Comments { 3 }

Framework in Framework

วันนี้ทั้งวันนั่งแก้บั๊ก Application ที่เขียนด้วย Flex แล้วก็รู้สึกหงุดหงิด ไม่ได้หงุดหงิดเพราะคนอื่น หงุดหงิดเพราะตัวเอง และโค้ดต่างๆ ที่เห็นอยู่ตรงหน้าพร้อมทั้งปัญหาที่รอการแก้อยู่ ที่หงุดหงิดเพราะ โค้ดต่างๆ มันช่างมีรูปแบบการเขียนที่แตกต่างกันทั้งชื่อตัวแปร ทั้งการเรียกฟังก์ชั่น การรอเหตุการณ์ต่างๆ มันช่างต่างกันเหลือเกินในโค้ดส่วนต่างๆ วันนี้ตอนเย็นเลยอารมณ์เสียรีบกลับบ้านไปหาไรกิน เพื่อคลายอารมณ์เล็กน้อย แล้วก็มานั่งๆ คิดว่าทำไมมันถึงเป็นอย่างนั้น มันต่างจาก iPhone Application ที่ทำอยู่ตอนนี้ยังไง ก็พบว่า สิ่งที่มันขาดไปคือ Framework ที่กำหนดร่วมกันของคนที่ทำโปรเจคนี้นี่เอง Framework ทั่วๆไป แล้วก็คือกรอบที่มีไว้เพื่อให้ทุกคนงานต่างๆ ได้เหมือนกันและเป็นละเบียบ คราวนี้พอมาในสาขาคอมพิวเตอร์ มันกลับถูกเอาไปใช้เรียกชื่อกรอบต่างๆ ที่เอา Library มารวมๆ กันจนบางคนก็สับสนว่าจริงๆ แล้ว Framework กับ Library คืออย่างเดียวกันหรือป่าว (รู้สึกจะเจอคำถามนี้ใน Blognone) แถมเวลาใช้มันก็คล้ายๆ เรียก Library ซะด้วย แต่จริงๆ แล้วมันคือวิธีการเรียกใช้ Library ต่างๆ ตามแบบที่กำหนด เพื่อให้ได้ผลลัพธ์ที่ออกมาเหมือนกัน อย่าง [...]

Read full story Comments { 0 }

Flex Runtime Stacktrace

เวลาหาบั๊กในจาวาแบบขี้เกียจๆ มักจะให้มันพิมพ์ StackTrace ออกมาในจุดที่สงสัยขณะที่มันทำงาน พอมาอยู่บน Flex ก็อยากได้แบบนั้นมั่ง แต่มันไม่ได้เรียกอยู่ในคลาส Thread แบบตรงไปตรงมาเหมือนจาวา มันง่ายกว่านั้น มันอยู่ใน Error เลย var error:Error = new Error() trace(error.getStackTrace()) พอเปิด swf แล้วดักดู flashlog ก็จะได้ StackTrace ออกมาอย่างสวยงาม พร้อมผู้ต้องหาที่ต้องกำจัดมันทิ้ง

Read full story Comments { 0 }

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 นั้นมาใช้ยังไงได้บ้าง [...]

Read full story Comments { 0 }