Category Archives: เขียนโปรแกรม - Page 14

Cross-domain requests with jQuery

เทคนิคนี้เค้านำเอา YQL (Yahoo! Query Language) เข้ามาช่วยด้วยครับ

ซึ่งเจ้า YQL จะช่วยให้เราสามารถเรียก (request) ข้ามโดเมนได้ครับ

แถมคนที่เค้าเขียนอธิบายเกี่ยวกับเรื่องนี้ (การใช้ YQL ร่วมกับ jQuery)

เค้าก็ยังใจดีเขียนเป็น plugin ของ jQuery ไว้ให้ใช้เลยด้วยครับ

ตัวอย่างการใช้งาน

$.ajax({
    url: 'http://news.bbc.co.uk',
    type: 'GET',
    success: function(res) {
        var headline = $(res.responseText).find('a.tsh').text();
        alert(headline);
    }
});

การติดตั้ง HipHop-PHP บน Ubuntu

หลังจากที่ผมพยายาม complile เจ้าตัว HipHop ตั้งนาน แต่ก็ compileไม่สำเร็จซักที

จนไปเจอตัวที่มีคน compile ไว้แล้ว ซึ่งทำงานได้บน Ubuntu 10.04, Ubuntu 9.10, Ubuntu 9.04 ก็เลยเอามาโพสต์ไว้ซะเลย

เพิ่มลูกเล่นการเลื่อน scrollbar ไปยัง element ที่ต้องการด้วย jQuery

ปกติแล้วถ้าเราต้องการจะเลื่อน scrollbar ไปยังทำแหน่งที่เราต้องการภายในหน้าเดียวกันนั้น เราก็จะใช้ anchor ( <a> ) แล้วก็ลิงค์ไปหาตำแหน่งที่เราต้องการ เช่น

<a name="top" />

<p> blah blah blah ...</p>

<a href="#top">Go to Top</a>

เขียนฟังก์ชันเปรียบเทียบเวลาด้วย PHP

ไม่ได้เข้ามาอัพเดทนานแล้วก็เลยหาเรื่องมาลงไว้ซะหน่อย เอาที่เป็นสาระๆ หน่อยก็แล้วกันนานๆ ที ฮ่าๆ เกี่ยวกับการเขียนฟังก์ชันคำนวณระยะเวลาระหว่างวันสองวันก็แล้วกัน เห็นใช้บ่อย เขียนด้วย PHP นะครับ ฟังก์ชันนี้จะรับตัวแปรที่เป็นเวลาในหน่วย วินาที (Unix timestamp)สองตัวด้วยกัน และจะคืนค่าที่คำนวณได้กลับมาในรูปแบบของอาร์เลย์ (array)

วิธีการตั้งค่าให้ CI (Codeigniter) สามารถใช้ได้ทั้ง URI Segment และ Query String

บทความนี้เป็นการบันทึก วิธีการตั้งค่าให้ CI (Codeigniter) สามารถใช้ได้ทั้ง URI Segment และ Query String กันครับ ซึ่งค่าเริ่มต้นถ้าเราไม่เข้าไปเปลี่ยนค่าอะไร ตัว CI จะใช้แบบ URI segment

ตัวอย่างการ insert หลายๆ rows พร้อมกันใน Oracle

หาวิธี insert ข้อมูลทีละหลายๆ rows พร้อมกันใน Oracle ตั้งนานไปเจอมาที่นี่ ก็เลยเอามาเก็บไว้ซะเลย จะได้จดและจำและให้เพื่อนๆ ได้ดูด้วยครับ ซึ่งตอนแรกผมก็นึกว่ามันจะเป็นเหมือน MySQL คือ

jQuery tips: ใช้ IDs แทน Classes เวลาใช้ Selector

มาดูวิธีการเพิ่มความเร็วให้กับการทำงานของ jQuery อีกวิธี ในการใช้งาน selector นั่นก็คือ การใช้ select โดยใช้ ID แทนที่จะใช้ Class ครับ แล้วมันเร็วขึ้นแค่ไหนล่ะ ลองเอาโค้ดไปทดสอบดูนะครับ วิธีทดสอบเราจะสร้างแท็ก ul ขึ้นมาโดยมีแท็ก li ซัก 1000 แท็ก แล้วลองดึงแต่ละแท็กด้วย ID และ Class เปรียบเทียบกันดู

jQuery tips: เพิ่ม context สำหรับ selector

ปกติแล้วการใช้ selector ของ jQuery เราชอบที่จะใช้โดยไม่มีการระบุ context คือ

var selectedItem = $('#listItem'+i);

แต่ฟังก์ชัน jQuery นั้นสามารถรับ argument ตัวที่สอง ซึ่งเป็นการระบุ context (เป็นการระบุว่าเราจะเริ่มค้นหาไอเทมของเราจากตรงไหน) ดังนี้

jQuery(expression,context)

จากโค้ดข้างบนเราก็แค่เพิ่ม context เข้าไป คื่อ

var selectedItem = $('#listItem'+i,$('#list'));

การเพิ่ม context ให้กับ selector นั้นจะช่วยเพิ่มความเร็วด้วยนะครับ

การจัดการ PHP Error ด้วย htaccess

โดยปกติแล้วเราจะไม่สามารถเข้าไปยุ่งกับไฟล์ php.ini ได้ วิธีการจัดการกับ PHP error ด้วยการ เรียกใช้ฟังก์ชันของตัว PHP เอง

ini_set('display_error',0);
error_reporting(~E_ALL);

แต่ผมไปอ่านเจออีกวิธีที่จะใช้จัดการกับ PHP error คือ การใช้ไฟล์ htaccess ในการจัดการกับ Error

การตั้งค่า default permission (0755) ให้กับไฟล์ที่อัพโหลดขึ้น FTP Server (vsftp)

มีปัญหากับเจ้า vsftp ที่ติดตั้งบน Ubuntu 8.04 ที่จริงก็ไม่ใช่ปัญหาซะทีเดียวหรอกครับ ก็ประมาณว่า ไฟล์ที่เราอัพโหลดขึ้นไป ค่า permission ของมันเป็น 0600 ซึ่งมันจะไม่ให้ Server ของเราแก้ไขมันได้ ถ้าอยากให้มันถุกแก้ไขได้ด้วยก็ต้องเป็น 0755 แต่ก็ต้องมาคอยเปลี่ยนค่านี้ตลอดก็คงไม่ไหว ก็เลยหาวิธีตั้งค่า default ให้มันสามารถแก้ไขได้หน่อย