




<?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>codePONPON</title>
	<atom:link href="http://www.codeponpon.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codeponpon.com</link>
	<description>ลองเล่นกับโค้ด</description>
	<lastBuildDate>Sat, 02 Jul 2011 03:50:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Components ของ Rails</title>
		<link>http://www.codeponpon.com/2011/03/17/components-%e0%b8%82%e0%b8%ad%e0%b8%87-rails/</link>
		<comments>http://www.codeponpon.com/2011/03/17/components-%e0%b8%82%e0%b8%ad%e0%b8%87-rails/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 03:43:57 +0000</pubDate>
		<dc:creator>administrator</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.codeponpon.com/?p=114</guid>
		<description><![CDATA[Components ของ Rails Rails มีองค์ประกอบหลายส่วนแยกกันคือ - Action Pact &#8211; Action Controller &#8211; Action Dispatch &#8211; Action View - Action Mailier - Active Model - Active Record - Active Resource - Active Support - Railities ผมจะไม่อธิบายทั้งหมดนะครับเพราะ Active Support กับ Railities ไม่รู้ว่ามันใช้ทำอะไรและทำงานตอนไหน Action Pact Action Pact เป็น gem (ถ้ามองจากมุมมองภาษาอื่น gem มันจะเหมือนปลั๊กอิน ที่ต้องทำการ include เข้ามาถ้าต้องการใช้งาน)เดียวที่รวม Action Controller, Action [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Components ของ Rails</strong><br />
Rails มีองค์ประกอบหลายส่วนแยกกันคือ<br />
- Action Pact</p>
<ul>
<li> &#8211; Action Controller</li>
<li> &#8211; Action Dispatch</li>
<li> &#8211; Action View</li>
</ul>
<p>- Action Mailier<br />
- Active Model<br />
- Active Record<br />
- Active Resource<br />
- Active Support<br />
- Railities</p>
<p><span id="more-114"></span>ผมจะไม่อธิบายทั้งหมดนะครับเพราะ Active Support กับ Railities ไม่รู้ว่ามันใช้ทำอะไรและทำงานตอนไหน <img src='http://www.codeponpon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<strong>Action Pact</strong><br />
Action Pact เป็น gem (ถ้ามองจากมุมมองภาษาอื่น gem มันจะเหมือนปลั๊กอิน ที่ต้องทำการ include เข้ามาถ้าต้องการใช้งาน)เดียวที่รวม Action Controller, Action View,Action Dispatch เอาไว้ ซึ่งทั้ง 3 ส่วนนี้เป็นส่วน &#8220;VC&#8221; ของ &#8220;MVC&#8221;</p>
<p><strong>Action Controller</strong><br />
Action Controller เป็น Component ที่ช่วยในการบริหารจัดการกับ Rails application ซึ่ง Action Controller framework มีหน้าที่ในการประมวลผล requests ที่มาจาก Rails application เช่น พารามิเตอร์ แล้วส่งค่าเหล่านั้นไปให้กับ Action method อีกทีเพื่อทำงานตามเงื่อนไขที่เขียนไว้ต่อไป และ Action Controller นั้นจะมี Service ที่เกี่ยวข้องคือ session management, template rendering และ redirect management เอาไว้สำหรับการบริหารจัดการ</p>
<p><strong>Action View</strong><br />
Action View ใช้เพื่อสำหรับการบริหารจัดการกับส่วนที่ติดต่อกับผู้ใช้งานนั่นก็คือส่วน View ของ Rails application ซึ่งเราสารคามสร้างได้สองแบบคือ HTML และ XML เป็นค่าเริ่มต้นได้เลย Action view ใช้สำหรับจัดการกับส่วน  rendering templates, partial templates( ชื่อไฟล์ที่มีเครื่องหมาย _ นำหน้า) และยังสนับสนุน AJAX อีกด้วย</p>
<p><strong>Action Dispatch</strong><br />
Action Dispatch มีหน้าที่จัดการกับ URL ที่พิมพ์เข้ามา แล้วส่งไปทำงานตามเงื่อนไขที่เขียนไว้ใน Routes โดยดูจากจาก URL ที่ส่งเข้ามา</p>
<p><strong>Action Mailer</strong><br />
Action Mailer เป็น framework สำหรับให้บริการเกี่ยวกับ email ซึ่งเราสามารถที่จะใช้ Action Mailer เพื่อรับและส่งอีเมล์ได้ ซึ่งมีความยืดหยุ่นในการบริหารจัดการและยังสามารถสร้างรูปแบบของจดหมายก่อนที่จะส่งได้อีกด้วย</p>
<p><strong>Active Model</strong><br />
Active Model เป็นส่วนสำหรับเขียน business logic พร้อมกันนั้นยังช่วยให้ Action Pack และ Active Record มีความสัมพันธ์กันเกิดขึ้น ทำให้ Action Pact สามารถที่จะใช้ข้อมูลที่ได้จากฐานข้อมูลที่ Active Record ทำงานแล้วส่งต่อมาให้ Action Pact นำไปใช้งานต่อได้</p>
<p><strong>Active Record</strong><br />
Active Record เป็นส่วนสำหรับการบริหารจัดการกับฐานข้อมูลทั้งหมด เช่น create, select, insert, update, delete ซึ่งในการทำงานจริงเราแทบจะไม่ได้เขียนคำสั่ง SQL เลยด้วยซ้ำในการทำงานเหล่านี้</p>
<p><strong>Active Resource</strong><br />
Active Resource เป็น framework สำหรับจัดการกับการติดต่อสื่อสารระหว่างส่วนของการร้องขอต่างๆ ที่มาจาก URL และสร้างเส้นทางสำหรับการทำงานในรูปบบ CRUD (create, retrieve, update, destroy) สำหรับส่งไปทำงานกับส่วนของฐานข้อมูลได้ถูกต้อง</p>
<p><strong>หวังว่าคงช่วยให้ผู้ที่กำลังศึกษา Ruby on Rails เข้าใจองค์ประกอบต่างๆ มากขึ้นไม่มากก็น้อยนะครับ <img src='http://www.codeponpon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeponpon.com/2011/03/17/components-%e0%b8%82%e0%b8%ad%e0%b8%87-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails คืออะไร ?</title>
		<link>http://www.codeponpon.com/2011/03/09/ruby-on-rails-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/</link>
		<comments>http://www.codeponpon.com/2011/03/09/ruby-on-rails-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 09:24:08 +0000</pubDate>
		<dc:creator>administrator</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails คืออะไร]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails คืออะไร]]></category>
		<category><![CDATA[Ruby คืออะไร]]></category>

		<guid isPermaLink="false">http://www.codeponpon.com/?p=54</guid>
		<description><![CDATA[&#160; ภาษาสำหรับ Programmer นั้นมีมากมายหลากหลายให้ Programmer แต่ละคนเลือกใช้สำหรับแต่ละโปรเจค ตามความสามารถและความถนัดของตัวเอง ไม่ว่าจะเป็นด้านการเขียน App หรือการ Development ด้านเว็บไซต์ Ruby ก็เป็นอีกภาษาหนึ่งที่มีความสามารถและมีพลังมากเพราะสามารถเขียนเป็น App ก็ได้แล้วยังสามารถนำมา Develop สำหรับ Web developer ได้อีกด้วย โอ้แม้เจ้า อะไรจะขนาดนั้นมันดีขนาอนั้งเลยหรอ ??? โดยส่วนตัวผมเองนั้น เคยผ่าน Java มาบ้างสมัยเรียน ปี 2 ก็แค่นั้นไม่ได้ขยายผลต่ออีกเลย แต่ก็ต้องขอบคุณ Java ไม่น้อยทีเดียวที่ทำให้ผมได้รู้จักกับการเขียนโปรแกรมแบบ OOP ซึ่งทำให้ผมสามารถเริ่มต้นกับภาษาอื่นๆ ได้ไม่ยากเย็นนัก ต่อมาก็ได้จับ PHP จริงๆ จังๆ เพราะต้องทำโปรเจคจบ ทำให้เริ่มต้นได้ไม่ยากเย็นนักเพราะมีพื้น OOP มาแล้ว &#160; เกริ่นนำมาซะยืดยาว กว่าจะหาทางเข้าเรื่องได้ ที่พูดมายืดยามก็เพื่อจะบอกว่าตัวของ ภาษา Ruby นั้นจะมองทุกอย่างเป็น Object ทั้งหมดไม่ว่าจะเป็น String [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://www.codeponpon.com/wp-content/uploads/2011/03/178961991_e78cf324f8.jpg"><img class="alignleft size-medium wp-image-44" title="178961991_e78cf324f8" src="http://www.codeponpon.com/wp-content/uploads/2011/03/178961991_e78cf324f8-300x247.jpg" alt="" width="300" height="247" /></a>ภาษาสำหรับ Programmer นั้นมีมากมายหลากหลายให้ Programmer แต่ละคนเลือกใช้สำหรับแต่ละโปรเจค ตามความสามารถและความถนัดของตัวเอง ไม่ว่าจะเป็นด้านการเขียน App หรือการ Development ด้านเว็บไซต์ Ruby ก็เป็นอีกภาษาหนึ่งที่มีความสามารถและมีพลังมากเพราะสามารถเขียนเป็น App ก็ได้แล้วยังสามารถนำมา Develop สำหรับ Web developer ได้อีกด้วย โอ้แม้เจ้า อะไรจะขนาดนั้นมันดีขนาอนั้งเลยหรอ ???</p>
<p>โดยส่วนตัวผมเองนั้น เคยผ่าน Java มาบ้างสมัยเรียน ปี 2 ก็แค่นั้นไม่ได้ขยายผลต่ออีกเลย แต่ก็ต้องขอบคุณ Java ไม่น้อยทีเดียวที่ทำให้ผมได้รู้จักกับการเขียนโปรแกรมแบบ OOP ซึ่งทำให้ผมสามารถเริ่มต้นกับภาษาอื่นๆ ได้ไม่ยากเย็นนัก ต่อมาก็ได้จับ PHP จริงๆ จังๆ เพราะต้องทำโปรเจคจบ ทำให้เริ่มต้นได้ไม่ยากเย็นนักเพราะมีพื้น OOP มาแล้ว</p>
<p><span id="more-54"></span></p>
<p>&nbsp;</p>
<p>เกริ่นนำมาซะยืดยาว กว่าจะหาทางเข้าเรื่องได้ ที่พูดมายืดยามก็เพื่อจะบอกว่าตัวของ ภาษา Ruby นั้นจะมองทุกอย่างเป็น Object ทั้งหมดไม่ว่าจะเป็น String หรือ Integer จะมองเห็นเป็น Object หมดแล้วเราก็สามารถเล่นกับ Object พวกนี้ได้เลยเช่น</p>
<pre class="brush:ruby"> "codePONPON".class
 =&gt; String
 123456789.class
 =&gt; Fixnum
 1234567890.class
 =&gt; Bignum </pre>
<p>เมื่อเรา .class ดูจะเห็นว่ามันอยู่ในคลาสอะไร หรืออยากรู้ว่าคลาสนี้ สืบทอดมาจากไหนก็สามารถใช้ .superclass ต่อๆ ไปได้อีกเช่น</p>
<pre class="brush:ruby">123456789.class.superclass
=&gt; Integer

123456789.class.superclass.superclass
=&gt; Numeric

123456789.class.superclass.superclass.superclass
=&gt; Object

123456789.class.superclass.superclass.superclass.superclass
=&gt; nil</pre>
<p>จะเห็นท้ายที่สุดแล้วก็จะเห็นว่าตัวเลขเหล่านี้ก็เป็น Object นั่นเอง ซึ่งก็เหมือนกันกับ String และตัวอื่นๆ ใน Ruby จะมองเป็น Object ทั้งหมด</p>
<p>แต่โดยตัวของ Ruby เองไม่สามารถที่จะนำไป Develop Website ได้ดังนั้นเมื่อมีพระเอกแล้ว ก็ต้องมีนางเอง ซึ่งก็คือ Rails framwork นั่นเอง</p>
<p>ซึ่ง Rails เป็นอะไรที่มหัศจรรย์มากๆ สำหรับผม ฮ่า ๆ ๆ นอกจากจะช่วยให้เราสามารถนำ Ruby มา Develop website แล้วยังช่วยในการจัดการกับฐานข้อมูลให้เราด้วย ทำให้ง่ายต่อการเขียน เพราะความตั้งใจใจหลักของคนที่สร้าง Ruby มาคือ ทำให้ Programmer สนุกไปกับการเขึยนโค้ด (อันนี้ต้องลองเองถึงรู้ อิอิอิ)</p>
<p>&nbsp;</p>
<p>Rails framwork นั้นมีลักษณะเป็น MVC (Model-View-Controller architecture) แล้ว Ruby ยังใช้หลักการ DRY (Don&#8217;t Repeat Yourself) คืออะไรที่เรารู้แล้วก็ไม่ต้องไปทำซ้ำอีก เช่น การจดบรรทัด ภาษาส่วนมากจะจบด้วยเครื่องหมาย semicolons (;) เพื่อบอกว่าจบบรรทัดนี้ หรือจบคำสั่งนี้แล้วนะ แค่เราเคาะแป้น Enter เพื่อขึ้นบรรทัดใหม่ Rails ก็จะรู้เองว่าเราทำงานจบแล้วในคำสั้งนั้นๆ หรือการเรียกใช้งานเมธอด ก็ไม่ต้องมีวงเล็บเปิด ปิดก็ได้ เช่น update_database() สามารถเขียนเป็น update_database ได้เลย  พร้อมกันนั้น Rails ก็สนับสนุนการทำงานแบบ CRUD (create-read-update-delete) ซึ่ง Browser ส่วนใหญ่จะรองรับแค่เมธอด GET, POST แต่ Rails นั้นยอมให้มี PUT, DELETE เข้ามาอีกเพื่อทำงานกับฐานข้อมูลโดย PUT ใช้เพื่อการอัพเดทฐานข้อมูลก็จะส่งเมธอด PUT แทนการใช้ POT ในแบบเดิม ใช้เมธอด DELETE ในการลบ Recode ในฐานข้อมูล เป็นต้น</p>
<p>ทำความรู้จักกับ Ruby on Rails (RoR) กันแล้วอย่าลืมติดตามต่อไปนะครับ เดี๋ยวจะเขียนวิธีการติดตั้ง การใช้งาน, การใช้ RoR กับ RVM แล้วจะรู้ว่าการเขียนเว็บสักเว็บที่มีการติดต่อฐานข้อมูล  เราแทบไม่ได้ไปแตะคำสั่งในการ Query เลย แล้วมันจะรู้ได้ไงว่าต้องทำอะไรยังไง  นั่นน่ะสิ  อย่าลืมติดตามตอนต่อไปนะครับ <img src='http://www.codeponpon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeponpon.com/2011/03/09/ruby-on-rails-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

