Thursday, May 14, 2009

คำถามโง่ๆ ประจำวันนี้

เมื่อเช้าดูเรื่องเล่าเช้านี้
ความสนุกของรายการนี้คือ SMS ส่งผู้ชมทางบ้านส่งเข้าร่วมสนุก วันนี้เจอคำถามอยู่คำถามนึง

"ถ้าอยากให้เลิกเหล้ายุหรี่ แล้วยังจะผลิตมาทำไม?"

โอ้! ถามโง่ๆ ผมก็จะตอบโง่ๆ นะครับ

"ก็คนผลิต กับคนบอกให้เลิก มันคนละคนกันครับ"

Monday, May 11, 2009

Note: Magento

ช่วงนี้สนใจ Magento ลองเล่นดูแล้ว เลยโน๊ตไว้เสียหน่อย

  • ใช้ Zend framework นั่นหมายความว่า ถ้าเข้าใจ Zend ก็เข้าใจ Magento หรือ ถ้าเข้าใจ Magento ก็เข้าใจ Zend
    หากอยากหาแรงจูงใจ ในการประยุกต์ใช้ Zend framework ในการใช้งานจริง Magento ถือเป็นจุดเริ่มต้นที่เข้าท่ามาก
  • ต้อง PHP 5 เท่านั้น แต่นะ ใครเค้ายังใช้ PHP 4 กัน
  • Database engine ต้องเป็น InnoDB engine นะจ๊ะ ไม่งั้นติดตั้งไม่ผ่าน
  • 250 Tables OMG!
  • ความเร็ว ยังเป็นสิ่งที่ต้องปรับปรุงอย่างเร่งด่วน
  • ระบบออกแบบไว้ดีมากๆ โดยเฉพาะแนวคิดเรื่อง Block layout มันช่วยให้ออกแบบหน้าเว็บ แยกแต่ละหมวดหมู่สินค้า หรือแม้แต่รายสินค้าได้
  • เรื่องภาษาไทย ยังไม่ได้ลอง เห็นคร่าวๆ ว่ามี magento.in.th ไว้แล้ว ให้เดาคงเป็น @joomlacorner จากทีมจูมล่าไทย พี่แกเสือปืนไวอยู่แล้ว

ผมทดสอบทั้งในเครื่องผมเอง และลงใน EC2 พบว่าการใช้ Magento ใน EC2 นั้น ความเร็วก็ไม่ได้เลวร้ายมากนัก หากทำการปรับแต่งทั้งในส่วนของ Webserver, Database server และตัว Magento เอง ประสิทธิภาพ น่าจะดีกว่านี้ เอาไว้ลองแล้วได้ผลยังไง จะมาเล่าให้ฟังอีกที

Sunday, April 26, 2009

แนะนะ GIT

GIT เป็นระบบจัดการซอร์สโค้ด (Source Code Management) หน้าที่เดียวกันกับ CVS, SVN ทั้งหลาย หรือมีการเรียกอีกอย่างหนึ่งว่า Revision Control

โปรแกรมเมอร์หลายคน คงมีอาการยิ่งแก้ยิ่งแย่ และอยากย้อนกลับไปในจุดที่โค้ดของตัวเอง ยังใช้งานได้ดีอยู่ ระบบ Revision Control คือคำตอบ

เหตุที่ผมชอบ GIT
- ทำงานแบบ Off-line ได้ ไม่จำเป็นต้องติดต่อกับ Repository server เวลาสั่ง commit, checkout
- ไม่รกรุงรัง เหมือน SVN เพราะ GIT มีไดเรคทอรี .git มาเพียงไดเรคทอรีเดียว ต่างกับ SVN ที่สร้าง .svn ในทุกๆไดเรคทอรีของโปรเจคท์

หากสนใจ อยากทดลองใช้ ผมจะแนะนำสั้นๆ เร็วๆ ตามนี้
ผมขอข้ามขั้นตอนการติดตั้งไปก่อนนะครับ เพราะมันไม่ได้ยาก กด Next ไปเรื่อยๆ ก็เสร็จแล้ว ผมข้ามจั้นตอนการสร้างโปรเจคท์ใหม่เลยดีกว่า
เริ่มจากมองหาไดเรคทอรี ที่คุณต้องการใช้งาน GIT ผมสมมติเป็น

D:\www\project.localhost

จากนั้น เรียก GIT Shell ขึ้นมา แล้วไปยังไดเรคทอรี่โปรเจคท์ของเรา

git01-win-git-shell.

จากนั้นสั่งสร้าง Repository ด้วยคำสั่ง git init

git02-git-init 

แล้วจะมีไดเรคทอรี .git ในโปรเจคท์ของเรา

git03-git-directory 

จากนั้นลองสร้างไฟล์ขึ้นมา สมมติผมสร้างไฟล์ index.php ขึ้นมา และข้างในมีโค้ด

git04-index-code 

กลับไปที่ GIT Shell พิมพ์คำสั่ง git status

git05-git-status-st

แล้วก็จะเห็นสถานะแบบนี้
git06-git-status-result

กด q เพื่อออกจากโหมดนั้น แล้วพิมพ์คำสั่ง git add index.php
git07-git-add-index 

จากนั้น พิมคำสั่ง git commit -m 'Start repository'
git08-commit-1st

สั่ง git status ดูอีกรอบ
git09-git-status-after-commit

แล้วผมก็กลับไปแก้ไขโค้ดให้เป็นตามนี้
git10-mod-code-01

สั่ง git status อีกรอบ
git11-git-status-after-mod-code 

จะเห็นว่ามีการ modified อยู่หนึ่งไฟล์ ถ้าอยากรู้ว่า มีการเปลี่ยนแปลงอะไรบ้าง ก็สั่ง git diff และตามด้วยชื่อไฟล์ ที่ต้องการดูความแตกต่าง หากไม่ระบุ ระบบจะแสดงความแตกต่างของทุกไฟล์ที่มีการเปลี่ยนแปลง
git12-git-diff-index
จากภาพ สีแดงคือส่วนที่หายไป สีเขียวคือส่วนที่เพิ่มเข้ามา

ทดลอง commit รอบ ด้วย git add และ git commit
git13-git-commit-2nd 

*สิ่งสำคัญคือ ต้องสั่ง git add ก่อน git commit ทุกครั้ง*
ทีนี้ลองสั่ง git log เพื่อดูประวัติการ commit

git14-git-log

ถ้าอยากย้อนกลับไปยังจุดที่ commit ก่อนหน้านี้ สั่ง git checkout แล้วตามด้วย หมายเลขที่ต้องการย้อนกลับไป ตัวอย่างเช่น
git15-git-checkout

กลับไปดูที่ไฟล์ซอร์สโค้ด
git16-source-code-after-checkout

ถ้าสั่ง git log อาจจะดูยากไปนิด ลองใช้ gitk ดูครับ
git17-call-gitk

หน้าตา gitk
git18-gitk
จุดเหลือง คือจุดที่ checkout ออกมา

คงจะช่วยให้มองเห็นภาพขึ้นมาบ้างนะครับ ต้องทดลองใช้ดู ถึงจะเข้าใจและใช้เป็น

รอบหน้า ผมจะพูดต่อไปในเรื่อง Work flow การสร้าง Branch, Merge, Solve conflict

วันนี้เอาลิงค์ไปก่อนครับ

 

- ต้นฉบับ http://git-scm.com/
- GIT for Windows http://code.google.com/p/msysgit/

รวม Tutorial จากเว็บต่างๆ
- http://github.com/blog/333-easy-git
- http://www.webdesignerdepot.com/2009/03/intro-to-git-for-web-designers/
- http://book.git-scm.com/index.html
- http://peepcode.com/products/git (แบบเสียเงินนะครับ)

Wednesday, April 8, 2009

IWearYourShirt.com โอกาสเป็นของผู้ที่มีความคิดแปลกใหม่เสมอ

ยังจำ The Million Dollar Homepage กันได้มั๊ยครับ อาจจะนานไปหน่อย แต่ก็เป็นตำนานที่เล่าทีไรแล้วก็ยังทึ่งในความคิดของเค้า
คิดได้ยังไง แบ่งหน้าเว็บเพจเป็นพิกเซลย่อยๆ แล้วขายให้กับเว็บต่างๆ รวยเงินล้านไม่รู้เรื่องเลย



มาวันนี้ ผมเจอกระทาชายนายหนึ่ง หัวใสซันไลปิ้งไม่แพ้กัน


IwearYourShirt.com


เป็นใครไม่รู้ ยังไม่ได้ค้นรายละเอียดดู แต่แนวคิดของเค้าก็คือ ในปี ๒๐๐๙ นี้ เค้าจะใส่เสื้อยืดแต่ละวันไม่ซ้ำกัน ๑ วัน ๑ ตัว
และจะถ่ายรูปตัวเองลง Social Network ทุกวัน ถ่ายวิดีโอลง Youtube ทุกวัน คุยสดๆ ผ่านทาง ustream.tv ทุกวัน



แน่นอนว่าเสื้อยืดที่เค้าใส่ มันไม่ธรรมดา ต้องเป็นเสื้อยื้ดที่มีข้อความสำหรับประชาสัมพันธ์ จะเป็นเว็บไซต์อะไรก็ได้ที่คุณอยากโปรโมท ส่วนค่าบริการ ก็คิดไม่แพงครับ วันที่คุณต้องการให้นายคนนี้ใส่เสื้อยืด เป็นวันที่เืท่าไหร่ของปี ก็จ่ายไปเท่านั้น อย่างเช่นวันที่ ๑ ม.ค. ก็ราคา ๑ ยูเอสดอลลาร์ วันต่อไปก็เพิ่มขึ้นไปเรื่อยๆ ขึ้นอยู่กับว่าวันที่ต้องการให้เค้าใส่เสื้อนั้น วันสุดท้ายของปี ก็จ่าย ๓๖๕ เหรียญ
นี่ถ้าเขาสามารถขายได้ครบ ๓๖๕ วัน รายรับทั้งหมดก็จะเป็น 66,795 USD หรือราวๆ ๒.๓ ล้านบาท

แล้วใครมันจะบ้ามาซื้อวะ?

อย่าดูถูกไป เพราะขณะที่ผมเขียนบล๊อกอยู่นี้ ถูกจองไปจนถึงเดือนกันยายนแล้ว เท่ากับว่ามีเงินล้านในกระเป๋าเรียบร้อยแล้ว



เค้าไม่ธรรมดาจริงๆ

Wednesday, March 25, 2009

ชอบ GIT มากกว่า SVN

ดองบล๊อกไว้นาน ไม่ได้เขียนเลย วันนี้เอาซะหน่อย

ตอนนี้แต่ละวัน สิ่งที่ขาดไม่ได้ในการทำงานของผมคือ ต้องใช้ GIT
GIT เป็นระบบ Distributed revision control เหมือนกับ CVS, SVN ั่นแหละ
แต่มีข้อดีหลายอย่าง ที่ผมชอบมากกว่า SVN เป็นต้นว่าเราสามารถ Commit, Checkout ได้โดยไม่ต้องต่อกับ Repository server ตลอดเวลา อีกอย่างนึงคือ GIT ดูความแตกต่างของเนื้อหาภายในไฟล์ ไม่ใช่แค่วันที่เปลี่ยนแปลงเหมือน SVN

รอบหน้า จะยกตัวอย่างมากกนี้ครับ
โปรดติดตาม