<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.2" -->
<rss version="0.92">
<channel>
	<title>Dexdev</title>
	<link>http://www.dexdev.com</link>
	<description>บทความ เทคนิคการเขียนโปรแกรม</description>
	<lastBuildDate>Sun, 02 Nov 2008 15:56:59 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>ffmpeg-php</title>
		<description>หลังจากที่ ติดตั้ง ffmpeg เรียบร้อยก็หล่อกันไปพอสมควร
สามารถ convert ไฟล์ vdo เป็น format ต่างๆกันตามต้องการ :)

อยากหล่อกว่านี้จะได้มั้ย ?
แบบว่า ffmpeg มั้นต้อง ssh เข้าไป convert ไฟล์เลยอะ แล้วถ้า ssh ไม่ได้หล่อจะอดหล่อมั้ยครับ
แล้วถ้าเขียนโปรแกรมไปสั่งให้ ffmpeg มันทำงานได้จะหล่อมากเลย

แน่นอนครับว่าแอบโดมิในเซอร์ย่อมมีสินค้าที่คุณต้องการ...สินค้าที่คุณมองหาอญุ่ก็คือ ffmpeg-php นี่เอง

ffmpeg-php เป็น extension ที่จะช่วยให้ php สามารถใช้งาน ffmpeg ได้ครับ
ศึกษาเพิ่มเติม ffmpeg-php.sourceforge.net/

ติดตั้ง ffmpeg
# cd /usr/ports/graphics/php5-ffmpeg
#make install clean
เหมือนเดิมครับกด enter แล้วไปนอน
zzz

หลังจากติดตั้งเสร็จลองทดสอบว่า php โหลด ffmpeg-php รึยังด้วยคำสั่ง
#rehash
#php -m
จะได้ผลลัพธ์ตามนี้ครับ
 </description>
		<link>http://www.dexdev.com/php/ffmpeg-php/</link>
			</item>
	<item>
		<title>เขียน game ด้วย prototype</title>
		<description>เกมส์เดารหัสผ่านนะครับลองเล่นๆกันดู ที่จริงผมตั้งใจจะนำ Utility Methods ของ prototype มาใช้ให้มากที่สุดครับ เอาเป็นว่าเล่นเกมส์แก้เครียดกันไปก่อนเดี๋ยวกลับมาเขียนบทความ

.row { 	clear: both; 	padding: 5px; } label { 	display: block; 	width: 150px; 	float: left; 	padding: 3px; } #result { 	margin: 5px 0px; 	border: 1px solid #ccc; 	background: #eee; 	padding: 10px; 	font-size: 20px; 	font-weight: bold; 	font-family: Helvetica; 	width: 300px; }
เกมส์เดารหัสผ่าน

	เลือก ชุดกุญแจ และพิมพ์รหัสผ่าน แล้วกดคำนวนท่านจะได้ผลลัพธ์
	รหัสผ่านที่ถูกต้องเมื่อนำคำนวนจะได้ผลลัพธเท่ากับ ...</description>
		<link>http://www.dexdev.com/prototype/guess-game/</link>
			</item>
	<item>
		<title>ffmpeg</title>
		<description>ffmpeg คืออะไร
ffmpeg คือ opensorce ที่มีความสามารถในการแปลง video เป็น format ต่างๆตามต้องการ อ่านต่อได้ที่ http://ffmpeg.mplayerhq.hu/ ละกันอิอิ

ติดตั้ง ffmpeg
#cd /usr/ports/multimedia/ffmpeg
#make WITH_LAME=yes install clean
กด enter เสร็จไปนอนก่อนเลยครับนานมากกกก
ใครไม่มี server ลองเวอร์ชั่น window Download ได้ที่นี่ครับ

วิธีใช้ ffmpeg
สำหรับการเรียกใช้งานนั้นง่ายมากสามารถเรียกใช้ผ่าน command line ได้เลยตามนี้ครับ
#ffmpeg -i input.mov output.flv
ใครอยากใส่ parameter ยังไงลองตาม manual เลยฮ่า

บทความต่อไปจะเขียน ffmpeg_php เอา php เรียกใช้งานซะเลย 555+ </description>
		<link>http://www.dexdev.com/freebsd/ffmpeg/</link>
			</item>
	<item>
		<title>$</title>
		<description>$ - Utility Methods 
ลักษณะการทำงานของ method $ จะเหมือนกับ document.getElementById()
คนทำ framework คงรู้ว่า document.getElementById() ใช้บ่อยเลยเอามาลดรูปเหลือแค่ $ ซะเลยมั้ง

$ ใช้ยังไง ?
สำหรับการใช้งาน $ ทำได้ง่ายๆ โดยใส่ element id(string) เข้าไปแบบนี้ $('id');

ยกตัวอย่าง
var a = $('a');
หลังจากได้ element 'a' มาแล้วเราจะไม่เอาไปเก็บไว้ที่ตัวแปรก็ได้นะครับ
ยกตัวอย่างเช่นผมต้องการ ซ่อน div a
&#60;div id="a"&#62;ข้อความ ใน div a&#60;/div&#62;
&#60;a href="javascript: $('a').hide()"&#62;ซ่อน a&#60;/a&#62;
จะให้ $ แบบนี้กันเลยก็ได้อยู่ที่เทคนิคครับ </description>
		<link>http://www.dexdev.com/prototype/94/</link>
			</item>
	<item>
		<title>Google Maps API ทำ Reverse Geocoding</title>
		<description>ใครใช้ google map เป็นเครื่องมือทำมาหากินลองอ่านดูนะครับ
ความสามารถใหม่ของ Google Maps API ที่เพิ่มขึ้นมาคือเราสามารถทำ reverse เจ้าตัว geocoder ได้แล้ว

reverse geocoder คืออะไร ?
reverse geocoder คือการ convert address มาเป็น latitude/longitude นั่นเองครับ

reverse geocoder เพื่ออะไร ?
สำหรับผมแล้วเวลาจะทำ map ซั๊กอันผมต้องหา latitude/longitude ให้ได้ก่อนแต่พอมี reverse geocoder แล้วผมสามารถ
สร้าง map แล้ว setCenter  โดยใช้ address ได้เลยครับ

ดูตัวอย่าง google-map-geocoder-reverse.html ได้ที่นี่ครับ </description>
		<link>http://www.dexdev.com/tips/google-map-reverse-geocoding/</link>
			</item>
	<item>
		<title>เริ่มต้นเรียน prototype</title>
		<description>ได้เวลาเริ่มเขียนบทความเกี่ยวกับ prototype ซะทีครับ (จับทีไรงานเข้าตลอด)

เตรียมความพร้อม

	จะเรียน prototype ก็ต้องไป download มาก่อนครับ
	texteditor ดีดีผมเลือกใช้ editplus
	browser คู่ใจผมเลือก firefox3.1 (ลง addon Firebug)
	webserver เอาไว้ test ผมเลือกใช้ appserv ครับ

ลองเรียก
ขั้นตอนแรก include .js เข้ามาก่อนนะครับ
&#60;script type="text/javascript" src="js/prototype.js"&#62;&#60;/script&#62;
ตัวอย่างการเขียนโปรแกรมด้วย prototype คลิกที่นี่

บทความนี้จะไปไวๆนิดนึงเพราะคิดว่่าทุกคนน่าจะมีพื้นฐานกันบ้างแล้ว </description>
		<link>http://www.dexdev.com/prototype/setup/</link>
			</item>
	<item>
		<title>random(n)</title>
		<description>Programming Challenge ข้อที่2 มาแล้วคร๊าบ
หลังจากที่ผมรู้ตัวว่าโดนหลอกให้นั่งนับเลขในข้อแรกอยู่ตั้งนาน สำหรับในข้อนี้จะมีแนว coding นิด

function random(n) จะ return ตัวเลขสุ่มระหว่าง 0 และ n-1

ถ้าเขียนโปรแกรมเรียกใช้ function random ดังนี้
a = random(10);
b = random(10);
c = a - b;

โอกาสที่ c จะมีค่าเท่า 0 จะเป็นกี่เปอร์เซนต์ ?


จากการเรียกใช้ function random ด้านบน a และ b มีโอกาสที่จะเป็นตัวเลข 0-9

โอกาสที่ c จะเป็น 0 ก็ต่อเมื่อ a = b(จำได้ตอนเรียนตรรกศาสตร์) เช่น
a = 0, b = ...</description>
		<link>http://www.dexdev.com/challenge/random-function/</link>
			</item>
	<item>
		<title>125th room</title>
		<description>คำถามของ Programming Challenge ข้อ1 มาแล้วคร๊าบ

โรงพยาบาล A มีห้องพักผู้ป่วย 500 ห้อง โดยแต่หมายเลขละห้องจะมีตัวเลข 3 ตัว เริ่มจาก 001 แต่ตัวเลข 4 กับ 9 เป็นตัวเลขที่จ้าวของโรงพยาบาลไม่ชอบมากๆ (เพราะเพิ่งแป๊กจากหวยมา) ดังนั้นทุกหมายเลขห้อง ของโรงพยาบาลนี้จะไม่มีตัวเลข 4 และ 9

สำหรับ password ในการอ่านเฉลยบทความนี้คือ

ห้องที่ 125 คือห้องหมายเลขอะไร?

 </description>
		<link>http://www.dexdev.com/challenge/125th/</link>
			</item>
	<item>
		<title>มาดูกันว่า ip ไหนเข้าเว็บเราบ้าง</title>
		<description>สำหรับวิธีการที่จะเช็คว่า IP ไหนเข้าเว็บไซต์เราบ้าง โดยเรียงลำดับจากความถี่จากน้อยไปหามาก

1. ขั้นตอนแรกต้องทำการ SSH (telnet) ไปยัง server
2. ไปยัง folder ที่เก็บ access.log ของเว็บไซต์
3. สั่งรันคำสั่ง
tail -100000 dexdev.com.log &#124; awk '{print $1}' &#124; sort &#124; uniq -c &#124;sort -n

เปลี่ยน dexdev.com.log ตามชื่อไฟล์ที่ server เก็บ อย่างของผมใช้ direct admin จะใช้ domain.log

4. แถมให้อีกนิดถ้าสงสัยว่า ใครหนอมาเข้าเว็บเราบ่อยๆ ด้วยคำสั่ง host
host xxx.xxx.xxx.xxx
5. แล้วถ้าอยากรู้ว่า IP นี้เค้าทำอะไรกับเว็บเราบ้างก็ต้องคำสั่งนี้เลย
tail -1000 dexdev.com.log &#124; grep xxx.xxx.xxx.xxx
ปล. ...</description>
		<link>http://www.dexdev.com/tips/which-ip-hitting-website/</link>
			</item>
	<item>
		<title>extension ของ date input calendar มาแล้ว</title>
		<description>จากบทความ Date Input Calendar ไม่รู้มีคนอ่านรึเปล่า - -"

เลยกลายมาเป็น extension ตัวนี้ครับ



ติดตั้ง extension
ไม่เขียนละว่าทำไง ก็ดับเบิ้ลคลิก ok yes จบตามวิธีคนไทยครับ

เนี่องจาก extension ตัวนี้เป็น extension ประเภท object ซึ่งปกติตัว extension จะ genarate ไฟล์ถึง 4 ไฟล์


สำหรับ extension ตัวนี้ผมไม่ได้ pack ไฟล์ 4 ไฟล์นี้ไปให้ ต้องไป download ไฟล์จากเว็บคนทำมาเตรียมไว้ใน folder ตามรูปข้างบนครับ

เริ่มใช้
หลังจากติดตั้งและเตรียมไฟล์กันเรียบร้อยมาเริ่มใช้งานกันเลยครับ โดยเริ่ม include javascript(DateInput.js)
&#60;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&#62;
&#60;html xmlns="http://www.w3.org/1999/xhtml"&#62;
&#60;head&#62;
&#60;meta http-equiv="Content-Type" content="text/html; ...</description>
		<link>http://www.dexdev.com/tips/extension-date-input-calendar/</link>
			</item>
</channel>
</rss>
