มาเล่น Laravel กัน – ตอนที่ 1: Installation

สืบเนื่องจากเห็นพี่รูฟกับน้องรุ่งเล่น Silex กัน ผมก็เลยหาอะไรมาเล่นบ้าง (จะใช้กับงานจริงด้วย) หวยมาออกที่เจ้า Laravel  แนะนำสั้นๆ Laravel เป็น PHP Framework ตัวหนึ่งที่พัฒนามาตั้งแต่ปี 2011 (ปัจจุบัน version 4.X) Laravel มี slogan ว่า “The PHP framework for web artisans” โดย Laravel นั้นถูกสร้างขึ้นจาก components หลายตัวของ Symfony2 แต่ออกแบบเพื่อให้การพัฒนาได้ง่ายกว่า Symfony2 ว่าแล้วก็ลุยกันเลย Note: บันทึกทุกอย่างทำอยู่บน Mac OS X 10.7.5 (Lion) โดยเริ่มตั้งแต่ศูนย์ 1. Install MacPorts: เอาไว้ช่วย install prerequisites อื่นๆได้ง่าย ให้ download ไฟล์ installer จาก http://www.macports.org/install.php#pkg แล้ว…

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

ต้องยอมรับว่าผมไม่เคยใช้ Mac พัฒนาเว็บเลย ส่วนใหญ่จะเป็น iPhone เสียมากกว่า แต่ไหนๆหลังๆก็ใช้ชีวิตอยู่กับ Mac มากขึ้น เลยลองพัฒนาเว็บบน Mac บ้างดีกว่่า ขั้นตอนก็คล้ายๆกับ Linux เพราะ Mac OS นั้นเป็น Unix นั่นเอง 1. Start Apache sudo apachectl startsudo apachectl start 2. Test Apache http://localhosthttp://localhost 3. Enable PHP แก้ไฟล์ /etc/apache2/httpd.conf (แก้ด้วย VI ก็ได้) ให้ uncomment php module ดังข้างล่าง LoadModule php5_module libexec/apache2/libphp5.soLoadModule php5_module libexec/apache2/libphp5.so 4. Restart Apache sudo apachectl…

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

สองสามวันมานี้อดหลับอดนอนเพราะเรื่องการย้าย 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”,…

Oracle and her Sun

ถือเป็นข่าวใหญ่ในวงการ Computer เลยทีเดียวเมื่อ Oracle กำลังบรรลุสัญญาในการซื้อ Sun (จากข่าวที่หน้าเว็บของทั้งสองคิดว่าจะเสร็จได้ภายใน Summer นี้) ตอนได้ข่าวนี้ครั้งแรก รู้สึกแปลกใจเล็กน้อย ว่า IBM ปล่อยให้ Sun หลุดมือไปได้ยังไง เพราะจะเห็นว่าในสงคราม Java นั้น IBM ดูเหมือนกำลังจะก้าวขึ้นมาเป็นผู้นำแบบเต็มตัว จากความนิยมของ IDE อย่าง Eclipse หรือ Commercial Version อย่าง WSAD, RAD หรือ App Server อย่าง Web Sphere ที่แม้จะอ้วนมากๆ แต่ก็ได้รับการตอบรับที่ดีในภาคธุรกิจ สิ่งที่ขาดไปก็คือ Database ที่ DB2 ดูจะได้รับความนิยมลดลงเรื่อย ซึ่งถ้าได้ MySQL มา คงมาเติมตรงนี้ได้ (หลายคนอาจเถียงว่าในอดีต IBM ซื้อ Informix ไปดอง) การที่ Oracle…

WWW SQL Designer

ลองนั่งๆอัพเดทดูว่ามี Tool อะไรใหม่ๆของ MySQL ได้รับความนิยมบ้างก็ไปเจอเจ้า WWW SQL Designer เข้าใจว่าพัฒนามาหลายปีแล้ว เท่าที่ลองใช้ๆดู ใช้ง่ายกว่า Designer ของ phpMyAdmin อีกแฮะ ฟังก์ชั่นคงไม่เจ๋งเท่า MySQL Workbench แต่รายนั้นเขารันบน Windows Desktop WWW SQL Designer สามารถสร้างออกแบบบนเว็บแล้ว generate SQL สำหรับ MySQL ได้เลย แต่น่าจะ import SQL ได้ด้วยนะ (ตอนนี้ import จาก XML กับ Database ได้) ยังไงก็ลองเอาไปใช้กันดูครับ หรือลองไปดู Project อื่นๆของคุณ Ondřej Žára เจ๋งๆเพียบ

MySQL: Packet for query is too large

เมื่อวานเจอปัญหานี้ เลยถือโอกาสนำมาแชร์ที่นี่ด้วย สำหรับใครที่ใช้ MySQL โดยเฉพาะกับ Java อาจจะมีโอกาสได้เจอกับ Exception แบบด้านล่างนี้ com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1267737 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable. at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2648) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1597) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708) at com.mysql.jdbc.Connection.execSQL(Connection.java:3249) at com.mysql.jdbc.Connection.execSQL(Connection.java:3178) at com.mysql.jdbc.Statement.execute(Statement.java:711)

Import CSV to MySQL

ทำได้ง่ายด้วยการใช้คำสั่ง “LOAD DATA INFILE” ดังตัวอย่างข้างล่างนี้ครับ LOAD DATA INFILE ‘data.csv’ INTO TABLE table2 FIELDS TERMINATED BY ‘,’; สำหรับวิธีการใช้ LOAD DATA INFILE ขั้นสูง สามารถอ่านได้ที่เว็บของ MySQL ครับ

MySQL Workbench

MySQL Workbench หนึ่งใน GUI Tools จาก MySQL โดยตรง ผมเคยลองเล่นกับมันมาบ้างก่อนหน้านี้ แต่เพิ่งได้มีโอกาสใช้แบบจริงจังเมื่อเร็วๆนี้ครับ ถึงแม้ตอนนี้ยังเป็น Beta Version อยู่ โดยปุ่มบางปุ่มยังกดไม่ได้ก็ตาม ^^” แต่โดยภาพรวมแล้ว ผมค่อนข้างประทับใจกับ Free Tool ตัวนี้ของ MySQL พอสมควร โดยผมใช้ MySQL Workbench ในการ Reverse Engineering จาก MySQL Database มาเป็น Data Model โดยตรง เพื่อใช้ในการทำเอกสารต่อไปครับ For more information: MySQL Workbench Overview

Subquery on MySQL5

มีเรื่องต้องใช้งาน MySQL5 และต้อง mock ข้อมูลขึ้นมาเยอะๆ ก็เลยลองไปดูว่า MySQL เขียน Sub Query ได้มั้ย จะได้ดึง select ข้อมูลแล้ว insert กลับเข้าไปหลายๆ row INSERT INTO hotel SELECT * FROM hotel h where hid=1 For more information: MySQL5 Subquery Syntax