jQueryTips by Tee++;

  • Home
  • Videos
  • jQueryTips's Fans

Coding like playing a piano.

Subscribe RSS

Search

Search

Sponsored

jQueryTips on Social

Followers

hide
Pang25441 Dexteri@n Ton KanexKane Supachai JustDoIt Rut petchy Tophit anndrew Webmaster DevLism~

Categories

hide
  • Programing
  • Database
  • Framework
  • Mobile Development
    • Titanium Mobile
    • PhoneGap
  • Life

Tag Cloud

hide
PHP JavaScript MySQL XML Mobile jQuery CodeIgniter Hash php xml Debug Library Zend API Events Plugins Facebook Registration Tool Twitter Search Swath Performance ffmpeg YouTube Web Service Yahoo! NoSQL MongoDB PhoneGap Sencha Touch

Recent Posts

hide
  • ประกาศข่าวสารจาก Admin
  • JSFIDDLE สุดยอด Tools สำหรับการ Debug การเขียนตัวอย่างโคด
  • Titanium Mobile + HTML + Native Scrolling
  • HTML to PDF ตัวไหนดี วันนี้ผมมีคำตอบ ...
  • ทำความรู้จักกับ JavaScript Pattern ในเชิงลึก
  • ผมบอกคุณแล้ว .... คนโง่ก็ Code ได้
  • วันนี้ มาออกแบบ Web Service ด้วย PHP กันเถอะ (CodeIgniter Version)
  • Facebook oAuth แบบเบาๆ
  • [Part 2] Titanium Mobile Starting with app.js
  • [Part 1] ทำความรู้จักกับ Titanium Platform

Recent Comments

hide
  • สงสัยอยู่ว่า ถ้านำ NoSQL มาใช้กับ project เก่าๆ ที่เคย implement กับ RDBMS Database ยังไงดี เพราะ ข้อมูล กลุ่มนึง ถูก ออกแบบมาเป็น relation…
  • จดไว้รอขาย 555
  • ชื่อโดเมนโดนมวากเลยพี่ตี๋
  • ขอบคุณมากๆ เลยคับ ลองเอาไปทำโปรแกรมแบบ abdul และ sim simi ได้ด้วยนะเนี่ย
  • คงอีกนานเลย กว่าจะเขียนให้อ่านอีก T,T

Links

hide
  • OSCOOL
  • Architeture & Performance
  • Video and TV
  • Appcelerator
  • PhoneGap
  • Home
  •  » Blogs
  •  » PHP

HTML to PDF ตัวไหนดี วันนี้ผมมีคำตอบ ...

Dec 20, 2011 11:45:05 PM | 2 Comments | in Programing | PHP, Library, PDF

สวัสดีครับ หายหน้ากันอีกไปพักใหญ่ๆ แต่ว่าก็ยัง อัพเดทอยู่ใน Fan Page อยู่เรื่อยๆ นะ แต่ว่าถ้าเป็น บทความยาวๆ นี่มันท้อ แฮะ 555

แต่วันนี้ ยังไงก็มาแล้ว ก็จับประเด็น บางเรื่องมาเล่าสู่กันฟัง...

พอดีช่วงนี้ผมกำลัง ทำงานในส่วนออก Report พอดี ซึ่งที่ต้องการก็คือ ออก Report เป็น PDF อันที่จริงมันก็ไม่มีปัญหาอะไรหรอก Lib PDF มีอยู่ถมไป Zend_Pdf ซึ่งทำงานได้ละเอียดมากๆ ก็มีอยู่ แต่ด้วยความขี้เกียจ เลยไม่อยากไป Add Columns ไปสร้างสี แบ่งล๊อกอะไรให้มันวุ่นวาย

แล้วก็จำได้ด้วยว่าเคยเห็น Web ตั้งเยอะที่มัน Convert HTML เป็น PDF มันน่าจะมีใครทำ Lib อะไรมาให้ใช้บ้างน่า สรุปได้ แคนดิเดท มา 3 ตัว ประกอบไปด้วย

1. TCPDF

2. Dompdf

3. mPDF

ก็เลยค่อยๆลอง ไปทีละตัว โดยที่แต่ละตัว ก็มีข้อเด่น ข้อด้อยต่างกันไป ซึ่งแรกเริ่ม ผมก็ไล่มาเลย ตั้งแต่

TCPDF

ตัวนี้ค่อนข้างจะใช้ง่ายมาก ไม่ต้อง Config อะไรวุ่นวาย Font ก็มี ที่ Support ภาษาไทยมาให้ในตัว คือ "Freeserif" ไม่ต้องทำอะไรเท่าไหร่ ตอนแรกก็คิดว่าจะหยุดที่ตัวนี้แหละ แต่พอทำไปทำมาเกิดปัญหา คือมันสามารถอ่าน Stylesheet ได้แค่เล็กน้อยเท่านั้น พวก attrs ง่ายๆ อย่าง  color อะไรแบบนี้

แต่ว่ามันดันอ่านพวก float, padding, margin เพี้ยนๆ ไม่เหมือน HTML ที่ทำมาเท่าไหร่ ซึ่งมันยากมาก เพราะผมต้องทำ HTML เป็น table เกือบทั้งหมด เลยเปลี่ยนๆ ลองตัวใหม่

Dompdf

ตัวนี้ลองอ่าน Document แล้ว ก็ลองใช้งาน ถูกใจมากเลย ถึงจะ config ลำบากไปนิด แต่ว่าใช้งานง่าย โคดเขียนสวย Doc มีตัวอย่างเยอะ แล้วก็ดู ค่อนข้างโปรที่สุด แต่....

พอถึงเรื่องภาษาไทย ผมพยายาม Add Font ไทยเข้าไป มันก็ได้อยู่ ถึงจะลง Font ค่อนข้างลำบากหน่อย แต่พอเอามา Render จริงๆ font ไทย เนียนนะครับ ใช้ได้หมด แต่สระ เสือกกลายเป็น สี่เหลี่ยมหมด (คิดว่าคงมีวิธีแก้ แต่ตอนนี้ไม่ได้หาต่อแล้ว) ก็เลยข้ามไปก่อน กะว่าจะมาหาวิธีแก้ ที่ตัวนี้แหละ แต่ยังไงขอลอง ตัวถัดไปก่อน

twitter stumbleupon delicious digg facebook Read More

Facebook oAuth แบบเบาๆ

Aug 8, 2011 11:28:27 PM | 5 Comments | in Programing | PHP, Facebook, oAuth

เบื่อเรื่อง mobile กันรึยังครับ จริงๆ ตอนแรกว่าจะเขียนเรื่อง Table ของ Ti  ต่อเลย แต่คิดว่า มันต้องลำดับความคิดเยอะเกินไป วันนี้อยากเขียนอะไรเบาๆ ที่ใช้เวลาไม่เกิน 20 นาที เลยเอาเรื่อง Facebook ง่ายๆ มาคั่นเวลาไปก่อนละกัน

จริงๆ แล้วการทำ oAuth ของ Facebook เพื่อ Request Access Token นั้น ตัว SDK มันก็ทำงานได้ค่อนข้างดีแล้ว แต่ว่า บางทีก็ขี้เกียจ implement วุ่นวายแบบนั้น เลยเขียนลวกๆ ง่ายๆ ออกมา ลองมาดูขั้นตอนกัน ง่ายมากๆ

twitter stumbleupon delicious digg facebook Read More

ทำไมคุณถึงเป็นโปรแกรมเมอร์ที่แย่ !!!

Feb 20, 2011 9:25:57 PM | 20 Comments | in Programing | PHP

บทความนี้ไม่ได้คิดขึ้นเองทั้งหมดนะครับ แต่ประยุกต์มาจากบทความของฝรั่ง ที่ไปอ่านมา แล้วต้องบอกเลยว่าตรง โคดๆ แล้วก็ไม่ได้ว่าใครด้วยนะครับ แต่ว่าอยากให้มองในมุมกลับกันมากกว่า แล้วก็เปลี่ยนแปลงทีละเล็กละน้อย เราก็จะก้าวพ้นกับคำว่า Noob ได้แล้ว

ที่จะเขียนต่อไปนี้ คือฟฤติกรรมที่บ่อนทำลาย อาชีพ Dev ของตัวเอง อย่างเห็นได้ชัด (จริงๆ มันก็ไม่ขนาดนั้นหลอก แต่ฝรั่งมันเว่อร์ 555)

ทีนี้มาดูกันถึง 10 ตัวอย่างของ โปรแกรมเมอร์ยอดแย่ ที่ควรจะแก้ไขโดยด่วน

 

1. ชอบเขียนแบบสั้นๆ เอาสะดวก

วิธีการเขียนโคดสั้นๆ แบบนี้ จริงอยู่ที่มันประหยัดเวลา แล้วมันก็แสดงผลได้ถูกต้อง แต่ว่ามันขาดความเป็นมืออาชีพ แล้วก็บางอย่างทำให้ PHP ต้องเสียเวลาแปลมากขึ้นไปอีก แทนที่จะทำงานได้เลย แล้วก็ไม่ดีต่อการ Portable ย้าย Server ข้ามไปข้ามมา เพราะว่า บางที่ Compile ได้ไม่เหมือนกัน เพราะฉะนั้น ต้องขอบอกเลยว่า "เขียนให้มันเต็มๆ" เถอะครับ

อาทิเช่นการออก output

twitter stumbleupon delicious digg facebook Read More

Hasing algorithm

Jun 3, 2009 11:09:12 PM | 0 Comments | in Programing | PHP, Hash
วันนี้ขอพูดเรื่อง performance อีกสักที สำหรับคนที่เคยจับ application ที่ใหญ่ๆ หน่อย ที่มีจำนวน file upload มหาศาล หรือ เอาง่ายๆ แค่หลัก 2-3 หมื่นขึ้นไป ก็จะเห็นได้ว่า หลังจากนั้น application จะทำงาน ค่อยๆ ช้าลงๆๆๆ จนในที่สุด ก็ทะลุ node ที่เป็น limit ของ UNIX ไป (จำไม่ได้ 5 หรือ 6 หมื่นนี่ล่ะ)

วิธีแก้ที่ดีที่สุดก็คือการ ซอย folder ออกเป็น ย่อยๆ เพื่อไม่ให้ไฟล์ ไปรวมกันอยู่ที่เดียว เช่น

twitter stumbleupon delicious digg facebook Read More

Simple HTML DOM Parser มันคือ jQuery's selectors ดีๆ นี่เอง

Apr 21, 2009 11:27:45 PM | 0 Comments | in Programing | PHP
ไปเจอของดีมาครับ เป็น PHP Library ที่ทำงานในลักษณะ คล้ายๆกับ Selectors ของ jQuery แต่ว่าเป็น PHP ซึ่งเรียกให้ถูกมันก็คือ HTML DOM Parser น่ะแหละครับ ซึ่งการใช้งานค่อนข้างง่าย เล่นเอาลืม Regexp ไปเลย

เดี๋ยวนี้ เว็บไซด์ส่วนใหญ่นั้น จะเขียนกันในรูปแบบ XHTML ซึ่งมักจะมาการระบุ Class หรือ Id ให้กับ Elements เกือบทั้งหมดอยู่แล้ว ซึ่งบางที ถ้าเราจะทำการ Get Content ที่อยู่ในช่วง tag ของมัน เราก็มักจะใช้ความสามารถของ Regular Expression (Regexp) โดยส่วนใหญ่ แต่.....

ชีวิตคุณจะสบายขึ้น ถ้าไปรู้จักกับ Lib ตัวนี้ ที่จะไม่ต้องมานั่งปวดหัวกับการคิด regexp อีกต่อไป เพราะว่า มันเขียนมาให้เกือบหมดแล้ว

เท่าที่ไปลองไล่ lib มาก็เห็นว่าใช้ความสามารถของ regexp เหมือนกัน แต่ทว่า มันเขียบนได้ เทพ แท้ๆ เลยครับ

อย่่างสมมุติผมจะภาพทั้งหมดจาก Google ผมก็เขียนแค่

twitter stumbleupon delicious digg facebook Read More

เกี่ยวกับ Thumbnail ใน CI วันนี้ผมเอา Idea มาแชร์

Apr 18, 2009 2:00:48 PM | 2 Comments | in Programing | PHP, Library
วันนี้ บทความที่ผมจะมาเขียน เป็นเรื่องเกี่ยวกับ Thumbnail ล้วนๆ ซึ่ง เป็นการสร้างภาพ Thumbnail on the fly นั่นแหละ แต่มันก็มีทั้ง ข้อดีและ ข้อเสียเหมือนกัน ลองดูเอานะ

Concept:
โดยปกติแล้ว เวลาเราสร้าง Thumbnail หลักการก็คือ
1. Upload Original Binary File.
2. Resize to smaller and upload.

ซึ่งอาจจะเห็นมันมีแค่ 2 อย่างก็จบแล้ว แต่พอเอาเข้าจริงมันเป็นงานที่น่าเบื่อมากเลย ทำไมต้องมาเสียเวลา ทำงานซ้ำไปซ้ำมา ผมก็เลยเกิด idea ทำไมไม่ให้มัน Generate on the fly เลยล่ะ?

แต่....

ถ้าทำอย่างงั้นมันก็ไปเปลือง ทรัพยากร Server แย่สิ หนักเอาการเลยนะนั่น ก็เลยคิดต่ออีกหน่อย...

แล้วถ้าทำเป็น Cache File หลังจาก Generate แล้ว เวลาสั่ง gen ก็มาเช็คก่อนล่ะว่ามีไฟล์รึเปล่า ทำแบบนี้น่าจะใช้ ทรัพยากรจากตอนแรกแค่ไม่ถึง 10%

คิดได้แบบนี้ผมก็เลยเริ่มทำจาก
1. สร้าง Folder ชั้นนอก CI ไว้เก็บ รูป thumbnails ทั้งหมด
- ที่สร้างข้างนอกเพราะผมเผื่อเอาไว้วันหลังถ้ารูปมันเยอะจัด จะได้แก้ไขเรื่อง File System อาจจะใช้ NAS มาจัดเก็บแทน หรือ เอา Reverse Proxy มาคลุมเฉพาะ Dir จะได้ไม่สับสน

twitter stumbleupon delicious digg facebook Read More

เปลี่ยนใจใช้ Zend Cache

Apr 7, 2009 10:51:08 PM | 9 Comments | in Programing | PHP, Zend
สวัสดีช่วงนี้ มาอัพเดทถี่เลย สงสัยดีใจใกล้จะ เทศกาลสงกรานต์ เนื้อหาใน jQuery ตอนนี้มันเริ่มจะ จับฉ่ายละ 555+ ก็ทำใจหน่อยนะครับ ผมเป็นคนที่ ตอนไหนสนใจอะไร ก็จะเขียนเรื่องนั้น แต่ยังไง ก็ไม่ทิ้ง jQuery แน่ๆ น่า ไม่ต้องห่วงๆ

พอดีตอนนี้กำลังเล่น Zend Framework และได้ทีโอกาสลอง Libraries หลายๆ ตัวของ มัน โดยเมื่อวานผมได้ลองเรื่อง Cache ไป ซึ่งก่อนหน้านั้น ผมเขียน lib ชุดนี้ขึ้นใช้เองครับ โดยทำงานกับ File, APC, Memcached ซึ่งก็ไม่ได้มีปัญหาอะไร แต่ทีนี้พอได้มาลอง Zend_Cached ดู ก็ถึงกลับโละของเก่าออกเลยครับ เปลี่ยนทันที เพราะว่า lib ตัวนี้ทำงานได้ค่อนข้างละเอียด และ ยัง cache ได้หลายแบบ ดังนี้

- File
- Sqlite
- Memcached
- Apc
- Xcache
- etc.

twitter stumbleupon delicious digg facebook Read More

มากำหนดสิทธิการเข้าถึงด้วย Zend ACL กันดีกว่า

Apr 1, 2009 12:21:36 AM | 5 Comments | in Framework | Zend, PHP
วันก่อนไปนั่งดู libraries ของ Zend ก็ได้ลองไปหลายตัวเหมือนกัน ส่วนมากจะโดนใจ ทั้ง DOM, Rest, Akismet, Recaptcha, Paginator คือเอาเป็นว่าลองตัวไหน ก็ไม่ผิดหวังเลยจริงๆ แต่ที่ จะมาพูดวันนี้เป็น lib ที่เกี่ยวกับการกำหนด สิทธิการเข้าใข้งานครับ มี ชื่อว่า "Zend_Acl"

ซึ่งเป็นชุด lib ที่ใช้กำหนดระดับความสำคัญในการเข้าถึงข้อมูลส่วนต่างๆ ใน เว็บไซด์ ที่มีความสำคัญและต้องการความปลอดภัยในระดับนึง เช่น admin area เป็นต้น

โดยคำว่า ACL ย่อมาจาก Access control list นั่นเอง

การทำงานของ lib จะถูกแบ่งออกเป็น 2 ส่วนคือ
1. Role - อันนี้คือประเภทของผู้ใช้งาน
2. Resource - คือ Resource ที่จะทำงานด้วย เรียกภาษาชาวบ้านๆ ก็คือ หน้าต่างๆของเว็บ นั่นเอง

โดยหลังจากที่เรากำหนดใน 2 ส่วนนี้แล้ว เราก็ต้องมากำหนดอีกทีว่า Role ไหนจะเข้าถึง Resource ส่วนไหนได้บ้าง

และข้อดีที่สุดของ lib ตัวนี้คือ สามารถทำงานแบบ inherit หรือการถ่ายทอดคุณสมบัติ ได้ พูดไป พูดมาเดี๋ยวจะเรื่องยาวกันไปยัง มาดูวิธีการใช้งานไป ด้วยกันดีกว่า จะได้เข้าใจไปทีเดียวเลย

ก่อนอื่นก็ต้องไป Download ชุด libraries ของ Zend มาก่อนครับ โดยเลือกเอาแบบ Minimal ก็พอ ถ้าไม่ได้คิดจะเขียน Framework โดยใช้ Zend เป็น Core

twitter stumbleupon delicious digg facebook Read More

มีกี่วิธีในการเก็บ Array / Object ลงฐานข้อมูล

Mar 22, 2009 2:34:19 PM | 2 Comments | in Programing | PHP
ตอนนี้อยู่ข้างนอก ล้างรถ (อีกแล้ว) ก็ว่างๆ ไม่รู้จะทำไรดี เด็กข้างๆ มันเปิดการ์ตูน ไรไม่รู้ T_T ก็เลยมาอัพเดทกันซะหน่อย

หลายๆ week หลังๆ มานี่เขียนแต่ jQuery กลัวเพื่อนๆ จะเบื่อ เลยเอา เทคนิค PHP มาอัพเดท กัน ซึ่งจริงๆ แล้วมันเป็น basic น่ะครับ ใครที่รู้อยู่แล้ว จะข้ามไปเลยก็ได้ พอดีขี้เกียจคิดไรที่ีมัน ยากๆ มีเวลาน้อย กลัวจะต้องอธิบายกันยาวไป

บทตความที่จะมาเสนอวันนี้ก็ คือวิธีเก็บข้อมูลง DB แบบ โดยจะจัดเก็บ ชุด Array หรือ Object ลงไป คล้ายๆ การเก็บข้อมูล ซึ่งการเก็บข้อมูลแบบนี้ เรามักเอาไปใช้เก็บพวก mete data ต่างๆ ที่ข้อมูลมันไม่คงที่ เช่น

ผมจะออกแบบ Database ที่เก็บเรื่อง ค่าตกแต่งใน Blog ซึ่งมันอาจจะ มีทั้ง layout, color, permission ไร เยอะแยะวุ่นวาย และใน อนาคต มันอาจจะมี field เพิ่มมาอีกแบบไม่รู้ตัว แทนที่ผมจะเก็บเป็น Colums ยาวเป็นหางว่าว ผมก็จะออกแบบ อย่างนี้แทน

twitter stumbleupon delicious digg facebook Read More

ImaGick สุดยอด Extension ทำงานเกี่ยวกับภาพ

Nov 21, 2008 11:42:32 PM | 2 Comments | in Programing | PHP
เอาล่ะ ขยันอัพบล๊อกเลย วันนี้ เขียนมันติดๆ กันเอาให้คุ้มๆ ขอ ชะแว๊บ มาในส่วนของ PHP สักเรื่องนะครับ หลายๆ คนคงรู้จัก Imagemagick มาก่อน นั่นก็คือชุด การทำงานที่เกี่ยวกับ Image ที่ครบเครื่องอย่างแรง ตัวนึง ซึ่งมีคนใช้กันทั่วโลก แต่ทว่า....

ที่ผมจะมาแนะนำวันนี้มันไม่ใช่ ImageMagick ครับ แต่มันคือ Imagick ซึ่งเป็น extension แกะกล่องของ PHP (หา Docs ยากฉิบ -*-) ที่แม้แต่ใน php.net ยังหา Docs มันได้ไม่สมบูรณ์ (แม้แต่น้อย เรียกว่า มันโชว์แค่ชื่อ function เลยจะดีกว่า)

โดยที่ข้อดีของมันต่างกับ imagemagik ยังไง

1. เป็น extension ตัวนึงของ PHP ที่ทำงานในลักษณะ OOP (ลักษณะเดียวกับพวก Soap, lop, DOM, etc.) ทำให้ใช้งานง่าย นึกภาพการใช้งาน library ตัวนึง ที่เราไม้ต้องรู้ว่า มันมีการทำงานยังไง รู้แค่ว่าจะเอา method อะไรมาใช้งาน

2. มีคนทำการ Benchmark มาแล้วว่าความเร็วระหว่าง ImageMagick กับ Imagick นั้นมันคนละเรื่อง เนื่องจาก มันไม่ต้องทำงานผ่านคำสั่ง exec อีกต่อไป

twitter stumbleupon delicious digg facebook Read More

«12»

Powered by OSCOOL. You may view this on RSS or ATOM.

OSCOOL

  • Twitter
  • Facebook
  • Next