<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>facebook &#8211; PARINYA.NET</title>
	<atom:link href="https://www.parinya.net/node/tag/facebook-2/feed" rel="self" type="application/rss+xml" />
	<link>https://www.parinya.net</link>
	<description>ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์และทฤษฎีการประมวลผลสารสนเทศ</description>
	<lastBuildDate>Wed, 21 Sep 2011 03:07:22 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>เกาะไส้ติ่ง Facebook Platform for Developer</title>
		<link>https://www.parinya.net/node/1616</link>
					<comments>https://www.parinya.net/node/1616#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 21 Sep 2011 03:07:22 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ไส้ติ่ง]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[facebook application]]></category>
		<category><![CDATA[facebook platform]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=1616</guid>

					<description><![CDATA[Facebook Platform for Dev]]></description>
										<content:encoded><![CDATA[<p>Facebook Platform for Developer มีการปรับเปลี่ยนอยู่เรื่อย ๆ ครับ ออกแนวสามวันจาก Facebook เป็นอื่น แต่ถึงจะปรับเปลี่ยนบ่อยยังไง มันก็ต้องมีอยู่จุด ๆ หนึ่งที่ถือว่าเป็นการปรับเปลี่ยนใหญ่ ซึ่งผมนับได้เป็นจำนวนสามจุด ได้แก่ </p>
<ol>
<li>การที่ Facebook ขอให้ใคร ๆ เลิกใช้ FBML ซึ่งตัวเองปั้นมาเองกับมือ แต่ยังคงสนับสนุนอยู่อีกพักใหญ่ ๆ และไม่รู้ว่าจะถึงเมื่อไหร่ที่จะให้เลิกใช้เด็ดขาดไปเลย</li>
<li>บังคับให้แอปทุกตัวต้องเปลี่ยนการชำระเงินในทุก ๆ วิธี มาเป็นใช้ Facebook Credits แทน โดยทาง Facebook จะหักหัวคิวอร่อยเหาะที่ 30% ของมูลค่าการซื้อขายในแต่ล่ะครั้ง และถ้าใครไม่ทำตามแล้วตรวจเจอก็จะโดนแบน เรียกว่าโดนไม่ใช่น้อย</li>
<li>สั่งให้ทุกแอปต้องมี HTTP Secure เพื่อการรักษาความปลอดภัยที่ล้ำลึก จนไม่ว่าหน้าไหนก็ไม่สามารถจะล่วงล้ำก้ำเกินเข้าไปได้ (ทำให้เหมือนว่าแอปที่สร้างขึ้นมา สำคัญขนาดแอปของสถาบันการเงินเลยทีเดียวเชียว)</li>
</ol>
<p>พวกเราเคยเอะใจกันมั้ยครับว่า การที่เราต้องเปลี่ยนโน่นนี่นั่นตามเจ้าของ Platform มันทำให้เราเกิดต้นทุน แถมต้นทุนดังกล่าวก็ไม่มีใครมาจ่ายให้เราซะด้วย เราต้องเป็นคนแบกรับเอาไว้เอง!!!</p>
<p>ผมเลยเริ่มมองว่า การทำแอปเพื่อเชื่อมกับ Facebook นั้น เราต้องมากำหนดความสัมพันธ์กันแล้วล่ะ ว่าเราจะสนิทสนมสนุกสนานกับ Facebook แค่ไหน จะเกาะ Facebook ทั้งตัว หรือจะเกาะแค่ลำไส้ใหญ่ หรือจะเกาะแค่ไส้ติ่งของ Facebook ดี?</p>
<p>พอมอง ๆ ไปว่ากลไกในการต่อเชื่อมกับ Facebook มันมีกี่ระดับบ้าง ก็พอจะคลี่ออกมาได้เป็นสามแบบเหมือนกัน ได้แก่</p>
<ol>
<li>ใช้ Authentication, ใช้ Graph API, วางไว้ใน Canvas และต้องใช้ Facebook Credits &#8211; แบบนี้เห็นกันอย่างเยอะ เช่น พวกเกมที่ต้องเล่นผ่านหน้าจอของ Facebook เป็นต้น</li>
<li>ใช้ Authentication, ใช้ Graph API, ไม่วางไว้ใน Canvas แต่ใช้หน้าเว็บของตัวเอง และไม่ใช้ Facebook Credits &#8211; แบบนี้เป็นเฉพาะบางเกมหรือบางแอป ที่ต้องการระบบเครือข่ายสังคมของ Facebook แต่ปฏิเสธที่จะอยู่ในอาณาบริเวณหน้าจอของ Facebook เพราะว่าหน้าจอของ Facebook มันไม่เหมาะสมหรือสอดคล้องกับภาพลักษณ์ของเกมหรือแอป</li>
<li>ใช้ Authentication, ไม่ใช้ Graph API, ไม่วางไว้ใน Canvas แต่ใช้หน้าเว็บของตัวเอง และไม่ใช้ Facebook Credits &#8211; เราจะไม่เห็นแบบนี้ในเกมหรือแอป แต่จะเห็นในเว็บจำพวก BLOG ที่เขาเอาไว้เขียนเล่าเรื่องราวส่วนตัว อะไรประมาณนั้น</li>
</ol>
<p>ทั้งสามแบบล้วนต้องใช้ Authentication ของ Facebook และต้องลงทะเบียนแอปกับ Facebook อยู่ดี ซึ่งมันก็คงหนีไม่พ้นที่จะต้องทำตามนโยบายของ Facebook ต่อไป ไม่ว่าจะเป็นการเพิ่ม HTTP Secure เพื่อให้เกิดความปลอดภัย บลา ๆ ๆ เป็นต้น</p>
<p>โดยสรุปแล้วผมมองว่าการเกาะกับ Platform ที่มันเป็นที่นิยมและมีชื่อเสียงนั้น มันเป็นเรื่องที่ดี เพราะเราจะทุ่นแรงในการปฏิบัติหลาย ๆ อย่าง เพราะ Platform มันจัดการให้หมดแล้ว แต่ทว่า ถ้า Platform มันเปลี่ยนบ่อยซะเหลือเกิน แถมเปลี่ยนแต่ล่ะครั้งก็เกิดต้นทุนเงินตราและต้นทุนแรงงาน อันนี้เราก็คงต้องมาพิจารณากันแล้วล่ะมั้ง ว่าเราจะเกาะลำไส้ใหญ่เขา หรือเราจะเกาะเขาแค่ปลายไส้ติ่งดี เพื่อเวลาที่เราจะฉีกตัวออกมาใหญ่ของเราเอง พังผืดจากลำไส้ใหญ่ของเขา มันจะได้ไม่มายึดติดเราจนเราขยับไม่ได้อ่ะ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1616/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>การยืนบนพื้นที่แคบ ๆ โดยไม่ให้ล้ม</title>
		<link>https://www.parinya.net/node/1580</link>
					<comments>https://www.parinya.net/node/1580#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 11 Aug 2011 08:21:04 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[beelony]]></category>
		<category><![CDATA[facebook]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1580</guid>

					<description><![CDATA[หลังจากผมปล่อย Beelony ออ]]></description>
										<content:encoded><![CDATA[<p>หลังจากผมปล่อย <a href="http://apps.facebook.com/beelony/" title="Beelony">Beelony</a> ออกมาให้ผู้เล่นได้เล่นมาเป็นเวลาหนึ่งเดือน ผมก็ได้เจอเรื่องน่าสนใจหลาย ๆ อย่าง เลยว่าจะเล่าให้อ่านกันดังนี้</p>
<ul>
<li>ความน่าสนใจของเกมบน Facebook จะขึ้นอยู่กับ คุณภาพ, แบรนด์ และราคา</li>
<li>เกมบน Facebook จะไม่มีทางเปิดตัวได้เลย ถ้าไม่มีการโฆษณา</li>
<li>การโฆษณาบน Facebook มีราคาสูง ไม่เหมือนกับการโฆษณาผ่าน Adwords แต่ถึงแม้มันจะมีราคาสูง มันก็เข้าถึงผู้ใช้งานบน Facebook ได้ดีกว่าวิธีอื่น ๆ</li>
<li>มันมีเทคนิคในการโฆษณาบน Facebook ที่ราคาต่ำ ๆ แต่เป็นเทคนิคที่ผู้ทดลอง ต้องลองเจ็บตัวซ้ำ ๆ ซาก ๆ เองก่อนถึงจะได้รู้</li>
<li>ไม่มีทางที่เกมบน Facebook จะเปิดตัวมาแล้วดังเปรี้ยงปร้าง หรือมีคนเข้ามาเล่นอย่างล้นหลามในทันที ยุคสมัยนั้นมันจบไปแล้ว ต้องรับรู้ไว้เลยว่ามีคู่แข่งขันเยอะมาก ๆ</li>
<li>ในโลกมีคนเก่ง ๆ อยู่เยอะแยะ ออกไปสู้กับคนอื่นเขา ต้องกินให้น้อยกว่าเขา แต่ต้องทำให้ได้พอ ๆ กับเขา หรือด้อยกว่านิดหน่อยก็ยังดี</li>
<li>การลอกเลียนแบบเกมที่กำลังเป็นที่นิยมอยู่ คือการฆ่าตัวตาย เพราะผู้เล่นย่อมเลือกเล่นเกมต้นแบบซึ่งมันดีกว่าอยู่แล้ว</li>
<li>ผู้เล่นจะมีเกมในดวงใจอยู่ 2 ถึง 3 เกม จงทำให้เกมของเราเป็นเกมในดวงใจเกมที่ 4 หรือ 5 เพราะเวลาของผู้เล่นก็ไม่ได้มีมากมายอะไร เขาย่อมไม่มาสนใจเกมได้เป็นสิบ ๆ เกมหรอก</li>
<li>การเตรียม Infrastructure ใหญ่โตเอาไว้ เพราะคิดว่าจะมีผู้เล่นมากมาย กรูกันเข้ามาเล่นในฉับพลันทันที คือความเสี่ยง เพราะถ้าไม่มีผู้เล่นมากมายตามที่คิดเอาไว้ ต้นทุนของ Infrastructure มันจะย้อนกลับมาทำให้เราล่มจมทันที</li>
<li>การใช้ Cloud Computing เป็น Infrastructure นี่มันโคตรดีมาก ๆ เพราะถึงแม้ราคาปอนด์ต่อปอนด์จะแพงกว่าพวก Virtual Private Server หรือ Dedicated Server แต่ถ้าถึงเวลากลียุคทางต้นทุน มันก็ยืดหยุ่นจนนำพาให้เรารอดได้เหมือนกัน</li>
<li>การลดต้นทุนการพัฒนา, ลดต้นทุน Infrastructure และลดต้นทุนโฆษณา โดยไม่ทำให้การขับเคลื่อนเกมบน Facebook ได้รับผลกระทบ คือ ปัจจัยสำคัญที่จะทำให้เกมบน Facebook อยู่รอดไปได้เรื่อย ๆ โดยไม่เจ๊งบ๊งไปซะก่อน</li>
<li>คนอเมริกาเล่นเกมบน Facebook เยอะก็จริง แต่คนฟิลิปปินส์และคนอินโดนีเซีย ก็เล่นเกมเยอะไม่แพ้ชาติใดในโลกเหมือนกัน</li>
<li>การเขียนโปรแกรมคอมพิวเตอร์เก่ง, การวาดรูปเก่ง และการทำเสียงประกอบเกมได้เก่ง แทบกลายเป็นปัจจัยรองไปเลยในการทำเกมบน Facebook เพราะสิ่งที่สำคัญมันคือการจับกลุ่มผู้เล่นแบบเฉพาะเจาะจง และการทำให้ผู้เล่นจงรักภักดีต่อเกมต่างหาก ซึ่งทักษะที่จะทำได้มันเป็นทักษะทาง &#8220;การตลาด&#8221; เฟ้ย ไม่ใช่ทักษะทาง &#8220;วิทยาศาสตร์&#8221; เล้ย</li>
<li>ถ้าลูกเล่นหรือรูปแบบของเกมมันไม่โดน ต้องกล้าหาญที่จะรื้อถึงแก่นในทันที และถ้าการรื้อมันทำให้ผู้เล่นเกิดผลกระทบ ก็ต้องเตรียมการเพื่อชดใช้ให้แก่ผู้เล่น อย่างสมน้ำสมเนื้อเหมือนกัน</li>
<li>ผู้เล่นที่จงรักภักดีเป็นสิ่งที่สำคัญมาก เพราะเขาจะพยายามโน้มน้าว ชักชวน เผยแพร่ เพื่อให้เพื่อน ๆ ของเขาเข้ามาเล่นเกมที่เขากำลังเล่น ถึงแม้เพื่อนของเขาจะเล่นเกมอื่นอย่างติดหนึบอยู่แล้วก็ตาม</li>
<li>ภาษาอังกฤษเป็นสิ่งที่สำคัญมาก ในการสื่อสารกับผู้เล่นเกมบน Facebook ดังนั้น ต้องเขียนให้เป็นภาษาเขียน ใช้ไวยากรณ์ให้ถูกต้องแบบที่ฝรั่งเขาใช้ ไม่ใช่แบบที่คนไทยใช้สื่อสารกันเอง</li>
<li>การแปลข้อความในเกม ให้เป็นภาษาท้องถิ่นต่าง ๆ ยังไม่ใช่สิ่งสำคัญในตอนนี้</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1580/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Callback ของ Facebook Credits</title>
		<link>https://www.parinya.net/node/1547</link>
					<comments>https://www.parinya.net/node/1547#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 04 May 2011 09:46:13 +0000</pubDate>
				<category><![CDATA[Electronic Money]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WorkFlow]]></category>
		<category><![CDATA[credits]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook credits]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1547</guid>

					<description><![CDATA[คราวที่แล้วผมเพิ่งจะอธิบา]]></description>
										<content:encoded><![CDATA[<p>คราวที่แล้วผมเพิ่งจะอธิบาย<a href="https://www.parinya.net/node/1543">กลไกของ Facebook Credits</a> ไป แต่ว่ามันยังไม่ค่อยจะละเอียดซักเท่าไหร่ งั้นคราวนี้เอาใหม่เลยแล้วกัน เอาแบบละเอียด ๆ ถึงกึ๋นไปเลย บอกกันเจ๋ง ๆ ไปเลยว่ากลไกต่าง ๆ มันเกิดจังหวะไหนบ้าง แล้วก็เกิดตรงไหนบ้าง</p>
<figure id="attachment_1553" aria-describedby="caption-attachment-1553" style="width: 640px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2011/05/callback_facebook_credits1.png"><img fetchpriority="high" decoding="async" src="https://www.parinya.net/wp-content/uploads/2011/05/callback_facebook_credits1.png" alt="" title="Callback ของ Facebook Credits" width="640" height="593" class="size-full wp-image-1553" srcset="https://www.parinya.net/wp-content/uploads/2011/05/callback_facebook_credits1.png 640w, https://www.parinya.net/wp-content/uploads/2011/05/callback_facebook_credits1-300x277.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-1553" class="wp-caption-text">Callback ของ Facebook Credits</figcaption></figure>
<p>ภาพหนึ่งภาพแทนคำล้านคำ ดังนั้น ผมคิดว่าคนที่กำลังศึกษา Facebook Credits อยู่คงจะเข้าใจ ส่วนคนที่ยังไม่เคยศึกษาแต่กำลังคิดจะศึกษา เห็นแล้วก็คงจะพอเข้าใจได้เหมือนกันว่า จุดสำคัญของการเชื่อมโยงกับ Facebook Credits อยู่ตรงการ Callback ซึ่งจะแอบซ่อนอยู่ในส่วนของ PHP เป็นสำคัญ</p>
<p>ทาง Facebook ได้กำหนดลำดับขั้นของ Facebook Credits ไว้ 3 ขั้นอันได้แก่ Info, Placed และ Settled โดยให้ Callback ของแอ็ปของเรา เป็นตัวกำหนดและปรับเปลี่ยนลำดับขั้นโดยการตัดสินใจของแอ็บเราเอง</p>
<p>ส่วนจะข้ามขั้นตอนจาก Info ไป Settled ได้เลยหรือเปล่า อันนี้ไม่เคยลองเหมือนกัน</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1547/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>ใช้ Facebook Credits</title>
		<link>https://www.parinya.net/node/1543</link>
					<comments>https://www.parinya.net/node/1543#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Mon, 18 Apr 2011 05:07:47 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Electronic Money]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[WorkFlow]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook credits]]></category>
		<category><![CDATA[facebook credits api]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1543</guid>

					<description><![CDATA[ด้วยนโยบายอันเข้มงวดเด็ดข]]></description>
										<content:encoded><![CDATA[<p>ด้วยนโยบายอันเข้มงวดเด็ดขาดและโลภของ Facebook ซึ่งกำหนดให้ผู้พัฒนาเกมบน Facebook ต้องใช้ Facebook Credits เพื่อเป็น &#8220;เงินตราเสมือนจริง&#8221; หรือ &#8220;วิธีการชำระเงิน&#8221; บน Facebook แต่เพียงช่องทางเดียว จึงทำให้เกิดความเดือดร้อนเล็ก ๆ แก่ผู้พัฒนาเกมบน Facebook ที่จำต้องเปลี่ยนแปลง &#8220;วิธีการชำระเงิน&#8221; ของตัวเอง มาใช้ Facebook Credits แทน รวมทั้งความเดือดร้อนใหญ่ ๆ ที่ต้องจ่ายส่วยให้กับทาง Facebook ด้วย!!!</p>
<p>ผมเองก็ต้องเปลี่ยนกลไกของเกมของผมเหมือนกัน คือเปลี่ยนจาก &#8220;วิธีการชำระเงิน&#8221; ด้วย PayPal มาเป็น Facebook Credits โดยขอคงสิทธิ์ของ &#8220;เงินตราเสมือนจริง&#8221; ในเกมของตนเองเอาไว้ ไม่ใช้ Facebook Credits เพื่อเป็น &#8220;เงินตราเสมือนจริง&#8221; แต่ประการใด!!!</p>
<p>ทีนี้โดยทางเทคนิคต้องทำยังไงบ้างล่ะ? ก็ต้องโยนโค้ดที่ใช้เชื่อมโยงกับ Web Services ของ PayPal ทิ้งไปสินะ แล้วจากนั้นก็เชื่อมโยงกับ Facebook Credits ผ่านทาง SDK (Javascript + PHP) ที่ทาง Facebook จัดเตรียมเอาไว้ให้ พร้อมทั้งเข้าไปอ่าน<a href="http://developers.facebook.com/docs/creditsapi/">เอกสารของ Facebook</a> เพื่อทำความเข้าใจว่ากลไกของ Facebook Credits อ่ะมันเป็นยังไง</p>
<p>Facebook เองก็ทำ Flowchart เพื่ออธิบายกลไกให้เราเข้าใจ Facebook Credits เอาไว้บ้างเหมือนกัน แต่ประทานโทษอ่ะ มันไม่เห็นจะสอดคล้องกับความเป็นจริงในทางเทคนิคของโค้ดโปรแกรมเล้ย ดังนั้น ผมก็เลยต้องวาดเพื่อทำความเข้าใจเอง แบบข้างล่างนี้</p>
<figure id="attachment_1544" aria-describedby="caption-attachment-1544" style="width: 506px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png"><img decoding="async" src="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png" alt="" title="Facebook Credits" width="506" height="534" class="size-full wp-image-1544" srcset="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png 506w, https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits-284x300.png 284w" sizes="(max-width: 506px) 100vw, 506px" /></a><figcaption id="caption-attachment-1544" class="wp-caption-text">Facebook Credits</figcaption></figure>
<p>และนอกจากนี้ ผมยังได้พบจุดสังเกตในทางเทคนิค เกี่ยวกับ Facebook Credits อีกหลายอย่าง ไม่ว่าจะเป็น &#8230;</p>
<ul>
<li>ไม่ว่าผู้เล่นจะซื้อหรือไม่ซื้อของ Facebook ก็จะสร้างหมายเลข Order ให้ ถ้ามีการร้องขอ Dialog จาก Facebook</li>
<li>Facebook Credits API จะส่งข้อมูลที่ไม่ถูกเข้ารหัสมาหนึ่งชุด และข้อมูลที่ถูกเข้ารหัสมาอีกหนึ่งชุด กลับมาที่ Callback ของเรา (ภายหลังจากการร้องขอ Dialog) และเมื่อนำข้อมูลชุดที่สองที่ถูกเข้ารหัสมาถอดรหัสออก เราจะพบว่าข้อมูลที่ได้มันเหมือนเป๊ะกับชุดที่หนึ่งที่ไม่ถูกเข้ารหัสเลยว่ะ ซึ่งก็หมายความว่า Facebook จะให้เราตรวจสอบนั่นเอง ว่าเรากำลังโดน Hack หรือเปล่า โดนโกงโดยการปลอม JSON หรือเปล่า อะไรประมาณนี้</li>
<li>ตอนวาง Order ผ่านมาเป็น Callback เข้า PHP แต่ตอนจบ Order ดันผ่านมาเป็น Callback ใน Javascript แหม ทำได้ยอกย้อนจริง ๆ</li>
<li>ต้องไม่เขียนโค้ดให้เว่อร์เกินกว่าที่ Facebook Credits API กำหนดไว้ ยกตัวอย่างเช่น ถ้าเขาให้กำหนด Callback เป็น Function แยกต่างหาก ก็ต้องทำตามเขา อย่าบ้าพลังไปผนวก Callback เข้ากับ Function ที่จะเรียกมัน หรือพูดง่าย ๆ ก็คือ Facebook Credits API มันยังอ่อนแออยู่ ยังมีจุกจิกปัญหาเล็ก ๆ น้อยอยู่</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1543/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>เข้ามาพร้อม ๆ กันเลยพวก</title>
		<link>https://www.parinya.net/node/1526</link>
					<comments>https://www.parinya.net/node/1526#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 03:38:20 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[beelony]]></category>
		<category><![CDATA[concurrent]]></category>
		<category><![CDATA[facebook]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1526</guid>

					<description><![CDATA[ช่วงนี้ผมกำลังนั่งซ่อม Be]]></description>
										<content:encoded><![CDATA[<p>ช่วงนี้ผมกำลังนั่งซ่อม <a href="http://apps.facebook.com/beelony">Beelony</a> ครับ เพราะเจอกับปัญหา Concurrent!!!</p>
<p>ในทางคอมพิวเตอร์อ่ะ ไอ้เจ้า Concurrent จะหมายถึง อะไร ๆ ที่มันทำพร้อม ๆ กัน ทำขนานกัน แย่ง ยื้อ ยุด ฉุด กระชาก ทรัพยากรชิ้นเดียวกัน ซึ่งในที่นี้ก็คงหนีไม่พ้น &#8220;ข้อมูล&#8221; ซึ่งบรรจุอยู่ใน &#8220;สดมภ์&#8221; โดยประกอบอยู่ใน &#8220;ระเบียน&#8221; ของ &#8220;ตาราง&#8221; ใน &#8220;ฐานข้อมูล&#8221;!!!</p>
<p>ว่ากันตามจริงแล้ว ไอ้การทำเกมให้เป็นแบบ MMORPG นี่มันก็หินเหมือนกันเน้อะ เพราะมีความเป็นไปได้ที่ผู้เล่นซึ่งมีมากมายซะเหลือเกิน ที่เล่นในช่วงเวลาแคบ ๆ เวลาหนึ่ง จะพร้อมใจกันเข้าใช้ข้อมูลชุดเดียวกัน ซึ่งบังเอิ๊ญบังเอิญที่ชุดข้อมูลที่ว่านั้น ต้องการความสงบในการปรับปรุงเป็นอย่างมากซะด้วย คือ ขอให้ทำให้เสร็จก่อนได้มั้ยเว้ยเฮ้ย แล้วค่อยมาดึงเอาไปใช้อ่ะ ไม่ใช่กำลังเปลี่ยนแปลงอยู่ครึ่ง ๆ กลาง ๆ ก็ดันดึงเอาไปแบบนี้ งี้ก็เอาไปผิดอ่ะเด้!!!</p>
<p>ที่นี้เมื่อเจอกับปัญหาแบบนี้เราจะแก้ยังไงดี ติ๊กต่อก ๆ ๆ ๆ ในขั้นแรกผมก็คิดเอาไว้สองแบบ แบบแรก คือ การใช้กลไกของ RDBMS ทำการล็อกมันซะเลย ไม่ให้ใครได้ใช้ข้อมูลดุ้นนั้น ๆ จนกว่าจะปรับปรุงเสร็จ หรือ แบบสอง คือ จะไม่มีการปรัปปรุงใด ๆ ทั้งสิ้น จะตั้งหน้าตั้งตาเพิ่ม &#8220;ระเบียน&#8221; ข้อมูลเพียงอย่างเดียว แล้วเวลาจะใช้งานก็ค่อย ๆ เอา &#8220;ระเบียน&#8221; เหล่านั้นมายำรวม ๆ กัน แล้วทบยอดกันอีกทีนึง!!!</p>
<p>สุดท้าย ผมเลือกแบบที่สองอ่ะ เพราะมันง่ายดี แต่คงต้องลองตอนทดสอบใหญ่อีกทีว่ามันจะโอเคป่าว?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1526/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beelony รุ่น Alpha แบบจัดเต็ม</title>
		<link>https://www.parinya.net/node/1510</link>
					<comments>https://www.parinya.net/node/1510#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 02 Feb 2011 02:15:17 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[beelony]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[game]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1510</guid>

					<description><![CDATA[ถ้าเราเล่น Beelony ไปเรื่]]></description>
										<content:encoded><![CDATA[<p>ถ้าเราเล่น <a href="http://apps.facebook.com/beelony">Beelony</a> ไปเรื่อย ๆ ก็จะได้รวงเยอะ ๆ เหมือนในภาพข้างล่างนี้ บวกกับไอเท็มอีกเยอะแยะที่จะผลิตได้ ซึ่งมันเยอะเลยขี้เกียจจะนับ T-T</p>
<p><a href="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png"><img decoding="async" src="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png" alt="" title="Beelony รุ่น Alpha แบบจัดเต็ม" width="600" height="494" class="aligncenter size-full wp-image-1511" srcset="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png 600w, https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow-300x247.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<p>แต่ถึงมันจะเป็นรุ่น Alpha แต่มันก็มีคุณสมบัติใกล้เคียงกับตัว Production นะเอ้อ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1510/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>ผมใช้อะไรทำเกม?</title>
		<link>https://www.parinya.net/node/1468</link>
					<comments>https://www.parinya.net/node/1468#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Mon, 08 Nov 2010 02:39:35 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[เกม]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[web application]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1468</guid>

					<description><![CDATA[การทำเกม Facebook แบบ Web]]></description>
										<content:encoded><![CDATA[<p>การทำเกม Facebook แบบ Web-based Application ต้องใช้เครื่องมือหลายอย่าง และแต่ล่ะอย่างก็มีผู้ใจบุญสุนทานจัดสร้างเอาไว้ให้ใช้ (ขอขอบคุณเป็นอย่างยิ่ง) ดังนั้น เพื่อเป็นการแบ่งปัน ผมจึงขออธิบายว่าผมใช้เครื่องมืออะไรบ้างในการพัฒนาเกม โดยมีรายละเอียดดังต่อไปนี้</p>
<p><strong>Container</strong></p>
<ol>
<li><a href="http://www.easyphp.org/">EasyPHP</a> เอาไว้ทดสอบโปรแกรม</li>
</ol>
<p><strong>Editor</strong></p>
<ol>
<li><a href="http://notepad-plus-plus.org/">Notepad++</a> เอาไว้เขียนโปรแกรม</li>
<li>Photoshop CS5 เอาไว้วาดรูป</li>
</ol>
<p><strong>Software Developerment Kits</strong></p>
<ol>
<li><a href="https://github.com/facebook/php-sdk/">Facebook PHP SDK</a> เอาไว้ต่อเชื่อมกับ Facebook ด้วย PHP</li>
<li>Facebook Javascript SDK เอาไว้ต่อเชื่อมกับ Facebook ด้วย Javascript เพื่อเสริมลูกเล่นในการตอบโต้</li>
<li><a href="http://www.jquery.com">jQuery</a> ใช้เพราะขี้เกียจมาทำ Javascript Framework เอง (โดยเฉพาะ AJAX นี่ ขี้เกียจทำเองมากกกกกกกกก)</li>
<li><a href="http://www.jqueryui.com">jQueryUI</a> เอาไว้ทำพวก Dialog, Slide และ Tab </li>
</ol>
<p><strong>Manual</strong> (อันนี้สำคัญมาก ถ้าไม่มีนี่ ถึงขนาดหูหนวกตาบอดเลยทีเดียว)</p>
<ol>
<li><a href="http://www.w3schools.com/tags/default.asp">Tags HTML</a> เอาไว้หารายละเอียดของ Tag HTML เพราะผมไม่เคยจำ</li>
<li><a href="http://www.w3schools.com/js/default.asp">Javascript</a> ไอ้เจ้า Javascript ผมก็ไม่เคยจำ</li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/">MySQL 5.1</a> ลำพังคำสั่ง SQL พื้น ๆ น่ะจำไม่ยากหรอก แต่ถ้าเป็นพวกคำสั่งเล็ก ๆ น้อย ๆ เนี่ย จำไม่ได้อ่ะ T-T</li>
<li><a href="http://www.w3.org/TR/CSS21/propidx.html">CSS</a> นี่ผมก็ไม่จำ เวลาจะใช้ก็ค้น ๆ เอา</li>
<li><a href="http://developers.facebook.com/docs/reference/api/">Facebook Graph API</a> พอดีผมเริ่มมาทำ Facebook App ตอนที่ Facebook เปลี่ยน Core API มาเป็น Graph API พอดี ก็เลยไม่ต้องไปอ่านของเก่า ดีเหมือนกัน</li>
<li><a href="http://developers.facebook.com/docs/reference/javascript/">Facebook Javascript API</a> จำไม่ได้อ่ะ ไม่เคยจำ อาศัยอ่าน ๆ แล้วทำตาม</li>
<li><a href="http://www.regular-expressions.info/reference.html">Regular Expression</a> เอาไว้ค้นไวยากรณ์ประหลาด ๆ ที่ไม่ค่อยได้ใช้บ่อยนัก</li>
<li><a href="http://www.php.net/manual/en/">PHP</a> ต้องใช้ เพราะไม่เคยจำคำสั่ง</li>
</ol>
<p>ส่วนที่เหลือก็เป็นจินตนาการ ความคิดสร้างสรรค์ และก็ความอึด (เพราะต้องทำซ้ำเป็นร้อย ๆ ครั้ง เพื่อให้ได้ผลลัพธ์ที่ถูกต้องแม่นยำ ทำซ้ำได้ และเป็นวิทยาศาสตร์)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1468/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>มารผจญ</title>
		<link>https://www.parinya.net/node/1462</link>
					<comments>https://www.parinya.net/node/1462#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 22 Oct 2010 15:15:52 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[web application]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1462</guid>

					<description><![CDATA[หลังจากตั้งอกตั้งใจเจียดเ]]></description>
										<content:encoded><![CDATA[<p>หลังจากตั้งอกตั้งใจเจียดเวลาหลังเลิกงานมาเขียนเกมแบบ Web Application บน Facebook ทำให้ผมได้รู้เรื่องสำคัญอย่างหนึ่งว่า &#8230;</p>
<p>มารที่มารบกวนผม ทำให้ผมพัฒนาเกมฯที่ว่าไปไม่ถึงไหน ไม่ใช่กลไก Facebook, ไม่ใช่ jQuery และไม่ใช่ PHP หากแต่เป็น Web Browser!!!</p>
<p>มันเป็นเรื่องที่แย่มาก ที่ Web Browser ที่ใช้โดยคนส่วนน้อย ไม่ว่าจะเป็น Firefox, Chrome, Opera หรือ Safari ไม่เคยสร้างปัญหาจุกจิกให้กับผมเลย ในขณะที่ Internet Explorer ซึ่งเป็น Web Browser ที่ใช้โดยคนส่วนใหญ่ กลับสร้างปัญหาจุกจิกให้กับผมได้มากมายอย่างยิ่ง</p>
<p>ไอ้อะไรที่ทำบน IE ได้ จะทำบนตัวอื่น ๆ ไม่ได้ และไอ้อะไรที่ทำบนตัวอื่น ๆ ได้ กลับไม่สามารถทำบน IE ได้!!!</p>
<p>เคล็ดอย่างหนึ่งที่ผมพบก็คือ IE เป็น Art ตัวแม่!!!  มันจะคอยจับผิดไอ้โน่นไอ้นี่อยู่ตลอดเวลา แต่ไม่เคยบอกเราจริง ๆ แม่น ๆ หรือตรง ๆ ตำแหน่ง ว่าไอ้ที่มันบอกว่าผิดอ่ะ มันตรงไหนกันแน่ บอกอ้อม ๆ อยู่นั่นแหล่ะ ที่สำคัญยังเถรตรงติงต๊องอีกต่างหาก ไอ้บางอย่างที่ Web Browser ตัวอื่นเขาหยวน ๆ มันก็ไม่หยวน </p>
<p>ส่วนไอ้บางอย่างที่ชาวบ้านเขาไม่หยวนแต่มันกลับหยวน!!!</p>
<p>T-T ผมเพิ่งจะได้เข้าใจอย่างลึกซึ้งก็ช่วงนี้นี่แหล่ะ ว่าความรู้สึกเสน่หาต่อ IE ของเหล่าคนไอทีไทยนั้นมันเป็นแบบนี้นี่เอง!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1462/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>เขียนเกมบน Facebook</title>
		<link>https://www.parinya.net/node/1448</link>
					<comments>https://www.parinya.net/node/1448#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 22 Sep 2010 15:43:52 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[เกม]]></category>
		<category><![CDATA[เขียนเกม]]></category>
		<category><![CDATA[facebook]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1448</guid>

					<description><![CDATA[ช่วงนี้ผมกำลังเขียนเกมบน ]]></description>
										<content:encoded><![CDATA[<p>ช่วงนี้ผมกำลังเขียนเกมบน Facebook อยู่ครับ (หลังจากที่เล่นเกมของชาวบ้านจนติดงอมแงม) คิดว่าจะเขียนเอาไว้เพื่อให้มันเป็นสินทรัพย์ส่วนตัว (เสมือนจริง) อีกชิ้นหนึ่ง นอกเหนือจากการที่มีเว็บไซต์เป็นของตัวเอง!!!</p>
<p>ผมเลยต้องปัดฝุ่นทักษะเดิม ๆ เพื่องัดเอาออกมาใช้หลายกระบวนวิชาเลย (วัน ๆ เอาแต่สั่งชาวบ้านก็งี้แหล่ะ ถึงเวลาจะต้องทำเองเลยไม่ค่อยคล่อง)</p>
<p>โดยส่วนตัวแล้วผมเคยแต่เขียนโปรแกรมเชิงระบบ หรือไม่ก็โปรแกรมจำพวก ERP  (เมื่อนานหลาย ๆ ๆ ปีมาแล้ว) พอมาคราวนี้เลยได้ทักษะสนุก ๆ ใหม่ ๆ หลาย ๆ อย่างที่ผมไม่เคยรู้มาก่อน (ถ้าไม่มาเขียนเกมก็ไม่รู้) อาทิ เช่น</p>
<ol>
<li>ผมยินดีที่จะสร้าง Framework แบบ Model (เฉย ๆ) มากกว่าที่จะเลือกใช้ Framework แบบ Model-View-Controller เพราะมันเบาสบายอย่างที่ไม่เคยรู้สึกมาก่อน</li>
<li>โปรแกรม Photoshop เป็นโปรแกรมยอดนิยมชนิดเดียวที่ผมไม่เคยศึกษา เพราะรู้สึกว่ามันใช้ยาก สับสน และน่ากลัว แต่หลังจากที่ได้ลองใช้มันอย่างจริงจัง ทำให้ผมรู้ว่า สิ่งที่น่ากลัวไม่ใช่เครื่องมือของ Photoshop (หัดแค่สองวันก็เป็นแล้ว) หากแต่เป็นจินตนาการทางจิตรกรรมอันตีบตันของผมต่างหาก (สรุปคือผมกลัว Photoshop เพราะผมกระจอกเรื่องศิลปะนั่นเอง)</li>
<li>ผมเรียนโปรแกรมคอมพิวเตอร์ทุกตัว โดยการทดลองใช้งานมันด้วยตัวเองหรืออ่านจากคู่มือ (ไม่ต้องให้ใครมาสอนเฟ้ย) แต่กับโปรแกรม Blender ผมกลับต้องไปดาวน์โหลดคลิปวีดีโอที่สอนเรื่องนี้โดยเฉพาะมานั่งเรียน (เป็นคลิปวีดีโอที่ดีมาก ต้องขอบคุณ SIPA มา ณ ที่นี้) มันโคตรเป็นเครื่องมือที่ซับซ้อนจนไม่มีปัญญาหัดเองจริง ๆ เลย (ว่ะ) ขอบอก</li>
<li>การเขียนโปรแกรมเพื่อให้ทำงานบน Platform เฉพาะ แม้จะมีข้อเสียร้ายแรงตรงที่เราต้องผูกยึดกับ Platform ดังกล่าว แต่ก็มีข้อดีสุดโต่งอยู่ที่เราไม่จำเป็นต้องจัดการเรื่อง Authentication และ Theme เองอีกต่อไป (อันนี้ดีโคตร ๆ เชียวแหล่ะ)</li>
<li>ผมเพิ่งจะค้นพบว่า การใช้งาน array บน php สามารถพลิกแพลงได้อย่างสลับซับซ้อน เกินจินตนาการอย่างไม่มีที่สิ้นสุด</li>
<li>ไม่น่าเชื่อว่า ทักษะในการออกแบบฐานข้อมูล จะสำคัญพอ ๆ กับทักษะในการเขียนโปรแกรม และทักษะในการกำหนด Infrastructure ที่เราใช้ (ตอนแรกผมนึกว่าฐานข้อมูลน่าจะสำคัญน้อยกว่านิดนึง)</li>
</ol>
<p>ที่สำคัญ มันทำให้ผมเรียบเรียงได้ว่า การเขียนเกมบน Facebook นั้น เราจะต้องรู้และมีทักษะหลาย ๆ อย่างมากมายเลย ซึ่งได้แก่ &#8230;</p>
<p>รู้ภาษา HTML, เขียน CSS เป็น, เขียนภาษา Script เป็น (เช่น PHP, JavaScript, ActionScript, ECMAScript), รู้หลักการ OOP, รู้หลักการ Model-View-Controller, เขียน SQL เป็น, รู้กลไกของ RDBMS ที่ใช้ (เช่น mySQL), ออกแบบฐานข้อมูลได้ (เช่น แบบ RDS), เข้าใจใน Facebook Platform, เข้าใจใน Web Service (เช่น REST, JSON), ใช้ Graphic Editor คล่อง (เช่น Photoshop), ทำ 3D Modeling เป็น (เช่น Blender), เขียน Adobe Flash ได้, ใช้ Javascript Framework เป็น (เช่น jQuery), วาดรูปเก่ง, ติดตั้ง Infrastructure ได้ (เช่น Shared Hosting, Dedicated Server, Co-Location, Virtual Private Server, Cloud Computing) เป็นต้น</p>
<p>ต่อไปไม่แน่ว่า อาจจะต้องใช้ความรู้ชั้นสูงจำพวก AI ด้วยก็เป็นได้!!!</p>
<p>สรุปว่า การเขียนเกมบน Facebook นั้นไซร้ ช่างใช้ทักษะได้ครอบจักรวาลจริง ๆ เลย พับผ่าสิ!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1448/feed</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>วิธีใช้ Amazon EC2 เพื่อประมวลผล Facebook Application</title>
		<link>https://www.parinya.net/node/1436</link>
					<comments>https://www.parinya.net/node/1436#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 09 Sep 2010 10:32:38 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[ประมวลผล]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook application]]></category>
		<category><![CDATA[web application]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1436</guid>

					<description><![CDATA[ผมเขียนภาพข้างล่างนี้ขึ้น]]></description>
										<content:encoded><![CDATA[<p>ผมเขียนภาพข้างล่างนี้ขึ้นมาอย่างพื้นฐานและง่ายที่สุด เพื่อแจกแจงว่า ถ้าหากเราต้องการใช้ Amazon EC2 เพื่อประมวลผล Facebook Application แล้วล่ะก็ มันจะมีรูปภาพออกมาเป็นยังไง?</p>
<p><a href="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg"><img loading="lazy" decoding="async" src="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg" alt="" title="Facebook โดย Amazon Web Service" width="638" height="295" class="aligncenter size-full wp-image-1437" srcset="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg 638w, https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws-300x138.jpg 300w" sizes="auto, (max-width: 638px) 100vw, 638px" /></a></p>
<p>อธิบายภาพข้างบนสั้น ๆ ได้ดังนี้</p>
<ol>
<li>คุณต้องติดตั้ง Facebook Canvas เป็น, เข้าใจใน Facebook Graph API และเข้าใจใน Facebook Client Libraries (ทั้งหมดฟรี)</li>
<li>คุณต้องจดทะเบียน Domain (เสียตังค์) กับ Domain Registrar (Domain ที่ว่าก็คือ ไอ้พวก http://www.yourdomain.com อะไรเทือกนั้นแหล่ะ) เช่น Godaddy เป็นต้น</li>
<li>คุณต้องจดทะเบียน DNS (เสียตังค์) กับ DNS Provider เพื่อที่คุณจะได้ผูก Domain ของคุณเข้ากับ Amazon EC2 ได้</li>
<li>คุณต้องสมัครเพื่อใช้งาน Amazon EC2 (ไม่ต้องเสียตังค์) แล้วเข้าไปสร้าง Application + Db Instance (เสียตังค์ตามการใช้งาน) โดยสร้างขึ้นมาแค่ Instance เดียวก็พอ (ต่อไปถ้าคุณเก่ง คุณสามารถสร้างเยอะ ๆ ก็ได้นะเออ)</li>
<li>คุณต้องสร้าง Elastic IP ขึ้นมา (เสียตังค์) เพื่อให้ Instance ของคุณ สามารถติดต่อกับโลกภายนอกได้ โดยสร้างแค่ IP เดียวก็พอ (ก็ใช้แค่ Instance เดียวไง ก็เลยใช้แค่ IP เดียวก็พอ)</li>
<li>บังเอิญว่า Instance ใน Amazon EC2 เป็นพวกความจำสั้น ดังนั้น ถ้ามันโดน Restart หรือ Terminate เมื่อไหร่ล่ะก็ มันจะลืมทุกอย่างไปหมดเลย (รวมทั้ง Code และ DB ด้วย) ดังนั้น น่าจะเป็นการดี หากเราจะสร้าง Elastic Block Store ขึ้นมา (เสียตังค์) เพื่อเอามาเป็นที่พักข้อมูลจาก Instance เผื่อว่า Instance มันล่มหรืออะไรยังไง มันจะได้มีตัวสำรอง</li>
<li>แต่ถ้าคุณคิดว่า Elastic Block Store จะไม่ชัวร์ กลัวว่าตัวมันเองก็อาจจะล่ม คุณก็สามารถจะติดตั้ง Snapshot To S3 (เสียตังค์) เพื่อให้มันทยอยโอนข้อมูลของคุณ ไปเก็บไว้ใน Bucket (เสียตังค์) ของ Amazon S3 ก็ได้ (คุณต้องสมัครเพื่อขอใช้ Amazon S3 อันนี้ฟรี ไม่เสียตังค์)</li>
</ol>
<p>สรุปว่าจะประมวลผล Facebook Application บน Amazon EC2 ก็ต้องจ่ายพอตัวเหมือนกัน แต่ถ้าทำออกมาดี ๆ ก็น่่าจะคุ้มอ่ะนะ เพราะถ้าให้ไปประมวลผลบน Shared Hosting ก็คงไม่ได้ เพราะทรัพยากรจำกัดจำเขี่ยเหลือเกิน เกิดผีเข้าผีออก มีคนเข้า Facebook Application ของเราเยอะขึ้นมา ไปทำ Shared Hosting เขาล่ม เดี๋ยวเขาจะเฉดหัวออกมาแทบไม่ทัน</p>
<p>ส่วนจะไปประมวลผลบน Dedicated Server หรือ Virtual Private Server ก็ยุ่งยาก ต้องติดตั้งทุกอย่างเองทั้งหมด (Amazon EC2 มันเทพ สั่งสร้าง Instance โป้งเดียว มันติดตั้งระบบปฏิบัติการและปรับแต่งทุกอย่างให้หมดเลย)</p>
<p>ยิ่งเป็น Co-Location ก็ยิ่งแล้วใหญ่ เพราะเดี๋ยวนี้ฮาร์ดแวร์มันทันสมัยขึ้นแทบทุกวี่ทุกวัน จะให้เช่าซื้อ Server มาเป็นของตัวเองมันจะไม่คุ้ม แบบว่ายังไม่ทันไร Server ที่มีก็ตกยุคซะแล้ว หรือถ้าไม่ตกยุค แต่ต้องมาอัด RAM ทำ Server Farm เองก็หลังแอ่นเหมือนกัน</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1436/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
