<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6082945998286456591</id><updated>2024-10-24T19:12:06.377-07:00</updated><title type='text'>Noob Developer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-108254402984563258</id><published>2013-06-10T22:49:00.001-07:00</published><updated>2013-06-10T22:49:16.381-07:00</updated><title type='text'>Prototype Pattern</title><content type='html'>Prototype Pattern&lt;br /&gt;
เป็นรูปแบบการเขียนอีกแบบหนึ่งซึ่ง มีประโยชน์ทางด้านการใช้ Object ที่มีจำนวนมาก ๆ โดยที่ว่าเราไม่ต้องไป New Object กันอีกต่อไปเรื่อย ๆ ซึ่งทำให้เปลืองทรัพยากรด้วย เราก็จะต้องมีตัวต้นแบบ และก็ Clone มาเรื่อย ๆ อย่างเช่น Object ของมอนเตอร์ ในเกม เป็นต้นแบบนี้&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNFa-nzuMb9IR_yMpYM-snAAMbFMRnrq_ZuhO1kWT3cHzWnYP-K2-LPTAPDhWOKnuCVuVFndcmICl6lmVPoUJY8eQXNXABUd58B2BVZzg0zCjpCJ7pFZkDFOZ_7NMo__0bb-KF5dPFDAWA/s1600/prototype+implementation+-+uml+class+diagram.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;201&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNFa-nzuMb9IR_yMpYM-snAAMbFMRnrq_ZuhO1kWT3cHzWnYP-K2-LPTAPDhWOKnuCVuVFndcmICl6lmVPoUJY8eQXNXABUd58B2BVZzg0zCjpCJ7pFZkDFOZ_7NMo__0bb-KF5dPFDAWA/s400/prototype+implementation+-+uml+class+diagram.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
UML ของ Prototype Pattern&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Client - จะสร้าง Object มาแล้วไปถาม Prototype Class ว่าจะคัดลอก&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Prototype - กำหนด Interface class สำหรับการสร้าง Object และ Clone&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
ConcreatePrototype - เป็นรูปร่างหน้าตาของสิ่งที่สร้างขึ้นมาและสามารถ โคลนตัวเองได้&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
ตัวอย่าง Code&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre style=&quot;font-size: 12px; text-align: justify;&quot;&gt;public interface Prototype {
 public abstract Object clone ( );
}

 

public class ConcretePrototype implements Prototype {
 public Object clone() {
  return super.clone();
 }
}

public class Client {

 public static void main( String arg[] ) 
 {
  ConcretePrototype obj1= new ConcretePrototype ();
  ConcretePrototype obj2 = ConcretePrototype)obj1.clone();
 }

}&lt;/pre&gt;
&lt;/blockquote&gt;
ลองนำไปใช้ดูนะครับ จะเป็นประโยชน์มากสำหรับคนทำเกม ทำ Visual Effect ต่าง ๆ </content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/108254402984563258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2013/06/prototype-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/108254402984563258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/108254402984563258'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2013/06/prototype-pattern.html' title='Prototype Pattern'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNFa-nzuMb9IR_yMpYM-snAAMbFMRnrq_ZuhO1kWT3cHzWnYP-K2-LPTAPDhWOKnuCVuVFndcmICl6lmVPoUJY8eQXNXABUd58B2BVZzg0zCjpCJ7pFZkDFOZ_7NMo__0bb-KF5dPFDAWA/s72-c/prototype+implementation+-+uml+class+diagram.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-1286132736148367857</id><published>2013-06-09T14:33:00.000-07:00</published><updated>2013-06-09T14:33:33.722-07:00</updated><title type='text'>Singleton Pattern</title><content type='html'>Singleton Pattern&lt;br /&gt;
ในบางครั้งนั้นเราจำเป็นจะต้องใช้ Object ตัว ๆ หนึ่งแล้ว แต่เราไม่ต้องการ New Object ขึ้นมาใหม่เรื่อย ๆ ซึ่งทำให้ค่าของการบันทึกที่เคยใช้งานมาแล้ว กลับมาสู่ค่าเริ่มต้น จนกระทั่งจนกว่าโปรแกรมจะปิดไป อย่างเช่น ค่า Config ของตัวโปรแกรม หรือไม่ก็พวก Data ที่เราต้องการใช้ในระดับ Global Object ทางออกของการออกแบบ Object Singleton Pattern ก็เพื่อการนี้&lt;br /&gt;
&lt;br /&gt;
หลักการง่าย ๆ คือ มันจะ New Object ขึ้นมาครั้งเดียวตลอด Life Circle ของโปรแกรมจนกว่าจะ Terminate ไป&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgqxZoSQ5dUCQBWkbyW5i-KU9DMvP-sCDmf4ziEGLgHOGkX19OGPT6H4LCfDwuszN3wVhVf734TxNcQqwJ6BrAd_CWzG-K4HXNeR7PtkVUEcPpDxpZg0ZklyTWj1JCkRLFSE9DuqWxHjF/s1600/singleton_implementation_-_uml_class_diagram+(1).gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgqxZoSQ5dUCQBWkbyW5i-KU9DMvP-sCDmf4ziEGLgHOGkX19OGPT6H4LCfDwuszN3wVhVf734TxNcQqwJ6BrAd_CWzG-K4HXNeR7PtkVUEcPpDxpZg0ZklyTWj1JCkRLFSE9DuqWxHjF/s1600/singleton_implementation_-_uml_class_diagram+(1).gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
รูปปลากรอบ (ราดพริกใส่ซอสอร่อยเหาะ)&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
จะเห็นได้จาก UML ว่าจะมี intance กำหนดการชี้เข้าหาตัวเอง โดยที่ getInstance จะเป็นการเรียก Object นี้เอาไปใช้&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Example Code&lt;/div&gt;
&lt;pre style=&quot;font-size: 12px; text-align: justify;&quot;&gt;class Singleton
{
 private static Singleton instance;
 private Singleton()
 {
  ...
 }

 public static synchronized Singleton getInstance()
 {
  if (instance == null)
   instance = new Singleton();

  return instance;
 }
 ...
 public void doSomething()
 {
  ... 
 }
}&lt;/pre&gt;
&lt;pre style=&quot;font-size: 12px; text-align: justify;&quot;&gt;
&lt;/pre&gt;
&lt;pre style=&quot;font-size: 12px; text-align: justify;&quot;&gt;
&lt;/pre&gt;
เวลานำไปใช้งาน จะกำหนด Object ให้มีค่าเป็น static ก่อนก็ได้ และใช้ค่า instace ไปเก็บ หรือจะเรียกทั้ง .getInstace() ไปเลยก็ได้&lt;br /&gt;
&lt;br /&gt;
คงได้ประโยชน์ไม่มากก็น้อยนะครับจาก Singleton Class (คลาสคนโสดมีเพียงได้แค่ 1 เดียว)</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/1286132736148367857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2013/06/singleton-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/1286132736148367857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/1286132736148367857'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2013/06/singleton-pattern.html' title='Singleton Pattern'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgqxZoSQ5dUCQBWkbyW5i-KU9DMvP-sCDmf4ziEGLgHOGkX19OGPT6H4LCfDwuszN3wVhVf734TxNcQqwJ6BrAd_CWzG-K4HXNeR7PtkVUEcPpDxpZg0ZklyTWj1JCkRLFSE9DuqWxHjF/s72-c/singleton_implementation_-_uml_class_diagram+(1).gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-5803729573729197993</id><published>2013-06-07T12:16:00.000-07:00</published><updated>2013-06-07T12:16:04.140-07:00</updated><title type='text'>Model View Controller Programming Pattern Style</title><content type='html'>Model View Controller หรือเรียกสั้น ๆ ง่าย ๆ ว่า MVC&lt;br /&gt;
&lt;br /&gt;
เป็นวิธีการจัดการระบบการเขียนโปรแกรมของเราที่เป็นระบบมากขึ้น และแพร่หลาย นิยมใช้กันมาก ๆ ตาม Framework ต่าง ๆ เดี๋ยวนี้แทบจะทุก Framework เลยก็ว่าได้นะครับ ทำไมเราต้องศึกษามันงั้นหรือ&lt;br /&gt;
&lt;br /&gt;
ตามว่ากันทฤษฎีล้วน ๆ นั้น สั้น ๆ คือ แม่งง่ายครับ ไล่โค้ดกันง่ายขึ้น มีชีวิตที่ดีขึ้น แยกส่วนการทำงานแบบเห็น และเด่นชัดว่า อะไร ทำงานส่วนไหน&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbQLtNiIYrd8DcWragtuwdExy9sTc1Frh1qt2ztXHBPmDkLEajKoVuCzY8GqEYL8-4K0tVPgD1NzWfCZJRCY5-9Ryp-N8Zuq4qZE7hH_mm_WREv-qrn6bdLaC-c2-NpSwE1oVrvTbZf-g7/s1600/mvc.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbQLtNiIYrd8DcWragtuwdExy9sTc1Frh1qt2ztXHBPmDkLEajKoVuCzY8GqEYL8-4K0tVPgD1NzWfCZJRCY5-9Ryp-N8Zuq4qZE7hH_mm_WREv-qrn6bdLaC-c2-NpSwE1oVrvTbZf-g7/s1600/mvc.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
หลักการทำงาน ง่าย ๆ ก็คือ&lt;br /&gt;
Model จะมีข้อมูลต่าง ๆ อาศัยอยู่ ไม่ว่าจะเป็น Object ของ นักเรียน นักศึกษา ครู แมว ตัวเงินตัวทอง เป็นต้น&lt;br /&gt;
View เองนั้นจะเป็นส่วนที่ แสดงผลข้อมูล จากโมเดล และป้อนข้อมูลส่งให้ Controller&lt;br /&gt;
Controller คือส่วนควบคุมทุก ๆ อย่าง (เน้นนะครับว่าทุกอย่าง) ทำให้ View และ Model ทำงานด้วยกัน เป็นผู้ปิดทองหลังพระแท้จริง&lt;br /&gt;
&lt;br /&gt;
Framework ที่แนะนำมาก ๆ นั้นก็คือ Spring สำหรับ Java (ส่วนมากใช้คู่กับพวก JSF และ JSP) และยังมี สำหรับที่ทำเว็บอย่างพวก PHP หรือ ASP เป็นต้น&lt;br /&gt;
&lt;br /&gt;
Entry ต่อไปจะเขียนถึง OOP pattern นะค้าบบบบบบบ</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/5803729573729197993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2013/06/model-view-controller-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/5803729573729197993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/5803729573729197993'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2013/06/model-view-controller-programming.html' title='Model View Controller Programming Pattern Style'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbQLtNiIYrd8DcWragtuwdExy9sTc1Frh1qt2ztXHBPmDkLEajKoVuCzY8GqEYL8-4K0tVPgD1NzWfCZJRCY5-9Ryp-N8Zuq4qZE7hH_mm_WREv-qrn6bdLaC-c2-NpSwE1oVrvTbZf-g7/s72-c/mvc.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-5337495341758758335</id><published>2013-06-07T11:59:00.000-07:00</published><updated>2013-06-07T11:59:02.744-07:00</updated><title type='text'>object oriented programming</title><content type='html'>Object Oriented Programming หรือ OOP&lt;br /&gt;
คือแนวคิดของการเขียนโปรแกรมแบบ ง่าย ๆ ที่มีแบบแผน เหมาะกับทุกเพศละทุกวัย(ว่าไปนั่น)&lt;br /&gt;
โดยแบ่งแยก การมอง Class ที่เขียนมานั้น เป็นวัตถุ 1 ก้อน ที่มีความสามารถ ต่าง ๆ กัน แต่สิ่งของบางอย่าง ถูกผลิต มาจากสิ่งที่ต้นฉบับเดิม ภาษาที่นิยมใช้กันสุด ๆ (จริง ๆ ใช้กันทุกภาษานั่นแหล่ะ) นั่นก็คือ Java C++ C# ฯลฯ&lt;br /&gt;
&lt;br /&gt;
อย่างเช่น การเรียนการสอน ในหนึ่งชั้นประกอบด้วยอะไรบ้าง&lt;br /&gt;
- นักเรียน&lt;br /&gt;
- ครู&lt;br /&gt;
- ห้องเรียน&lt;br /&gt;
&lt;br /&gt;
สามองค์ประกอบหลักนี้ จะทำให้เกิดการเรียนการสอนขึ้นมาได้ ก็เป็น object การเรียน 1 ห้อง โดยมองว่า &amp;nbsp; 1 ห้องนี้ ประกอบด้วย object ย่อย ที่ชื่อว่า นักเรียน ครู และ ห้องเรียนขึ้นมา&lt;br /&gt;
&lt;br /&gt;
แนวคิดของ Object Oriented นั้น ง่ายใช่ไหมหล่ะ เพราะมันเลียนแบบสิ่งที่เรามองเห็นง่าย ๆ เองนั่นแหล่ะครับ อย่าทำให้มันยาก เดี๋ยวมันจะยาก&lt;br /&gt;
&lt;br /&gt;
Note: ความรู้เพิ่มเติม แบบถ่องแท้&amp;nbsp;&lt;a href=&quot;http://www.codeproject.com/Articles/22769/Introduction-to-Object-Oriented-Programming-Concep#OOP&quot;&gt;http://www.codeproject.com/Articles/22769/Introduction-to-Object-Oriented-Programming-Concep#OOP&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/5337495341758758335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2013/06/object-oriented-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/5337495341758758335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/5337495341758758335'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2013/06/object-oriented-programming.html' title='object oriented programming'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-2294329822315061053</id><published>2013-06-07T11:49:00.001-07:00</published><updated>2013-06-07T11:49:55.795-07:00</updated><title type='text'>Compiler</title><content type='html'>compiler (คอมไพล์เลอร์) คืออะไร? ทำไมต้องรู้จักมัน มีคำถามมากมายว่า ทำไม?&lt;br /&gt;
&lt;br /&gt;
คืองี้นะครับ คอมไพล์เลอร์เนี้ย มันคือเครื่องมือแปลภาษาจากคอมพิวเตอร์ ระดับสูง เป็นระดับต่ำ ที่เรียกว่า Machine Code นั้นเอง เพื่อให้คอมพิวเตอร์ ทำตามคำสั่งที่เราเขียน ไม่ว่าจะเป็น C, Java, C++, PHP, Python เป็นต้น&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Compiler.svg/531px-Compiler.svg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Compiler.svg/531px-Compiler.svg.png&quot; width=&quot;352&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
หลักการ ของมันก็มีเพียงแค่ว่าง่าย ๆ มี Code ที่เขียนไว้แล้ว คอมไพล์ และเข้าสู่กระบวนการ ของไฟฟ้า เพียงแค่นั้น ไม่มีอะไรมาก เรื่องการเจาะลึก ผมไม่อยากเจาะลึกมากนัก เพราะมันก็ไม่เหมาะกับพวกเราที่ยังนู๊ป ๆ อยู่ ฮ่า ๆ</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/2294329822315061053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2013/06/compiler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/2294329822315061053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/2294329822315061053'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2013/06/compiler.html' title='Compiler'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-777661154387466455</id><published>2012-08-07T11:58:00.000-07:00</published><updated>2012-08-07T12:35:25.448-07:00</updated><title type='text'>Flow Chart</title><content type='html'>จากความเดิม Entry ที่แล้ว ผมได้นำเสนอสิ่งที่ต้องเขียนการวางแผนการทำงานก่อนที่เราเรียกว่า &lt;b&gt;อัลกอริทึ่ม&lt;/b&gt; ต่อไปเราจะมาเขียนสิ่งที่เรียกว่า &quot;&lt;span style=&quot;color: red;&quot;&gt;Flow Chart&lt;/span&gt;&quot; หรือเรียกโคตรไทย ๆ เลยว่า &quot;&lt;span style=&quot;color: red;&quot;&gt;รูปสัญลักษณ์แสดงกระบวนการกระทำ&lt;/span&gt;&quot; (ดูแล้วชื่อไทยยาวไปนิดนะ)&lt;br /&gt;
&lt;br /&gt;
ข้อดีของมันก็คือ เราดูง่าย เข้าใจวิธีการทำงานได้อย่างง่าย (ถ้าหากรู้เรื่องรูปสัญลักษณ์) เมื่อมีความผิดพลาด เราเองนั้น ก็จะกลับมาดูว่า ขั้นตอนไหนทำงานผิดพลาดไม่ตรงกับที่เราวางแผนไหม (การทำงานเราต้องวางแผนสิ ไม่วางแผน เจ๊งครับ)&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
เรามาทำความเข้าใจกับสัญลักษณ์กันก่อนดีกว่า&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkRg4Qx-CcdFmcnACyOZjYmPPvtsNBQu34Gu2ic3vkuAVo-exTYqGQvUDiUVuP4mdPTXwp_ZzttJ1LtuSXx8lwyBqxcIKq7yF1QxC3JsZYVJA6oWl6mCqwDa2iSQg24JYlD7HNQ7Q5BCB5/s1600/terminal.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkRg4Qx-CcdFmcnACyOZjYmPPvtsNBQu34Gu2ic3vkuAVo-exTYqGQvUDiUVuP4mdPTXwp_ZzttJ1LtuSXx8lwyBqxcIKq7yF1QxC3JsZYVJA6oWl6mCqwDa2iSQg24JYlD7HNQ7Q5BCB5/s1600/terminal.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Terminal - สัญลักษณ์จุดเริ่มต้น และสิ้นสุด&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcymyGe78s1dxmsQUhBigFFFg_cF1lZQHfEQqJpQGLIzpP3jHCReFh_SCi3UrZeJmH7fMd_O2jk2jKMm2Dw1wlxc6YXvAv-bF_BISrC7Fcf8gz9dzHPUlcwX0iD36AVzfbOYwcW63FeEJj/s1600/readData.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcymyGe78s1dxmsQUhBigFFFg_cF1lZQHfEQqJpQGLIzpP3jHCReFh_SCi3UrZeJmH7fMd_O2jk2jKMm2Dw1wlxc6YXvAv-bF_BISrC7Fcf8gz9dzHPUlcwX0iD36AVzfbOYwcW63FeEJj/s1600/readData.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Read - สัญลักษณ์อ่านค่าตั้งค่าต่าง ๆ&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYJgZ223mRyEKinR5JX5z5wJ8h4SP-TdtD-zi7QNniOA-v5i671nDg-FmGeYs_7VMfGxP7z73Ncs1oQAEkSMfddqUMU_DQCR_TzIFYftBR0ukneB3KtbOxBHkeewKrmwlifiCDrwZV4Juq/s1600/display.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYJgZ223mRyEKinR5JX5z5wJ8h4SP-TdtD-zi7QNniOA-v5i671nDg-FmGeYs_7VMfGxP7z73Ncs1oQAEkSMfddqUMU_DQCR_TzIFYftBR0ukneB3KtbOxBHkeewKrmwlifiCDrwZV4Juq/s1600/display.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Display - แสดงผลออกทางหน้าจอ&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYhqaDLHVcTbBq659Fr-QxQvGn6UuoxvWHIfKfqK2kNc3efnt790nxcIDN9YIQpoCza9tlxqGQTbUdedoKpvtaFKvq5fk11r2IQuz9HC4Cf1-CrovuVOcPABWoVe_Hqph7G92p637T4wn5/s1600/decision.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYhqaDLHVcTbBq659Fr-QxQvGn6UuoxvWHIfKfqK2kNc3efnt790nxcIDN9YIQpoCza9tlxqGQTbUdedoKpvtaFKvq5fk11r2IQuz9HC4Cf1-CrovuVOcPABWoVe_Hqph7G92p637T4wn5/s1600/decision.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Decision - สัญลักษณ์ตัดสินใจ&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-x2r2YZIgS4R0a0QXOSB3jh26t8gvdnJNZ1Lo3ZFLR1EI3XXSzq4_wWalLIHna6WjfNR4UayMmpEpTiS4BVqtARDra94IKgmq6MvigTXfCuR7mttUR_DujM5aG0RbiY4Yy3jumWfU-t9a/s1600/Process.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-x2r2YZIgS4R0a0QXOSB3jh26t8gvdnJNZ1Lo3ZFLR1EI3XXSzq4_wWalLIHna6WjfNR4UayMmpEpTiS4BVqtARDra94IKgmq6MvigTXfCuR7mttUR_DujM5aG0RbiY4Yy3jumWfU-t9a/s1600/Process.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Process - สัญลักษณ์การทำงาน&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY24uOHa4NQ5zfypxve0T1DS1admN0oQ7pdy2A7gVcim0TQsYdazzklt3N28QvVsWMaAQo_X7jiCZrSDAR6QVDsA5tvWs6U-s_G1Vovc6_lyI6-4PkMg_UDOo4ZdM4f8GhzCYj9mJJyKiA/s1600/arrow.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY24uOHa4NQ5zfypxve0T1DS1admN0oQ7pdy2A7gVcim0TQsYdazzklt3N28QvVsWMaAQo_X7jiCZrSDAR6QVDsA5tvWs6U-s_G1Vovc6_lyI6-4PkMg_UDOo4ZdM4f8GhzCYj9mJJyKiA/s1600/arrow.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Arrow - สัญลักษณ์เส้นทิศทางการไหลของกระบวนการ&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtmrze5xNe02SbHXPbBcv2TLQXbsjItUnAC86yiqLWlq4qVSFeTVNP5j1eDysjmYQ8SNjodPrrGHx4XoRx8FEVvfERNfwmrTDCgLtmaNAfwj_o9mYV-Ro7OrSxYyo4GiyTF2GtgZEam70r/s1600/manualinpu.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtmrze5xNe02SbHXPbBcv2TLQXbsjItUnAC86yiqLWlq4qVSFeTVNP5j1eDysjmYQ8SNjodPrrGHx4XoRx8FEVvfERNfwmrTDCgLtmaNAfwj_o9mYV-Ro7OrSxYyo4GiyTF2GtgZEam70r/s1600/manualinpu.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Manual Input - สัญลักษณ์การนำเข้าข้อมูลด้วยตัวผู้ใช้&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Id2q6ttRa3M-bTLQKVIt8FeN1n8dfEgTYfPKzE5bkZoCeC7K0FAVv9jVrSeoK5nAyv__87Cwu_35dc_wattN5Mphh-hdpFk3dTW56Qfkeixqfj7gK057EMyQIpNVjJxxX51FXf7Ex1I8/s1600/inner+connector.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Id2q6ttRa3M-bTLQKVIt8FeN1n8dfEgTYfPKzE5bkZoCeC7K0FAVv9jVrSeoK5nAyv__87Cwu_35dc_wattN5Mphh-hdpFk3dTW56Qfkeixqfj7gK057EMyQIpNVjJxxX51FXf7Ex1I8/s1600/inner+connector.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Connector (inner) - สัญลักษณ์แสดงจุดเชื่อมต่อภายใน&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDPYzR6lksSDAHsP2Bb-8cOGpUhHgDb7uzDDk5yQT-Q_-2sylyYh3QPxEfmPsQdTV6-gDSB_Nj0mX_J5BhqxmmzWG8DNARUsySeuMQE_URuezFQB1YC_CkQ8mtN0tQuY1y-f-1MzXGlkD6/s1600/outter+connector.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDPYzR6lksSDAHsP2Bb-8cOGpUhHgDb7uzDDk5yQT-Q_-2sylyYh3QPxEfmPsQdTV6-gDSB_Nj0mX_J5BhqxmmzWG8DNARUsySeuMQE_URuezFQB1YC_CkQ8mtN0tQuY1y-f-1MzXGlkD6/s1600/outter+connector.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Connector (outer) - สัญลักษณ์แสดงจุดเชื่อมต่อภายนอก&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;strike&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/strike&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
จากสัญลักษณ์เบื้องต้นที่กล่าวมานั้น เราก็จะเอามาเขียนกันเป็น Flow Chart ที่แสดงการทำงานจาก Entry ที่แล้วนั่นก็คือวิธีการเดินทางไปโรงเรียนนั่นเอง&lt;strike&gt;&lt;br /&gt;&lt;/strike&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1. เดินออกจากบ้าน&lt;br /&gt; 2. รอรถเพื่อไปโรงเรียน&lt;br /&gt; 2.1 ถ้ามีเงินเยอะ ขึ้นรถมอเตอร์ไซค์รับจ้าง&lt;br /&gt; 2.2 ถ้ามีเงินน้อย&lt;br /&gt; 2.2.1 ถ้ารถสาย 95 ผ่านมา ถ้าขึ้นรถไปแล้วถึงโรงเรียน ขึ้น&lt;br /&gt; 2.3.1 ถ้ารถสาย 26 ผ่านมา ถ้าขึ้นรถไปแล้วไม่ถึงโรงเรียน ไม่ขึ้น&lt;br /&gt; 3. รอถึงที่ ถ้าหากถึงที่แล้ว ก็ลงจากรถ&lt;br /&gt; 4. เข้าโรงเรียน&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
เราก็จะเอามาเขียน Flow Chart คร่าว ๆ ได้ดังนี้&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6VnUYQcMjm-w-OX0C74ImS2XIDLhrEIkzE7UEYWM_QFKW416IG0m4AeCPR0jttfUSisQuqX7jCqpchYIsHmAVzxLqQxrkSAICWMSqT7Ir4nhbNq5E94gEp1zVGGNZJfJy-xVAz_N2Wp5F/s1600/ontheway.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6VnUYQcMjm-w-OX0C74ImS2XIDLhrEIkzE7UEYWM_QFKW416IG0m4AeCPR0jttfUSisQuqX7jCqpchYIsHmAVzxLqQxrkSAICWMSqT7Ir4nhbNq5E94gEp1zVGGNZJfJy-xVAz_N2Wp5F/s1600/ontheway.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
จากตัวอย่างเบื้องต้นนี้ เป็นเพียงแค่คร่าว ๆ สำหรับการแก้ปัญหากระบวนการทำงานของชีวิตประจำวันเท่านั้นเอง การเขียนโปรแกรมก็เช่นเดียวกันครับ ต้องคิดกันบ่อย ๆ แล้วจะเข้าใจกันเองว่าอะไรทำก่อนหลัง ลำดับความคิดให้ดีครับ ไม่เช่นนั้น ชีวิตเราก็สับสน แม้แต่การเขียนโปรแกรมนั้นก็เช่นกัน&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
ขอจบ Entry Flow Chart ไว้ก่อนครับ สวัสดีครับ&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/777661154387466455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2012/08/flow-chart.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/777661154387466455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/777661154387466455'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2012/08/flow-chart.html' title='Flow Chart'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkRg4Qx-CcdFmcnACyOZjYmPPvtsNBQu34Gu2ic3vkuAVo-exTYqGQvUDiUVuP4mdPTXwp_ZzttJ1LtuSXx8lwyBqxcIKq7yF1QxC3JsZYVJA6oWl6mCqwDa2iSQg24JYlD7HNQ7Q5BCB5/s72-c/terminal.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-3834178222093454056</id><published>2012-08-04T00:00:00.001-07:00</published><updated>2012-08-04T00:00:11.571-07:00</updated><title type='text'>Logic &amp; Algorithm</title><content type='html'>&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Logic &amp;amp; Algorithm&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
หลังจากการทำความรู้จักกับชนิดของตัวแปรกันแล้วจาก Entry ที่แล้ว ตอนนี้เรายังขาดอีกเรื่องที่สำคัญไม่แพ้กันนั่นก็คือ &lt;b&gt;&quot;ระบบความคิด&quot;&lt;/b&gt; ถ้าหากเราไม่มีความคิดที่ดี ลำดับการที่ดี โปรแกรมดี ๆ ก็ยังคงไม่มีมาแน่แท้&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Logic &amp;amp; Algorithm (ลอจิก &amp;amp; อัลกอริทึ่ม)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Algorithm&lt;/b&gt;
&lt;br /&gt;
มันคืออะไร??? ทำไมต้องรู้ คำตอบก็คือ มันคือกระบวนการทางความคิด และความคิดที่ให้เหตุให้ผล&lt;br /&gt;
อย่างเช่น &lt;br /&gt;
1 + 1 = 2 เราจะแยกได้ว่า ผลลัพท์ของการบวกนั้นก็คือ 2 และกระบวนการคิดคือ บวก(เพิ่มจำนวน) โดยมี เลข 1 เป็นตัวตั้ง และ 1 อีกตัวเป็นตัวที่เพิ่มขึ้น ผลลัพท์จึงได้ 2 มา&lt;br /&gt;
อ่ะ แล้วถ้าเราลองเปลี่ยนมาเป็น 5 + 3 ก็จะ เท่ากับ 8 นั่นเอง&lt;br /&gt;
&lt;br /&gt;
สิ่งที่เป็นกระบวนการคิดนั่นก็คือ วิธีการเพิ่มค่า หรือการบวกนั่นเอง!&lt;br /&gt;
อีกตัวอย่างที่อยู่ภายในชีวิตประจำวัน อีกตัวอย่าง เช่น การเดินทางไปโรงเรียน&lt;br /&gt;
&lt;br /&gt;
อย่างแรกที่เราจะต้องคิดกระบวนการหรือกรรมวิธี ที่จะได้ผลลัพท์ มีสิ่งที่เราต้องเข้าใจกันก่อนดังนี้&lt;br /&gt;
&lt;br /&gt;
1. ผลลัพท์ที่ต้องการ&lt;br /&gt;
2. สิ่งแวดล้อมที่เรามี&lt;br /&gt;
3. สิ่งที่เราต้องการเพื่อแก้ไขปัญหา&lt;br /&gt;
4. กระบวนการในการทำ&lt;br /&gt;
5. เหตุผลในการตัดสินใจ&lt;br /&gt;
&lt;br /&gt;
พอเรามี 5 สิ่งที่เราเข้าใจกันแล้วเรามาลองจำแนกก่อนที่จะคิดกระบวนการคิดกันดีกว่า&lt;br /&gt;
&lt;br /&gt;
1. ผลลัพท์ที่เราต้องการ [&lt;span style=&quot;color: red;&quot;&gt;ไปถึงโรงเรียน&lt;/span&gt;]&lt;br /&gt;
2. สิ่งแวดล้อมที่เรามี [&lt;span style=&quot;color: red;&quot;&gt;เส้นทาง&lt;/span&gt;]&lt;br /&gt;
3. สิ่งที่เราต้องการเพื่อแก้ไขปัญหา [&lt;span style=&quot;color: red;&quot;&gt;รถ,เงิน,การตัดสินใจ,ปัจจัยอื่น ๆ สำหรับเดินทาง&lt;/span&gt;]&lt;br /&gt;
4. กระบวนการในการทำ [&lt;span style=&quot;color: red;&quot;&gt;วิธีการเดินทาง เลี้ยวซ้าย ขวา หน้า หลัง ฯลฯ&lt;/span&gt;]&lt;br /&gt;
5. เหตุผลการตัดสินใจ [&lt;span style=&quot;color: red;&quot;&gt;เลือกวิธีการ เลือกเส้นทาง&lt;/span&gt;]&lt;br /&gt;
&lt;br /&gt;
เราได้ 5 สิ่งครบแล้ว เอาหล่ะ เราจะมาคิดกระบวนการคิดเพื่อที่ว่าเราจะไปโรงเรียนกันอย่างไร&lt;br /&gt;
&lt;br /&gt;
1. เดินออกจากบ้าน&lt;br /&gt;
2. รอรถเพื่อไปโรงเรียน&lt;br /&gt;
2.1 ถ้ามีเงินเยอะ ขึ้นรถมอเตอร์ไซค์รับจ้าง&lt;br /&gt;
2.2 ถ้ามีเงินน้อย&lt;br /&gt;
2.2.1 ถ้ารถสาย 95 ผ่านมา ถ้าขึ้นรถไปแล้วถึงโรงเรียน ขึ้น&lt;br /&gt;
2.3.1 ถ้ารถสาย 26 ผ่านมา ถ้าขึ้นรถไปแล้วไม่ถึงโรงเรียน ไม่ขึ้น&lt;br /&gt;
3. รอถึงที่ ถ้าหากถึงที่แล้ว ก็ลงจากรถ&lt;br /&gt;
4. เข้าโรงเรียน&lt;br /&gt;
&lt;br /&gt;
จากขั้นตอนนี้ เป็นอัลกอริทึ่ม และลอจิคในการตัดสินใจที่จะเดินทางแบบ คร่าว ๆ&lt;br /&gt;
แรก ๆ เราอาจจะงงครับ แต่ขั้นคิดวิธีการนี้ เป็นสิ่งที่สำคัญมาก ถ้าหากเราไม่สามารถคิดได้ เราก็เขียนโปรแกรมไม่ได้ เพราะว่า การเขียนโปรแกรม คือ การสร้างเครื่องมือเพื่อแก้ไขปัญหาใดปัญหาหนึ่งโดยคอมพิวเตอร์ครับ&lt;br /&gt;
&lt;br /&gt;
Entry ต่อไป จะพูดถึงเรื่องการเขียนแผนผังรูป เพื่อให้มองง่าย ๆ ชัดเจน เพื่อนำไปประกอบกับการเขียนโปรแกรมครับ</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/3834178222093454056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2012/08/logic-algorithm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/3834178222093454056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/3834178222093454056'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2012/08/logic-algorithm.html' title='Logic &amp; Algorithm'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-4698552577619257241</id><published>2012-08-01T20:33:00.002-07:00</published><updated>2012-08-01T20:33:35.974-07:00</updated><title type='text'>ชนิดของตัวแปร</title><content type='html'>** &lt;span style=&quot;color: red;&quot;&gt;คำเตือน บทความนี้สำหรับผู้เริ่มต้น&lt;/span&gt;&amp;nbsp;**&lt;br /&gt;
&lt;br /&gt;
เรื่องระบบตัวแปรภายในคอมพิวเตอร์ที่ใช้เขียนโปรแกรมกันบ่อย ๆ นั้น มีอยู่ 3 ประเภทใหญ่ ๆ นั้นก็คือ&lt;br /&gt;
1. ตัวแปรระบบตัวเลข&lt;br /&gt;
2. ตัวแปรระบบตัวอักษร หรือสายอักขระ&lt;br /&gt;
3. ตัวแปรระบบตรรกะ&lt;br /&gt;
&lt;br /&gt;
1. อย่างแรกที่จะกล่าวถึงนั้นก็คือ &lt;strong&gt;ระบบตัวเลข&lt;/strong&gt; นั้นก็แยกย่อยได้อีก 2 ประเภท คือ จำนวนเต็ม และจำนวนจริง&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;1.1 จำนวนเต็ม&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Bit&lt;/li&gt;
&lt;li&gt;
Byte
&lt;/li&gt;
&lt;li&gt;Short Integer&lt;/li&gt;
&lt;li&gt;Integer&lt;/li&gt;
&lt;li&gt;Long Integer&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Bit&lt;/span&gt; &lt;/b&gt;มีค่าตั้งแต่ 0 ถึง 1&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Byte&lt;/span&gt;&lt;/b&gt; มีค่าอยู่ที่ ตั้งแต่ -128 ถึง 127&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Short Integer (Short)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;มีค่าอยู่ ตั้งแต่ -32768 ถึง 32767&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Integer&lt;/span&gt;&amp;nbsp;&lt;/b&gt;มีค่าอยู่ตั้งแต่ -2147483648 ถึง 2147483647&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Long Integer (Long)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;มีค่าอยู่ตั้งแต่ -9223372036854775808 ถึง 9223372036854775807&lt;br /&gt;
&lt;br /&gt;
นอกจากนี้ยังมีกลุ่มอีกกลุ่มนึงที่ไม่ติดค่าข้างลบที่เรียกกันว่า &lt;strong&gt;&quot;unsigned&quot; &lt;/strong&gt;จะทำให้สามารถจัดเก็บค่าตัวเลขที่ตัวเลขสามารถทำได้เพิ่มขึ้น ของกลุ่มในบางภาษา ทั้งนี้ขึ้นอยู่กับ บางภาษาอาจจะไม่มี Bit หรือ กลุ่มที่ไม่มีเครื่องหมายก็ได้ ต้องศึกษาในคู่มือของตัวภาษานั้นเองด้วยอีกที&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;strong&gt;1.2 จำนวนจริง&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Float&lt;/li&gt;
&lt;li&gt;Double&lt;/li&gt;
&lt;/ul&gt;
&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;Float&lt;/span&gt;&lt;/strong&gt; เป็นกลุ่มจำนวนจริงที่ มีค่าตั้งแต่ 1.4E-45 ถึง 3.4028235E38&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;Double&lt;/span&gt;&lt;/strong&gt; เป็นจำนวนจริงที่ มีค่าตั้งแต่ 4.9E-324 ถึง 1.7976931348623157E308&lt;br /&gt;
&lt;br /&gt;
โดยค่า E ที่เห็นนั้นคือ ค่าที่เป็น คูณ 10 และต่อมายกกำลัง เช่น ค่าต่ำสุดของ Float 1.4E-45 หมายความว่า มีค่า 1.4 x 10^(-45) (คูณ 10 ยกกำลัง ลบ 45)&lt;br /&gt;
แต่โดยปกติกันทั่ว ๆ ไปจะใช้เพียงแค่ทศนิยม 2 ตำแหน่ง หลังจากการเสร็จการคำนวณ โดยการจัดการแสดงผลด้วยสายอักขระ หรือ String (จะพูดหลังบทหลัง ๆ นี้ไป)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;**&lt;/span&gt; &lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;ค่าที่นำมาหยิบยกมานี้อ้างอิงจากภาษา Java&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;font-size: x-small;&quot;&gt;**&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;2. ต่อมาที่เราจะพูดถึงกันนี้จะเป็นตัวแปรในกลุ่มของ&lt;strong&gt;ตัวอักษร&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Char&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;String&lt;/span&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;Char&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;เป็นตัวอักษรอักขระ 1 ตัว อย่างเช่น a หรือ b หรือว่าจะเป็น ก ข ค อะไรก็ได้ 1 ตัวอักษร โดยที่ตอนประกาศไว้จะต้องอยู่ในเครื่องหมาย &#39; &#39; (single quote) หรือที่เรียกภาษาไทยว่า &quot;ฝนทอง&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;String&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;เป็นกลุ่มตัวอักษรอักขระที่เป็นสายยาวกันโดยมีค่า &lt;strong&gt;Char&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;รวมตัวกันจนเป็นประโยค โดยประกาศไว้จะต้องอยู่ภายใน เครื่องหมาย &quot; &quot; (double quote) หรือที่เรียกว่า &quot;ฟันหนู&quot;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;3. กลุ่มสุดท้ายที่เราจะพูดถึงนั้นก็คือ กลุ่มของ &lt;strong&gt;ตรรกะ &lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;โดยกลุ่มของตรรกะนี้จะไว้แยกข้อเท็จจริงถูกผิดไว้จะมีแค่ 2 ตัวแปรเท่านั้นคือ&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;True&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;False&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;True&lt;/span&gt; แทนค่า &lt;span style=&quot;color: red;&quot;&gt;จริง&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: blue;&quot;&gt;False&lt;/span&gt; แทนค่า &lt;span style=&quot;color: red;&quot;&gt;เท็จ&lt;/span&gt;&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
โดยการประกาศค่านั้นเราจะต้องใช้ boolean ในการประกาศค่า (อ้างอิงจาก java)&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
ตัวแปรค่าพวกนี้สำคัญมากนะครับ แม้แต่มือโปรยังคงจำเป็นต้องใช้มัน ถ้าหากจำไม่ได้ขึ้นใจหล่ะก็คงต้องกลับไปนั่งเรียนใหม่แล้วหล่ะ จำพวกนี้ไว้ แล้วมันจะทำให้คุณเป็นโปรในระดับหนึ่ง&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/4698552577619257241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2012/08/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/4698552577619257241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/4698552577619257241'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2012/08/blog-post.html' title='ชนิดของตัวแปร'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6082945998286456591.post-4630451512688182448</id><published>2012-08-01T12:15:00.002-07:00</published><updated>2012-08-01T12:15:34.288-07:00</updated><title type='text'>First Programming Level : Newbie</title><content type='html'>สวัสดีครับ อันนี้เป็นบลอกอันแรกที่ลองหัดเขียนขึ้นมา เผื่อว่ามันจะดีอะไรมานำเสนอให้แก่หน้าใหม่ไฟแรง ที่อยากจะเข้าสู่วงการคอมพิวเตอร์ทางด้าน ซอร์ฟแวร์&lt;br /&gt;
&lt;br /&gt;
วันนี้ขอนำเสนอเครื่องมืออำนวยความสะดวกในการเรียนที่ค่อนข้างใช้งานได้ง่าย นั่นก็คือ&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;jGRASP นั่นเอง โดยสามารถเข้าไปดาวน์โหลดได้ที่ http://spider.eng.auburn.edu/user-cgi/grasp/grasp.pl?;dl=download_jgrasp.html&lt;br /&gt;โดยลงทะเบียน และดาวน์โหลดมาใช้ มีการรองรับทั้ง windows linux และ mac os&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENOnEG4PHVvJh79ghy5OK3ZuHHHZvj4IMVMD7nLJ4bNhpwLYQh18Bhus9sKmAutCmhtRvfFid_4rmr7HcdjLOxnJpbnFVH0MfGv_YjztjtpX2tx5SmpywvdJ20n-8bZf0oBj1GEaH7S6r/s1600/jGRASP.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;273&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENOnEG4PHVvJh79ghy5OK3ZuHHHZvj4IMVMD7nLJ4bNhpwLYQh18Bhus9sKmAutCmhtRvfFid_4rmr7HcdjLOxnJpbnFVH0MfGv_YjztjtpX2tx5SmpywvdJ20n-8bZf0oBj1GEaH7S6r/s320/jGRASP.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
ดูหน้าตาแล้วใช้งานง่ายใช่ไหมหล่ะครับ รวมทั้งยังรองรับ C,C++,VHDL,Objective C, Java และยังจะมี Ada95 อีกด้วยแหน่ะ&lt;br /&gt;
ก็หวังเอาไว้ว่า โปรแกรมนี้จะสามารถผลิตโปรแกรมเมอร์หน้าใหม่ ๆ ในการเรียนรู้ การเขียนโปรแกรมนะครับ</content><link rel='replies' type='application/atom+xml' href='http://dev-noob.blogspot.com/feeds/4630451512688182448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dev-noob.blogspot.com/2012/08/first-programming-level-newbie.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/4630451512688182448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6082945998286456591/posts/default/4630451512688182448'/><link rel='alternate' type='text/html' href='http://dev-noob.blogspot.com/2012/08/first-programming-level-newbie.html' title='First Programming Level : Newbie'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03527998357173592776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENOnEG4PHVvJh79ghy5OK3ZuHHHZvj4IMVMD7nLJ4bNhpwLYQh18Bhus9sKmAutCmhtRvfFid_4rmr7HcdjLOxnJpbnFVH0MfGv_YjztjtpX2tx5SmpywvdJ20n-8bZf0oBj1GEaH7S6r/s72-c/jGRASP.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>