<?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>PUPASOFT BLOG! &#187; General</title>
	<atom:link href="http://blog.pupasoft.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pupasoft.com</link>
	<description>Proactive Units for Practical Applications</description>
	<lastBuildDate>Tue, 27 Apr 2010 08:31:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>aErOnz`Can&#8217;t convert value ‘0000-00-00 00:00:00′ to TIMESTAMP</title>
		<link>http://blog.pupasoft.com/2010/01/27/aeronzcant-convert-value-%e2%80%980000-00-00-000000%e2%80%b2-to-timestamp/</link>
		<comments>http://blog.pupasoft.com/2010/01/27/aeronzcant-convert-value-%e2%80%980000-00-00-000000%e2%80%b2-to-timestamp/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 09:00:20 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Tips]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=3447</guid>
		<description><![CDATA[
java.sql.SQLException: Cannot convert value &#8216;0000-00-00 00:00:00&#8242; from column 7 to TIMESTAMP.
..

หากใครเคยเจอปัญหานี้ ตามมาทางนี้เลยครับ ผมมีคำตอบ

การแก้ปัญหานี้มีสองวิธีคือ
1. ไปเซ็ตค่า URL ในการติดต่อ database ว่า ?zeroDateTimeBehavior=convertToNull เช่น
jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull
2. ในขณะที่เราเขียนโปรแกรม (ภาษา Java)ในการติดต่อ database ให้เราเซ็ต Connection Properties ดังนี้

Class.forName&#40;driver&#41;.newInstance&#40;&#41;;
connection = &#40;Connection&#41; DriverManager.getConnection&#40;url + dbName, userName, password&#41;;
connection.setZeroDateTimeBehavior&#40;&#34;convertToNull&#34;&#41;;

ทีนี้เมื่อเรารันโค้ด ที่ทำให้เกิด Exception ดังกล่าว

System.out.println&#40;&#34;&#62;&#62;&#62;&#62; this is zero = &#34;+rs.getTimestamp&#40;&#34;finish_date&#34;&#41;&#41;;

จะได้ผลลัพธ์เป็น

>>>> this is zero = null

หรือถ้าเป็น

connection.setZeroDateTimeBehavior&#40;&#34;round&#34;&#41;;

จะได้ผลลัพธ์เป็น 

>>>> this is zero = 0001-01-01 00:00:00.0

ซึ่งการเซ็ต [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
java.sql.SQLException: Cannot convert value &#8216;0000-00-00 00:00:00&#8242; from column 7 to TIMESTAMP.<br />
..
</p></blockquote>
<p>หากใครเคยเจอปัญหานี้ ตามมาทางนี้เลยครับ ผมมีคำตอบ<br />
<span id="more-3447"></span></p>
<p>การแก้ปัญหานี้มีสองวิธีคือ<br />
1. ไปเซ็ตค่า URL ในการติดต่อ database ว่า ?zeroDateTimeBehavior=convertToNull เช่น</p>
<blockquote><p>jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull</p></blockquote>
<p>2. ในขณะที่เราเขียนโปรแกรม (ภาษา Java)ในการติดต่อ database ให้เราเซ็ต Connection Properties ดังนี้</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span>driver<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
connection <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Connection</span><span style="color: #009900;">&#41;</span> <span style="color: #003399;">DriverManager</span>.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span>url <span style="color: #339933;">+</span> dbName, userName, password<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
connection.<span style="color: #006633;">setZeroDateTimeBehavior</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;convertToNull&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>ทีนี้เมื่อเรารันโค้ด ที่ทำให้เกิด Exception ดังกล่าว</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&gt;&gt;&gt;&gt; this is zero = &quot;</span><span style="color: #339933;">+</span>rs.<span style="color: #006633;">getTimestamp</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;finish_date&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>จะได้ผลลัพธ์เป็น</p>
<blockquote><p>
>>>> this is zero = null
</p></blockquote>
<p>หรือถ้าเป็น</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">connection.<span style="color: #006633;">setZeroDateTimeBehavior</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;round&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>จะได้ผลลัพธ์เป็น </p>
<blockquote><p>
>>>> this is zero = 0001-01-01 00:00:00.0
</p></blockquote>
<p>ซึ่งการเซ็ต zeroDateTimeBahavior สามารถดูรายละเอียดได้ <a href="http://org.ntnu.no/musikkensverden/doc/constant-values.html#com.mysql.jdbc.ConnectionProperties.ZERO_DATETIME_BEHAVIOR_ROUND">ที่นี่</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2010/01/27/aeronzcant-convert-value-%e2%80%980000-00-00-000000%e2%80%b2-to-timestamp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>aErOnz`Atomic transaction with ActiveRecord</title>
		<link>http://blog.pupasoft.com/2010/01/21/aeronzatomic-transaction-with-activerecord/</link>
		<comments>http://blog.pupasoft.com/2010/01/21/aeronzatomic-transaction-with-activerecord/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 06:49:09 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programming Tips]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Web Development]]></category>
<category>Atomic Transaction ActiveRecord</category>
		<guid isPermaLink="false">http://blog.pupasoft.com/?p=3441</guid>
		<description><![CDATA[สวัสดีครับ วันนี้จะมาพูดถึงเรื่อง Transaction ว่ามันคืออะไรกัน แล้วมันสำคัญอย่างไรกับชีวิตนักพัฒนาโปรแกรมของเรากัน
สมมติว่า นาย aeronz มีเงินในบัญชีอยู่ 2000 บาท และต้องการจะโอนเงินให้นาย Porza 500บาท (ในการดำเนินการใดๆ ซึ่งที่นี้คือการโอนเงิน จะเรียกว่า 1 transaction ครับ)
โดยในขณะนั้นบัญชีของนาย Porza มีเงินอยู่ 0 บาท
ขั้นตอนการโอนเงินก็คือ
1. หักเงินจากบัญชีนาย aeronz 500 บาท (เหลือ 1500 บาท)
2. เพิ่มเงินให้นาย Porza 500 บาท (ยอดบัญชีนาย Porza จะเป็น 500 บาท)
จะเกิดอะไรขึ้น ถ้า พอระบบทำขั้นตอนที่ 1 เสร็จสิ้นแล้ว แต่ยังไม่ทันที่จะทำขั้นที่ 2 ระบบเกิดมีปัญหาขึ้นมา
หากไม่ได้รับมือกับปัญหานี้ ผลที่เกิดขึ้น คือ
เงินบัญชีนาย aeronz เหลือ 1500 บาท เงินในบัญชีนาย Porza คือ [...]]]></description>
			<content:encoded><![CDATA[<p>สวัสดีครับ วันนี้จะมาพูดถึงเรื่อง Transaction ว่ามันคืออะไรกัน แล้วมันสำคัญอย่างไรกับชีวิตนักพัฒนาโปรแกรมของเรากัน<br />
สมมติว่า นาย aeronz มีเงินในบัญชีอยู่ 2000 บาท และต้องการจะโอนเงินให้นาย Porza 500บาท (ในการดำเนินการใดๆ ซึ่งที่นี้คือการโอนเงิน จะเรียกว่า 1 transaction ครับ)<br />
โดยในขณะนั้นบัญชีของนาย Porza มีเงินอยู่ 0 บาท<br />
ขั้นตอนการโอนเงินก็คือ<br />
1. หักเงินจากบัญชีนาย aeronz 500 บาท (เหลือ 1500 บาท)<br />
2. เพิ่มเงินให้นาย Porza 500 บาท (ยอดบัญชีนาย Porza จะเป็น 500 บาท)</p>
<p>จะเกิดอะไรขึ้น ถ้า พอระบบทำขั้นตอนที่ 1 เสร็จสิ้นแล้ว แต่ยังไม่ทันที่จะทำขั้นที่ 2 ระบบเกิดมีปัญหาขึ้นมา<br />
หากไม่ได้รับมือกับปัญหานี้ ผลที่เกิดขึ้น คือ<br />
เงินบัญชีนาย aeronz เหลือ 1500 บาท เงินในบัญชีนาย Porza คือ 0 บาท </p>
<p>เราต้องทำยังไงหล่ะ ?<br />
ถ้าใครสนใจก็ตามเข้ามาเลยครับ<br />
<span id="more-3441"></span></p>
<p>จากบัญหาข้างต้น สิ่งที่ดีที่สุดที่เราจะทำก็คือหากเราทำ กระบวนการทั้งหมด (ทั้งข้อ 1 และ 2)ไม่สำเร็จ ระบบก็ควรที่จะไม่เปลี่ยนแปลงอะไรเลย<br />
คือ เงินบัญชีนาย aeronz เหลือ 2000 บาท เงินในบัญชีนาย Porza คือ 0 บาท เหมือนเดิม</p>
<p>เพราะฉะนั้น เวลาเราเขียนโปรแกรม หรือทำระบบที่มีการดำเนินการใดๆ (Transaction) เราต้องคำนึงถึงเรื่องนี้ไว้ด้วยครับ<br />
ในการย้อนกลับหากการดำเนินการไม่สำเร็จ เราจะเรียกว่าการ roll back ครับ ซึ่งใน ActiveRecord ของ ROR ก็มีการเขียนโค้ดเพื่อเตรียมป้องกันเหตุการเหล่านี้ดังนี้ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">aeronz = Account.<span style="color:#9900CC;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>
porza = Account.<span style="color:#9900CC;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
Account.<span style="color:#9900CC;">transaction</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  aeronz.<span style="color:#9900CC;">withdrawal</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">500</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  porza.<span style="color:#9900CC;">deposit</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">500</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>หรือ</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">aeronz = Account.<span style="color:#9900CC;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>
porza = Account.<span style="color:#9900CC;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
<span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span>.<span style="color:#9900CC;">transaction</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  aeronz.<span style="color:#9900CC;">withdrawal</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">500</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  porza.<span style="color:#9900CC;">deposit</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">500</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>เพราะว่าโมเดลใน RoR มีการสืบทอดมาจาก คลาส ActiveRecord::Base ครับ</p>
<p>ครับ ตอนนี้เราก็ได้ concept ของ Transaction และวิธีการในการ RollBack ข้อมูล เมื่อเกิดปัญหาด้วย ActiveRecord ใน RoR กันแล้วนะครับ<br />
ถ้าใครสนใจ อาจจะไปอ่านเพิ่มเิติมได้ <a href="http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html#M001851">ที่นี่</a> ครับ<br />
ไว้เจอกันใหม่ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2010/01/21/aeronzatomic-transaction-with-activerecord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free 3D Software : Blender3D</title>
		<link>http://blog.pupasoft.com/2009/12/10/free-3d-software-blender3d/</link>
		<comments>http://blog.pupasoft.com/2009/12/10/free-3d-software-blender3d/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 20:04:18 +0000</pubDate>
		<dc:creator>MicroBird</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[3D Modeling]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Blender3D]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=2963</guid>
		<description><![CDATA[
Blender3D  เป็นโปรแกรมที่ใช้ในงานสร้างผลงานประเภทสามมิติ ที่กำลังเป็นที่นิยมในปัจจุบัน เนื่องจากเหตุผลหลักๆ คือ มัน Free &#38; OpenSource ซึ่งในท้องตลอด โลกสามมิติ ก็ยังมียักษ์ใหญ่ที่ชื่อว่า Autodesk ซึ่งครอบครองโปรแกรมยักษ์ใหญ่ด้านการ Animation &#38; 3D modeling ไว้อยู่ สองตัวเช่นกันนั้นก็คือ  Autodesk Maya , Autodesk 3D Studio Max  ซึ่งเป็นโปรแกรมเก่าแก่และเป้นที่นิยมอยู่มาก


เรามาพูดถึง Blender3D กันต่อ โดยผู้พัฒนา คือ Blender Foundation พัฒนาโปรแกรมนี้จากภาษา C++, C, Python ซึ่งสามารถใช้งานได้ บน Linux , Mac OS X , Windows โดยโปรแกรมจะมีพื้นฐานการใช้งานต่างๆ เหมือนกับการขึ้นโมเดลทั่วไปใน 3DsMax , Maya  แต่เนื่องจากเป็นโปรแกรมมาใหม่ ตอนนี้ยังอาจจะเทียบเท่าไม่ได้กับ ตัว [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Blender3D" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Blender.svg/100px-Blender.svg.png" alt="" width="100" height="100" /></p>
<p>Blender3D  เป็นโปรแกรมที่ใช้ในงานสร้างผลงานประเภทสามมิติ ที่กำลังเป็นที่นิยมในปัจจุบัน เนื่องจากเหตุผลหลักๆ คือ มัน Free &amp; OpenSource ซึ่งในท้องตลอด โลกสามมิติ ก็ยังมียักษ์ใหญ่ที่ชื่อว่า Autodesk ซึ่งครอบครองโปรแกรมยักษ์ใหญ่ด้านการ Animation &amp; 3D modeling ไว้อยู่ สองตัวเช่นกันนั้นก็คือ  Autodesk Maya , Autodesk 3D Studio Max  ซึ่งเป็นโปรแกรมเก่าแก่และเป้นที่นิยมอยู่มาก</p>
<p><span id="more-2963"></span></p>
<p><img class="aligncenter" title="Blender3D" src="http://upload.wikimedia.org/wikipedia/commons/3/37/Blender_2.49b.png" alt="" width="501" height="282" /></p>
<p>เรามาพูดถึง Blender3D กันต่อ โดยผู้พัฒนา คือ Blender Foundation พัฒนาโปรแกรมนี้จากภาษา C++, C, Python ซึ่งสามารถใช้งานได้ บน Linux , Mac OS X , Windows โดยโปรแกรมจะมีพื้นฐานการใช้งานต่างๆ เหมือนกับการขึ้นโมเดลทั่วไปใน 3DsMax , Maya  แต่เนื่องจากเป็นโปรแกรมมาใหม่ ตอนนี้ยังอาจจะเทียบเท่าไม่ได้กับ ตัว 3DsMax , Maya ตัวเต็ม เนื่องจากสองอันนั้นโปรกว่า แต่สำหรับการทำโมเดลขั้นพื้นฐาน การทำแอนนิเมชั่นพื้นฐานแล้ว Blender3D ถือเป็นทางเลือกที่ดีอีกทางนึงเลย ซึ่งตอนหลังถูกพัฒนาต่อโดย CryTek  และ ก่อกำเนิดมาเป็น SandBox ด้วยมีชื่อเต็มว่า CryEngine Sandbox Editor  ซึ่งปัจจุบัน คือ CryEngine3 นั้นเอง</p>
<p><img class="aligncenter" title="Blender3D" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Working_with_Nodes_Blender.PNG/800px-Working_with_Nodes_Blender.PNG" alt="" width="800" height="481" /></p>
<p>เสป็กขึ้นต่ำสุดที่โปรแกรมจะทำงานได้ :</p>
<ul>
<li>300 MHz CPU</li>
<li>128 MB Ram</li>
<li>20 MB free hard disk Space</li>
<li>1024 x 768 px Display with 16 bit color</li>
<li>3 Button Mouse</li>
<li>Open GL Graphics Card with 16 MB Ram</li>
</ul>
<p>เสป็กที่แนะนำให้ใช้ :</p>
<ul>
<li>2 Ghz dual CPU</li>
<li>2 GB Ram</li>
<li>1920 x 1200 px Display with 24 bit color</li>
<li>3 Button Mouse</li>
<li>Open GL Graphics Card with 128 or 256 MB Ram</li>
</ul>
<p>สามารถดูข้อมูล ผลงานภาพยนตร์ เกมส์ ที่เกิดจาก  Blender3D หรือ ดาวน์โหลดได้ืที่นี่ :</p>
<p><a class="aligncenter" title="http://www.blender.org" href="http://www.blender.org" target="_blank">http://www.blender.org</a></p>
<p>ผลงานภาพของ Blender3D</p>
<p><img class="aligncenter" title="Blender3D" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Lone_House.jpg/800px-Lone_House.jpg" alt="" width="800" height="493" /></p>
<p><img class="aligncenter" title="Room By Blender3D" src="http://www.blender.org/typo3temp/pics/1215f95f9c.jpg" alt="" width="800" height="600" /></p>
<p><img class="aligncenter" title="Room By Blender3D" src="http://www.blender.org/typo3temp/pics/8eb64bac2e.jpg" alt="" width="800" height="498" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/12/10/free-3d-software-blender3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aErOnz`Groovy On Grails Introduction</title>
		<link>http://blog.pupasoft.com/2009/11/25/aeronzgroovy-on-grails-introduction/</link>
		<comments>http://blog.pupasoft.com/2009/11/25/aeronzgroovy-on-grails-introduction/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 06:17:57 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Groovy on Grails]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=2910</guid>
		<description><![CDATA[สวัสดีครับ ในที่สุดหาดใหญ่ก็รอดวิกฤตน้ำท่วมไป เปราะหนึ่ง
วันนี้ผมก็จะมาแนะนำเกี่ยวกับ platform ตัวหนึ่งที่มีความคล้ายคลึง Ruby on Rails เลยครับ
platform ตัวนี้มีชื่อว่า Groovy On Grails สัญลักษณ์เป็นรูปจอกศักดิ์สิทธิ์ครับ
โดยในวันอาทิตย์ที่ 29 พฤศจิกายนที่จะถึงผมก็มีโอกาสที่จะได้ไปนั่งฟังการบรรยาย จากผู้บรรยายมืออาชีพครับ
เค้าจะมาเทรน เกี่ยวกับ Groovy On Grails ตัวนี้แหละครับ เรียกว่า grails ดีกว่าเนอะสะดวกดี
จากสาเหตุข้างต้น ผมเลยหาข้อมูลเกี่ยวกับ grails ไว้ก่อนเพื่อที่จะได้ฟังเข้าใจเวลาเจอศัพท์เทคนิค ครับ
ถ้าใครสนใจก็ตามกันมาเลยนะครับ 
คำถามแรกที่คนสงสัยเวลาเจอคำแปลกๆ ก็คือ &#8220;มันคืออะไรหล่ะเนี่ย&#8221;
ตอบ : Grails คือ framework สำหรับพัฒนา wep application ซึ่งใช้ภาษา Groovy 
&#8212;
MVC ? Grails มี MVC เป็นหัวใจหลัก
คำถาม 1 MVC คืออะไรเนี่ย มีแต่คำ งงๆ
ตอบ : MVC ย่อมาจาก [...]]]></description>
			<content:encoded><![CDATA[<p>สวัสดีครับ ในที่สุดหาดใหญ่ก็รอดวิกฤตน้ำท่วมไป เปราะหนึ่ง<br />
วันนี้ผมก็จะมาแนะนำเกี่ยวกับ platform ตัวหนึ่งที่มีความคล้ายคลึง Ruby on Rails เลยครับ<br />
platform ตัวนี้มีชื่อว่า Groovy On Grails สัญลักษณ์เป็นรูปจอกศักดิ์สิทธิ์ครับ<br />
โดยในวันอาทิตย์ที่ 29 พฤศจิกายนที่จะถึงผมก็มีโอกาสที่จะได้ไปนั่งฟังการบรรยาย จากผู้บรรยายมืออาชีพครับ<br />
เค้าจะมาเทรน เกี่ยวกับ Groovy On Grails ตัวนี้แหละครับ เรียกว่า grails ดีกว่าเนอะสะดวกดี<br />
จากสาเหตุข้างต้น ผมเลยหาข้อมูลเกี่ยวกับ grails ไว้ก่อนเพื่อที่จะได้ฟังเข้าใจเวลาเจอศัพท์เทคนิค ครับ<br />
ถ้าใครสนใจก็ตามกันมาเลยนะครับ <span id="more-2910"></span></p>
<p>คำถามแรกที่คนสงสัยเวลาเจอคำแปลกๆ ก็คือ <strong>&#8220;มันคืออะไรหล่ะเนี่ย</strong>&#8221;<br />
<strong>ตอบ :</strong> Grails คือ framework สำหรับพัฒนา wep application ซึ่งใช้ภาษา Groovy </p>
<p>&#8212;<br />
MVC ? Grails มี MVC เป็นหัวใจหลัก<br />
<strong>คำถาม </strong>1 MVC คืออะไรเนี่ย มีแต่คำ งงๆ<br />
<strong>ตอบ :</strong> MVC ย่อมาจาก Model View Controller ซึ่งก็คือ เราจะแยกโมดูล หรือส่วนการทำงานออกมาเป็น สามส่วนเพื่อที่จะให้แ่ต่ละส่วนทำงานของตัวเอง<br />
โดย M => Model จัดการเกี่ยวกับส่วนของคลาสโมเดล และการบันทึกข้อมูลลงฐานข้อมูล<br />
      V => View จัดการเกี่ยวกับส่วนแสดงผลให้ผุ้ใช้เห็น เช่นหน้าเว็บ<br />
      C => Controller จัดการเกี่ยวกับการคำนวณทางลอจิคต่างๆ (ส่วนสมองของโปรแกรมนั่นเอง)<br />
เพราะการเเยกการทำงานที่ชัีดเจน เมื่อเรากลับมาทำการแก้ไขเราก็จะสามารถไปแก้ไขได้ตรงจุด เช่น รูปภาพไม่ขึ้น เราก็ไปดูส่วนของ view<br />
ทำให้เราสะดวกมากๆ ครับ ทั้งยังทำให้งานของเราเป็นระเบียบไปโดยปริยาย<br />
ปล. RoR ก็เป็น Platfrom MVC เหมือนกันครับ<br />
&#8212;<br />
เกรลส์สนับสนุน test-driven development<br />
<strong>what is test-driven development ?????</strong><br />
<strong>ตอบ : </strong> มันก็คือการพัฒนาไปทดสอบไปด้วยครับ เช่นถ้าเรามีฟังก์ชัน ยกกำลัง (pow) ที่เราเขียนเองแล้วเราไม่เคยทดสอบเลย เราก็อาจจะไม่เจอ bug ของฟังก์ชันของเราเลย เพราะฉะนั้น ที่บอกว่า เกรลส์สนับสนุน test-driven development ก็คือเกรลส์ มี unit testing สำหรับการเขียนฟังก์ชันมาทดสอบฟังก์ชันที่เราจะใช้ได้ด้วย ก็คือเราสามารถสร้างฟังก์ชั่นที่ป้อน input ให้ฟังก์ชั่นของเราได้โดยที่เราไม่ต้องมานั่งป้อนเองตลอดเวลาครับ สะดวกดีมั้ยครับ แต่ใน RoR ก็มีส่วนนี้เหมือนกันครับ<br />
&#8212;<br />
เกรลส์ใช้ภาษากรูวี่ในการพัฒนาแอพพลิเคชั่น<br />
<strong>ถาม : </strong>ภาษากรูวี่เป็นยังไงกันนะ<br />
<strong>ตอบ : </strong>คล้ายภาษาจาวา มากเลยครับ<br />
ตัวอย่างโค้ด</p>
<pre lang="groovy>
class Student {
   String studentId
   String name
   Advisor advisor
   static hasMany = [registrations: Registrations]
}
</pre>
<p>&#8212;<br />
ใช้แนวคิด &#8220;convention over configuration&#8221;<br />
<strong>อีกแล้ว !! </strong><br />
ตอบ convention over configuration คือ การใช้ข้อตกลงแทนการคอนฟิค ยังไง ? เช่น เรามีโฟลเดอร์ controller ที่จะเก็บ ไฟล์ที่เป็นคอนโทรลเลอร์ทุกอันเอาไว้ และตัว platform จะไปจัดการเรียกให้เอง เราไม่ต้องมานั่งปรับว่าถ้าเรีัยก controller ให้ไปเรียกในโฟลเดอร์นี้นะ เพราะมันเป็นไปอย่างอัตโนมัติ สะดวกดีนะครับ<br />
&#8212;</p>
<p>ครับ บล้อกต่อไปของผมจะเป็นการทำให้ Netbeans 6.7.1 IDE Tool คู่ใจของผม รันตัว Grails Application ได้ครับ<br />
ปล. ถ้ามี ข้อมูลใดผิดผมก็ขออภัยมา ณ ที่นี้ด้วยครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/25/aeronzgroovy-on-grails-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การเขียนบล๊อกที่ดี ตอนที่ 4 เพิ่มสีสันให้กับ source code</title>
		<link>http://blog.pupasoft.com/2009/11/22/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-4/</link>
		<comments>http://blog.pupasoft.com/2009/11/22/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-4/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 13:47:30 +0000</pubDate>
		<dc:creator>nolifelover</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[การเขียนบล๊อก]]></category>
<category>css</category><category>javascript</category>
		<guid isPermaLink="false">http://blog.pupasoft.com/?p=3365</guid>
		<description><![CDATA[สำหรับส่วนนี้จะเป็นการนำเอา plugins syntax highlight มาใช้งานสำหรับคนที่ต้องการเขียนโปรแกรมให้ source code ของเรามีสีดูแล้วน่าสนใจ โดยการใช้งาน javascript เพื่อทำการ highlight ข้อมูล sourcecode ตามภาษาที่เราต้องการ โดย library ที่ผมได้มีการใช้งานได้เคยเขียนไว้ในบล๊อกเรื่อง การใช้งาน Syntax highlighting ซึ่งได้อธิบายการเขียนไว้ละเอียดพอสมควรรวมถึงยังมีภาษาต่างๆที่ support ให้ดูด้วยสามารถดูได้ด้านล่าง แต่เมื่อได้อ่านบล๊อกของหลายคนยังคงไม่มีการนำไปใช้งานเลยคิดว่าอาจจะนำมาใช้งานไม่เป็นจึงเขียนบล๊อกนี้เพื่อแนะแนวทาง
การใช้งาน code highlight
สำหรับในส่วนของ code highlight จะมีอยู่ 2 ส่วนด้วยกัน
1.ส่วนที่มากับตัว wordpress เองซึ่งจะใช้เพียง css ง่ายๆ ในการทำให้ส่วนข้อความนั้นมองเป็น code วิธีการสามารถทำได้โดยการใช้

&#60;code&#62;source&#60;/code&#62;

ผลลัพธ์ตามนี้ครับ
source
2.ส่วนของ plugin ที่ได้มีการติดตั้งเพิ่มเติม
โดยในการใช้งานสามารถดูการใช้งานได้ตามที่ การใช้งาน Syntax highlighting
ตัวอย่างผลลัพธ์สวยๆ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
&#60;div id=&#34;content&#34;&#62;
  &#60;div id=&#34;upper_nav&#34; class=&#34;nav&#34;&#62;
    &#60;div&#62;
   [...]]]></description>
			<content:encoded><![CDATA[<p>สำหรับส่วนนี้จะเป็นการนำเอา plugins syntax highlight มาใช้งานสำหรับคนที่ต้องการเขียนโปรแกรมให้ source code ของเรามีสีดูแล้วน่าสนใจ โดยการใช้งาน javascript เพื่อทำการ highlight ข้อมูล sourcecode ตามภาษาที่เราต้องการ โดย library ที่ผมได้มีการใช้งานได้เคยเขียนไว้ในบล๊อกเรื่อง <a href="http://blog.pupasoft.com/2009/11/16/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-syntax-highlighting/">การใช้งาน Syntax highlighting</a> ซึ่งได้อธิบายการเขียนไว้ละเอียดพอสมควรรวมถึงยังมีภาษาต่างๆที่ support ให้ดูด้วยสามารถดูได้ด้านล่าง แต่เมื่อได้อ่านบล๊อกของหลายคนยังคงไม่มีการนำไปใช้งานเลยคิดว่าอาจจะนำมาใช้งานไม่เป็นจึงเขียนบล๊อกนี้เพื่อแนะแนวทาง<span id="more-3365"></span></p>
<h3>การใช้งาน code highlight</h3>
<p>สำหรับในส่วนของ code highlight จะมีอยู่ 2 ส่วนด้วยกัน<br />
<strong>1.ส่วนที่มากับตัว wordpress </strong>เองซึ่งจะใช้เพียง css ง่ายๆ ในการทำให้ส่วนข้อความนั้นมองเป็น code วิธีการสามารถทำได้โดยการใช้</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">code</span>&gt;</span>source<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">code</span>&gt;</span></pre></div></div>

<p>ผลลัพธ์ตามนี้ครับ<br />
<code>source</code><br />
<strong>2.ส่วนของ plugin </strong>ที่ได้มีการติดตั้งเพิ่มเติม<br />
โดยในการใช้งานสามารถดูการใช้งานได้ตามที่ <a href="http://blog.pupasoft.com/2009/11/16/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-syntax-highlighting/">การใช้งาน Syntax highlighting</a><br />
ตัวอย่างผลลัพธ์สวยๆ</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content&quot;</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;upper_nav&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nav&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/&quot;</span>&gt;</span>Home<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>|<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/util_nav/demo&quot;</span>&gt;</span>Demo<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>|<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/util_nav/contact_us&quot;</span>&gt;</span>Contact Us<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>|<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/util_nav/about_us&quot;</span>&gt;</span>About Us<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>  
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear: both;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wrapper&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/&quot;</span>&gt;&lt;%<span style="color: #66cc66;">=</span> image_tag <span style="color: #ff0000;">&quot;/themes/blue_steel/images/logo.jpg&quot;</span>, :<span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span>&gt;</span>&quot;logo&quot;%&gt;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header_text&quot;</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>BrowserCMS 3.0<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
        The newly redesigned BrowserCMS 3.0 is an easy, affordable<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">br</span> <span style="color: #66cc66;">/</span>&gt;</span>
        way to control, edit, and organize website content.
      <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear: both;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mid_nav&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nav wrapper&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;%<span style="color: #66cc66;">=</span> render_menu :from_top <span style="color: #66cc66;">=</span>&gt;</span> 0, :depth =&gt; 1%&gt; 
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<h3>การเพิ่มในส่วนของหน้า editor</h3>
<p>สำหรับการดำเนินการในการใช้งานจะต้องมีการเลือกแก้ไขในส่วนของ HTML เท่านั้นไม่สามารถใช้งานในส่วนของ visual mode ได้ ซึ่งการใช้งานทำได้โดย<br />
1. เลือก tab html<br />
2. เพิ่ม source code<br />
3. ให้ source code นั้นคล่อมด้วยการใช้งานที่เราต้องการเช่น<br />
<strong>แบบธรรมดา</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">code</span>&gt;</span>source code<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">code</span>&gt;</span></pre></div></div>

<p><strong>แบบที่เป็น plugins</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">pre</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;html4strict&quot;</span>&gt;</span>
source code</pre></div></div>

</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/22/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aErOnz`Grant user for MySQL database</title>
		<link>http://blog.pupasoft.com/2009/11/12/aeronzgrant-user-for-mysql-database/</link>
		<comments>http://blog.pupasoft.com/2009/11/12/aeronzgrant-user-for-mysql-database/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 08:35:23 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Tips]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=2820</guid>
		<description><![CDATA[สวัสดีครับ บางคนคงเคยเจอปัญหา 
&#8220;Host &#8216;172.30.xxx.xxx&#8217; is not allowed to connect to this MySQL server&#8221;
เราสามารถทำการแก้ไขได้โดยการกำหนดสิทธิให้กับ user หนึ่งๆ และใช้ user นั้นในการเข้าถึงฐานข้อมูลที่ต้องการนะครับ

วิธีการสร้าง user ใหม่ก็คือ

GRANT ALL PRIVILEGES ON yourdatabase.* TO user_name @'%' IDENTIFIED BY 'yourpassword';

]]></description>
			<content:encoded><![CDATA[<p>สวัสดีครับ บางคนคงเคยเจอปัญหา </p>
<p>&#8220;Host &#8216;172.30.xxx.xxx&#8217; is not allowed to connect to this MySQL server&#8221;</p>
<p>เราสามารถทำการแก้ไขได้โดยการกำหนดสิทธิให้กับ user หนึ่งๆ และใช้ user นั้นในการเข้าถึงฐานข้อมูลที่ต้องการนะครับ</p>
<p><span id="more-2820"></span></p>
<p>วิธีการสร้าง user ใหม่ก็คือ</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">GRANT</span> <span style="color: #990099; font-weight: bold;">ALL</span> <span style="color: #990099; font-weight: bold;">PRIVILEGES</span> <span style="color: #990099; font-weight: bold;">ON</span> yourdatabase.<span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">TO</span> user_name @<span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>'</span> IDENTIFIED BY <span style="color: #008000;">'yourpassword'</span><span style="color: #000033;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/12/aeronzgrant-user-for-mysql-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การเขียนบล๊อกที่ดี ตอนที่ 3 การจัดการข้อมูลบล๊อก</title>
		<link>http://blog.pupasoft.com/2009/11/11/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-3/</link>
		<comments>http://blog.pupasoft.com/2009/11/11/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-3/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:18:56 +0000</pubDate>
		<dc:creator>nolifelover</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[categories]]></category>
		<category><![CDATA[Discussion]]></category>
		<category><![CDATA[publish]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[การเขียนบล๊อก]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=3351</guid>
		<description><![CDATA[
มาถึงตอน 3 แล้วเกี่ยวกับรายละเอียดการเขียนบล๊อกซึ่งตอนนี้ขอแนะนำการใช้งานหลายละเอียดรายล้อมของบล๊อกในแต่ละอันว่ามีอะไรบ้าง ซึ่งหากมองดูหน้าที่เขียนบล๊อกจะเห็นว่ามีหลายส่วนมาก ซึ่งจะมาดูกันว่ามีอะไรบ้างและอันไหนที่เราสมควรที่จะดำเนินการใส่ลงไป เพื่อให้บล๊อกของเรามีความละเอียดครบถ้วนสมบูรณ์มากยิ่งขึ้นครับ สำหรับส่วนที่จะกล่าวจะเป็นในส่วนของ publish, categories, tags, Discussion
การจัดการส่วน Publish

สำหรับในส่วนของ publish นับว่าเป็นส่วนที่สำครับในการใช่งานเนื่องจากว่าตัวบล๊อกจะมีความสามารถในการตั้งเวลาเพื่อให้สามารถที่จะนำเสนอบล๊อกไหนได้ ตามเวลาที่กำหนดโดยในส่วนนี้จะมี status ค่าต่างๆ ที่ควรรู้ไว้เพื่อเป็นประโยชน์ หากเราเริ่มทำการเขียนก็จะเป็น draft
status: draft ยังไม่มีการเผยแพร่, publish เผยแพร่แล้ว
visibility: ความสามารถในการเข้าถึง public คนทั่วไปดูได้, private ได้เฉพาะสมาชิก, password ต้องมีรหัสผ่าน
Publish immediately: การตั้งเวลาในการเผยแพร่ข้อมูล




การจัดการส่วน Categories

ในส่วนของ categories หรือว่าหมวดหมู่ในการเก็บบทความหรือบลีอกของเราสามารถที่จะเลือกได้หลายๆ หมวดหมู่ว่าต้องการที่จะเก็บไว้ในส่วนไหนซึ่งในการเลือกก็ควรที่จะทำการเลือกให้ตรงกับข้อมูลที่ต้องการเขียน เพื่อให้ผุ้ที่มาอ่านหรือติดตามสามารถเข้าดูได้ตามความสนใจ


การจัดการส่วน tags
สำหรับส่วนที่ถือว่าสำคัญมากนั้นก็คือส่วนของ tags หรือว่าคำสำคัญเกี่ยวกับเนื้อหาที่เราได้เขียนขึ้นโดย tag จะถูกแบ่งออกเป็น 2 ส่วนคือส่วนด้านขวามือเราสามารถเพิ่มเข้าไปได้โดยจะมีระบบ autocomplete เพื่อให้สามารถดึง tag อันเก่ามาใช้งานได้ และส่วนที่ 2 คือส่วนที่เป็น suggest tag ซึ่งจะดำเนินการให้เฉพาะที่เป็นภาษาอังกฤษเท่านั้น [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/preview.jpg"><img class="aligncenter size-medium wp-image-3352" title="preview" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/preview-300x138.jpg" alt="" width="300" height="138" /></a><br />
มาถึงตอน 3 แล้วเกี่ยวกับรายละเอียดการเขียนบล๊อกซึ่งตอนนี้ขอแนะนำการใช้งานหลายละเอียดรายล้อมของบล๊อกในแต่ละอันว่ามีอะไรบ้าง ซึ่งหากมองดูหน้าที่เขียนบล๊อกจะเห็นว่ามีหลายส่วนมาก ซึ่งจะมาดูกันว่ามีอะไรบ้างและอันไหนที่เราสมควรที่จะดำเนินการใส่ลงไป เพื่อให้บล๊อกของเรามีความละเอียดครบถ้วนสมบูรณ์มากยิ่งขึ้นครับ สำหรับส่วนที่จะกล่าวจะเป็นในส่วนของ publish, categories, tags, Discussion<span id="more-3351"></span></p>
<h3>การจัดการส่วน Publish</h3>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/publish-image.jpg"><img class="alignleft size-full wp-image-3354" title="publish-image" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/publish-image.jpg" alt="" width="287" height="283" /></a><br />
สำหรับในส่วนของ publish นับว่าเป็นส่วนที่สำครับในการใช่งานเนื่องจากว่าตัวบล๊อกจะมีความสามารถในการตั้งเวลาเพื่อให้สามารถที่จะนำเสนอบล๊อกไหนได้ ตามเวลาที่กำหนดโดยในส่วนนี้จะมี status ค่าต่างๆ ที่ควรรู้ไว้เพื่อเป็นประโยชน์ หากเราเริ่มทำการเขียนก็จะเป็น draft<br />
status: draft ยังไม่มีการเผยแพร่, publish เผยแพร่แล้ว<br />
visibility: ความสามารถในการเข้าถึง public คนทั่วไปดูได้, private ได้เฉพาะสมาชิก, password ต้องมีรหัสผ่าน<br />
Publish immediately: การตั้งเวลาในการเผยแพร่ข้อมูล</p>
<h3></h3>
<h3></h3>
<h3></h3>
<h3></h3>
<h3>การจัดการส่วน Categories</h3>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/categories.jpg"><img class="alignleft size-full wp-image-3355" title="categories" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/categories.jpg" alt="" width="293" height="155" /></a><br />
ในส่วนของ categories หรือว่าหมวดหมู่ในการเก็บบทความหรือบลีอกของเราสามารถที่จะเลือกได้หลายๆ หมวดหมู่ว่าต้องการที่จะเก็บไว้ในส่วนไหนซึ่งในการเลือกก็ควรที่จะทำการเลือกให้ตรงกับข้อมูลที่ต้องการเขียน เพื่อให้ผุ้ที่มาอ่านหรือติดตามสามารถเข้าดูได้ตามความสนใจ</p>
<h3></h3>
<h3></h3>
<h3>การจัดการส่วน tags</h3>
<p>สำหรับส่วนที่ถือว่าสำคัญมากนั้นก็คือส่วนของ tags หรือว่าคำสำคัญเกี่ยวกับเนื้อหาที่เราได้เขียนขึ้นโดย tag จะถูกแบ่งออกเป็น 2 ส่วนคือส่วนด้านขวามือเราสามารถเพิ่มเข้าไปได้โดยจะมีระบบ autocomplete เพื่อให้สามารถดึง tag อันเก่ามาใช้งานได้ และส่วนที่ 2 คือส่วนที่เป็น suggest tag ซึ่งจะดำเนินการให้เฉพาะที่เป็นภาษาอังกฤษเท่านั้น โดย tag สามารถใส่ได้ทั้งที่เป็นภาษาไทยและอังกฤษ<br />
<a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/tag-image.jpg"><img class="aligncenter size-full wp-image-3356" title="tag-image" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/tag-image.jpg" alt="" width="300" height="147" /></a><a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/suggest.jpg"><img class="aligncenter size-full wp-image-3357" title="suggest" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/suggest.jpg" alt="" width="306" height="113" /></a></p>
<h3>การจัดการส่วน Discussion</h3>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2010/01/discussion.jpg"><img class="aligncenter size-full wp-image-3358" title="discussion" src="http://blog.pupasoft.com/wp-content/uploads/2010/01/discussion.jpg" alt="" width="570" height="97" /></a><br />
ส่วนนี้เป็นส่วนที่ใช้ในการอนุญาตให้มีการแสดงความคิดเห็นหรือรายงานการนำเอา url ของบล๊อกเราไปใช้หรือไม่</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/11/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aErOnz`Steganography</title>
		<link>http://blog.pupasoft.com/2009/11/09/aeronzsteganography/</link>
		<comments>http://blog.pupasoft.com/2009/11/09/aeronzsteganography/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 05:57:05 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Tips]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=2793</guid>
		<description><![CDATA[สวัสดีครับ วันนี้ผมจะมาอธิบายหลักการของการซ่อนข้อความไว้ในรูปภาพ ในฟอแมท 24bits-PNG กันครับ
ซึ่งเทคนิคการซ่อนข้อความในรูปภาพเราเรียกเป็นภาษาอังกฤษว่า Steganography นั่นเองครับ
ถ้าใครสนใจ ก็ตามเข้ามาได้เลยครับ ^^

เริ่มต้นเราต้องเข้าใจ รูปแบบของข้อมูลในรูปภาพกันก่อนนะครับ โดยในไฟล์ 24bits-PNG เนี่ยเวลาเก็บจริงๆ
จะแยกออกมาเป็น 3 Bytes ต่อ 1 Pixel ครับ
โดย 3 Bytes ดังกล่าวนั้นจะเก็บข้อมูลสี RGB
Byte ที่หนึ่งเก็บ ข้อมูลของ R (Red)
Byte ที่หนึ่งเก็บ ข้อมูลของ G (Green)
Byte ที่หนึ่งเก็บ ข้อมูลของ B (Blue)
ซึ่งในแต่ละไบท์ก็จะมีข้อมูล 8 bits ที่เป็นเลข 0 กับ 1 อีกทีครับ ถ้าใครงง ดูในรูปน่าจะพอเข้าใจขึ้นนะครับ

เอาละครับ ต่อไปจะมาดูรูปแบบข้อมูลของข้อความกันนะครับ
ในตัวอักษรหนึ่งตัวจะเก็บเป็นรหัส ASCII 1 byte ซึ่งใน 1 byte จะแบ่งออกเป็น 8 bits ในการเก็บเป็นข้อมูลเลขฐานสอง [...]]]></description>
			<content:encoded><![CDATA[<p>สวัสดีครับ วันนี้ผมจะมาอธิบายหลักการของการซ่อนข้อความไว้ในรูปภาพ ในฟอแมท 24bits-PNG กันครับ<br />
ซึ่งเทคนิคการซ่อนข้อความในรูปภาพเราเรียกเป็นภาษาอังกฤษว่า Steganography นั่นเองครับ<br />
ถ้าใครสนใจ ก็ตามเข้ามาได้เลยครับ ^^<br />
<span id="more-2793"></span></p>
<p>เริ่มต้นเราต้องเข้าใจ รูปแบบของข้อมูลในรูปภาพกันก่อนนะครับ โดยในไฟล์ 24bits-PNG เนี่ยเวลาเก็บจริงๆ<br />
จะแยกออกมาเป็น 3 Bytes ต่อ 1 Pixel ครับ<br />
โดย 3 Bytes ดังกล่าวนั้นจะเก็บข้อมูลสี RGB<br />
Byte ที่หนึ่งเก็บ ข้อมูลของ R (Red)<br />
Byte ที่หนึ่งเก็บ ข้อมูลของ G (Green)<br />
Byte ที่หนึ่งเก็บ ข้อมูลของ B (Blue)</p>
<p>ซึ่งในแต่ละไบท์ก็จะมีข้อมูล 8 bits ที่เป็นเลข 0 กับ 1 อีกทีครับ ถ้าใครงง ดูในรูปน่าจะพอเข้าใจขึ้นนะครับ<br />
<a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg1.jpg"><img src="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg1.jpg" alt="steg1" title="steg1" width="516" height="243" class="aligncenter size-full wp-image-2795" /></a></p>
<p>เอาละครับ ต่อไปจะมาดูรูปแบบข้อมูลของข้อความกันนะครับ<br />
ในตัวอักษรหนึ่งตัวจะเก็บเป็นรหัส ASCII 1 byte ซึ่งใน 1 byte จะแบ่งออกเป็น 8 bits ในการเก็บเป็นข้อมูลเลขฐานสอง 0 กับ 1 ครับ<br />
<a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg21.jpg"><img src="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg21.jpg" alt="steg21" title="steg21" width="423" height="273" class="aligncenter size-full wp-image-2803" /></a></p>
<p>ทีนี้ที่เราจะทำคือเทคนิคที่เรียกว่า LSB(Least Significant Bits) Steganography method หรือหมายถึงว่าการทำให้บิทสุดท้ายมีความหมาย (แปลถูกอ้ะป่าวไม่รู้นะครับ)<br />
โดยหลักการของ LSB นั้นคือ<br />
1. ทำให้ข้อความที่เราต้องการซ่อนแตกออกเป็น byte<br />
2. แตกรูปภาพเราออกเป็น byte เช่นกัน<br />
3. เอาแต่ละบิทของข้อความไปใส่แทนที่บิทสุดท้ายของ byte รูปภาพตั้งแต่ไบท์แรก งงใช่มั้ยครับลองดูรูปละกันนะครับ<br />
<a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg3.jpg"><img src="http://blog.pupasoft.com/wp-content/uploads/2009/11/steg3.jpg" alt="steg3" title="steg3" width="445" height="283" class="aligncenter size-full wp-image-2804" /></a></p>
<p>การถอดข้อความก็เอา bit สุดท้ายของแต่ละ byte ในรูปภาพมารวมกันแล้ว convert ให้เป็น String ก็ได้แล้วครับ<br />
ถ้าใครสนใจ ผมว่าสไลด์นี้เป็นสไลด์ที่อ่านเข้าใจครับ http://www.slideworld.com/slideshow.aspx/STEGANOGRAPHY-ppt-1032261<br />
คราวหน้าถ้ามีเวลา ผมจะเอาโค้ด Java เพื่อใช้ในการซ่อนข้อความ และตัวอย่างรูปภาพหลังจาก ซ่อนข้อความแล้ว มาให้ดูกันนะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/09/aeronzsteganography/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>การเขียนบล๊อกที่ดี ตอนที่ 2 การอัพโหลดและใส่รูปภาพ</title>
		<link>http://blog.pupasoft.com/2009/11/06/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-2/</link>
		<comments>http://blog.pupasoft.com/2009/11/06/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-2/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 03:49:26 +0000</pubDate>
		<dc:creator>nolifelover</dc:creator>
				<category><![CDATA[General]]></category>
<category>thumbnail</category><category>อัพโหลดรูปภาพ</category>
		<guid isPermaLink="false">http://blog.pupasoft.com/?p=3300</guid>
		<description><![CDATA[
สำหรับปัญหาอย่างหนึ่งในการเขียนบล๊อกคือเราจะใส่รูปอย่างไรให้ดูดี เราจะมีวิธีาการจัดการในส่วนของการใส่รูปได้อย่างไร วิธีการง่ายๆ คือการอัพโหลดผ่านทางโปรแกรมอัพโหลดของ wordpress ซึ่ง version ตั้งแต่ 2 เป็นต้นไปได้เพิ่มความสามารถในการอัพโหลดรูปทำให้สามารถทำได้ง่ายขึ้น รวมถึงเพิ่มความสามารถในการจัดการการแสดงผลของรูปภาพร่วมกับข้อความหรือแม้แต่การย่อรูปหรือ ลดขนาดของรูป
การอัพโหลดรูป
 1. ในการอัพโหลดเริ่มแรกเลยต้องกดปุ่มสีเหลี่ยมตัวแรกในการ เข้าสู่ป๊อปอัพเพื่อให้สามารถอัพโหลดได้ โดยในการอัพโหลดมีหลายรูปแบบไฟล์ อย่างเช่นรูปภาพ วีดีโด ไฟล์เพลงหรืออื่นๆ ซึ่งขึ้นกับว่าเราจะใส่ไฟล์อะไรในที่นี้แนะนำไฟล์ภาพก่อนละกันครับ
2. สำหรับในการอัพโหลดจะมี 2 ส่วนคือการใช้ flash upload และใช้ผ่าน html อัพโหลดแบบธรรมดา ซึ่งตามรูปจะเป็นการอัพโหลดแบบการใช้งาน flash ซึ่งหากว่ามีปัญหากับการใช้งานจะไม่สามารถอัพโหลดได้ให้เราเลือกไปใช้งานแบบ browser iploader แทนซึ่งจะทำให้เราสามารถอัพโหลดรูปขึ้นไปใช้งานได้อย่างแน่นอน
3. เมื่อทำการอัพโหลดรูปภาพขึ้นไปแล้วจะมีให้เลือกเพื่อทำการเลือรูปแบบที่จะใส่รูปภาพลงไปว่าต้องการให้ใส่ภาพในลักษณะ ใด ตำแหน่งไหน และให้จัดการอย่างไร ขนาดเท่าไร
title: ชื่อรูป
alternate text: เมื่อเอาเมาส์วางจะมีข้อความขึ้น
description: รายละเอียด
alignment: การวางตำแหน่งรูปกับข้อความ none=วางภาพแยกข้อความ, left=วางรูปด้านซ้ายและ text ด้านขวา
size: ขนาดของภาพ thumbnail คือ ภาพย่อ medium คือ ภาพขนาดกลางโดยเห็นทั้งหมด

]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/image-upload.jpg"><img class="aligncenter size-medium wp-image-3304" title="image-upload" src="http://blog.pupasoft.com/wp-content/uploads/2009/11/image-upload-300x109.jpg" alt="" width="300" height="109" /></a><br />
สำหรับปัญหาอย่างหนึ่งในการเขียนบล๊อกคือเราจะใส่รูปอย่างไรให้ดูดี เราจะมีวิธีาการจัดการในส่วนของการใส่รูปได้อย่างไร วิธีการง่ายๆ คือการอัพโหลดผ่านทางโปรแกรมอัพโหลดของ wordpress ซึ่ง version ตั้งแต่ 2 เป็นต้นไปได้เพิ่มความสามารถในการอัพโหลดรูปทำให้สามารถทำได้ง่ายขึ้น รวมถึงเพิ่มความสามารถในการจัดการการแสดงผลของรูปภาพร่วมกับข้อความหรือแม้แต่การย่อรูปหรือ ลดขนาดของรูป<span id="more-3300"></span></p>
<h3>การอัพโหลดรูป</h3>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/image-upload-button.jpg"><img class="alignleft size-full wp-image-3306" title="image-upload-button" src="http://blog.pupasoft.com/wp-content/uploads/2009/11/image-upload-button.jpg" alt="" width="246" height="68" /></a> 1. ในการอัพโหลดเริ่มแรกเลยต้องกดปุ่มสีเหลี่ยมตัวแรกในการ เข้าสู่ป๊อปอัพเพื่อให้สามารถอัพโหลดได้ โดยในการอัพโหลดมีหลายรูปแบบไฟล์ อย่างเช่นรูปภาพ วีดีโด ไฟล์เพลงหรืออื่นๆ ซึ่งขึ้นกับว่าเราจะใส่ไฟล์อะไรในที่นี้แนะนำไฟล์ภาพก่อนละกันครับ</p>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/flash-upload.jpg"><img class="alignright size-medium wp-image-3307" title="flash-upload" src="http://blog.pupasoft.com/wp-content/uploads/2009/11/flash-upload-300x80.jpg" alt="" width="300" height="80" /></a>2. สำหรับในการอัพโหลดจะมี 2 ส่วนคือการใช้ flash upload และใช้ผ่าน html อัพโหลดแบบธรรมดา ซึ่งตามรูปจะเป็นการอัพโหลดแบบการใช้งาน flash ซึ่งหากว่ามีปัญหากับการใช้งานจะไม่สามารถอัพโหลดได้ให้เราเลือกไปใช้งานแบบ browser iploader แทนซึ่งจะทำให้เราสามารถอัพโหลดรูปขึ้นไปใช้งานได้อย่างแน่นอน</p>
<p><a href="http://blog.pupasoft.com/wp-content/uploads/2009/11/upload-form.jpg"><img class="alignleft size-medium wp-image-3319" title="upload-form" src="http://blog.pupasoft.com/wp-content/uploads/2009/11/upload-form-300x253.jpg" alt="" width="300" height="253" /></a>3. เมื่อทำการอัพโหลดรูปภาพขึ้นไปแล้วจะมีให้เลือกเพื่อทำการเลือรูปแบบที่จะใส่รูปภาพลงไปว่าต้องการให้ใส่ภาพในลักษณะ ใด ตำแหน่งไหน และให้จัดการอย่างไร ขนาดเท่าไร<br />
<strong>title</strong>: ชื่อรูป<br />
<strong>alternate text</strong>: เมื่อเอาเมาส์วางจะมีข้อความขึ้น<br />
<strong>description</strong>: รายละเอียด<br />
<strong>alignment</strong>: การวางตำแหน่งรูปกับข้อความ none=วางภาพแยกข้อความ, left=วางรูปด้านซ้ายและ text ด้านขวา<br />
<strong>size</strong>: ขนาดของภาพ thumbnail คือ ภาพย่อ medium คือ ภาพขนาดกลางโดยเห็นทั้งหมด
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/06/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9a%e0%b8%a5%e0%b9%8a%e0%b8%ad%e0%b8%81%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%94%e0%b8%b5-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aErOnz`Show&#124;Hide hidden files &amp; Folder in Mac OSX</title>
		<link>http://blog.pupasoft.com/2009/11/04/aeronzshowhide-hidden-files-folder-in-mac-osx/</link>
		<comments>http://blog.pupasoft.com/2009/11/04/aeronzshowhide-hidden-files-folder-in-mac-osx/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 15:39:35 +0000</pubDate>
		<dc:creator>aErOnz`</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mac OSX Tips]]></category>

		<guid isPermaLink="false">http://blog.pupasoft.com/?p=2705</guid>
		<description><![CDATA[ วันนี้เป็นทริคเล็กน้อยๆ ครับ จะนำเสนอวิธีการสั่ง แสดงไฟล์ที่ซ่อนอยู่ใน OSX นะครับ
ตามมาเลยครับ

เริ่มด้วยการเปิด Terminal ขึ้นมาจากนั้น พิมพ์คำสั่งตามนี้ครับ

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

ถ้าหากให้ซ่อนก็ใช้คำสั่ง

$ defaults write com.apple.finder AppleShowAllFiles FALSE
$ killall Finder

แล้วเจอกันคราวหน้าครับ ^^
]]></description>
			<content:encoded><![CDATA[<p> วันนี้เป็นทริคเล็กน้อยๆ ครับ จะนำเสนอวิธีการสั่ง แสดงไฟล์ที่ซ่อนอยู่ใน OSX นะครับ<br />
ตามมาเลยครับ<br />
<span id="more-2705"></span><br />
เริ่มด้วยการเปิด Terminal ขึ้นมาจากนั้น พิมพ์คำสั่งตามนี้ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="cmd" style="font-family:monospace;">$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder</pre></div></div>

<p>ถ้าหากให้ซ่อนก็ใช้คำสั่ง</p>

<div class="wp_syntax"><div class="code"><pre class="cmd" style="font-family:monospace;">$ defaults write com.apple.finder AppleShowAllFiles FALSE
$ killall Finder</pre></div></div>

<p>แล้วเจอกันคราวหน้าครับ ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pupasoft.com/2009/11/04/aeronzshowhide-hidden-files-folder-in-mac-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
