<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.6" -->
<rss version="0.92">
<channel>
	<title>เทคนิคการเขียนเว็บ เขียนโปรแกรม php คัดมา เน้น ๆ : webshowpow.com</title>
	<link>http://www.webshowpow.com</link>
	<description>เทคนิคการเขียนเว็บ เขียนโปรแกรม php คัดมา เน้น ๆ</description>
	<lastBuildDate>Mon, 23 Aug 2010 11:59:55 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>รับค่า XML เป็น Streaming</title>
		<description>ในการที่เราจะใช้บริการ web service เราต้องมีรับ xml ของคนอื่นมา
ทำงานต่อ ซึ่งคำสั่งในการรับ xml นั้นก็คือ

&#160;

$data = file_get_contents("php://input");

&#160;



คำสั่งเทพ คำสั่งเดียว จบ



 </description>
		<link>http://www.webshowpow.com/%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%84%e0%b9%88%e0%b8%b2-xml-%e0%b9%80%e0%b8%9b%e0%b9%87%e0%b8%99-streaming/</link>
			</item>
	<item>
		<title>ข้อแตกต่างของ ประกาศตัวแปร และ define</title>
		<description>ไม่ว่าจะ้เป็น 
การประกาศตัวแปร -> $startpage = "1";
หรือ การใช้ function define -> define("startpage","1");


แต่ก็ได้ค่าออกมา เป็นค่าเดียวกันคือ 1 


แต่ของแตกต่างของ 2 วิธีนี้ก็คือ

$startpage = "1";
$startpage = "2";
echo  $startpage;  // ได้ผลลัพธ์คือ 2

&#160;

define("startpage","1");
define("startpage","2");
echo  startpage;  // ได้ผลลัพธ์คือ 1


&#160;

หวังว่าคงเข้าใจกันนะครับ


&#160;
เวลาใช้งานก็ดูลักษณะงานด้วยนะครับ :)
&#160;

 </description>
		<link>http://www.webshowpow.com/%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%81%e0%b8%b2%e0%b8%a8-%e0%b8%95%e0%b8%b1%e0%b8%a7%e0%b9%81%e0%b8%9b%e0%b8%a3-define/</link>
			</item>
	<item>
		<title>function แปลง tis620 เป็น utf8</title>
		<description>ในการเขียนเวปไซด์บ้างครั้งเรามีความจำเป็นที่จะต้องแปลง unicode
ไปมาระหว่าง tis620 เป็น utf8 หรือจาก utf8 เป็น tis620
ผมขอยกตัวอย่างเคสที่ต้องเปลี่ยน unicode
เช่น db เป็น tis620 แต่หน้าเวปไซด์เรา เป็น utf8 
และเราไม่สามารถที่จะเ้ปลี่ยนจาก db เป็น utf8
และเราก็ไม่สามารถเปลี่ยนเวปไซด์เป็น tis620 ได้
เราต้องใช้ function ดังกล่าวเปลี่ยน unicode ครับ

function ในการแปลงจาก tis620 เป็น utf8


function tis620_to_utf8($tis) {
  for( $i=0 ; $i< strlen($tis) ; $i++ ){
    $s = substr($tis, $i, 1);
  ...</description>
		<link>http://www.webshowpow.com/%e0%b9%81%e0%b8%9b%e0%b8%a5%e0%b8%87-tis620-%e0%b9%80%e0%b8%9b%e0%b9%87%e0%b8%99-utf8/</link>
			</item>
	<item>
		<title>เทคโนโลยี ที่ทำให้ facebook, twitter ให้บริการได้ร้อยล้านคนแบบ Real time ได้</title>
		<description>

เพื่อนๆ เคยนึกหรือไม่ครับว่า twitter และ facebook มีเครื่อง server กี่เครื่องครับ ? 

>> ถ้าไม่ได้ติดตามก็คงตอบผิดครับ ผมเคยถามเพื่อน บางคนตอบว่า 50 บางคนบอกว่า 1000 เครื่อง ผิดหมดครับ

สำหรับ Facebook ใช้ Server ทั้งหมด (ถึงตุลาคมนี้) 30,000 เครื่องครับ

Ref: http://www.datacenterknowledge.com/archives/2009/10/13/facebook-now-has-30000-servers

ส่วน twitter  ผมค้นหาแล้วไม่มีข้อมูลบอกนะครับ แต่คิดว่าคง ราวๆ หลายพันเครื่อง

 

ผมเขียนเรื่องนี้เพราะอยากให้เพื่อนๆ ได้รู้ว่าก่อนที่จะมาเป็น Twitter, Facebook ที่คนเป็นหลายๆ ร้อยล้าน ใช้กันมันยากแค่ไหน และต้องอาศัยเทคโนโลยีกันสุดโต่งทีเดียว อาจอ่านยากหน่อยเพราะต้องใช้ Technical บ้างครับ แต่ก่อนเข้าสู่ปัญหาคลาสสิคของระบบเว็บและฐานข้อมูล ผมอยากให้เพื่อนๆ ได้เรียนรู้สองเรื่อง ที่เป็นปัญหาของระบบใหญ่ๆ คือ

1. Data Access ...</description>
		<link>http://www.webshowpow.com/%e0%b9%80%e0%b8%97%e0%b8%84%e0%b9%82%e0%b8%99%e0%b9%82%e0%b8%a5%e0%b8%a2%e0%b8%b5-facebook-twitter/</link>
			</item>
	<item>
		<title>เซตเวลาในการติดต่อกับเวปอื่น</title>
		<description>ในการเขียนเวปไซด์ บ้างครั้งเรามีความเป็นที่จะต้องนำข้อมูลของที่อื่น
มาแสดงในเวปของเรา โดยที่ไม่ใช่แบบ iframe แต่ใช้ ฟังก์ชั่น
ของ php เช่น fopen() หรือ file_get_contents()
ซึ่งวิธีนี้ ข้อดีคือ เราสามารถกำหนดรูปแบบในการแสดงผลได้
แต่ข้อเสียคือ ถ้าเวปที่เราไปเอาข้อมูลมาไม่สามารถเข้าได้
หรือพูดง่ายๆ คือ เวปล่ม และจะทำให้เวปเราล่มไปด้วย

แต่มีวิธีแก้ไข คือเราจะต้องไปกำหนเวลาในการติดต่อ
ถ้าหมดเวลาตามที่เรากำหนดก็ให้ยกเลิกการติดต่อ 

โดยใช้คำสั่งนี้

ini_set('default_socket_timeout',$time)


โดยที่ 
$time= เวลาที่ใช้ในการให้ติดต่อ หน่วยเป็น วินาที

ปล. ขอแนะนำว่าหลังจากใช้ ฟังก์ชั่นนี้แล้วให้เซตค่ากลับด้วย
ซึ่งค่าปกติคือ 60 วินาที
&#160;

วิธีแนะนำโดย โอ@WLS </description>
		<link>http://www.webshowpow.com/%e0%b9%80%e0%b8%8b%e0%b8%95%e0%b9%80%e0%b8%a7%e0%b8%a5%e0%b8%b2%e0%b9%83%e0%b8%99%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b9%88%e0%b8%ad%e0%b8%81%e0%b8%b1%e0%b8%9a%e0%b9%80%e0%b8%a7%e0%b8%9b/</link>
			</item>
	<item>
		<title>javascipt กับ cookie</title>
		<description>การ set cookie ให้ใช้งานได้โดยใช้ javascript สามารถทำได้โดย
ใช้ function นี้


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) ...</description>
		<link>http://www.webshowpow.com/javascipt-%e0%b8%81%e0%b8%b1%e0%b8%9a-cookie/</link>
			</item>
	<item>
		<title>วิธีการ Query เพิ่ม ลด วันเวลา</title>
		<description>ในการทำงานบางครั้งเราจำเป็นที่จะต้อง query db โดยการเพิ่มหรือลด วันเวลา

สมมุติว่า

" เราต้องการจะได้ทราบว่า banner ของเวปเราที่จะหมดอายุในอีก 7 วันข้างหน้า มี banner อะไรบ้าง "

เราก็จะสามารถเขียน query ได้ดังนี้




SELECT banner_name 
FROM tb_banner
WHERE date_expire = NOW() + INTERVAL 7 DAY


หน่วยของ INTERVAL ก็มีดังนี้
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
&#160; </description>
		<link>http://www.webshowpow.com/%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3-query-%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1-%e0%b8%a5%e0%b8%94-%e0%b8%a7%e0%b8%b1%e0%b8%99%e0%b9%80%e0%b8%a7%e0%b8%a5%e0%b8%b2/</link>
			</item>
	<item>
		<title>BackBase : Rich Internet Application</title>
		<description>

เป็นเวปที่ขายผลงานของบริษัทของเขาเอง  

- Rich Portal  
- Rich Forms & Calculators 
- Rich Product Finder 
- Co-Browse & Chat 

รวมทั้งมี Framework ให้ใช้ด้วย

เวปนี้มีตัวอย่างของการให้งา่น Ajax ให้ลงตัวกับงานต่าง ๆ

http://www.backbase.com/
&#160;


ผมขอแนะนำให้ดู Rich Product Finder อย่างเทพ 


&#160; </description>
		<link>http://www.webshowpow.com/backbase-rich-internet-application/</link>
			</item>
	<item>
		<title>jQuery Start</title>
		<description>จากที่อ่านดูรู้สึกว่า jQuery นอกจากจะต้อง include jquery.js แล้ว จะต้องเขียนคำสั่งต่าง ๆ 
ภายใต้คำสั่ง $(document).ready ด้วยนะ ไม่งั้นคำสั่งของ jQuery จะไม่ทำงานจ้า




$(document).ready(function() {
     // your code
});



หรือใช้รูปย่อ



$(function() {
     // your code
});

 </description>
		<link>http://www.webshowpow.com/jquery-start/</link>
			</item>
	<item>
		<title>ลบข้อความแนะนำของ text input</title>
		<description>ในเวลาที่เรากดคลิกที่ text input  ปกติแล้วจะมีรายการข้อความที่เราเคยพิมพ์ไปแล้ว
แสดงขึ้นมาอัตโนมัติ  ซึ่งมันก็สะดวกดี แต่ในบางครั้งเราเขียนโปรแกรมที่มี
ความปลอดภัยสูง  เราก็ไม่อยากจะให้มีข้อความที่เราพิมพฺ์ไปแล้วแสดงขึ้นมา
เราสามารถทำได้โดยเพิ่ม code เข้าไปดังนี้ 



 </description>
		<link>http://www.webshowpow.com/%e0%b8%a5%e0%b8%9a%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%84%e0%b8%a7%e0%b8%b2%e0%b8%a1%e0%b9%81%e0%b8%99%e0%b8%b0%e0%b8%99%e0%b8%b3%e0%b8%82%e0%b8%ad%e0%b8%87-text-input/</link>
			</item>
</channel>
</rss>
