การนำโปรเจ็คแอปพลิเคชั่นใน Flex Builder 3 ไปใช้งานใน Flash Builder 4 by

28
Feb
1

Flash Builder 4 ในปัจจุบันนั้นค่อนข้างรองรับแอปพลิเคชั่นจากโปรเจ็คที่สร้างใน Flex Builder 3 แล้ว เพียงเรา import โฟลเดอร์โปรเจ็คนั้นๆเข้ามาและเลือกใช้ Flex SDK 4 โดยถ้าเรายังต้องการใช้ Skin halo แบบเดิมกับที่ใช้ใน Flex 3 แล้ว ก็จะมีการเปลี่ยนแปลงเพียงเล็กๆน้อยๆดังนี้

เปลี่ยน namespace ของแอปพลิเคชั่น และเพิ่ม namespace ให้กับ stylesheet


สำหรับแอปพลิเคชั่น มีการแก้ไขดังนี้

Flex 3:
xmlns:mx=”http://www.adobe.com/2006/mxml”

Flex 4:
xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/mx”
xmlns:s=”library://ns.adobe.com/flex/spark”

แก้ไข namespace mx เป็น fx

Flex 3:

<mx:Script>

</mx:Script>

<mx:Binding>

</mx:Binding>

<mx:Metadata>

</mx:Metadata>

Flex 4:

<fx:Script>

</fx:Script>

<fx:Binding>

</fx:Binding>

<fx:Metadata>

</fx:Metadata>

และเพิ่ม namespace ให้กับ Stylesheet โดยการเพิ่มโค้ดดังนี้

@namespace library://ns.adobe.com/flex/mx;

@namespace s library://ns.adobe.com/flex/spark;

จากนั้นก็กำหนด Style

Button{fontSize:18;}

s|Button{fontSize:18;}

เพิ่มแท็ก Declarations ให้กับ Component ที่ไม่เกี่ยวกับการแสดงผล


คอมโพเนนท์ต่างๆที่ไม่เกี่ยวข้องกับการแสดงผลเราจะนำแท็กของมันซ้อนไว้ในแท็ก Declarations ดังนี้

<fx:Declarations>

</fx:Declarations>

ตัวอย่างเช่น

<fx:Declarations>
<mx:StringValidator id=”v1″ source=”{input1}” property=”text” minLength=”24″/>
</fx:Declarations>


แก้ไข States


States ใน Flex 3 จะมีลักษณะดังนี้

Flex 3:

<mx:State name=“loading”>

<mx:AddChild relativeTo=“{myBox}”>

<mx:Text textAlign=“center” text=“Loading…” selectable=“false” />

</mx:AddChild>

<mx:VBox id=“myBox”>

</mx:VBox>

แก้ไขเป็น Flex 4 ดังนี้

Flex 4:

<mx:State name=“loading”>

<mx:VBox id=“myBox”>

<mx:Text textAlign=“center” text=“Loading…” selectable=“false”

visible=“false” includeInLayout=“false”

visible.loading=“true” includeInLayout.loading=“true”

/>

</mx:VBox>

ในครั้งหน้าจะมาอธิบายถึงการแปลง mx เป็น s หรือ เปลี่ยนสกินจาก Halo เป็น Spark กันนะครับ

credits http://www.learnosity.com/techblog/index.cfm/2010/3/21/Flex-3-to-Flex-4-Migration-Howto

สร้างรอยฉีกขาดง่ายๆด้วย Illustrator by

28
Feb
1

ขั้นตอนสั้นๆ ง่ายๆ ของการทำรอยฉีกขาด หรือขีดข่วนบนกระดาษ เริ่มจากเปิดโปรแกรม Illustrator ขึ้นมาและเลือก New (Ctrl+N) แผ่นงานใหม่

เลือกใช้ Pen tool (P) วาดสามเหลี่ยมแหลมๆขึ้นมา 1 รูป อาจให้ผอมๆกว่านี้หน่อยก็ได้นะคะ = =’

28-2-2554-9-43-181

9 เครื่องมือตรวจสอบสถานะ server by

26
Feb
2

จากบทความที่แล้ว Newrelic เครื่องมือสำหรับ monitor server บน Cloud ขั้นเทพ เรามาดูกันต่อด้วย tools ที่เจาะลึกมากขึ้นผ่านทาง shell ดังนี้ครับ

  1. top เครื่องมือหากินที่มีติดมากับ server ทุกตัว ใช้ดู CPU, Memory ของแต่ละ process ได้ เพื่อสังเกตถึงความผิดปกติของ process และยังสั่ง kill process ได้อีกด้วย
  2. prstat -Z ตัวนี้คล้าย top แต่เอาไว้ใช้บน Solaris ครับ จะให้ข้อมูลที่เที่ยงตรงกว่า top แต่ถ้าเป็น linux ตระกูลอื่นก็ใช้ top นั่นแหละ
  3. ps -elf มี process อะไรรันอยู่บ้างด้วย command อะไร
  4. uptime ตรวจสอบว่าเครื่องนี้รันมาโดยไม่ล่มเป็นเวลากี่วันแล้ว
  5. df -h ใช้เช็คพื้นที่ harddisk ที่เหลือ เอาไว้ดูว่าเครื่อง server หรือเครื่อง database ของเราพื้นที่ใกล้เต็มหรือยัง
  6. apachetop -f <access_log_path> ใช้เช็คว่ามี URL ไหนที่ถูกรันถี่เป็นพิเศษ หรือมีการส่งข้อมูลมากเป็นพิเศษในขณะนั้น อันนี้รวมไปถึงถ้าโดนใครยิงถล่ม server ก็สามารถ monitor ได้เช่นกันว่ายิงมาจาก IP ไหน
  7. mysql -u<username> -p แม้แต่ตัวคำสั่ง mysql เองก็สามารถใช้ตรวจสอบสถานะของ Database ได้เช่นกัน หลังจากเราพิมพ์ mysql -uroot -p เข้ามาแล้ว สามารถรันคำสั่งต่างๆ ได้ เช่น
    1. SHOW PROCESSLIST; ใช้ดูสถานะ Query ของ mysql ในขณะนั้น ถ้า table โดน Lock บ่อยมากๆ เราจะเห็นสถานะ LOCK ค้างตอนรันคำสั่งนี้เป็นจำนวนมาก
    2. SHOW STATUS; ใช้ดูสถานะค่าต่างๆ ของ mysql ซึ่งมีอยู่มากมายมหาศาล อ่านรายละเอียดของค่าแต่ละตัวได้ที่นี่
  8. mytop -u <username> -p <password> -d <database_name> เมื่อเรามี top ใน server ก็ต้องมี mytop ใน mysql ตัวนี้เอาไว้ monitor สถานะปัจจุบันของ mysql ได้ทั้ง Query per sec, mysql รันมากี่วัน กี่ชั่วโมงโดยที่ไม่ล่มแล้ว, มีปริมาณ Select/Insert/Update/Delete ในขณะนั้นมากน้อยเพียงใด, มี slow query ไหม, Bytes per sec ฯลฯ มีประโยชน์มากครับ
  9. dtrace อันนี้มีเฉพาะใน Solaris แต่ขอบอกว่าเป็น Tools ที่เทพมากๆ ครับ โดยหากจะใช้เราควรไป Download Dtracetoolkit มา ถ้าใครเคยใช้ Firefox ก็คิอซะว่า Dtrace คือ greasemonkey และ Dtracetoolkit คือชุดของ script สำหรับรันจำนวนมากนั่นเอง ซึ่งภายใน toolkit จะมีหลากหลายภาษาการเขียนโปรแกรมมาให้เป็นจำนวนมาก วิธีใช้จะต้องลง extension ของภาษานั้นๆ เช่นจะใช้งาน dtrace สำหรับ php ต้องลง pecl install dtrace เสียก่อน จึงจะสามารถรัน script ที่ download มาได้ เมื่อรันแล้วจะมีข้อมูลหลายอย่างที่น่าสนใจเช่น function อะไรที่ class ไหนใช้เวลารันไปกี่วินาที รันไปกี่รอบ หรือแม้แต่กิน memory ไปเท่าไร ช่วยให้การหา bottleneck ของโปรแกรมว่าส่วนไหนของโปรแกรมทำงานช้าทำได้ง่ายมากๆ เพราะลงไปถึงระดับ function กันเลยทีเดียว อ่านรายละเอียดเพิ่มเติมได้ที่นี่

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

ย้ายเลื่อนตำแหน่งออปเจคที่อยู่ละเฟรมใน Adobe Flash by

26
Feb
2

เคยมั้ยที่ต้องเปลี่ยนตำแหน่งของออปเจคใน Adobe flash แต่ไม่ออปเจคแต่ละอันเนี่ยมันอยู่คนละเฟรมกัน ก่อนที่จะรู้วิธีผมก็ตอนมาเปลี่ยนตำแหน่งทีละเฟรมไป จนเพื่อน (heha) มาบอกวิธีในวันนี้นี่แหละ ว่าแล้วก็เอามาเขียนบล็อกซะ ฮ่ะๆๆ

เปิด Animated GIF เป็น frame ด้วย Photoshop by

21
Feb
2
ปัญหาหลักๆในการที่จะ edit รูป animated gif แบบรูปด้านล่างนี้
ที่หลายๆคนมักจะเจอนะครับ ก็คือเปิดมันใ้้ห้ออกมาเป็น frame ๆไม่ได้
พอลากไฟล์ .gif เข้าไปใน photoshop ทีไร มันก็ขึ้นหน้าต่างนี้ขึ้นมา
แล้วภาพ .gif ของเราก็กลายเป็นภาพเดียวตลอดเลย
ถ้าเป็นเมื่อก่อนก็ไม่มีปัญหาหรอกครับ ถ้าเราัยังมีเจ้า Imageready อยู่
แต่ ณ วันนี้(CS3+ มั้ง) เขาก็ได้จากเราไปแล้วครับ
แต่ว่าเราก็ยังมีความหวังอยู่ครับ วิธีการนั้นก็ไม่ได้ยากเลยครับ แค่ไม่รู้เท่านั้นเอง
วิธีการคือ
1. ไปที่ File > Import > Video Frames to Layers
2. จากนั้น Photoshop ก็จะขึ้นหน้าต่างเลือกไฟล์ที่จะเิปิดมาครับ
ให้เราเลือกไปที่ Folder ที่มีไฟล์ .gif ของเราอยู่ แต่เมื่อเข้าไปถึงก็จะพบว่าไม่มีไฟล์ของเราให้เลือก
แถมกดไปที่ File type: ก็ไม่มีให้เลือกอย่างอื่นอีกต่างหาก
3. ถึงขั้นนี้แล้วเราก็อย่างไปยอมครับ พิมพ์ชื่อไฟล์ของเราเข้าไปดื้อๆเลย!
เมื่อกด Load ปุปเราก็จะได้ของที่เราอยากได้ครับ ไฟล์ gif ที่แบ่งออกมาเป็น frame แล้ว