ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก 2012

เรื่องการเก็บข้อมูลการแก้ไข (LOG DATA)

หลักการเก็บ LOG และติดตามการแก้ไขเปลี่ยนแปลงข้อมูลของผู้ใช้งาน ผมได้ลองวางแนวทางในการจัดเก็บข้อมูลไว้ดังนี้ 1. เก็บเฉพาะเหตุการณ์ที่เกิดขึ้น       จะเก็บข้อมูลเฉพาะสิ่งที่เกิดขึ้น โดยใช้หลัก 5W1H  แต่จะไม่เก็บข้อมูลที่ถูกแก้ไขไป โดยใช้ หลักการในการเก็บข้อมูลดังนี้ ใคร(Who)        คือยูสเซอร์ที่เข้าใช้งาน ทำอะไร(What)    สิ่งที่เกิดขึ้น เพิ่ม/แก้ไข/ลบ ที่ไหน(Where)    ระบุหน้าเมนู/ชื่อตารางข้อมูล/ไอดี เมื่อไหร่(When)    ระบุวันเวลาที่ทำกิจกรรม ทำไม(Why)        ระบุเหตุผล กรณีที่ แก้ไข/ลบ ข้อมูล อย่างไร(How)    หมายเหตุอื่นๆ ที่ต้องการชี้แจง (เมื่อเรียกดู) 2. เก็บข้อมูลก่อนการเปลี่ยนแปลง       การเก็บข้อมูลก่อนการเปลี่ยนแปลงนั้น จะเป็นข้อมูลที่มีขนาดใหญ่ ยิ่งมีการแก้ไขข้อมูลบ่อยครั้ง จำนวนข้อมูลที่ต้องเก็บก็มากขึ้นตาม ไปด้วย ดังนั้นเพื่อป้องกันฐานข้อมูลมีขนาดใหญ่เกินไป  จึงต้องมีการลบข้อมูลที่เก่าไปแล้วออกบ้าง โดยกำหนดเงื่อนไขเป็นระยะเวลา 3 เดือน 6 เดือน 1 ปี โดยหลักการที่กำหนดไว้ ดังนี้ เมื่อมีการแก้ไขให้เก็บไว้ที่ ตาราง LOG 6 เดือน เมื่อข้อมูลที่เก็บไว้นานกว

การตรวจสอบสเปคเครื่องคอมพิวเตอร์ เรื่องของการ์ดเน็ตเวิร์ก

ทุกวันนี้มีโปรแกรมสำหรับตรวจสอบสเปกเครื่องคอมพิวเตอร์อยู่หลายตัวด้วยกัน ที่คุ้นตากันดี เช่น CPU-Z , Everest และอื่นๆอีกที่ไม่ค่อยรู้จักเท่าไหร่ แต่ปัญหาอยู่ที่ ไม่รู้จะตรวจสอบการ์ดเน็ตเวิร์กยังไง เปิดดูทีไร speed ก็อยู่ที่ 100MBs ก็มีคนแนะนำว่าถ้าจะตรวจสเปกง่ายๆ ก็หาสวิตช์ฮับที่ความเร็วเป็น 1000MB มาต่อถ้าการ์ดเน็ตเวิร์กเรา เวลาเราคลิกดู Properties มันก็จะขึ้นมาให้ ว่าเป็น 1000MB ถึงว่าล่ะ สวิตช์ฮับที่ใช้อยู่ตอนนี้มันความเร็วแค่ 100MB เองสปีดถึงเห็นได้แค่นี้ ครั้นจะให้ซื้อตัวใหม่ที่ความเร็วระดับกิกกะบิตมาใช้ ก็คงต้องใช้เวลา และเสียงบประมาณอีกตามเคย ก็ใช้วิธีต่อพ่วงกับเครื่องที่มีการ์ดแลน 1GB มาต่อเครื่องทดสอบก็ได้ครับ ประหยัดงบดี แต่ถ้าจะให้ดี คงต้องเปลี่ยนสวิตช์ฮับไปเลยดีกว่า จะได้ใช้ความเร็วได้เต็มที่ กับอุปกรณ์ที่พัฒนาไปไกลแล้ว

การแชร์สแกนเนอร์ ถึงทำไม่ได้แต่ก็มีวิธีช่วยประหยัดขั้นตอนการทำงาน

"พี่ครับขอใช้เครื่องพี่สแกนเอกสารหน่อยครับ" "พี่ครับขอสแกนอีกสักสองแผ่นครับ" "พี่ครับพอดีมีเอกสารต้องสแกนเพิ่มน่ะครับ" ทุกครั้งที่ต้องสแกนเอกสารเป็นไฟล์เก็บไว้ในคอมพิวเตอร์ ผมจะต้องลุกไปขอใช้เครื่องพิมพ์แบบ All-In-One ของพี่โจ้ทุกครั้ง บางครั้งก็เกรงใจแกครับ เห็นกำลังใจจดใจจ่ออยู่กับงานตรงหน้า ไหนจะต้องตอบคำถามคำโน้นคนนี้ทาง MSN บ้าง Facebook บ้าง ^___^ พอไปขอใช้เครื่องทีไรก็ดูแกจะไม่สบอารมณ์เท่าไหร่ พยายามค้นหาวิธีแชร์สแกนเนอร์จากในอินเตอร์เน็ตอยู่หลายวัน ก็ไม่เจอวิธีที่จะสามารถแชร์สแกนเนอร์ให้เครื่องอื่นได้ใช้งานได้เลย แชร์ได้แค่ให้สั่งพิมพ์จากเครื่องอื่นๆได้เท่านั้น สุดท้ายก็เลยตัดสินใจใช้เทคนิคเล็กๆ น้อยๆ ที่ได้พบเจอมาใช้ประหยัดเวลา และไม่รบกวนการทำงานและสนทนาของพี่โจ้ ได้วิธีนึง นั่นก็คือ ตั้งค่าสแกนเนอร์ให้บันทึกอัตโนมัติ ไว้ในโฟลเดอร์ที่กำหนด แล้วก็ทำการแชร์โฟลเดอร์เครื่องพี่โจ้ทิ้งไว้ซะเลย 1. ตั้งค่าให้สแกนอัตโนมัติเมื่อกดปุ่มสแกน 2. กำหนดให้บันทึกลงโฟลเดอร์ที่แชร์ไว้แล้ว (แชร์โฟลเดอร์เก็บเอกสารสแกนของคอมฯเครื่องนั้นไว้) 3.

โปรแกรมเขียนโค๊ด Notepad++ ติดตั้งง่าย ใช้งานสะดวก แก้ไขรวดเร็ว

Notepad++ เป็นโปรแกรมที่ผมใช้สำหรับแก้ไขโค๊ดเป็นประจำครับ เพราะสเปกเครื่องผมมันไม่สูงเท่าไหร่ กว่าจะโหลดโปรเจ็กต์ จากโปรแกรมเขียนโค๊ดตัวอื่นๆ เสร็จก็ใช้เวลาพอสมควร ถ้างานไหนต้องแก้ด่วน ก็เปิดด้วยโปรแกรม Notepad++ นี่แหละครับ โค๊ดเราเอง ไล่หาแป๊บเดียวก็เจอครับ     Download PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด  "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

Office 2007 ทำงานช้าจนค้าง และแจ้งเตือน การอ้างอิงแบบวงกลม (Circular Reference Warning)

ช่วงนี้ใครๆ ก็ได้เครื่องใหม่ใช้กัน ผมล่ะแอบอิจฉาอยู่ในใจนิดๆ ว่าเมื่อไหร่จะได้เปลี่ยนก่ะเขาบ้างซะที "น้องเที่ยงนี้เปลี่ยนเครื่องให้พี่ด้วยนะ พี่ไปกินข้าวก่อนบ่ายนี้จะได้ลองใช้เครื่องใหม่ ^^" >__< "เอ่อ...พี่ครับเที่ยงแล้วผมก็ต้องทานข้าวเหมือนกันนะครับ" ^___^ "อ่าวเหรอ วันๆ ก็เห็นชงแต่กาแฟพี่ก็นึกว่าเราไม่กินข้าวเติมกาแฟอย่าวเดียว" - -" "ไม่ต้องห่วง เสร็จเมื่อไหร่ก็เมื่อนั้น พี่จะแวะไปทำธุระที่อื่นอยู่ยังไม่เข้าออฟฟิศนะ จัดการได้ตามสบาย" ก็ตามนั้นครับ หลังมื้อเที่ยงผมก็จัดการถอดสายระโยงระยางที่ต่อกับเครื่องคอมพิวเตอร์ตัวเก่าออก แล้วจัดการสลับเครื่องใหม่มาแทนที่ แล้วก็จัดการแบ็กอัพข้อมูลเครื่องเก่าไว้ใน External Hardisk ขนาด 1TB ตัวใหม่ที่เพิ่งเบิกออกมาไม่กี่วันนี้เอง แล้วหลังจากนั้นพี่แกก็เข้ามาทำงานตามปกติ ตุ่งตุ้ง!! มีข้อความเด้งขึ้นที่หน้าจอ แล้วพี่เขาทำงานต่อไม่ได้ งานเข้าล่ะทีนี้ ไฟล์ Excel ที่ใช้ประจำดันมามีปัญหากับซอร์ฟแวร์เวอร์ชั่นใหม่กว่า พี่เขาบอกว่าปกติคลิก OK แล้วมันก็จะประมวลผลให้เรียบร้อย แต่เ

รายงานยอดไม่ตรงกัน เป็นที่คนหรือโปรแกรม

วันนี้ผมต้องใช้โปรแกรมตารางงานที่ยอดนิยมอย่าง Microsoft Office Exel เปรียบเทียบข้อมูล 2 คอลัมน์ ว่าถูกต้องตรงกันหรือไม่ ตอนแรกก่ะว่าจะใช้สายตาอันเฉียบคมพิจารณาดูทีละบรรทัด แต่ได้ไม่ถึงร้อยบรรทัดก็ตาลายแล้วครับ เลยพยายามค้นหาวิธีใช้งานสูตรใน Exel ให้ช่วยในการตรวจสอบแทนการตรวจด้วยตาเปล่า เพราะมีข้อมูลตั้ง 3,225 รายการ กว่าจะดูจนครบคงไม่ต้องทำการทำงานอะไรแล้ว T_T ข้อมูลมี 3 คอลัมน์ครับ      A              B               C | ต้นทุน  |  ค่าเสื่อม |  ยอดสุทธิ |    5000          1200       3800 ซึ่ง ต้นทุน = ค่าเสื่อม + ยอดสุทธิ แต่ผลรวมออกมา ค่าเสื่อม + ยอดสุทธิ ดันไม่ตรง ผมรวมที่ว่าก็มาจากข้อมูลสามพันกว่ารายการนั่นเอง ไล่กันไม่หวาดไม่ไหว ว่าข้อมูลแถวใดที่คำนวณผิด วิธีการแก้ปัญหาที่ใช้ก็คือ เพิ่มคอลัมน์ที่ 4 (คอลัมน์ D) สำหรับเก็บ ข้อมูล ค่าเสื่อม + ยอดสุทธิ โดยใช้คำสั่ง =SUM(B1:C1) แล้วดับเบิ้ลคลิกลงตรงมุม เพื่อให้มันก๊อปปี้สูตรและวางอัตโนมัติจนครบ 3,225 แถว เมื่อได้ข้อมูลมาแล้วก็นำมาเปรียบเทียบกับ ต้นทุน ซึ่งจะต้องเท่ากัน โดยเก็บผลลัพธ์การเปรียบเทียบไว้ในคอลัมน์

ทำอย่างไรให้ Printer HP Laserjet 1000 ใช้กับ Windows7 ได้

ผมใช้เวลาครึ่งวันกับการหาไดร์ฟเวอร์สำหรับเครื่องพิมพ์เครื่องนี้ พยายามจะติดตั้งไดร์ฟเวอร์ให้ แต่เครื่องรุ่นนี้ มีไดร์ฟเวอร์สำหรับ XP เท่านั้น ส่วนวิธีการที่จะนำมาใช้ก็คือ ให้ติดตั้งโดยเลือกแบบค้นหาไฟล์ไดร์ฟเวอร์ที่มีส่วนขยายของไฟล์ หรือนามสกุลไฟล์เป็น *.inf ถ้าเลือกถูกโฟลเดอร์ก็จะติดตั้งให้อัตโนมัติเองครับ สำหรับคีย์เวิร์ดที่ใช้ค้นหาวิธีการติดตั้งไดร์ฟเวอร์จากเว็บไซต์กูกเกิ้ลนั้นมีดังนี้ คำค้นหา - ไดร์เวอร์ hp laserjet 1000 window7 - driver hp laserjet 1000 for window7 ลองดูนะครับ

ระบบอัตโนมัติ ที่แตกต่างกัน

       วันนี้มีเวลานั่งซดคาปูชิโน่เย็นแก้วใหญ่หลังมื้อเที่ยงในร้านแกแฟใกล้สำนักงาน ก็นั่งคิดอะไรไปเพลินๆ แล้วก็มีความคิดแว๊บเข้ามาในหัว ก็เกิดการเปรียบเทียบระหว่างมนุษย์เดินดินกินข้าวแกงอย่างผมกับเจ้าเครื่องคอมพิวเตอร์หัวไบรท์ตั้งแต่เกิดว่าเหมือนกันตรงไหน     คิดๆ ดูแล้วคอมพิวเตอร์คงจะสร้างเลียนมนุษย์เรานั่นเอง เป็นการเลียนแบบในเรื่องระบบความคิด และระบบอัตโนมัติ      เหมือนกันอย่างไร เรื่องความเร็วครับ คอมพิวเตอร์คิดคำนวณอย่างรวดเร็ว คนก็คิดเร็ว ปากเร็ว มือเท้าเร็ว ยิ่งเวลาหงุดหงิดๆ ละก็นะ      เรื่องความจำ คอมพิวเตอร์จะเก็บข้อมูลอย่างถาวรไว้ที่ ฮาร์ดดิสก์ และพักข้อมูลชั่วคราวไว้ที่แรมเพื่อสะดวกต่อการเรียกใช้      คนเราเก็บข้อมูลไว้ที่สมอง เรื่องบางเรื่องก็เก็บไว้อย่างถาวรลบยังไงก็ลบไม่ออก ลืมยังไงก็ลืมไม่ลง แต่กับบางเรื่อง พยายามจดจำไว้อย่างดี พอถึงเวลาต้องใช้กับนึกไม่ออกซะงั้น เป็นอะไรที่ซับซ้อนครับ บางทีเผลอเดินสะดุด ก็ลืมซะแล้ว      เวลาที่สมองปลอดโปร่งก็จำอะไรได้แม่น คิดอะไรก็เร็ว แต่พอหิวขึ้นมาข้อมูลก็ไปถูกพักไว้ที่ท้องซะงั้น ยิ่งถ้าหงุดหงิดขึ้นมา โมโหโกรธาหน้ามืด

โปรแกรมตามสั่ง สคริปต์ร้อนๆพร้อมเสิร์ฟ

       เที่ยงวันนี้ไม่รู้จะกินไรดีนะ?? นั่งคิดไปจิ้มเว็บนั้นทีเว็บนี้ทีกว่าจะรู้ตัวก็เกือบเที่ยงครับ แย่เลยแล้วจะกินไรดีล่ะเนี่ย +_+ แต่ที่แย่กว่านั้นเห็นจะเป็น Short note หรือแถวบ้านผมเรียกกันว่า "จดหมายน้อย" ที่ผมจดไว้อย่างไม่ได้ใส่ใจ ที่ยังกองอยู่บนโต๊ะนั้นก็หมายความว่ามีรายการที่ต้องแก้ไขส่งเข้ามาให้ปวดหัวแล้วในเช้าอันสดใสนี้        ถ้าเปรียบกับคอมพิวเตอร์ผมคงเป็นคอมพิวเตอร์รุ่น Pentium 4 ครับ ฟังดูเท่ห์สุดๆ ในยุคสมัยหนึ่ง และก็ยังติดหูมาถึงทุกวันนี้ ถึงแม้ว่าหลังๆจะเจอซอร์ฟแวร์สเปกสูงๆ เข้าไปทำให้เกิดอาการอืดๆ ไปบ้าง แต่ความสามารถที่มีก็ไม่ได้ลดน้อยถอยลงไปแต่อย่างใด        ผมเป็นคนที่ทำงานค่อนข้างจะช้ามาตั้งแต่สมัยเรียนครับ ทำสอสอบก็ออกหลังเพื่อน ทำแล็บก็เสร็จกลุ่มสุดท้าย เพราะมัวแต่ตรวจงานซ้ำไปซ้ำมา บางทีก็เหมือนจะเกินความจำเป็นด้วยซ้ำ เพราะยึดคติ "ช้าแต่ชัวร์" ทุกวันนี้ก็เลยยังไปไม่ถึงไหน คนอื่นเขียนโค๊ดวันเดียวเสร็จ ในงานเดียวกันผมจะใช้เวลาเป็นสองเท่า ไม่รู้คิดอะไรอยู่จนหลายๆคนคงจะคิดว่าผมอู้งานแบบเนียนๆ รึเปล่า        แต่ความจริงแล้วที่ทำงานไม่มีคนทด

Eclipse PDT 3.0.x All In Ones

จะรวบรวมโปรแกรมที่มีประโยชน์ น่าสนใจในหลากหลายงานมาให้ได้เลือกใช้กันนะครับ Eclipse PDT 3.0.x All In Ones        เป็นโปรแกรมสำหรับเขียนโค๊ด PHP ที่ฟังก์ชั่นครบครันครับแต่ที่ได้ใช้จริงๆ คงจะเป็นระบบ Auto Complete และการไล่โค๊ด ที่คลิกตามชื่อฟังก์ชั่นก็จะเปิดไฟล์ที่เก็บฟังก์ชั่นนั้นขึ้นมาทันที ทำให้การไล่โค๊ดเป็นเรื่องง่ายๆ สำหรับโปรแกรมเมอร์ที่ต้องรับงานต่อจากคนอื่นๆ Download

อะไรกันเนี่ย Printer Offline อีกแล้ว

โดนแหย่อยู่เรื่อยๆ ครับเรื่องปริ้นท์เตอร์ คำพูดติดหูที่พี่เขามักจะใช้ก็คือ "คงไม่ต้องให้ถึงมือพี่ใช่มั้ย" แน่นอนครับ ไม่อยากให้ถึงมือพี่เลยจริงๆ ฝ่ามืออรหันต์ของพี่นั้นน่ากลัวจริงๆ ถ้าได้ซัดลงไปบนเครื่องปริ้นท์ทีละก็สงสัยจะระเบิดคามือ ^^" น่าสงสารเจ้าเครื่องปริ้นท์ประจำสำนักงานนี่เสียจริงๆ หากวันนี้แชร์ให้เครื่องอื่นใช้ไม่ได้ ชีวิตเจ้าคงเหลือเพียงเท่านี้ เพราะเจ้าจะต้องโดนฝ่ามืออรหันต์เปรี้ยงสองเปรี้ยง จนกว่าเจ้าจะเดี้ยงหรือ ยอมทำงาน แต่ช้าก่อน... เครื่องอื่นนอกเหนือจากเครื่องพี่โจแล้ว ก็ยังเป็นปกติดีนี่นา ก็ยังใช้ได้ไม่มีปัญหา แสดงว่าเครื่องปริ้นท์เตอร์นี้ไม่ได้มีปัญหาสักหน่อย ปัญหาอยู่ที่เครื่องพี่โจมากกว่า ผมเช็กดู Workgroup ก็ใช้เหมือนกัน การแชร์ก็แชร์โดยใช้ชื่อคอมพิวเตอร์เลย ไม่ได้ใช้ไอพีแล้ว ลองใช้คำสั่ง ping ไปที่เครื่องแม่ที่ต่อกับเครื่องพิมพ์ ปรากฏว่าไม่มีการตอบรับใดๆ แต่เน็ตเวิร์กก็ใช้ได้ เข้าเว็บได้ เข้าเครื่องอื่นๆ ได้ จนสุดท้ายก็ฟันธงได้ว่าเป็นที่โปรแกรมสแกนไวรัสนี่เอง ด้วยการป้องกันที่เยี่ยมยอด เมื่อเครื่องพี่โจมีบางสิ่งแปลกปลอม จะไวรัสห

น้องแชร์เครื่องพิมพ์ให้พี่หน่อยดิ

งานในสำนักงานนั้นมีอะไรให้ทำเยอะแยะเลยครับ แทบไม่ว่างต่างจากการนั่งเขียนโปรแกรมในห้องโปรแกรมเมอร์ที่เงียบสงัด นานๆทีจะมีใครสักคนทักขึ้นมา ถามกันบ้างเป็นบางครั้ง จนคนจากฝ่ายอื่นเวลาต้องเข้ามาประสานงาน อึดอัดกันทุกคน ก้าวแรกที่เปิดประตูเข้ามา โปรแกรมเมอร์นับสิบจะหันหน้าไปทางเดียวกันอย่างพร้อมๆกัน จนคนเปิดประตูเข้าห้องมาแทบผงะ ^^" แต่เดี๋ยวนี้สภาพแวดล้อมเปลี่ยนไป ที่ทำงานใหม่ คนใหม่ๆ หลายหลากความนึกคิด บางทีก็อดหวั่นใจไม่ได้ว่าจะรอดรึเปล่าเรา แต่ดีที่หัวหน้าใจดีให้โอกาสได้พยายามกันสักตั้ง ช่วงนี้เจองานเข้าครับ แชร์ปรินท์เตอร์เตอร์เกือบสิบเครื่อง วันนี้แชร์ได้ พรุ่งนี้แชร์ใหม่ เจอคำถามเสียดแทงครับ "สงสัยอยู่ไม่เกิน 3 เดือนแล้วมั้ง?" ถึงจะถามแย่กันเล่นๆ แต่ก็จุกเลยทีเดียว เหงื่อเริ่มซึมผ่านเสื้อเชิตบางๆ ทั้งที่อยู่ในห้องแอร์  (อ่อ...ตอนเช้าๆแบบนี้เขาไม่เปิดแอร์น่ะครับ ถึงว่าร้อนจนเหงื่อไหล) พยามงัดข้อกับมันหลายวันครับ สอบถามไปที่แอดมินคนก่อน พี่เขาก็ถามวา แอดมินคนก่อน : น้องแชร์ผ่านไอพีรึเปล่า ผมคนนี้ : ใช่ครับ ผมแชร์ผ่านไอพี เช็กดูก็ ping

ไม่รู้จักฉัน ไม่รู้จักเธอ

     หัวข้อแรกลองขีดๆ เขียนๆ ให้คุ้นมือเล่น ^^" วันแรกที่ข้ามผ่านคำว่าพนักงานทดลองงาน รู้สึกเต็มเปี่ยมไปด้วยพลัง และความทนงตนอยู่บ้าง รู้สึกเหมือนตัวเองไม่ใช่เด็กจบใหม่ ไม่ใช่โปรแกรมเมอร์มือสมัครเล่นแล้วนะ ตอนนี้ได้เป็นโปรแกรมเมอร์เต็มตัวซะที ^_^      ความทนงตนเริ่มหดหายไปบ้างในสัปดาห์แรก และเริ่มหดหายไปทีละนิดในสัปดาห์ต่อๆ ไป เจอของจริงน่ะสิครับ ตอนทดลองงานก็ได้ทำในส่วนที่ไม่ต้องคิดไม่ต้องค้นอะไรมากมาย แต่พอเป็นพนักงานเต็มตัวปุ๊บเจอโจทย์ของจริง ปวดหัวจริงๆ      นั่งออกแบบฐานข้อมูลจนเสร็จในสัปดาห์แรก ไม่ผ่าน แก้ไขเพิ่มเติมในสัปดาห์ที่สอง และสัปดาห์ที่สาม คราวนี้เริ่มรู้สึกตัวสักทีว่างานเขียนโปรแกรมมันไม่ได้หมูอย่างที่คิด รู้เลยว่างานด้านการออกแบบฐานข้อมูลไม่เอาไหน เคยแต่ทำเว็บบอร์ด หรือทำตามตัวอย่างโค๊ดในหนังสือได้ทุกเล่ม อืมเก่งจริงเรา.... แต่มันใช่ที่ไหนเล่า คิดไปเองทั้งนั้น      ทำงานสองปี...ได้อะไรบ้าง บั๊กครับ BUG ที่ไม่ได้แปลว่าแมลง (ถึงที่มาจะมาจากแมลงจริงๆก็ตาม) แทบจะเปิดร้านขายแมลงทอดได้เลยทีเดียว บางทีก็เพราะเบลอๆ บางทีก็ประมาทเลินเล่อ หรือเพราะรู้เท่าไม่ถึงก

PHP CI MANIA