Archive | ภาษา RSS feed for this section

Is singleton really bad?

I had read article about singleton in Action last week. It told about how bad singleton is and why don’t use it with a little example in another site. It told singleton isn’t different from static method and it gives another responsibility to object. Oh, why they think about it like this. I think singleton [...]

Read full story Comments { 4 }

Observer

ช่วงนี้ตอบคำถามเกี่ยวกับเรื่องนี้บ่อยเอามาเขียนซะเลย เริ่มจาก misui บ่นๆ มาว่าทำยังไงให้ Tree ในจาวาเปลี่ยนแปลงข้อมูลในตารางเมื่อข้อมูลจริงมันเปลี่ยนไป โดยก็บอกว่าตอนนี้ทำไว้เป็นลูปวนไปเรื่อยๆ ฟังปุ๊บก็เอะใจทันที เอ๊ะ Tree ในจาวามันมี Event Listener นี่หว่าก็เลยบอกไปว่าดูฟังก์ชั่นพวกนั้นซะ แล้วก็เล่าไปนิดหน่อยว่ามันไว้ทำไรบ้าง มาวันนี้เจออีกกรณี แต่รูปแบบคนละเรื่องเลยคือ MSN Library ที่ใช้อยู่เวลามันทำอะไรมันจะทำอยู่อีกเธรดเกิดเหตุการณ์อะไรขึ้นก็ค่อยเรียกฟังก์ชั่นที่ลงทะเบียนไว้ คราวนี้มันเกิดเหตุการณ์นั้นจริงแต่ว่ามันไม่สามารถส่งข้อความไปบอกไอ้คนที่ต้องใช้มันได้ ก็เลยต้องหาอะไรมารับมันอีกต่อ แล้วก็ให้คนที่ต้องการมาคอยฟังซะ(แต่จริงๆ มันไม่ใช่อย่างนี้หรอก ไอ้คนฟังมันดันอยู่ชั้นบนๆ เป็นตัวติดต่อเว็บ แต่ไอ้คนไปติดต่อ MSN มันดันวิ่งๆ อยู่ด้านล่าง พอเจอปัญหาจะวิ่งไปบอกชั้นบนเลยลำบาก) อ่ะเล่าถึงกรณีตัวอย่างไปซะเยอะ แต่ไม่เห็นเขียนถึงคำว่า Observer เลย จริงๆแล้วมันก็คือตัวเดียวกับ Event Listener นั่นแหละ หน้าที่ของมันนั้นก็แสนง่ายเมื่อมีเหตุการณ์อะไรขึ้นก็คอยบอกให้ทุกคนที่เกี่ยวข้องรับรู้นั่นเอง พวกส่วนที่เป็นหน้าตาทั้งหลายเลยมักต้องมีรูปแบบพวกนี้อยู่ในตัว ถ้าใครเขียน Flex มาเยอะน่าจะรู้ดีเลยหละ เพราะ Component ทุกตัวเป็น EventDispatcher ที่สามารถเรียกคู่กรณีที่ต้องรับหน้าที่ต่อจากมัน หรืออยาก Swing ในจาวาก็มีรูปแบบที่เหมือนกัน แต่ใช่ว่าจะใช้แค่ใน UI [...]

Read full story Comments { 0 }

Flex abstract class

อาทิตย์นี้นั่งเขียน Cache ให้ Flex โดยการเอาโค้ดที่อยู่ในฝั่งจาวามาดัดแปลงนิดหน่อย(ฝั่งจาวาก็เขียนเอง ฝั่ง Flex ก็เขียนเอง – -”) แต่ว่าด้วยความเคยชินในรูปแบบของจาวาทำให้อยากเขียนให้ Flex มันมี Abstract class ด้วยก็เลยนั่งขุดๆ หาว่าจะทำยังไงได้บ้าง สุดท้ายเลยไปดูว่า Abstract class มันมีคุณสมบัติยังไงบ้างแทน ท่าทางจะง่ายกว่า ^^! Abstract class ในฝั่งจาวาจริงๆ แล้วมันก็มีคุณสมบัติง่ายๆ คือสร้างตรงๆ ไม่ได้ด้วยคีย์เวิร์ด new ต้องเอาไปสืบทอดต่อ แล้วสร้างลูกขึ้นมาแทน ไว้สำหรับนิยามพฤติกรรมพื้นฐานที่ลูกน่าจะมีเหมือนกันเอาไว้ และก็สามารถกำหนดพฤติกรรมบางอย่างได้ด้วย โดยให้ลูกเอาไปทำต่อเองว่าลูกแต่ละตัวพฤติกรรมเดียวกันนี้ จะมีลักษณะท่าทางยังไง อย่างอื่นก็เหมือนคลาสโดยทั่วไป คราวนี้มาฝั่ง Flex ค้นๆ ใน Google ดูเหมือนจะมีคนทำไว้บ้างแล้วโดยการบังคับใน Constructor ให้ไล่เช็คว่า มีการเขียน function หรือป่าว ถ้าไม่มีก็โวยวายออกมาแต่ว่ามันต้องใช้ของเพิ่มเติมนี่สิ สุดท้ายเลยเล่นง่ายได้โค้ดออกมาตามด้านล่าง class AbstractClass { function AbstractClass():void [...]

Read full story Comments { 0 }

Flex ant task

บันทึกเก็บอีกแล้วคราวนี้มีปัญหาเกี่ยวกับเอา ant มาคอมไพล์ Flex เพราะคอมไพล์แล้วปรากฏว่าภาษาไทยใช้ไม่ได้ เลยนั่งหาวิธีแก้เสียเวลาไปค่อนวันเอามาแปะไว้ที่นี่หน่อย en_US th_TH src resources/{locale} อธิบายทีละบรรทัด เริ่มจาก บรรทัดที่ 2 ใส่ task library เพิ่มเข้าไปเพื่อให้ ant รู้จัก tag ของ Flex บรรทัดที่ 5 เป็นส่วนที่กำหนดค่าพื้นฐานต่างๆ ให้กับ mxmlc ที่สำคัญๆ ก็จะมี optimize ที่ทำให้ .swf ขนาดเล็กลงหน่อย แล้วก็ fork ในกรณีที่เจอปัญหาที่มันโวยวายว่า memory ไม่พอ บรรทัดที่ 6 – 7 เป็นการเพิ่มพื้นที่ให้ ant ใช้ในการคอมไพล์ บรรทัดที่ 9 – 10 กำหนดภาษาที่จะแนบไปใน swf นี้ด้วย บรรทัดที่ 12 [...]

Read full story Comments { 0 }

สไลด์เผา Objective-c

วันนี้ต้องพูดแนะนำเกี่ยวกับ Objective-C ให้คนอื่นรู้ว่าภาษามันเป็นยังไง ปรากฏว่า ไม่รู้เรื่องกันเลยครับพี่น้อง T T” เนื่องจากไม่ได้เล่นมันปะติดปะต่อ​(มัวแต่เล่นเกม ขี้เกียจด้วย) วันนี้ก็เลยมาลนๆ ปั่นเอาชั่วโมงสุดท้าย​(จริงๆ จะเลื่อนก็ได้อ่ะนะ แต่ผลก็คงไม่ต่างกันเท่าไหร่) ทางแก้อืม ไม่รู้จะแก้ไงดีอ่ะนะ เพราะเขียนมาก็ไม่น่าจะเกินเดือน ยังไม่รู้อะไรละเอียดนัก เห้อ เอาวะ คราวหน้าแก้มือ แต่คราวนี้ขอประจานตัวเองด้วยสไลด์แบบเผาสดๆ ชุดนึงก่อน แล้วก็เอกสารอ้างอิง ที่เอามาอ่านประกอบในการพูดและทำสไลด์ อ้างอิง: The Objective-C 2.0 Programming Language From C to Objective-C Objective-C

Read full story Comments { 0 }