Easy Code Example

แหล่งรวบรวมขั้นตอนการเขียนโปรแกรม ตัวอย่างโค้ด แนวทางเขียนโปรแกรม เทคนิคต่างๆมากมาย

May 9, 2013

PL/SQL คืออะไร

Credit: PL/SQL คืออะไร

PL/SQL หรือชื่อเต็ม Procedure Language SQL เป็นการนำคำสั่งต่างๆ ภาษา SQL มารวมกันเป็นโปรแกรมทำให้คำสั่งเหล่านั้นมีประสิทธิภาพ และทำงานได้ตรงตามความต้องการของผู้ใช้มากขึ้น และกว้างขวางมากขึ้น
จุดสังเกตุอย่างหนึ่งที่ต้องระวังคือ PL/SQL เป็นภาษาที่ไม่สนใจอักษรตัวเล็ก-ใหญ่ (Non-Casesensitive)

..อ่านต่อ..

March 2, 2013

CMS คืออะไร

CMS
    CMS ตัวย่อนี้หลายคนอาจเคยเห็นแต่ไม่ได้สนใจหรือสนใจแต่ยังไม่ทราบว่ามันคืออะไร วันนี้ผมจะมาชี้แจงแถลงไขให้ท่านๆ รู้แจ้งกันครับ CMS ย่อมาจาก Content Management System ถ้าจะให้แปลตรงตัวก็คงแปลว่า ระบบบริหารสาร (สาร ในที่นี้หมายถึงสิ่งที่ต้องการสื่อออกมาครับ) ซึ่งจริงๆ แล้ว CMS ก็คือระบบอำนวยความสะดวกในการบริหารจัดการเว็บไซต์ ทำให้สามารถสร้างเว็บไซต์ ใส่ content ปรับแต่งหน้าตา ได้อย่างสะดวก โดยผู้ใช้ไม่จำเป็นความรู้เกี่ยวกับการเขียนโปรแกรมเลย

..อ่านต่อ..

November 8, 2012

Tips: Keyboard Shortcut เปลี่ยน Tab ใน Chrome

วันนี้มี Tips เล็กๆ มาฝากครับ เพื่อให้การท่องโลก Internet ของคุณได้คล่องตัวมากขึ้น
เบื่อไหมที่ในบางครั้งมือเราอยู่ที่ Keyboard แต่แค่ต้องการเปลี่ยน Tab ไปยัง Tab อื่นบน Chorme ต้องยกมือไปลาก mouse วันนี้เลยจะแนะนำ Keyboard Shortcut เพื่อเพิ่มความสะดวกมาดูกันเลย


เลื่อนไป Tab ถัดไป :
Ctrl+Tab or Ctrl+PgDown

เลื่อนไป Tab ก่อนหน้า :
Ctrl+Shift+Tab or Ctrl+PgUp

เลื่อนไป Tab ตามลำดับที่เราเลือกได้เอง :
Ctrl+1 to Ctrl+8

เลื่อนไป Tab สุดท้าย :
Ctrl+9

เป็นยังไงครับ ง่ายใช่ไหมครับ

..อ่านต่อ..

October 29, 2012

การปัดเศษทศนิยมใน Excel

สูตรข้างล่างนี้ สามารถใช้ได้กับ Excel 2003-2010

สมมุติว่า ในเซลล์ A1 มีข้อมูล 123.456 เมื่อใช้สูตรข้างล่าง จะได้ผลดังนี้

สูตร                                ผลลัพธ์              ความหมาย
=ROUND(A1,2)             123.46               ปัดเศษ ทศนิยมสองตำแหน่ง
=ROUND(A1,-1)            120                    ปัดเศษ เหลือจำนวนเต็มหลักสิบ
=ROUND(A1,-2)            100                    ปัดเศษ เหลือจำนวนเต็มหลักร้อย
=ROUNDDOWN(A1,2) 123.45               ปัดเศษลง ให้มีจำนวนจุดทศนิยมตามที่กำหนด
=ROUNDUP(A1,2)         123.46              ปัดเศษขึ้น ให้มีจำนวนจุดทศนิยมตามที่กำหนด
=ODD(A1)                      125                    ปัดเป็นเลขคี่
=EVEN(A1)                    124                    ปัดเป็นเลขคู่
=CEILING(A1,0.5)         123.5                ปัดขึ้น เพื่อให้ตัวเลขที่กำหนดหารลงตัว เช่น ใช้ในกรณีที่ต้องกรหลีกเลี่ยงเศษที่ไม่มีหน่วยเงิน เช่น 45 สตางค์ ไม่มีเหรียญ ก็เลยปัดให้เป็น 50 สตางค์ คือ กำหนดให้เป็นทวีคูณของ 50 สตางค์
=FLOOR(A1,0.5)            123                   ปัดลง เพื่อให้ตัวเลขที่กำหนดหารลงตัว เช่น หลีกเลี่ยง 45 สตางค์ ก็เลยปัดลงให้เป็น 00 สตางค์ คือให้ 50 สตางค์หารลงตัว หรือ พูดอีกอย่างว่า ให้เป็นทวีคูณของ 50 สตางค์ เป็นต้น
=INT(A1)                        123                    เอาเฉพาะเลขจำนวนเต็ม
=TRUNC(A1,2)              123.45              ตัดเอาจำนวนตำแหน่งทศนิยมที่กำหนด ไม่มีการปัดเศษ
=MOD(A1,2)                  1.456               เศษที่เหลือจากการหาร ของตัวหารที่กำหนด ในตัวอย่างคือ นำ 2 ไปหาร 123 เหลือเศษ 1

ทดลองการใช้สูตร ใน Excel Web App ข้างล่างนี้ (พิมพ์สูตรเสร็จแล้ว กดปุ่ม Enter)



..อ่านต่อ..

July 18, 2012

HTML5



HTML5 เป็นมาตรฐานของ HTML โดยมีลักษณะเหมือนมาตรฐานตัวก่อนหน้าทั้ง HTML 4.01 และ XHTML 1.1 ที่ใช้ในการจัดโครงสร้างและการแสดงผลของเนื้อหาสำหรับเวิลด์ไวด์เว็บ มาตรฐานใหม่จะมีคุณลักษณะเด่นที่สำคัญได้แก่
  • การใช้งานวิดีโอ
  • การแสดงตำแหน่งทางภูมิศาสตร์
  • การเก็บไฟล์ในลักษณะออฟไลน์
  • การแสดงกราฟิกส์
  • input types แบบใหม่ เช่น search, number, range, color, tel, url, email, date, month, week, time, datetime, datetime-local
โดยคุณสมบัติเด่นหลายอย่างไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่ม เช่น เกียรส์ แฟลช หรือ ซิลเวอร์ไลต์ เหมือนที่ผ่านมาในการใช้งาน HTML4

     HTML5 ได้มีการแนะนำ element ใหม่หลายตัวเพื่อตอบสนองการใช้งานของ website รุ่นใหม่ โดย element ใหม่ส่วนหนึ่งเป็นซีแมนติกทดแทนการใช้งานของบล็อกทั่วไป (<div>) และเอเลเมนต์อินไลน์ (<span>) ยกตัวอย่างเช่น <nav> (บล็อกสำหรับเมนูบอกทาง) และ <footer> (ส่วนด้านล่างของเว็บเพจ) เอเลเมนต์ส่วนอื่นแสดงถึงการใช้งาน เช่น เอเลเมนต์ทางด้านสื่อ <audio> และ <video>  element บางตัวที่ตกรุ่นสำหรับ HTML 4.01 ได้ถูกยกเลิก เช่น <font> และ <center> ซึ่งถูกทดแทนด้วยการทำงานผ่าน css

HTML5 Showcase
 ตัวอย่างการใช้งานจาก Apple.com Credit: WikiPedia

..อ่านต่อ..

March 28, 2011

การกำหนดให้แสดงเป็นตัวพิมพ์ใหญ่

หากเราอยากที่จะเปลี่ยนข้อความหรือคำที่มีอยู่ให้เป็นตัวใหญ่ ซึ่ง PHP มีให้ใช้ strtoupper สามารถเรียกใช้ได้เลยไม่ต้องทำอะไรเพิ่ม
วิธีใช้
string
strtoupper ( string $string )


Code :
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str;

Output :
MARY HAD A LITTLE LAMB AND SHE LOVED IT SO

..อ่านต่อ..

ตัวอย่างโค้ดทำ HighLight ข้อความที่ค้นหา


ลอง Download ไปดัดแปลงกันดูนะครับ




..อ่านต่อ..

March 8, 2011

การใช้ MERGE SQL

    คำสั่ง MERGE นั้น ไว้ใช้สำหรับการที่ไม่แน่ใจว่า RECORD ตามเงื่อนไขมีอยู่หรือไม่ ถ้าไม่มีก็จะเป็นการ INSERT RECORD แต่ถ้า RECORD นั้นๆ มีอยู่แล้วก็จะทำการ UPDATE RECORD นั้นๆ หรือเราจะรู้ักอีกในชื่อนึงคือ Upsert โดยกรณีที่ row นั้นมี data ใหม่ ซึ่งใน row นั้นมี data อยู่แล้ว MERGE จะทำการ Update data ให้ แต่ในกรณีที่ Primary key ของ row นั้นไม่มี MERGE ก็จะทำการ INSERT ให้แทน ซึ่ง Microsoft อธิบายว่า MERGE statement ใน SQL Server 2008 เป็น ANSI-standard MERGE statement และมีการใช้ใน Oracle ตั้งแต่ Oracle 9i

Code :
MERGE INTO t1 -- main table
USING t2 -- prepare table
ON (t1.id= t2.id) -- condition by key
WHEN MATCHED THEN
UPDATE SET t1.name= t2.name
WHEN NOT MATCHED THEN
INSERT
-- column main table
(t1.id, t1.name, t1.email)
VALUES
-- value from prepare table
(t2.id, t2.name, t2.email);

..อ่านต่อ..

CVS (Control Version System)

การใช้งาน CVS (Control Version System)

CVS คือระบบการควบคุม version ของ source code ใน project ของเราให้มีระเบียบแบบแผน ซึ่งจะเหมาะกับการพัฒนาที่เป็นทีมมากหรือว่ามีคนพัฒนาเพียงแค่คนเดียวก็ดี cvs ทำให้เราไม่ต้องกังวลว่า code เราจะหายไปไหน หรือแม้แต่การ rollback กลับมาใช้ใน version ก่อนหน้าก็ยังสามารถทำได้

แต่ปัญหาอย่างหนึ่งที่เกิดขึ้นตามมาคือ เราจะใช้งานอย่างไร จะติดตั้งอย่างไร แล้วต้องใช้ software อะไรบ้าง ที่นี่มีคำตอบ

เมื่อต้องการจะใช้ cvs นั้นจะต้องเตรียม software ดังนี้

1. CVS Server คือ CVS NT สามารถ download ได้ที่ http://www.cvsnt.org

2. CVS client หรือตัวจัดการ CVS ซึ่งจะมีหน้าตาเป็น UI หรือ web ก็มี โดยทั่วไปแล้วเราจะใช้ WINCVS สำหรับ run บน windows platform ซึ่งสามารถ downlad ได้ที่ http://www.cvshome.org

การ config cvsnt

หลังจากที่ download และติดตั้ง cvsnt แล้ว ให้ทำการ config ดังนี้

1. ไป set CVSHOME และ PATH ใน environment variable ดังนี้

set CVSHOME=

set PATH=.;%CVSHOME%\bin;%PATH%
2. ทำการสร้าง user ในระบบของ windows เช่นสร้าง cvsuser

3. ทำการสร้าง repository โดยไปที่ Program -> CVSNT แล้วเลือก Service control panel แล้วไปที่ tab Repository หลังจากนั้นกำหนดดังนี้

Prefix : d:\Repo (ตัวอย่าง)
Add : /Test (ตัวอย่าง)

ต่อมาก็มาที่ tab Service status เพื่อมา restart cvs server คือ stop แล้วก็ start

แล้วเราลองมาตรวจสอบที่ d:/repo/Test จะมี floder CVSROOT ครับ แสดงว่าเราทำถูกต้องแล้วครับ

4. สร้าง user ใน cvs ให้ทำดังนี้

ไปที่ cmd ครับแล้วพิมพ์ดังนี้

set cvsroot=:sspi:localhost:/Test
cvs passwd -r cvsuser -a userincvs


แล้วจะให้ใส่ password 2 ครั้งครับ หลังจากใส่ password ทั้ง 2 ครั้งแล้วไม่มี message อะไรขึ้นมาแสดงว่าเราสามารถ add user เข้าไปใน cvs เรียบร้อยแล้ว

ซึ่งสามารถเข้าไปตรวจสอบได้ใน file d:\repo\Test\passwd

5. ทดสอบ connect ไปยัง cvs โดยผ่าน pserver protocol

set cvsroot=:pserver:userincvs@localhost:/Test

cvs login

แล้วเราจะต้องใส่ password 1 ครั้ง ถ้าหลังจากที่ใส่ password แล้วไม่มี message อะไรขึ้นมาแสดงว่าเราสามารถ login เข้าไปได้

เป็นอันว่าตอนนี้เราสามารถ config CVS Server สำหรับเก็บ source ของ project เราแล้ว

ต่อมาก็จะมีคำถามว่าเราจะสามารถนำ project ที่เรามีเข้าไปยัง CVS Server ได้อย่างไร

ที่นี่มีคำตอบ

เพื่อความง่ายเราจะใช้ WINCVS เป็นตัวจัดการแทนการใช้ command

หลังจากที่ download และ install cvs แล้วก้ให้เปิด program ขึ้นมาแล้วทำตามดังนี้

1. ไปที่ Admin -> Preferences

2. ไปที่ tab CVS เลือก Alternate CVS และเลือก program cvs.exe เช่น C:\Program Files\cvsnt\cvs.exe

คำถามที่เกิดขึ้นมาทำไมเราถึงเลือก alternate cvs ก็เพราะว่าเราใช้ cvs ตัวที่ไม่ได้มากับ wincvs ดังนั้นเมื่อทำการติดตั้ง wincvs เราก็ไม่ต้องติดตั้ง cvsnt ที่มากับ wincvs

3. กดปุ่ม ok

4. ไปที่ Admin -> Login

5. เลือก CVSROOT แล้วใส่ข้อความดังนี้ใน textbox

:pserver:userincvs@localhost:/Test

6. กดปุ่ม ok

7. ให้ดู status ด้านล่าง ถ้าผ่านจะมีลักษณะดังนี้

***** CVS exited normally with code 0 *****

ถ้าไม่ผ่านจะเป็นดังน หรือว่าแบบอื่นก้เป็นไปได้

***** CVS exited normally with code 1 *****

หลังจากที่ผ่านการ login แล้วเราก็จะทำการ add project mเรามีไว้แล้ว add เข้าไปยัง cvs server ครับ ทำได้ดังนี้

1. ไปเลือก directory ที่อยู่ของ source project ครับ ซึ่งจะเป็น hotkey ซึ่งอยู่กลางบน เป็นรูป) floder เช่นเลือก d:\project1

2. ไปที่ explorer ด้านซ้ายของ wincvs เราก็ไป right click ที่ file หรือ directory ที่ต้องการจะ add เข้า cvs server แล้วเลือก import module หลังจากนั้นเราก็สามารถที่จะเลือก filter ได้ว่าจะเอา file อะไรบ้าง

3. กดปุ่ม ok

4. ทำการตรวจสอบโดยไปที่ d:\repo\Test จะมี floder ของ project ที่เรา add เข้าไป

และแล้วเราก้สามารถใช้งาน cvs ได้แล้ว

..อ่านต่อ..

December 24, 2010

MVC คืออะไร

MVC หรือ Model View Controller เป็นหนึ่งในหลายๆ pattern ของ Design pattern ซึ่งเป็น Model หรือรูปแบบในการวางโครงสร้างโปรแกรมทำให้แยกกันระหว่าง Model, View, Coltroller
  • Model เป็นส่วนควบคุมการเข้าถึงและใช้งานข้อมูล(Data)
  • View เป็นส่วนแสดงผลให้กับผู้ใช้งาน (User Interface)
  • Controller เป็นตัวกลางควบคุมการทำงานของระบบโดยเป็นตัวสั่งให้ Model และ View ทำงานตามความต้องการ

    จากรูป จะแบ่งเป็นขั้นๆดังนี้
  • เริ่มต้นเมื่อ Client เรียก หรือร้องขอ(Request) เข้ามาจะไปที่ Controller ก่อนเพื่อให้ Controller ดูว่าต้องทำอะไรต่อไป 
  • หากมีความต้องการใช้ข้อมูล(Data) Controller จะส่งต่อให้ Model ไปหาข้อมูลมาให้ 
  • แล้วเมื่อ Controller ได้รับข้อมูลที่เตรียมไว้เพื่อแสดงผล(หรือเพื่ออย่างอื่น) แล้ว Controller จะส่งข้อมูลไปให้ View
  • View ทำการแสดงผลให้กับ Client
จะสังเกตุได้ว่าการทำงานแบ่งออกเป็นส่วนๆ ชัดเจนมากขึ้นเมื่อเทียบกับการทำงานที่รวมทุกอย่างไว้ด้วยกัน (เช่น เขียนโปรแกรมที่มีการดึงข้อมูลจาก database และแสดงผลรวมกันในไฟล์เดียว) MVC จึงช่วยให้การปรับปรุงแก้ไข หรือ พัฒนาเพิ่มเติมได้โดยไม่มีผลกระทบไปยังส่วนอื่นๆ
 ยกตัวอย่าง การทำงานของ Hardware เพื่อให้เห็นภาพการทำงานมากขึ้น เช่น คอมพิวเตอร์ 1 เครื่องนั้น ถ้าต้องการให้คอมพิวเตอร์นั้นประมวลผลเร็วขึ้นก็สามารถที่จะถอด CPU ตัวเก่า แล้วนำ CPU ตัวใหม่มาเสียบ แล้วใช้ต่อได้เร็วกว่าเดิม ต้องการให้การแสดงผลที่ดีขึ้นก็เปลี่ยนการ์ดจอ แต่ขอบเขตคือต้องอยู่ในสิ่งที่ mainboard รับได้ด้วย เราจะทำยังไง ซึ่งเป็นอะไรที่ยากมากเพราะจะต้องใช้สถาปัตยกรรมหรือแนวคิดของ Software ที่ดีด้วยซึ่ง MVC ก็ทำได้ เช่น ถ้าเราต้องการ Control ใหม่ให้ได้ผลลัพท์เหมือนเดิม แล้วเอาไปเสียบที่เดิม ก็เสร็จ ทำให้ไม่ต้องมาสนใจ View และ Model เป็นต้น

..อ่านต่อ..