Posts Tagged ‘Web Application’

9 ขั้นตอนในการ Install Apache, PHP, MySQL บน Mac OS X 10.6 (Show Leopard)

Saturday, August 28th, 2010

ต้องยอมรับว่าผมไม่เคยใช้ Mac พัฒนาเว็บเลย ส่วนใหญ่จะเป็น iPhone เสียมากกว่า

แต่ไหนๆหลังๆก็ใช้ชีวิตอยู่กับ Mac มากขึ้น เลยลองพัฒนาเว็บบน Mac บ้างดีกว่่า ขั้นตอนก็คล้ายๆกับ Linux เพราะ Mac OS นั้นเป็น Unix นั่นเอง

1. Start Apache

sudo apachectl start

2. Test Apache

http://localhost

3. Enable PHP

แก้ไฟล์ /etc/apache2/httpd.conf (แก้ด้วย VI ก็ได้) ให้ uncomment php module ดังข้างล่าง

LoadModule php5_module        libexec/apache2/libphp5.so

4. Restart Apache

sudo apachectl restart

5. Test PHP

เพิ่มไฟล์ phpinfo.php ใน /Users/YOUR_USERNAME/Sites/ ใส่ code ดังนี้

phpinfo();

จากนั้นเปิด

http://localhost/~YOUR_USERNAME/phpinfo.php

6. Download MySQL

ให้เลือก DMG Package ที่นี่

http://dev.mysql.com/downloads/mysql/

ลงตามลำดับตามนี้

  • MySQL
  • Startup item
  • Preference pane

7. Start MySQL

เปิด System Preference -> MySQL

8. Create MySQL Password

โดย default root จะไม่มี password ให้เราสร้างดังนี้

cd /usr/local/mysql/bin
./mysqladmin -u root password YOURPASSWORD

9. Config PHP & MySQL

cd /etc
sudo cp php.ini.default php.ini
sudo chmod 666 php.ini

แก้ไข path ใน php.ini ให้ตรงกับ path ของ MySQL (/var/mysql/mysql.sock เป็น /tmp/mysql.sock)

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

ขอให้สนุกกับการพัฒนาเว็บครับ :)

ความแตกต่างระหว่าง Software, Application, และ Program

Sunday, June 20th, 2010

พอดีวันก่อนมีคนถามว่า Software, Application, และ Program นี่มันแตกต่างกันยังไง

ก่อนจะอธิบายด้วยคำพูด มาดูรูปกันก่อนดีกว่าครับ

จากภาพข้างต้นแสดงให้เห็นว่า ระบบคอมพิวเตอร์ (Computer System) ประกอบไปด้วย

- Hardware หรือ Machine นั่นเอง โดยอาจเป็นเครื่องจริงๆ หรือ Virtual Machine เช่น VMware/VirtureBox/VirtualPC ก็ได้

- Software ที่ทำงานอยู่ใน Hardware ข้างต้น ไม่ว่าจะเป็น OS เช่น Windows/Linux/Mac หรือ Game, Web Browser ก็ล้วนแต่เป็น Software

- Program คือส่วนย่อยของ Software กล่าวคือ Software หนึ่งตัวจะประกอบขึ้นมาจาก Program หลายๆตัวนั่นเอง ถ้าใน Software Project ขนาดใหญ่ เราอาจจะได้ยินการประเมิณว่าใน Software ตัวนี้มี Program ย่อยทั้งหมดเท่าไหร่

โอเค ดูเหมือนเราจะเริ่มเข้าใจว่า Software และ Program คืออะไร แล้ว Application ล่ะ?

ก็ขอยกภาพมาให้ดูก่อนที่จะอธิบายด้วยคำพูดเหมือนเดิม

จากภาพข้างต้นแสดงให้เห็นว่า ประเภทของ Software นั้นมีมากมายหลายแบบ รวมไปถึง Application ก็เป็นหนึ่งในประเภทของ Software

โดย Application นั้นคือ Software ที่ใช้เพื่อช่วยการทำงานของผู้ใช้ (User) ดังนั้น Application จะต้องมีสิ่งที่เรียกว่า ส่วนติดต่อกับผู้ใช้ (User Interface หรือ UI)

นอกจากนี้เรายังสามารถแบ่ง Application ออกเป็นประเภทย่อยๆ ตามสภาพแวดล้อมการทำงาน (Environment หรือ Platform) ของมัน เช่น

- Desktop Application คือ Application ที่ทำงานบนเครื่อง Desktop Computer เช่น PC หรือ Mac เป็นต้น

- Mobile Application คือ Application ที่ทำงานบน Mobile Device เช่น โทรศัพท์มือถือ เป็นต้น

- Web Application คือ Application ที่ทำงานบน Web เช่น Gmail เป็นต้น

โดย Web App อาจแบ่งออกไปอีกเป็น Intranet Application กับ Internet Application โดย Intranet หมายถึงมีการใช้งานแต่ภายในองค์กร ซึ่งตรงข้ามกับ Internet ที่เป็น World Wide Web นั่นเอง

ในยุค Web 2.0 เราอาจได้ยินคำที่พัฒนาต่อมาจาก Internet Application คือ RIA ที่ย่อมาจาก Rich Internet Application โดยหลักการแล้ว RIA คือ Application ที่ยังใช้ Web Technologies แต่มีการพัฒนาให้มี UI ในฝั่ง Client ที่ดีเหมือนๆกับการใช้ Desktop Application เพื่อสร้างประสบการณ์ที่ดีให้กับผู้ใช้ (User Experience หรือ UX) เช่น ไม่มีการ Refresh หน้าจอ มีลูกเล่น Dynamic ในการแสดงผลมากมายกว่า Internet Application แบบเดิมๆ

นอกจากนี้เราอาจเคยได้ยินคำที่เกี่ยวของกับ Application ตามมามากมาย เช่น

- iPhone Application คือ Application ที่ทำงานอยู่บน iPhone OS

- Facebook Application คือ Application ที่ทำงานอยู่บน Facebook Platform

- Google App Engine คือ ระบบ Cloud ของ Google เพื่อรัน Web Application

บันทึกการย้าย Web Hosting ครั้งยิ่งใหญ่ที่สุดในชีวิต

Tuesday, January 5th, 2010

สองสามวันมานี้อดหลับอดนอนเพราะเรื่องการย้าย Web Hosting นี่แหละครับ ขอจดไว้หน่อยว่าทำอะไรไปบ้าง (ผม admin มือสมัครเล่นครับ)

- ถ้าเว็บมี maintenance mode จงเปิดมันก่อนเลย

- เปลี่ยน NAME SERVER ทันที เพราะบางที DNS มันก็อัพเดทกันช้าเหลือเกิน

- การ load dump ของ MySQL นั้น ถ้าไม่ใหญ่มากก็ใช้ phpMyAdmin ได้ แต่ถ้าใหญ่มากๆควรใข้ BigDump แทน หรือถ้าจะเอาเป็นเรื่องเป็นราวเลยก็ต้อง MySQLDumper

- เรื่องภาษาไทย ที่ไม่ว่า Programmer/Developer รุ่นไหนๆก็ต้องเจอ ฮา…
ถ้า default charset ของ mysql (ซึ่งส่วนมากจะเป็น utf8) ไม่ได้เป็นตัวเดียวกับที่เราใช้ก็ต้องเพิ่ม code นี้

mysql_query(“SET NAMES tis620″, $connect);

- การ load dump file ที่เป็น tis620 หรือ utf8 ผ่าน BigDump อย่าลืมกำหนด charset ด้วยที่ config ชื่อ $db_connection_charset

- dump file ถ้าเป็น tis620 ตรวจดูให้แน่ใจว่า file save เป็น ANSI แล้ว (ปกติจะเป็น utf8) ไม่งั้น BigDump มันจะอ่านไม่ออก

- ถ้าเป็นไปได้ให้แก้ code ที่เป็น full path แล้วแทนที่ด้วย relative path แทน

- File/Folder Permission ลอกของเก่ามาเลย ใช้ ls -rl ช่วย แล้วดูเฉพาะตัวที่พิเศษๆเช่น 777

- ถ้าย้ายหลายเว็บจงอดทนทำทีละเว็บ ไม่งั้นอาจสับสนได้…

Google Wave Stuff

Thursday, July 9th, 2009

ช่วงนี้เล่นๆ Google Wave อยู่ครับ เลยบันทึกไว้หน่อยว่ามีอะไรบ้าง

About Google Wave
Google Wave Developer Preview at Google I/O 2009
Google Wave: A Complete Guide
Google Wave: Live collaborative editing
Google Wave: Natural Language Processing
Google Wave Founding Team Interview
Google I/O 2009 – Programming With and For Google Wave
Google I/O 2009 – Google Wave: Under the hood
Google Wave: Powered by Google Web Toolkit
Google I/O 2009 – Writing Real-Time Games for Android
Google Wave Federation Protocol
Google Wave API
Google Wave API Group
Wave Developer’s Guide
Robots API,
Gadgets API
Embed API
Wave Sandbox
API Samples

เอี้ยก้วย ณ Desktop ด้วย Prism

Tuesday, May 12th, 2009

ทราบข่าว Beta ของ Prism ที่ออกมาได้หลายวันแล้ว แต่เพิ่งได้มีโอกาสทดลองเล่น

ถึงตอนนี้จะมี Features ไม่มาก แต่อนาคตคาดว่าจะมีมาเรื่อยๆแน่นอน

งานนี้ถือเป็นคู่แข่งตรงๆกับ Adobe AIR เลย

เรื่องความง่ายในการเริ่มต้นพัฒนาถือว่าชนะ AIR ขาดลอย แต่เรื่อง Features นั้นยังห่างอีกหลายขุม

earguay-at-desktop

คู่มือการใช้ Google Services ต่างๆบน Nokia 5800 XpressMusic

Friday, March 20th, 2009

เป็นที่รู้กันดีนะครับว่า Google นั้นนอกจากจะมี Search Engine ที่ดีที่สุดในโลกแล้ว ยังมีบริการฟรีอีกมากมายให้เลือกใช้กัน

วันนี้ผมจะมาบอกวิธีการนำบริการเหล่านั้นมาใช้ร่วมกับ Nokia 5800 XpressMusic โดยอาจขาดไปบางตัว เพราะผมเองก็ไม่ได้ใช้ทั้งหมดโดยเลือกเอาเฉพาะเท่าที่จำเป็นและมีประโยชน์ครับ

อ้อ อย่าลืมว่ามันเป็นบริการออนไลน์ โปรดระมัดระวังค่าใช้จ่ายจากการใช้ GPRS, EDGE, หรือ Wi-Fi ด้วย (ของผมใช้แบบ Unlimit)

Google Mobile เป็นหน้ารวม Mobile Service ของ Google เพื่อ link ไปยังหน้า Services ต่างๆ (บางตัวมีจะ URL ลับที่ดีกว่า) ให้เปิด Mobile Web Browser ไปที่ http://m.google.com

Google Search ให้เปิด Mobile Web Browser ไปที่ http://google.com หรือจะเข้าผ่านโปรแกรม Menu->Internet->Search->Google ก็ได้

iGoogle เป็นหน้า Portal ของ Google ที่เราสามารถเพิ่ม Gadget ที่ชอบลงไปได้ ให้เปิด Mobile Web Browser ไปที่ http://igoogle.com

Gmail น่าจะเป็นบริการ E-mail ที่ดีที่สุดในโลกตอนนี้ มีหลายวิธีในการใช้ Gmail ผ่าน 5800 แต่วิธีที่ดีที่สุดคือใช้ Java App ของ Gmail สามารถ download โดยเปิด Mobile Web Browser ไปที่ http://m.google.com/mail วิธีนี้จะสะดวกกว่าการใช้  http://gmail.com หรือ POP3/IMAP

Sync ณ ตอนนี้สิ่งที่เราสามารถ sync ระหว่าง Google Account กับ Symbian S60 ได้คือ Contacts เท่านั้นครับ โดยให้เข้า Menu->Contact->Options->Synchronisation->Create New จากนั้นให้ทำตาม instructions ที่ http://www.google.com/support/mobile/bin/answer.py?answer=98230&topic=15015

Calendar เนื่องจาก Google Sync ยังไม่รองรับการ sync Calendar กับ Symbian S60 แต่เราสามารถใช้บริการผ่าน http://goosync.com ได้ฟรี โดยให้เข้า Menu->Settings->Connectivity->Data transfer->Sync->Options->New Sync Profile จากนั้นให้ทำตาม instruction ที่ http://goosync.zendesk.com/forums/31074/entries/21066 ส่วนการใช้ http://google.com/calendar (link จาก Google Mobile) นั้นห่วยแตกมาก

Maps น่าจะเป็นบริการ Online Maps ที่ดีที่สุดในโลกตอนนี้ ให้ dowload Symbian S60 App ที่ http://www.google.com/mobile/default/maps.html หรือเปิด Mobile Web Browser ไปที่ http://maps.google.com จะมี link ให้ download

Reader เป็นบริการที่ใช้อ่าน Feed เช่น RSS/Atom มีหลายวิธีในการใช้ Google Reader ผ่าน 5800 แต่วิธีที่ดีที่สุดคือ เปิด Mobile Web Browser ไปที่ http://google.com/reader วิธีนี้จะสะดวกกว่าใช้ http://google.com/reader/m (link จาก Google Mobile) หรือการใช้ Web feeds ของ 5800 ให้อ่านจาก Google Reader อีกที

Docs เป็นบริการจัดการเอกสารต่างๆ (เหมือน Microsoft Office) ให้เปิด Mobile Web Browser ไปที่ http://docs.google.com แต่อย่าคาดหวังกับมันมาก เหมาะกับเอกสารที่ไม่ได้เน้นความสวยงาม ถ้างานจริงๆจังๆให้ใช้ QuickOffice จะดีกว่า

Notebook เป็นเหมือน Lite Version ของ Document (Word) ใน Google Docs ที่มาทีหลัง โดยมันน่าจะเป็นบริการที่หลายๆคนลืมไปแล้ว เพราะ Google เองก็หยุดการพัฒนาต่อแล้ว ให้เปิด Mobile Web Browser ไปที่ http://google.com/notebook/m

Tasks เป็นบริการบันทึก Tasks หรือ Todo list โดย ณ ตอนนี้ผมยังหาวิธี Sync Google Tasks กับ 5800 ไม่ได้ แม้แต่ goosync ก็ทำไม่ได้ครับ ทำได้แค่ sync กับ Goosync Tasks แถมเสียเงินด้วย ดังนั้นตอนนี้ถ้าจะใช้ก็ต้อง เปิด Mobile Web Browser ไปที่ http://gmail.com/tasks

นอกจากนี้ถ้าอยากมีส่วนร่วมเช่นเสนอ Idea หรือ Feedback สามารถไปแจมได้ที่ link ด้านล่างครับ

Google Mobile Help

Google Mobile Help Group ไม่อัพเดทแล้ว (ไปใช้ link ข้างบนแทน) แต่สามารถใช้ค้นหา Topic เก่าๆได้

Official Google Mobile Blog

Product Ideas for Google Mobile

Official Google Product Ideas Blog

สุดท้ายหวังว่าคู่มือนี้คงมีประโยชน์ับแฟนๆ 5800 และ Google ทุกคนนะครับ (ผมรวบรวม+ทดลองเองอยู่ 2-3 วัน ไม่ได้ไปแปลของฝรั่งที่ไหนมา)

ป.ล. ได้ข่าวว่า Yahoo ก็กำลังซุ่มเตรียมออก Yahoo Mobile ใหม่อยู่เหมือนกัน

CITEC Workshop Aftermaths – Web Application (In)Security 101

Wednesday, February 4th, 2009

ควันหลง CITEC Workshop ครั้งที่1 เมื่อสุดสัปดาห์ที่ผ่านมาครับ สถานที่ก็ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ อาคารมหานครยิบซั่ม

งานนี้คุณ LuC!F3R เทพในวงการ เป็นวิทยากรตลอดหลักสูตร

สำหรับเนื้อหาในห้องไม่ขออธิบายมาละกันครับ เพราะมันเยอะ แนะนำว่าให้ไปลองเองเลย ไม่ผิดหวังแน่นอน แค่ดูจาก outline ก็รู้แล้วว่าเนื้อหาแน่นขนาดไหน

จะขอแนะนำทีมงานสักเล็กน้อยก็คือในส่วนของผู้ช่วยวิทยากร (TA) ซึ่งเท่าที่เห็นทีมงานนั่งรวมกันอยู่ข้างหลังหมด ทีนี้ผู้เข้าร่วมบางคนตามไม่ทัน เขาก็ไม่กล้าที่จะถามขัดวิทยากร เพราะวิทยากรไปเร็วมาก เพราะเนื้อหาแน่น อันนี้ผมเข้าใจ ผมมองว่าผู้เข้าร่วมประมาณ 30-35 คนนั้น น่าจะมี TA ประมาณ 4-5 คนช่วยประกบเป็นกลุ่มๆนะครับ เพราะงานนี้เป็น Workshop ใครตามไม่ทัน มันจะพาลหลุดยาวได้

ตัดมาตอนท้ายเลยละกัน พอจบการเทรนทั้ง 8 บท ก็มีทดสอบกันเล็กๆน้อยๆ โดยจะได้รับ Certificate จากทาง CITEC ถ้าทำคะแนนได้ 70/100 ขึ้นไป

สอบกันประมาณ 1 ชม.ได้ (เวลาผ่านไปเร็วมาก ฮา) หลังจากนั้นทีมงานรวบรวมข้อสอบกันไปตรวจอย่างขมักเขม้น ผมเห็นหน้าเครียดๆกันเลยเดินไปแซวว่า “ถ้าอ่านที่ผมเขียนไม่ออก ถามได้นะครับ แบบว่ารีบ” ฮา…

ตอนรอนี่น่าเบื่อมาก เพราะเน็ตในห้องเทรนตัดไปแล้ว จริงๆพอเก็บข้อสอบหมดแล้วก็น่าจะต่อเน็ตให้เหมือนเดิมนะครับ

ทีมงานคงเห็นว่าสมาชิกเริ่มหาวกันแล้ว คุณ Edkung ก็เลยมาพูดเกริ่นยั่วกันเล็กน้อยถึง Workshop ครั้งหน้าซึ่งคาดว่าจะเป็นปลายเดือนนี้ ซึ่งเนิ้อหาจะเกี่ยวกับการป้องกันการ Crack Software โดยจะบอกแสดงตัวอย่างและวิธีการทำงานของ Crack และ Keygen และเราจะป้องกันมันยังไง และแน่นอนภาษาที่ใช้หลักๆคือ Assembly หลายคนพอได้ยินคำนี้มีอุทานเล็กน้อย ฮา…

ผ่านไปเกือบชั่วโมงได้มั้ง ทีมงานก็ตรวจข้อสอบเสร็จครับ สรุปผ่าน 7 คน จาก 30-35 คนโดยประมาณ เข้าใจว่าส่วนใหญ่ทำไม่ทันเพราะ

1. โจทย์บางข้อไม่เคลียร์ ว่าให้ไปทำตรงไหนใน Test Server อันนี้ผมยกมือถามเลยเพราะหาไม่เจอ ไม่รู้ท่านอื่นเป็นเหมือนกันมั้ย

2. Google ใช้ไม่ได้เพราะโดนบล็อก เนื่องจากตอนเรียนบท Google Hacking นั้น ทุกคนรุมใช้กันอย่างเมามัน และเป็น pattern ซ้ำๆกันด้วย มันคงคิดว่าโดนโปรแกรมยิง เลยส่ง CAPTCHA มาหยุด แต่หยุดไม่อยู่ครับ เพราะพวกเราไม่ได้ใช้โปรแกรม เราพิมพ์กันเองล้วนๆ สุดท้ายมันเลยบล็อกเป็นพักๆ ผมเองก็เพิ่งเคยเจอแบบนี้ เคยโดนอย่างมากก็ CAPTCHA

3. Print out slide ไม่ชัด อันนี้ผมว่ามีผลนะ เพราะถึงจะเปิด PDF file ดูได้ แต่ความไวในการค้นมันจะช้ากว่า (ถึงจะใช้ search ได้ก็เถอะ)

4. การที่ใช้เครื่องของแต่ละคนเป็น Test Server ทำให้บางทีเกิดปัญหาการ setup อย่างเครื่องผม MySQL ที bundle ใน USBWebServer อยู่ๆดีๆ connect ไม่ได้ซะงั้น ทั้งๆที่ก็ start ขึ้นปกติ ทำให้ข้อที่โจทย์ให้เจาะ SMF ต้องยอมเสีย 10 คะแนนไปฟรี ทั้งๆที่ข้อนี้ง่ายสุดแล้วมั้ง เพราะมี script สำเร็จรูปมาแล้ว

หลังประกาศรายชื่อเสร็จ คนที่ผ่านก็มีพิธีมอบ Certificate โดยคุณ asylu3 ผู้ก่อตั้ง CITEC

สุดท้ายก็ถ่ายรูปหมู่เป็นที่ระลึกก่อนแยกย้ายกันกลับบ้าน ใครที่สอบไม่ผ่านคุณ asylu3 บอกว่าคราวหน้ามาสอบซ่อมได้ครับ

สรุปงานนี้สุดยอดมากครับ ต้องขอขอบคุณวิทยากรและทีมงานทุกคนที่จัดงานดีๆแบบนี้ขึ้นมา หวังว่าจะมีครั้งที่สองเร็วๆนี้ :D

The Best Forum Software

Monday, November 10th, 2008

พอดีกำลังหา software มาทำ forum ตัวใหม่

ส่วนตัวที่เคยใช้งานมาก็มี phpBB, SMF, IPB, และ vBulletin

มาวันนี้ลองเปรียบกันใหม่ ลองติดตั้งกับใช้งานสักเล็กน้อย

ผลที่ได้คือ “SMF is the Best Forum Software”

เหตุผล

- IPB และ vBulletin มีค่า license แต่สิ่งที่จ่ายนั้น ส่วนตัวยังมองว่าไม่คุ้ม

- phpBB ดีมาก แต่ไม่มี feed ต้องลง Plugin เสริม ซึ่งก็ยังไม่เจ๋งเท่า feed ของ SMF อยู่ดี

- ทีมงาน SMF มีประสบการณ์กับ Yabb (บอร์ดในตำนาน) และ Yabb SE มาก่อน มั่นใจได้ว่าผ่านมาเยอะ :D

อยากดูเปรียบเทียบแบบเต็มเชิญที่

ForumMatrix

Comparison of Internet forum software (PHP)

Windows Live Hotmail upgrade to 5 GB

Thursday, August 30th, 2007

หลังจากที่มีข่าวออกมาก่อนหน้านี้ วันนี้ผมเปิด Windows Live Hotmail ดูปรากฏว่าอัพเกรดไปเป็น 5 GB แล้วครับ จากตอนแรกที่มี 2 GB (ผมใช้ไป 89 % แล้วด้วย)

Google Apps ภาษาไทย

Thursday, August 23rd, 2007

ทั้งคำนแนะนำ และวิธีการใช้เป็นภาษาไทยครับ

Google Apps