<?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 &#187; Programming</title>
	<atom:link href="http://www.we.in.th/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.we.in.th</link>
	<description>Fabric of the Symphony</description>
	<lastBuildDate>Sun, 05 Feb 2012 10:04:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>Cocoa Style for Objective-C: Part I</title>
		<link>http://www.we.in.th/cocoa-style-for-objective-c-path-1/</link>
		<comments>http://www.we.in.th/cocoa-style-for-objective-c-path-1/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 04:50:49 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<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=1039</guid>
		<description><![CDATA[สำหรับการเริ่มเขียนภาษา Objective-C หรือภาษาคอมพิวเตอร์อื่นๆ ไม่ว่าจะเป็น Java, C หรือ PHP สิ่งสำคัญอย่างหนึ่งนอกจากจะต้องเข้างใจกลไกการทำงานของภาษานั้นๆ แล้ว ก็จำเป็นต้องเข้าใจธรรมชาติของลักษณะการกำหนดชื่อคลาส เมธอด และตัวแปร นั่นนอกจากจะทำให้โค้ดที่เราเขียนขึ้นเองนั้นเป็นที่เข้าใจง่ายแล้ว ก็ยังทำให้เราเข้าใจโค้ดอื่นๆ ที่เราต้องการได้ เช่น เฟรมเวิร์คภายนอก สำหรับภาษา Objective-C เอง ทาง Apple ก็ได้วางแนวทางการสำหรับวิธีการเขียนโค้ดให้กับนักพัฒนาเพื่อให้โค้ดเข้าใจได้ง่ายมากที่สุด ซึ่งนอกจากที่เขียนไว้เป็นลายลักษณะอักษรแล้วก็ยังมีบางส่วนที่ไม่ได้กำหนดไว้ (แต่กลายเป็น de facto) บล็อกต่อไปในี้ก็เลยตั้งใจว่าจะนำเอาเรื่องพวกนี้มาอธิบายไว้ก่อน ก่อนที่เริ่มกับ Objective-C มากกว่านี้ โดยบล็อกจะแบ่งออกเป็น 2 ตอนด้วยกันซึ่งเนื้อหานี้จะเรียบเรียงมาจากบทความของ CocoaDevCentral 2 บทความ ได้แก่ Cocoa &#8230; <a href="http://www.we.in.th/cocoa-style-for-objective-c-path-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/cocoa-style-for-objective-c-path-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Core Data in Action: Development Phase</title>
		<link>http://www.we.in.th/core-data-in-action-2-development-phase/</link>
		<comments>http://www.we.in.th/core-data-in-action-2-development-phase/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 11:33:45 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Core Data]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=934</guid>
		<description><![CDATA[ตอนนี้จะพัฒนาแอพพลิเคชั่นต่อจาก Core Data in Action – Application Layout สำหรับผู้ที่เริ่มต้นอ่านที่นี่ ผมแนะนำและขอร้องให้อ่านตอนแรกก่อนครับเพราะนั่นจะทำให้เข้าใจการทำงานและเหตุผลต่างๆ ในการพัฒนาแอพพลิเคชั่นในตอนนี้ได้ดีมากยิ่งขึ้น ซึ่งตอนนี้จะเป็นการพัฒนาแอพพลเคชั่นเพื่อเรียกใช้งาน Core Data โดยที่บล็อกตอนนี้จะเน้นไปในส่วการอธิบายโค้ดเป็นหลัก ส่วนวิธีการหรืออัลกอริทึมต่างๆ จะขอยกไปอธิบายในตอนถัดไป เร่ิมต้นด้วยการเลือกที่ไฟล์ FruitsAppDelegate.m แล้วเพิ่มบรรทัดด้านล่างเข้าไปเพื่อเอาไฟล์ FruitsViewController.h เข้าใช้งาน // FruitsAppDelegate.m #import "FruitsAppDelegate.h" #import "FruitsViewController.h" ... เพิ่มเติม: รูปการทำงานด้านล่างจะใช้ Xcode เวอร์ชั่น 4.1 แต่เวอร์ชั่นปัจจุบันคือ 4.2.1 อาจทำให้บางรูปไม่เหมือนกัน แต่ยังคงใช้งานได้เป็นปกติจึงยังไม่ของอัพเดตรูปครับ ถัดไปคือการเพิ่มโค้ดด้านล่างนี้เข้าไปแทนโค้ดเก่าที่ติดมาด้วย และเพื่อเอา &#8230; <a href="http://www.we.in.th/core-data-in-action-2-development-phase/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/core-data-in-action-2-development-phase/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Core Data in Action: Application Layout</title>
		<link>http://www.we.in.th/core-data-in-action-1-app-layout/</link>
		<comments>http://www.we.in.th/core-data-in-action-1-app-layout/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 05:04:54 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Core Data]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=893</guid>
		<description><![CDATA[จากตอนที่แล้ว (Introduction to Persistent Data in iOS)ได้พูดถึงการใช้งาน plist เพื่อบันทึกข้อมูลต่างๆ ที่ผู้ใช้แก้ไขภายในแอพพลิเคชั่น ซึ่งการใช้ไฟล์ plist นั้นเหมาะกับข้อมูลไม่มาก เช่น รายการข้อมูลที่ผู้ใช้สามารถเปลี่ยนแปลงแก้ไขเองได้ ชื่อผู้ใช้ ในกรณีที่ข้อมูลมีขนาดใหญ่หรือต้องการนำเอามาประมวลผลอื่นๆ เช่น วาดกราฟ ทำรายงาน ส่งต่อไปยังผู้ใช้อื่น การใช้ plist ย่อมไม่เหมาะแน่ เพราะการอ่านเขียนไฟล์ขนาดใหญ่บนโทรศัพท์มือถือ นั่นไม่ใช่เรื่องที่ดีแน่นอน นั่นส่งผลให้เราต้องเปลี่ยนไปใช้ SQLite เพื่อเก็บข้อมูลการทำงานต่างๆ ซึ่ง SQLite เป็นการเก็บข้อมูลในรูปแบบของ Relational Database ซึ่งใน iOS มี SQLite APIs พร้อมใช้งานอยู่แล้ว &#8230; <a href="http://www.we.in.th/core-data-in-action-1-app-layout/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/core-data-in-action-1-app-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Persistent Data in iOS</title>
		<link>http://www.we.in.th/introduction-to-persistent-data-in-ios/</link>
		<comments>http://www.we.in.th/introduction-to-persistent-data-in-ios/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 09:41:24 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=873</guid>
		<description><![CDATA[การพัฒนาแอพพลิเคชั่นบน iOS Device, เครื่องคอมพิวเตอร์, หรือแพลตฟอร์มอื่นๆ เรื่องหนึ่งที่สำคัญมาก นั่นก็คือการเก็บข้อมูลต่างๆ ที่ผู้ใช้เคยกำหนดไว้แล้ว เช่น ข้อมูลการลงชื่อเข้าใช้งาน (สำหรับแอพพลิเคชั่น facebook บนมือถือ), การกำหนดกั้นหน้ากั้นหลัง (ในโปรแกรมประเภทประมวลผลคำ) หรือ ค่าต่างๆ ที่กำหนดให้ผู้ใช้อัตโนมัติเมื่อเริ่มทำงานเป็นครั้งแรก ซึ่งแต่ละแพลตฟอร์มการพัฒนานั้น ก็จะมีวิธีการเก็บค่าเหล่านี้ไว้ด้วยวิธีการที่ต่างกันออกไป แต่สามารถแบ่งได้เป็น 2 วิธีใหญ่ๆ คือ การบันทึกลงไฟล์แล้วใช้การเรียกคืนในลักษณะของคำสำคัญที่ชี้ไปยังค่าที่ต้องการนั้น (key-value) เช่น properties file ของ java ซึ่งข้อดีของวิธีการแบบนี้คือเข้าถึงได้สะดวกรวดเร็วในกรณีที่มีข้อมูลไม่มาก แต่ข้อเสียคือต้องบริหารจัดการคำสำคัญ (key) เหล่านั้นให้ดี เพราะมีโอกาสซ้ำกันได้ # Fruit.properties fruit.durain.name = &#8230; <a href="http://www.we.in.th/introduction-to-persistent-data-in-ios/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/introduction-to-persistent-data-in-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>สร้าง XML Binding Class ด้วย JAXB</title>
		<link>http://www.we.in.th/xml-binding-class-with-jax/</link>
		<comments>http://www.we.in.th/xml-binding-class-with-jax/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 12:13:05 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Slide]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=572</guid>
		<description><![CDATA[สไลด์ยังอุ่นๆ อยู่เลยเพราะพึ่งออกจากเตาใหม่ๆ สไลด์นี้ว่าด้วยการสร้าง XML Binding Class ด้วย JAXB ใน Java เป็นตัวอย่างและสรุปสั้นๆ ให้พี่ที่ทำงานฟัง ถ้าต้องการรายละเอียดถามได้ครับ JAXB: Create, Validate XML Message and Edit XML Schema View more presentations from Sitdhibong Laokok.]]></description>
		<wfw:commentRss>http://www.we.in.th/xml-binding-class-with-jax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion in Actions II</title>
		<link>http://www.we.in.th/subversion-in-actions-2/</link>
		<comments>http://www.we.in.th/subversion-in-actions-2/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 05:43:56 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=419</guid>
		<description><![CDATA[คราวที่แล้วเขียนเกี่ยวกับการใช้ Subversion (svn) เบื่องต้น ได้แก่ การสร้าง Repository, เพิ่มไฟล์เข้าสู่ index ใน working copies (add), และส่งเข้าสู่ Repository (commit) ส่วนตอนนี้ก็จะขอพูดส่วนเกี่ยวกับคำสั่งต่างๆ ที่เอาไว้ติดตามความเคลื่อนไหว และการเปลี่ยนแปลงของ Repository ครับ ข้อมูลประจำรุ่น (log) เป็นข้อมูลประจำสำหรับรุ่นนั่น เช่น Revision ผู้ commit วันเวลา จำนวนบรรทัดที่เปลี่ยนแปลง และบันทึกประจำรุ่น มีรูปแบบตามนี้ครับ REVISION_NO &#124; USER_NAME &#124; DATE_TIME &#124; LINE_CHANGED MESSAGE_LOG &#8230; <a href="http://www.we.in.th/subversion-in-actions-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/subversion-in-actions-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion in Actions I</title>
		<link>http://www.we.in.th/subversion-in-actions-1/</link>
		<comments>http://www.we.in.th/subversion-in-actions-1/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 17:56:11 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=375</guid>
		<description><![CDATA[การทำเวอร์ชั่นเป็นอีกเรื่องที่ผมพึ่งศึกษาครับ ตอนนี้ทำทั้ง software และงานเอกสาร มีประโยชน์ดีเหมือนกันใช้ไปก็ชักติดใจ ยังแอบคิดเหมือนกันว่าทำไมไม่รู้จักกันก่อนหน้านี้เนี้ยะ T-T หลักๆ ที่ใช้คือ Subversion (SVN) ครับ เพราะว่าเอาไปใช้เรื่องานเอกสารกับพี่ในห้อง (ซึ่งไม่ได้มาทาง software) เพราะเห็นว่า plugin มันง่ายดีบน Windows แต่ถ้าเป็นงานส่วนตัว ก็ใช้ Git ง่ายทีเดียว ความจริงอยากเขียน Git แต่คิดว่า Git บน Windows ยังไม่เกิดแน่ๆ เลยขอเป็น SVN ก่อนแล้วกัน ส่วน Git ค่อยมาเก็บตกเอาทีหลัง ไหนๆ วันนี้ก็ฤกษ์ดีแล้ว (เห็นเขาว่ากัน แต่ส่วนตัวเฉยๆ &#8230; <a href="http://www.we.in.th/subversion-in-actions-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/subversion-in-actions-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Object Oriented Programming with JavaScript I</title>
		<link>http://www.we.in.th/oop-with-javascript-1/</link>
		<comments>http://www.we.in.th/oop-with-javascript-1/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 14:08:42 +0000</pubDate>
		<dc:creator>sitdh</dc:creator>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.we.in.th/?p=289</guid>
		<description><![CDATA[ช่วงนี้ได้ใช้ JavaScript แบบจริงๆ จังๆ กับเขาบ้าง เพราะต้องเอาไปต่อกับ REST ในหน้าเพจที่ทำแต่เห็นว่าบางอย่างมันต้องเขียนโค้ดแบบเดิมซ้ำไปซ้ำมาอยู่เรื่อยก็เลยเกิดความคิดไปหาวิธีใช้งานแบบ OOP สำหรับ JavaScript ซะหน่อยดีกว่า เคยอ่านผ่านๆ ตาหลายรอบแล้วเหมือนกันแต่ไม่ค่อยได้เอาจริงเอาจังกับมันซะเท่าไหร่ครับ ตอนนี้งาน JavaScript เข้าจังๆ ก็เลยมีเหตุจำเป็นให้ต้องลอง นอกจากนั้นก็เป็นข้อดีหลายอย่างของการเขียน OO ที่ผมชอบก็คือ Reusable, Inheritance และ Encapsulation แต่ต้องบอกก่อนว่าการเขียนโปรแกรมแบบนี้ไม่ใช่เรื่องแปลกอะไร เพราะมันก็ทำได้ตั้งนานแล้วครับ blog ตอนนี้ก็คงเป็นการเอามะพร้าวห้าวมาขายสวนอีกตามเคยครับ :) ความจริง เท่าที่ได้อ่านวิธีการเขียนก็คงไม่ใช้ OOP เหมือน Java หรือ PHP เท่าไหร่ เพราะใช้วิธีการแปลกๆ ของ &#8230; <a href="http://www.we.in.th/oop-with-javascript-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.we.in.th/oop-with-javascript-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

