บทความ OOP in PHP ตอนที่ 1 สำหรับลงใน ThaiAdmin Magazine เสร็จแล้ว เย้ …….

กว่าจะเขียนเสร็จเล่นเกือบตาย ไม่ใช่ว่ามันยากหรืออะไรหรอกครับ แต่ว่าการอธิบายให้ดูง่าย ๆ นี่มันทำยากกว่ามาก ๆ แถมการใช้ศัพท์ใด ๆ ต้องคิดถึงคนที่ไม่รู้ด้วยเป็นทุน ไม่งั้นมันจะส่งสารให้กับคนอ่านยากลำบากมาก โดยในบทความพยายามที่จะไม่ยัดศัพท์ทางเทคนิคใน OOP ลงไปแต่จะอาศัยการคำพูดไทย ๆ ที่เปรียบเทียบให้เห็นแล้ววงเล็บศัพท์เทคนิคตรงนั้นไป แล้วพยายามเอาเรื่องใกล้ ๆ ตัวมาอธิบายให้รูปแบบ OOP แทน ค่อย ๆ สอนเป็นขั้นเป็นตอน อะไรที่มันดูยาก ๆ อธิบายยาว ๆ ก็ตัดออกไปก่อนอย่าง Polymorphism นีไม่อธิบายเลย เอาหลัก ๆ 3 ส่วนพวก Abstract Data type, Encapsulation และ Inheritance ให้เห็นภาพก่อน แล้วค่อยเอาเรื่องยาก ๆ โดยมีการใช้ภาพประกอบอยู่หลายส่วน และนำเอาเรื่อง Object Model และ Reference Variable กับความสัมพันธ์ของ Object มาพูดด้วยโดยอาศัยหลักการ Object แท้ ๆ ในระดับล่างว่ามันทำงานอย่างไร เพื่อให้เห็นภาพว่าการที่เรา initialized แล้วมันเกิดอะไรขึ้นบ้าง แล้วไอ้ตัวแปรที่เป็น Object ตัวนั้นน่ะ จริง ๆ แล้วมันก็แค่ชื่อตัวแปร แต่ตัว Object จริง ๆ มันอยู่ในหน่วยความจำอีกทีหนึ่ง อะไรแบบนี้ เพราะไม่งั้นจะสับสนว่ามันก็แค่ตัวแปรตัวหนึ่ง แต่จริง ๆ แล้วมันมีอะไรมากกว่านั้น อ่อ ลืมไปว่าในนั้นก็ใส่เรื่องการส่ง Message ระหว่าง Object ลงไปในนั้นด้วย คงประมาณนี้ มีเขียน Hello World และให้ดูความแตกต่างว่าได้ Object มา 2 ตัวมันทำงานแตกต่างกันได้อย่างไร อะไรประมาณนี้ คงต้องอ่านในนิตยสารเอาหล่ะครับ ;) เพิ่งส่งให้ตอนเย็นนี้เอง แล้วเจอกันในนิตยสาร ThaiAdmin เล่ม 1 วันที่ 8 กุมพาพันธ์ 2550 นี้นะครับ ที่งาน Com world ครับ

Get !!! MacWorld 2007 Keynote File ขนาด 1.21GB

เข้าไปโหลดกันได้ที่นี่ ครับ อ่อ ลืมบอกว่า คุณต้องมีโปรแกรม iTunes ก่อนนะครับ ไม่งั้นโหลดไม่ได้ ฮ่า …..

คุณภาพของภาพดีเยี่ยมมาก Resoluation ขนาด 640 x 352 เป็นรูปแบบไฟล์ MPEG-4 H.264 ครับ

ข้อมูลได้มาจาก ThaiMacClub ครับผม ;)

[update 2] PHP Framework -> PHPHoffmanFramework

ตอนนี้ระบบเริ่มนิ่งแล้วหลังจากผ่าน Revision ที่ 53 มา โดยได้ทำการเพิ่ม Add-on Text Editor ของ FCKEditor ลงใน Add-on พื้นฐานข้อมูลระบบแล้ว รวมถึงได้ทำการแยกส่วนของการ Config ของ apps และ core ออกจากกัน แต่ยังแค่ส่วนหนึ่งคาดว่าอีกสักพักจะแยกออกมาทั้งหมด โดยผู้พัฒนาจะไม่จำเป็นต้องเข้าไปยุ่งกับ Config ใน core อีกต่อไป ให้ทำการ Config ใน apps อย่างเดียว และได้เพิ่ม directory ชื่อ userdata เพื่อใช้ในการ upload ไฟล์และต้องการเพิ่มไฟล์ต่าง ๆ ที่นอกเหนือจากระบบหลัก และใน Revision นี้ได้ทำการ upgrade PEAR Date Package เป็น version ใหม่แล้ว รวมถึงแก้ไข bug ในส่วนของลำดับการเรียกใช้ไฟล์ JavaScript ใน Add-on ด้วย

ระบบโดยรวมเป็นไปตามที่กำหนดไว้ทั้งหมด น่าจะออก Beta ได้ตามเวลาที่กำหนด (ถ้าไม่เกิด idea ใหม่ ๆ ที่มีผลกับ Core หลักของระบบชนิดเปลี่ยนยกแผง)

ซึ่งเมื่อตอนเย็นที่วันที่ผ่านมา พอดีว่านั่งเรียนแล็ปวิชา Computer Language แล้วในวิชานี้เรียนภาษาโปรแกรมมิ่งอยู่ 2 ตัวคือ Java Web Application Platform และ PHP โดยช่วงหลังมิดเทอมเป็นเรื่องของ PHP

อาจารย์ได้ให้ทำงานใน LAB โดยสร้าง DB มา 3 ตาราง ซึ่งได้กำหนดมาแล้วว่าเป็นข้อมูลเกียวกับภาพยนต์ โดยตารางหนึ่งและสองเป็น ประเภทภาพยนต์และชื่อนักแสดงและผู้กำกับ ตามลำดับ ส่วนตารางที่สามเป็นข้อมูลภาพบนต์ โดยกำหนดว่าเก็บชื่อ, ปีที่ฉ่าย, ประเภท, นักแสดงนำ และผู้กำกับ โดยมีการดึกข้อมูลนักแสดงนำและผู้กำกับจากตารางนักแสดงและผู้กำกับ โดยในตารางนี้มีฟิลที่กำหนดว่าใครคือนักแสดงและผู้กำกับ หรือเป็นทั้งสองอย่างอยู่ ส่วนประเภทนี่เอามาขากประเภทภาพยนต์ โดยให้ทำระบบจัดการข้อมูลของทั้ง 3 ตารางทั้งใส่ข้อมูล, แก้ไข และลบข้อมูล

นี่คือโจทย์ที่ผมได้รับและจากการอยากทำสอบ PHP Framework ที่ผมสร้างขึ้น เลยได้ลองทำระบบดู จากการทดลองนั้นผมใช้เวลาในการสร้างส่วนติดต่อผู้ใช้งานทั้งหมดซึ่งเป็น Theme หลักของระบบที่มีอยู่แล้ว ในเวลา 1 นาที ในการ Export จาก SVN ผมก็ได้ Theme ที่ตกแต่งเป็น Layout ที่สนับสนุนบน IE และ Firefox ต่อมาก็ใช้เวลาในการสร้างรายงานข้อมูลของทั้ง 3 ตารางอีก 10 นาที ตามด้วยฟอร์มของทั้ง 3 ตารางในการใส่ข้อมูล และแก้ไขอีก 25 นาที โดยได้มีระบบตรวจสอบความถูกต้องด้วย JavaScript เพิ่มลงไปให้เรียบร้อย ต่อมาก็มาจัดการส่วน SQL ก็ใช้เวลาอีก 25 นาที ในการทำ SQL เพื่อใส่ข้อมูล, แก้ไข และลบข้อมูล รวม ๆ แล้ว ใช้เวลาประมาณ 1 ชั่วโมงแต่จริง ๆ นานกว่านั้นเพราะต้องนั่งช่วยเพื่อนทำด้วย ในขณะที่ทำเสร็จเพื่อน ๆ ยังงมกับโค้ดที่ไม่เป็นระเบียบอยู่ แต่ของผมนั้นสามารถเปลี่ยนแปลงได้อย่างมีสัดส่วน ซึ่งตอนนี้สามารถใช้งานได้สมบูรณ์ดีครับ

ด้านล่างคือรูปที่จัดการตารางรายการภาพยนต์ครับ

เอาแค่นี้แล้วกันครับ ส่วนอื่น ๆ ไว้มีเวลาจะเอามาโพสต่อนะครับ ง่วงแล้วไปนอนหล่ะครับ

iPhone จาก Apple (iPod + Phone + Communication)

จากงาน MacWorld Expo 2007  เมื่อคืนตอนเที่ยงคืนตามเวลาประเทศไทย และ 9.30am ตามเวลาที่ San Francisco เปิดตัวในงานแค่ 2 อย่างคือ AppleTV กับ iPhone

โดยรายละเอียดของ iPhone มีดังต่อไปนี้

หน้าจอ : 3.5 นิ้ว
ความละเอียด : 320×480 ที่ 160 ppi
วิธีการกด : Multi-touch (ไม่ต้องพึ่งปากกาสไตลัส) และปุ่ม Home ตรงกลางเท่านั้น ไม่มี keyboard
ความจุ : 4GB (499$) และ 8GB (599$)
รองรับความถื่ : Quad band (MHz: 850, 900, 1800, 1900)
ระบบไร้สาย : Wi-Fi (b/g), Bluetooth 2.0 และ EDGE (ไม่มี CDMA ไม่รองรับ 3G)
กล้องถ่ายรูป : 2 ล้านพิกเซล
แบตเตอรี่ : 5 ชั่วโมง (สำหรับการสนทนา, ดูวีดีโอและการใช้งานฟังก์ชั่นทั่วไป)
              : 16 ชั่วโมง (สำหรับการฟังเพลงอย่างเดียว)
สัดส่วนและน้ำหนัก : 11.5 x 6.1 x 1.6 ซ.ม.(สูงxกว้างxหนา) ,น้ำหนัก 135 กรัม
ระบบปฎิบัติการ : Mac OS X OS X โดยเว็บเบราเซอร์ใช้ Safari (With Tab), E-mail (IMAP or POP), Google Maps, GPS, Auto Switch Between EDGE and WiFi
รายละเอียดเพิ่มเติม : apple.com/iphone และ siampod.com

——————–
สิ่งแรกที่คิดคือ มันยัด OS X ขนาดใหญ่มหาศาลลงไปได้ไง -_-‘ หรือว่ามันเป็นรุ่น Emb  แต่ที่แน่ ๆ น่าใช้มาก แต่ว่า เอ …….. แล้วถ้าเอา OS X ลงได้นี่ ลง Bootcamp แล้วลง Windows XP/Vista Mobile ได้ไหมนะ ฮ่า …..






Powered Photo  by Apple inc.

Blog-tag

โดน Tag มาจาก Katanyoo’s Blog (เห็นว่าเราบ่น ๆ ว่าไม่โดน Tag เลย Tag เราเหรอ รู้นะว่าหาคน Tag ไม่ได้ ฮ่า… เพราะเค้าเล่นกันหมดแล้ว)

[update 1, 10 มกราคม 2549 19:59 น. ] มีคน Tag มาตั้งแต่วันที่ 7 มกราคมที่ผ่านมาแล้ว แต่เพิ่งรู้เมื่อกี้นี้เอง จาก AnnoMundi’s Weblog ครับ

อธิบายสั้นๆ Blog tag ก็คือ การบอกสิ่งที่เกี่ยวกับตัวเอง 5 อย่าง แล้ว tag ต่อให้คนอื่นทำบ้าง แบบนี้ไปเรื่อยๆ

1. ชื่อ Ford AntiTrust เป็นชื่อที่ตั้งขึ้นมาด้วยความอยากสื่อถึงสิ่งที่ตนเองมี และตนเองชอบ Ford เป็นชื่อเล่นที่พ่อและแม่ ตั้งให้ตั้งแต่เด็กในตอนนั้นพ่อซื้อรถ Ford พอดีเลยตั้งเสีย ส่วน AntiTrust นั้นมาจากว่าตัวเองดูภาพยนต์เรื่อง AntiTrust แล้วติดใจชอบมาก และคิดว่าในชีวิตหนึ่งจะได้ทำงานในสภาพแวดล้อมใน Nurv และมีความเก่งแบบ Milo Hoffman ในเรื่องบ้าง ถึงแม้ Nurv จะถูกสร้างขึ้นในจินตนาการให้เหมือนกับ Microsoft ก็ตามที และในนัยหนึ่งก็คือในตอน ม. ปลาย จะเป็นพวกปลายแถวในเรื่องเรียน แต่ Nerd ในเรื่องคอมพิวเตอร์มาก จนกลายเป็น Lab-Boy วันๆ อยู่แต่ห้อง Lab Computer จริง ๆ แล้วสิงตั้งแต่ ม.ต้น ช่วง ม. 3 นั้นแหละ แต่พอเข้ามหาวิทยาลัย ก็พยายามกำจัด Nerd ออกจากตัวไป เริ่มเป็นคนมากขึ้น และกลายเป็น Geek จัด ๆ ก็ช่วงปี 3 และการที่ชอบทำอะไรแปลก ๆ และไม่ชอบทำอะไรที่คนเค้าทำกัน จึง Anti การผูกขาดแนวคิดที่ใช้คำว่า "ใคร ๆ เขาก็ทำกัน" จึงเป็นที่มาของคำว่า AntiTrust ที่แข็งกร้าวมากขึ้นกว่าตอนแรกในช่วง ม.ปลาย

2. IT IDols ของผมคือ Bill Gates หลายคนคงแปลกใจ หรือบางคนที่รู้จึกผมมาก ๆ คงไม่แปลกใจ เพราะผมอ่านประวิติและแนวการทำบริษัท Microsoft ตั้งแต่ตอนอยู่ ม. 1 ในหนังสือ Computer Today ก่อนที่จะรวมเล่มทีหลัง ซึ่งผมก็ยังคงมีเล่นนี้อยู่ โดยหนังสืออื่น ๆ ทั้งไทย และเทศ ถ้าเป็นของ Bill Gates ก็จะพยายามหาซื้อมาให้ได้ โดยในช่วงเวลาอันใกล้นี้จะสั่งหนังสือเกียวกับเขาอีกหลายเล่มจาก Amazon.com แนวคิดการทำงาน และการปรับเปลี่ยนแนวคิดการทำงานในชีวิตประจำวัน เป็นอะไรที่โด้ดเด่น และน่าประทับใจอย่างมาก ใครได้อ่าน The Road A-Head จะเข้าใจเป็นอย่างดี ว่าสิ่งที่เขาคนนี้เขียนไว้ได้เป็นจริงแล้วในวันนี้อย่างมากมาย น่าประทับใจมากครับนายคนนี้

3. ยังคงสายตาดีอยู่ทุกเมื่อ ไม่ว่าจะเล่นคอมพิวเตอร์มากมายแค่ไหน ทำให้เคยได้มีโอกาสใส่แว่นกันเค้าเสียที

4. ภาษาโปรแกรมแรกที่ได้เขียนคือภาษา LOGO และจริง ๆ จัง ๆ กับภาษา C ตอน ม. 3 ส่วนระบบปฎิบัติการตัวแรกในชีวิตคือ DOS 5 Thai ตามด้วย Word Processor คือ RW Word

5. แม่คือคนที่ทำให้ผมได้สัมผัส Computer ได้มากเท่าที่อยากจะทำ ถึงแม้ว่ากว่าจะได้คอมพิวเตอร์ก็ตอน ม.4 และก่อนหน้านั้นไม่มีคอมพิวเตอร์เป็นของตัวเอง แต่ก็อาศัยใช้ตามเวลาที่มีอยู่ที่เรียนพิเศษด้านคอมพิวเตอร์ ECC สาขานครสวรรค์ (ทำเครื่องเค้าพังไปหลายตัว ฮ่า ….)

อีก 5 คนก็รับช่วงต่อไปนะคร้าบบบบบบบบ

ได้แก่ OHM DEV, N’Pop, พี่เดฟ, หน่อย SNC และ พี่ Devman (เจ้าของ Host ที่เช่าอยู่)