วิธีแก้ปัญหา serialize กับ unserialize ที่อยากแนะนำ by tosawat
Feb1
บางครั้งที่เราใช้ function serialize ใน php เพื่อแปลงข้อมูลเป็น text ไปแล้ว แต่เมื่อจะ แปลงกลับด้วย unserialize กลับเจอ error ประมาณนี้ unserialize() [function.unserialize]: Error at offset 297 of 300 bytes โดยตัวเลขอาจจะไม่เหมือนกัน แต่ว่าโดยเนื้อหาก็เหมือนกันนั่นล่ะ
หลังจากที่หาข้อมูลอยู่นาน ก็พบได้ว่า ปัญหาที่แท้จริงแล้วก็คือ format ของ text ที่จะเอามาแปลงกลับโดยใช้ unserialize ไม่ถูกต้อง
หากเราเคยทดสอบ หรือสังเกตุจะเห็นว่า text ที่เราได้จากการแปลงโดยใช้ serialize นั้น จะมีรูปแบบที่ตายตัวครับ นั่นเป็นสาเหตุที่ว่าทำไมจึงไม่ปลอดภัยเมื่อเราเก็บข้อมูลในรูปแบบ serialize ธรรมดา และด้วยความที่เป็นรูปแบบตายตัว ดังนั้น หากมีการเปลี่ยนแปลงที่ string เพียงแค่จุดเดียวเท่านั้นก็จะทำให้เราไม่สามารถแปลงกลับโดยใช้ unserialize ได้ทันที สำหรับวิธีแก้ปัญหาที่ดีที่สุด สำหรับปัญหา unserialize() [function.unserialize]: Error at offset 297 of 300 bytes ก็คือการตรวจสอบ string โดยอาจจะทำการ echo , print_r หรืออะไรก็ได้ เพื่อหาว่าข้อมูลหรือตัวหนังสือไหน แปลก หรือเพี้ยน หรือว่ามีอะไรขาด หรือเกินจากค่าที่ควรจะเป็นหรือเปล่า
ตัวอย่างเท่าที่เคยเจอมา ก็จะมีแบบว่า จากเครื่องหมาย ” ก็เพิ่มมาเป็น \” (ถูกเติมเข้ามาในกระบวนการบันทึกลงฐานข้อมูล) หรือว่า text ที่จะเอามาแปลงนั้นไม่ครบ คือขาดไปตัวเดียวก็มี error แล้ว เป็นต้น
ดังนั้น วิธีการที่ดีที่สุดก็คือ ลองทดสอบว่า serialize แล้วดูว่าได้ค่าอะไร จากนั้น ลองเอาไปเปรียบเทียบกับค่า ที่ error ว่าหน้าตาเหมือนหรือว่าต่างกันตรงไหนอย่างไร ทำไมจึง error เท่านี้ล่ะครับ แก้ bug ได้แน่นอน
กระจกแตกก ก ก [Ai] by TAMA
Feb0
มาทุบตัวหนังสือให้แตกเปรี้ยงปร้างกัน!
พิมพ์ text ขึ้นมาซักคำค่ะ

Create Outlines ให้เรียบร้อย
แล้วจัดตัวหนังสือแต่ละตัวให้เล็กใหญ่ไม่เท่ากันนะคะ

เสร็จแล้วไปที่ Object >> Expand เพื่อให้เป็นชิ้นเดียวกัน
แล้ววาดสามเหลี่ยมเป็นรอยแตกด้านบน
ประมาณนี้ค่ะ

คลิกที่สามเหลี่ยมทีละชิ้นแล้วเลือก Object >> Path >> Divide Objects Below
ค่อยๆทำไปทีละชิ้นนะคะเพราะใ่ช้คำสั่งนี้พร้อมกันหมดทุกชิ้นไม่ได้ค่า

เสร็จแล้วคลิกขวาเลือก Ungroup

จัดแจงให้ตัวหนังสือเราแตกกระจายเลยค่ะ

สวยงาม เปรี้ยงปร้าง
การดึงTextureเฉพาะจุดมาใช้งาน by nontra
Jan0
การดึง Texture ส่วนที่ขาวเฉพาะพื้นที่มาใช้สำหรับงาน Photoshop ทำง่ายยิ่งกว่าปอกกล้วยให้ลิงกิน
อันดับแรกสร้างพื้นก่อนค่ะ

เลือก Texture ที่ต้องการจะใช้ อย่างภาพนี้คือต้องการใช้จุดสีขาวปิ๊งๆภายในภาพสำหรับมาใช้ในการตกแต่งค่ะ

ก่อนอื่น ปรับให้เป็นขาวดำด้วยคำสั่ง Imge > Mode > Grayscale

โปะลงไปบนพื้นที่ต้องการ เหมือนจะทำโรตี้ ก็ต้องโปะแป้งลงบนกะทะ

*ปรับ Layer Style เป็น mode Screen จะทำให้คัดส่วนที่ขาวที่สุดขึ้นมา

ปรับ Level ของภาพ เอาตามแต่ชอบ ว่าต้องการความชัดของจุด Texture มากน้อยเ่ท่าไหน แล้วจึงเอาไปประยุกต์ใช้กับภาพต่อๆไป

Example // หลังจากปรับ Screen mode และตกแต่ง Texture ให้เหลือแต่ประกายระยิบระยับ

Example 2 /// ใช้วิธีนี้กับ Texture อื่นๆที่มีลักษณะคล้ายกันได้เช่นกัน ดังภาพที่ทำให้ตรงกลางของดอกไม้เป็นกลมเกลี้ยงประกายเหมือนดวงจันทร์

หมดเวลาสนุกกับ นุ้งมิลพาเพลิน ไว้เจอกันเดือนหน้า จบเห่ ชีวิตเมทัลค่ะ <3
ความแตกต่างของลูป for กับ for each by dekunderkover
Jan0
สำหรับตอนนี้จะไม่พูดถึงลูป for ธรรมดานะ (เราคิดว่าคุณรู้แล้ว)
มาเริ่มกันด้วยการสร้าง object ขึ้นมาก่อน
var obj:Object = {'id':'1','name':'myname','description':'descccc','image_name':'name/1.png','exp_max':'7'}
เราจะใช้ข้อมูลนี้กันนะ
อธิบายสิ่งที่อยู่ใน obj กันก่อน
‘id’:'1′ คือ คีย์ที่ชื่อ id เก็บข้อมูล 1 อยู่
มาเริ่มต้นที่ for( in ) กันก่อน
for(var k:String in obj){
trace(k);
}
ได้ key ออกมา คือ id name description image_name และ exp_max
มาดูกันต่อที่ for each( in )
for each(var d:String in obj){
trace(d);
}
ได้ data ออกมา คือ 1 myname descccc name/1.png และ 7
นำไปใช้กันให้ถูกนะคะ





