<?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>We Project</title>
	<atom:link href="http://www.we.in.th/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.we.in.th</link>
	<description>Fabric of the Symphony</description>
	<lastBuildDate>Sat, 05 May 2012 14:57:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MySQL:: mysql_fetch_object</title>
		<link>http://www.we.in.th/mysql-mysql_fetch_object/</link>
		<comments>http://www.we.in.th/mysql-mysql_fetch_object/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 14:34:32 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1396</guid>
		<description><![CDATA[*บันทึกไว้อ่านกันลืม พอดีวันนี้ได้กลับมาเขียน PHP แบบที่ต้องเชื่อมต่อกับฐานข้อมูลเองผ่าน mysql_* ที่ติดมากับ PHP หลังจากไม่ได้ใช้มานานแล้วตั้งแต่สมัยมหาวิทยาลัย แต่หลังจากใช้ไปได้สักพักก็เกิดความรู้สึกที่ว่าการใช้ mysql_fetch_array เหมือนที่เคยใช้มันไม่ค่อยสวยเท่าไหร่ พอดีเหลือบไปเห็น mysql_fetch_object เมื่อก่อนก็เคยใช้ แต่พี่งสังเกตว่าเราสามารถระบุคลาสมารับข้อมูลที่อ่านมาได้ เหมือนกับ Object Model ในพวก ORM วันนี้ก็เลยลองของสักหน่อย ได้โค้ดทั้งหมดดังนี้ &#60;?php $connection = null; function __db_connection() { global $connection; $connection = mysql_pconnect( '127.0.0.1', 'foo', 'bar' ); if ( &#8230; <a href="http://www.we.in.th/mysql-mysql_fetch_object/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/mysql-mysql_fetch_object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set Up GHUnit for iOS</title>
		<link>http://www.we.in.th/how-to-set-upghunit-for-ios/</link>
		<comments>http://www.we.in.th/how-to-set-upghunit-for-ios/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 12:05:09 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1366</guid>
		<description><![CDATA[อยากลองทำ TDD บน iOS ดูบ้าง เลยเห็นว่ามี Test Framework อยู่ 2 ตัวบน iOS ที่น่าสนใจ คือ SenTesting ที่เป็น Build-in Framework ของ Xcode และ GHUnit ที่เป็น 3rd-party แต่เท่าที่ลองดูแล้ว GHUnit จะมีส่วนแสดงผลดีกว่า SenTesting มาก ซึ่งในตอนนี้จะพูดถึงการติดตั้งและใช้งานเบื้องต้นของ GHUnit เท่านั้นนะครับ ยังไม่ลงรายละเอียดการใช้งานมาก เนื่องจากการเขียน Test Case นั้นสามารถศึกษาได้ทั่วไปครับ ก่อนอื่นต้องเริ่มสร้างโปรเจคหลักขึ้นมาก่อน โดยในที่นี้ตั้งชื่อว่า Gyro &#8230; <a href="http://www.we.in.th/how-to-set-upghunit-for-ios/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/how-to-set-upghunit-for-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to force eject a stuck cd/dvd in Macs</title>
		<link>http://www.we.in.th/how-to-force-eject-a-stuck-cddvd-in-macs/</link>
		<comments>http://www.we.in.th/how-to-force-eject-a-stuck-cddvd-in-macs/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 09:51:35 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1355</guid>
		<description><![CDATA[เนื่องจากซ่อมเครื่อง iMac แล้วแผ่นมัน Snow Leopard ที่ซื้อมามันติดอยู่ในเครื่องแล้วเครื่องเจ้ากรรมมันก็บูตไม่ได้แล้วด้วย สุดท้ายเลยนั่งหาข้อมูลเพื่อดึงแผ่นออก ซึ่งวิธีการก็ไม่ได้มีอะไรพิศดาร แค่ Interface มันเป็น Slot Load แค่นั้น ก่อนอื่นเตรียมกระดาษ A4 1 แผ่น พับให้ขนาดเท่ากับปุ่ม delete บนเครื่อง รีดให้แบนพอประมาณ เนื่องจากต้องการความแข็งสักหน่อย ทำไมต้องใช้กระดาษก็เพราะถ้าใช้แผ่นพลาสติกหรือวัสดุอื่นอาจจะเข้าไปโดนชิ้นส่วนด้านในเสียหายครับ อีกอย่างกระดาษมีปัญหาเรื่องไฟฟ้าสถิตน้อยมาก จากนั้นก็เอาแผ่นกระดาษที่พับแล้วแหย่เข้าไปในด้านขวาสุดฝั่งตรงข้ามกับช่องทำหรับล็อคเครื่อง (Kensington Security Slot) แหย่เข้าไปสัก 1.5 นิ้วครับจากนั้นจะได้ยินเสียงที่เครื่องกำลังจะดันแผ่นออกที่รอคอยครับ ถ้าเครื่องปิดอยู่ก็เปิดซะก่อน เนื่องจากเป็น slot-load เลยต้องใช้กระแสไฟฟ้าสำหรับดันแผ่นออกมาด้วยครับ]]></description>
		<wfw:commentRss>http://www.we.in.th/how-to-force-eject-a-stuck-cddvd-in-macs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eclipse configurations for OpenCV in Mac OS X 10.7</title>
		<link>http://www.we.in.th/eclipse-configurations-for-opencv-in-mac-os-x-10-7/</link>
		<comments>http://www.we.in.th/eclipse-configurations-for-opencv-in-mac-os-x-10-7/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 16:28:06 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1315</guid>
		<description><![CDATA[บันทึกไว้กันลืม เพราะพึ่งเคยใช้ CDT (C/C++ Development Tooling) บน eclipse แล้วยิ่ง C/C++ นี่มากสุดก็แค่คำนวณ Arithmetics ธรรมดา แต่ช่วงนี้ต้องเอา C/C++ มาใช้งานในเชิงคำนวณหนักๆ อย่างเช่น OpenCV ด้วยแล้วก็กระอัดเลือดเหมือนกัน ส่วนปัญหาที่เจอคือทุกครั้งที่คอมไฟล์จะเจอข้อความด้านล่าง ทั้งๆ ที่ก็กำหนดทุกอย่างไว้อย่างที่ฝรั่งส่วนใหญ่บอกแล้ว ld: symbol(s) not found for architecture x86_64 ซึ่งเท่าที่หาดูเป็นเพราะสถาปัตยกรรมของ CPU ที่ใช้อยู่ ตอนแรกยังคิดว่าเป็นเพราะ OS ที่ทำงานแบบ 64-bit mode เลยหาทางทุกวิธีที่จะเปลี่ยนให้ 10.7 ทำงานในแบบ &#8230; <a href="http://www.we.in.th/eclipse-configurations-for-opencv-in-mac-os-x-10-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/eclipse-configurations-for-opencv-in-mac-os-x-10-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS X 10.7 in 32-bit Mode</title>
		<link>http://www.we.in.th/os-x-10-7-in-32-bit-mode/</link>
		<comments>http://www.we.in.th/os-x-10-7-in-32-bit-mode/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 04:07:07 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[10.7]]></category>
		<category><![CDATA[32-bit mode]]></category>
		<category><![CDATA[64-bit mode]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1311</guid>
		<description><![CDATA[ฟังดูเป็นเรื่องที่ไม่ค่อยจะเกิดขึ้นบ่อยเท่าไหร่ แต่มันก็เกิดขึ้นแล้ว เพราะตอนนี้งานที่ต้องทำรองรับแค่ 32-bit จะเกิดปัญหาเมื่อระบบปฏิบัติการเป็น 64-bit ซึ่งตอนนี้ใช้ OS X 10.7 โดยปกติแล้ว 10.7 จะบูตเครื่องขึ้นมาแล้วทำงานแบบ 64-bit ตอนแรกยังคิดไปว่าท่าทางจะต้องกลับไปใช้ 10.6 ซะแล้ว แต่ก็เห็นมีคนตั้งคำถามใน Apple Support Communities เหมือนกันว่าถ้าอยากให้ 10.7 ทำงานในรูปแบบ 32-bit จะทำได้ไหม และทำอย่างไร สุดท้ายก็มีคนมาตอบครับ โดยอ้างจากข้อมูลช่วยเหลือของ Apple อีกที การสลับไปมาง่ายมากครับ ถ้าต้องการสลับไปเป็น 32-bit ก็ให้รีบูตเครื่องใหม่แล้วกดปุ่ม 3 และปุ่ม 2 ค้างไว้ และถ้าต้องการให้ &#8230; <a href="http://www.we.in.th/os-x-10-7-in-32-bit-mode/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/os-x-10-7-in-32-bit-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocoa Style for Objective-C: Part II</title>
		<link>http://www.we.in.th/cocoa-style-for-objective-c-part-2/</link>
		<comments>http://www.we.in.th/cocoa-style-for-objective-c-part-2/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 09:30:53 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1249</guid>
		<description><![CDATA[จาก Cocoa Style for Objective-C ตอนแรก ได้พูดการตั้งชื่อคลาส เมธอด และตัวแปรไปแล้วนั้น ตอนนี้ก็จะพูดถึงรายละเอียดที่มากขึ้นไปอีกในการตั้งชื่อที่มากไปกว่าครั้งก่อน เพราะด้วยไวยกรณ์และลักษณะของภาษา Objective-C ที่แปลกออกไปจากหลายๆ ภาษาอื่น เช่น C/C++, Java หรือ PHP และด้วยวิถีของ Apple ที่วางเอาไว้ว่าการกำหนดชื่อส่วนประกอบต้องอ่านแล้วเข้าใจได้ง่าย อธิบายได้ด้วยตัวของมันเอง บล็อกนี้เรียบเรียงเนื้อหามาจาก Cocoa Dev Central : Cocoa Style for Objective-C Part I, Part II ชื่อเมธอด: ออบเจ็คที่คืนกลับมา การเข้าถึงข้อมูลภายในออบเจ็คผ่าน accessor, &#8230; <a href="http://www.we.in.th/cocoa-style-for-objective-c-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/cocoa-style-for-objective-c-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slide: Introduction to WordPress Theme Development</title>
		<link>http://www.we.in.th/slide-introduction-to-wordpress-theme-development/</link>
		<comments>http://www.we.in.th/slide-introduction-to-wordpress-theme-development/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 12:13:47 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Update]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1241</guid>
		<description><![CDATA[Introduction to WordPress Theme Development View more presentations from Sitdhibong Laokok อาจจะต้องสอนน้องที่ทำงานเรื่องการเขียนธีมให้เวิร์ดเพรส เลยทำเป็นสไลด์ไว้สอนเลยดีกว่า ตอนนี้รีบๆ ขอเป็นแบบ Intro. ไปก่อน โอกาสหน้าค่อยเจาะลึก]]></description>
		<wfw:commentRss>http://www.we.in.th/slide-introduction-to-wordpress-theme-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Core Data in Action: Why I Did It</title>
		<link>http://www.we.in.th/core-data-in-action-3-why-i-did-it/</link>
		<comments>http://www.we.in.th/core-data-in-action-3-why-i-did-it/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 03:18:35 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1178</guid>
		<description><![CDATA[จากที่เคยเขียนบล็อกเรื่อง Core Data ทั้ง 2 ตอน (Application Layout, Development Phase) เท่าที่ลองอ่านแล้วตั้งคำถามกับตัวเองแบบคนไม่รู้ก็ได้คำถามที่ว่าทำไมต้องใช้อันนั้น ไม่ใช้ได้ไหม หรือแล้วไอ้นี่มันมีประโยชน์อะไร มีหลายข้อเหมือนกัน สุดท้ายก็เลยคิดว่าคนที่อ่านก็น่าจะคิดและเจอปัญหาแบบเดียวกัน จากเดิมที่เปลี่ยนให้บล็อกมีแค่ 2 ตอนจบ เลยกลับมาเป็นแบบเดิมที่ตั้งใจไว้ว่าน่าจะมีตอนสรุปจบตอนที่ 3 ด้วย ซึ่งตอนนี้ก็อย่างที่ได้เกริ่นไปแล้วว่าคงจะเป็นเหมือน faq ของวิธีการพัฒนาที่ผมเขียนไปแล้วครับ Core Data มันหน้าตาเป็นอย่างไร fig.1: Core Data Stack อย่างที่ได้บอกในตอนแรกว่า ถ้ามองอย่างง่ายที่สุดเพื่อให้เห็นภาพ Core Data คือ Object-Relational Mapping (ORM) ชนิดหนึ่ง &#8230; <a href="http://www.we.in.th/core-data-in-action-3-why-i-did-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/core-data-in-action-3-why-i-did-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps + Geocoder Services: Part II</title>
		<link>http://www.we.in.th/google-maps-and-geocoder-services-part-2/</link>
		<comments>http://www.we.in.th/google-maps-and-geocoder-services-part-2/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 07:11:28 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Maps]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=1146</guid>
		<description><![CDATA[จากตอนแรก ได้อธิบายถึงการทำงานของโค้ดและได้สร้างรายการการแก้ไขไปแล้วบางส่วน โดยมีรายการของงานที่ต้องทำคือ ประกาศตัวแปร maps, marker และ latlng เป็นตัวแปรแบบ global ลบการประกาศตัวแปร info และการแมพเหตุการณ์ &#8216;click&#8216; ในฟังก์ชั่น initWithMapStart และลบฟังก์ชั่น errorOccur แก้ไข callback function ของ navigator.geolocation.getCurrentPosition แก้ไขฟังก์ชั่น panToCurrentLocation เพิ่มฟังก์ชั่น resolveGeocoding, displayGeocodingResult โดยที่ 3 ข้อแรกนั้นได้แก้ไขไปแล้วเรียบร้อยใน Part I ในตอนนี้จะเป็นตอนสุดท้ายที่ถือได้ว่าเป็นหัวใจของเรื่องนี้ นั่นก็คือการส่งค่าพิกัดให้กับ Google และนำค่าที่ได้มาแสดงผลผ่าน InfoWindow จึงถือเป็นการสิ้นสุดการทำงานที่ได้วางไว้ข้างต้น เริ่มส่วนที่เหลือกันเลยดีกว่า &#8230; <a href="http://www.we.in.th/google-maps-and-geocoder-services-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/google-maps-and-geocoder-services-part-2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Google Maps + Geocoder Services: Part I</title>
		<link>http://www.we.in.th/google-maps-and-geocoder-services-part-1/</link>
		<comments>http://www.we.in.th/google-maps-and-geocoder-services-part-1/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 06:46:40 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Maps]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=839</guid>
		<description><![CDATA[จากบล็อกทั้ง 2 ตอนก่อนหน้านี้ (แนะนำการใช้งาน Google Maps V3 และ การใช้ Google Maps ร่วมกับความสามารถของ HTML5) ที่แนะนำการนำเอาแผนที่ของ Google Maps เข้ามาใช้ในเว็บไซต์และการหาตำแหน่งผู้ใช้โดยอาศัยความสามารถใหม่ที่เพิ่มเข้ามาใน HTML5 ซึ่งเว็บไซต์ส่วนใหญ่รองรับความสามารถนี้แล้ว หลังจากพบตำแหน่งผู้ใช้เรียบร้อยแล้ว นักพัฒนาคงได้แค่เพียงแต่แหน่งพิกัดเท่านั้นซึ่งนั่นค่อนข้างยากหากต้องการพัฒนาแอพพลิเคชั่นที่จะส่งข้อมูลที่เกี่ยวข้องกับผู้ใช้ (หรือคิดว่าน่าจะมีประโยชน์กับผู้ใช้) โดยอาศัยตำแหน่งของผู้ใช้เป็นสำคัญ ดังนั้นที่เราต้องการหลังจากได้พิกัดตำแหน่งของผู้ใช้มาเรียบร้อยแล้ว ก็คงต้องสร้างฐานข้อมูลขนาดใหญ่ที่เก็บพิกัดตำแหน่งต่างๆ แล้วเชื่อมโยงไม่ยังชื่อสถานที่ที่ต้องการ ในกรุงเทพหรือต่างจังหวัดและขยายไปทั้งประเทศ แต่โชคดีหน่อยที่เราไม่ต้องทำแบบบที่ว่านั้นเองทั้งหมด เพราะ Google Maps มีฟังก์ชั่นที่ช่วยให้เราแปลงพิกัดตำแหน่งละติจูด (Latitude) และลองติจูด (Longitude) ให้กลับเป็นข้อมูลที่อยู่ในรูปแบบที่มนุษย์อ่านได้ซึ่งบริการนี้เป็นส่วนหนึ่งของ Google Maps Services ซึ่งเรียกว่า &#8230; <a href="http://www.we.in.th/google-maps-and-geocoder-services-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/google-maps-and-geocoder-services-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

