<?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-8269859023465367745</id><updated>2026-02-17T05:56:52.719-08:00</updated><category term="php"/><category term="jquery"/><category term="oop"/><category term="php function"/><category term="jquery api"/><category term="js"/><category term="mssql"/><category term="javascript"/><category term="jquery plugin"/><category term="mysql"/><category term="zend framework"/><category term="asp.net"/><category term="cakephp"/><category term="css"/><category term="ภาษาไทย"/><category term="algorithm"/><category term="html5"/><category term="jpgraph"/><category term="json"/><category term="move database"/><category term="php framework"/><category term="php pagination"/><category term="php template"/><category term="php tool"/><category term="php tutorial"/><category term="seo"/><category term="set thai font"/><category term="web programming"/><category term=".net"/><category term="adodb"/><category term="ajax"/><category term="apache"/><category term="array_chunk"/><category term="array_diff"/><category term="asp.net error"/><category term="bbcode"/><category term="beautiful url"/><category term="best practices"/><category term="c#"/><category term="cakephp ภาษาไทย"/><category term="canvas"/><category term="chat"/><category term="chat box"/><category term="clean url"/><category term="cordova"/><category term="css gradient"/><category term="css menu"/><category term="currency 2 thai"/><category term="curve"/><category term="dbexpress"/><category term="div above flash"/><category term="div อยู่บน flash"/><category term="dr.yes"/><category term="error"/><category term="excel"/><category term="export mssql"/><category term="footer"/><category term="google custome search"/><category term="html"/><category term="html5 canvas"/><category term="javascript tool"/><category term="joomla"/><category term="joomla template"/><category term="jpgraph ภาษาไทย"/><category term="jquery colorpicker"/><category term="mcrypt"/><category term="mod_rewrite"/><category term="msn chat"/><category term="mssql log"/><category term="multi column"/><category term="no iconv"/><category term="num2thai"/><category term="number to thai"/><category term="pager"/><category term="pdo"/><category term="photoshop"/><category term="php image"/><category term="php json"/><category term="php pager"/><category term="php table"/><category term="php upload"/><category term="php utf8"/><category term="php ภาษาไทย"/><category term="php ไม่แสดงภาษาไทย"/><category term="psd to html"/><category term="simplexmlelement"/><category term="soap"/><category term="string"/><category term="string.format"/><category term="syntaxhighlighter"/><category term="template"/><category term="template joomla"/><category term="template_list.js"/><category term="transfer mssql database"/><category term="upload file size"/><category term="vocab"/><category term="vocabulary"/><category term="web service"/><category term="xhtml"/><category term="xml"/><category term="xml display"/><category term="xml recursive"/><category term="yii"/><category term="z-index"/><category term="zend"/><category term="zend certificate"/><category term="คำศัพท์"/><category term="ตารางหลาย column"/><category term="มน"/><category term="รวมคำศัพท์"/><category term="รวมคำศัพท์ภาษาอังกฤษ"/><category term="วิธีสร้าง template joomla"/><category term="เงิน"/><category term="เทมเพลต joomla"/><category term="เฟรมเวิร์ค php"/><category term="โค้ง"/><category term="โค้ดแบ่งหน้า"/><category term="ไม่มี iconv"/><category term="ไม่แสดงภาษาไทย"/><title type='text'>web programming bookmark</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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>184</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-2305907078176308624</id><published>2019-01-06T02:56:00.000-08:00</published><updated>2019-01-06T02:56:40.053-08:00</updated><title type='text'>Calorie Diary Privacy Policy</title><content type='html'>&lt;br /&gt;
The Calorie Diary App needs this state to retrieve previously saved data.</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/2305907078176308624/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2019/01/calorie-diary-privacy-policy.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2305907078176308624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2305907078176308624'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2019/01/calorie-diary-privacy-policy.html' title='Calorie Diary Privacy Policy'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-972829522648514401</id><published>2016-11-18T06:15:00.003-08:00</published><updated>2016-11-18T06:18:43.711-08:00</updated><title type='text'>ทดสอบ printf และ scanf</title><content type='html'>#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char * s1(char* b);&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; setbuf(stdout, NULL);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; char *s, *b;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; s = (char *) malloc(15);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; b = (char *) malloc(15);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; strcpy(s, &quot;test&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; strcpy(b, &quot;xxx&quot;);&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; s = s1(b);&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; printf(&quot;input:&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; scanf(&quot;%15s&quot;,s);&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; printf(&quot;%s ...&quot;,s);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; free(s);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; free(b); &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
char * s1(char* b){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return b; &lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/972829522648514401/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/11/printf-scanf.html#comment-form' title='1 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/972829522648514401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/972829522648514401'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/11/printf-scanf.html' title='ทดสอบ printf และ scanf'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-8949989685560752615</id><published>2016-08-20T02:22:00.003-07:00</published><updated>2016-08-20T03:33:58.578-07:00</updated><title type='text'>การตั้งชื่อโดเมนเนม</title><content type='html'>การตั้งชื่อโดเมนเนมมักจะเจอปัญหาในการตั้งชื่อแล้วเจอแต่ชื่อซ้ำ&lt;br /&gt;
แต่ก็มีคนทำเครื่องมือช่วยคิดชื่อ domainname ไว้ให้ ช่วยให้ประหยัดเวลาในการคิดชื่อเว็บได้มากเลยครับ&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.leandomainsearch.com/&quot;&gt;http://www.leandomainsearch.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.bustaname.com/word_maker&quot;&gt;http://www.bustaname.com/word_maker&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.shopify.com/tools/business-name-generator&quot;&gt;https://www.shopify.com/tools/business-name-generator&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.namemesh.com/domain-name-search/&quot;&gt;http://www.namemesh.com/domain-name-search/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8949989685560752615/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/08/blog-post.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8949989685560752615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8949989685560752615'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/08/blog-post.html' title='การตั้งชื่อโดเมนเนม'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-8493119294305177000</id><published>2016-08-14T08:20:00.003-07:00</published><updated>2016-08-14T08:21:23.225-07:00</updated><title type='text'>Strength</title><content type='html'>ทดสอบหา Strength ของตัวเองมาจากเว็บไซต์หนึ่ง&lt;br /&gt;
&lt;br /&gt;
ตรงหัวข้อ Optimism น่าจะจริงเพราะงานอดิเรกของผมก็คือ rewrite code ตัวเองที่เคยเขียนไว้ให้ดีขึ้นๆหรือบางทีแค่ให้โค้ดเป็นระเบียบขึ้นเฉยๆ แต่ตรง Innovation นี่สิหมายถึงอะไร bookmark ไว้เอาไว้ทำความเข้าใจวันหลัง -__-&#39;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your Top 5 Strengths Are:&lt;br /&gt;
&lt;b&gt;Innovation (100%):&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
* Actively seek out positions where your ideas will be valued and encouraged.&lt;br /&gt;
* Be a designer, sales strategies, marketing guru, or customer service rep for new products and ideas.&lt;br /&gt;
* Search out and request ideas from others to stimulate your thinking.&lt;br /&gt;
* Constantly think of ideas that can improve businesses and the lives of others.&lt;br /&gt;
* You enjoy the power of words; punchy ideas stimulate your thinking - focus and play with this fact.&lt;br /&gt;
* For decisions, you need to know that everything fits together. Be aware and plan for decisions.&lt;br /&gt;
* If a decision seems to stand out as particularly bothersome, then check if it is an exception before worrying about it.&lt;br /&gt;
&lt;b&gt;Optimism (94%):&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
* Look for positions where you can be as close to customers as possible.&lt;br /&gt;
* Actively help plan events - like new product launches and user groups.&lt;br /&gt;
* Do use your humor and good attitude to excite people.&lt;br /&gt;
* Being positive does not mean you&#39;ll be in good mood - be aware and let others know, as needed.&lt;br /&gt;
* Cynics quickly sap your energy and you dislike cheering negative people - minimize these instances.&lt;br /&gt;
* You enjoy celebrating and should actively find ways to recognize achievements.&lt;br /&gt;
&lt;b&gt;Faith (94%):&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
* Make efforts to discover your true passion and tie it to your work, no matter what you do.&lt;br /&gt;
* Align, but don&#39;t compromise, your values to that of your organization.&lt;br /&gt;
* You respect others for learning about your family and community - give them the opportunity.&lt;br /&gt;
* You give more value to greater levels of service than more money - let others know this.&lt;br /&gt;
* People may not share your beliefs, but you feel they need to understand &amp;amp; respect - let them.&lt;br /&gt;
Self Motivation (88%):&lt;br /&gt;
&lt;br /&gt;
* You don&#39;t need your hand-held; help others understand you need space to make meaningful decisions.&lt;br /&gt;
* Seek to take on a role where persistence is essential to success.&lt;br /&gt;
* Continually take on roles that demand an aura of certainty and stability.&lt;br /&gt;
* You have a strong self-concept that you are an agent of action - nurture it.&lt;br /&gt;
* You are most effective when you feel you are in control of your world - be aware and help others understand this.&lt;br /&gt;
* You need clear feedback to develop your instincts - review your failures and successes for lessons learned.&lt;br /&gt;
&lt;b&gt;Strategic Thinking (88%):&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
* Be on the leading edge of your organization, groups, and strategic plans.&lt;br /&gt;
* Be involved in organizational planning and risk management efforts.&lt;br /&gt;
* Always give yourself plenty of time to think through a situation.&lt;br /&gt;
* Read books, take a training course, or attend a seminar in strategic planning and futurism.&lt;br /&gt;
* Seek chances to share your ideas in writing and presentations.&lt;br /&gt;
* Seek solutions that worked in other places, learn from them, and try to apply them to your life and work.&lt;br /&gt;
Your Remaining Results Are:&lt;br /&gt;
Risk Taking (88%):&lt;br /&gt;
Communication (81%):&lt;br /&gt;
Purpose (81%):&lt;br /&gt;
Curiosity (81%):&lt;br /&gt;
Problem Solving (75%):&lt;br /&gt;
Ambition (75%):&lt;br /&gt;
Balance (69%):&lt;br /&gt;
Visionary (63%):&lt;br /&gt;
Resourcefulness (63%):&lt;br /&gt;
Leadership (63%):&lt;br /&gt;
Focus (56%):&lt;br /&gt;
Salesmanship (56%):&lt;br /&gt;
Teamwork (56%):&lt;br /&gt;
Adaptability (44%):&lt;br /&gt;
Integrity (25%):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your Bottom 1 Weakness Is:&lt;br /&gt;
Determination (19%):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Constantly be on the lookout for new goals and improvements.&lt;br /&gt;
* You&#39;re good at initiating and organizing a project, start your own and help others.&lt;br /&gt;
* Get feedback from people as others&#39; expectations will energize you.&lt;br /&gt;
* Actively participate in helping a bogged down team into action.&lt;br /&gt;
* When down, think of new improvements to do tomorrow - stay on track.&lt;br /&gt;
* Be careful of those who really want to project and analyze - they are a non-fit for your work style!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Thank Website&lt;/b&gt;&lt;br /&gt;
http://richardstep.com/richardstep-strengths-weaknesses-aptitude-test/free-aptitude-test-find-your-strengths-weaknesses-online-version/</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8493119294305177000/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/08/strength.html#comment-form' title='1 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8493119294305177000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8493119294305177000'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/08/strength.html' title='Strength'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-2559294430006910479</id><published>2016-01-17T01:01:00.002-08:00</published><updated>2016-01-17T01:01:56.679-08:00</updated><title type='text'>หลักการ submit โปรแกรมใน codecanyon</title><content type='html'>หลักการ submit โปรแกรมใน codecanyon&lt;br /&gt;
&lt;br /&gt;
- ชื่ออธิบายตรงกับโปรแกรม&lt;br /&gt;
- ตั้งชื่อแบบ Camelcase ยกเว้น is,of,an และคำสั้นๆ (1-3 ตัวอักษร)&lt;br /&gt;
- และยกเว้นคำย่อเช่น CMS&lt;br /&gt;
- ใช้คำ industry standard เช่น jQuery และ WordPress&lt;br /&gt;
- ไม่ใช้คำอธิบายไม่มีความชัดเจน เช่น best, beautiful file&lt;br /&gt;
- คำที่ไม่เกี่ยวข้องเช่น username และคำที่ไม่เกี่ยวกับไฟล์&lt;br /&gt;
- ไม่ใช้คำว่าคล้ายๆ กับอะไร ให้คำอธิบายว่าจริงๆ มันคืออะไร&lt;br /&gt;
- คำอธิบายไม่เกิน 100 ตัวอักษร&lt;br /&gt;
- คำอธิบายชัดเจน เพราะคนซื้อทุกคนไม่ได้เชี่ยวชาญ&lt;br /&gt;
- อธิบายข้อมูลเชิงเทคนิคทั้งหมด เพื่อให้เข้าใจว่าคืออะไร และทำอะไรได้บ้าง&lt;br /&gt;
- ลองคิดตัวเองว่าเป็นคนซื้อจะ search ยังไง ข้อมูลอะไรที่ต้องการทราบ&lt;br /&gt;
- แสดงภาพตัวอย่างของ item ของคุณที่กำลังทำงาน&lt;br /&gt;
- แบ่งช่องไฟและย่อหน้าให้อ่านง่าย&lt;br /&gt;
- ห้ามใช้ชื่อสินค้าของคนอื่นใน item tags&lt;br /&gt;
&lt;br /&gt;
- ชื่อแรกควรเป็นคำนามหรือกิจกรรม&lt;br /&gt;
- ถ้าชื่อเกี่ยวข้องกับฟิลด์ หรือกลุ่มอุตสาหกรรม หรือ เฉพาะทางให้ระบุให้ชัดเจน&lt;br /&gt;
- ระบุ function การทำงานเช่น tileable image&lt;br /&gt;
- mood หรือ style เช่น รูปแบบของ theme แต่ไม่ใช้คำที่กว้างเกินไป&lt;br /&gt;
- ไม่ใช้คำที่กำกวม&lt;br /&gt;
- เช็คคำสะกด&lt;br /&gt;
- อาจจะใช้คำสองคำขึ้นไปได้&lt;br /&gt;
- ไม่ใช้ Camelcase ยกเว้นคำย่อ&lt;br /&gt;
&lt;br /&gt;
ลิงค์ที่จะใช้ได้ใน description&lt;br /&gt;
- ลิงค์เกี่ยวกับคุณสมบัติและที่มาที่จำเป้น&lt;br /&gt;
- เอกสารวิธีใช้ online, support forum แต่ต้องไม่เชื่อมโยงไปถึงลิงค์คู่แข่ง&lt;br /&gt;
- เนื้อหา third party plugin เพื่ออธิบายเชิงเทคนิค, api ฯลฯ&lt;br /&gt;
- ตัวอย่างเพิ่มเติม demo&lt;br /&gt;
- social media account&lt;br /&gt;
- ไม่อนุญาติให้ลิงค์ไปยังลิงค์คู่แข่ง&lt;br /&gt;
&lt;br /&gt;
Image Preview&lt;br /&gt;
- ขนาด 590x300 jpg ที่ไม่มี logo ของเว็บที่มีชื่อเสียง&lt;br /&gt;
Thumbnail&lt;br /&gt;
- ขนาด 80x80 jpg,gif,png&lt;br /&gt;
&lt;br /&gt;
ไฟล์หลัก (Main File)&lt;br /&gt;
- ชัดเจนและจัดลำดับได้ดี&lt;br /&gt;
- รูปตัวอย่างเพิ่มเติม jpg และใหญ่ไม่เกิน 900x900&lt;br /&gt;
โดยตั้งชื่อในแบบ 01_preview1.jpg, 02_preview2.jpg&lt;br /&gt;
โดยแยกรูปไว้ใน folder เฉพาะสำหรับรูปภาพเพิ่มเติม&lt;br /&gt;
&lt;br /&gt;
Tag&lt;br /&gt;
- จำกัดอยู่ที่ 15 tags&lt;br /&gt;
&lt;br /&gt;
Comment&lt;br /&gt;
- 1 comment or more per function&lt;br /&gt;
- descriptive comment than short comment&lt;br /&gt;
&lt;br /&gt;
โครงสร้างไฟล์&lt;br /&gt;
- แบ่ง folder ส่วนที่เกี่ยวข้องใน folder เดียวกัน&lt;br /&gt;
- การแก้ไขได้ง่าย&lt;br /&gt;
- validate แล้ว&lt;br /&gt;
- style ที่ดีและ best practice&lt;br /&gt;
- ห้ามใส่ script, document, image ไว้ใน root folder ที่เดียวกัน&lt;br /&gt;
- html5 จะต้องไม่มี javascript&lt;br /&gt;
- App จะต้องเน้นการช่วยเหลือ work flow สำหรับ web developer&lt;br /&gt;
- Plugin จะต้องมีตัวอย่างและฟังชั่นใน server ของคุณ&lt;br /&gt;
- เช็คว่า asset สามารถนำมาขายร่วมได้&lt;br /&gt;
&lt;br /&gt;
help file&lt;br /&gt;
- pdf, doc, txt หรือ html&lt;br /&gt;
- ควรจะทำให้มองเห็นภาพ&lt;br /&gt;
- ควรจะมีภาพ แต่ไม่ควรใช้แทน text ขั้นตอนการใช้งาน&lt;br /&gt;
- อาจจะใช้ Screenr.com ที่จะใช้บันทึกวิธีการใช้&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/2559294430006910479/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/01/submit-codecanyon.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2559294430006910479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2559294430006910479'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2016/01/submit-codecanyon.html' title='หลักการ submit โปรแกรมใน codecanyon'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-2318771945990971427</id><published>2015-12-06T15:50:00.001-08:00</published><updated>2015-12-06T15:56:36.403-08:00</updated><title type='text'>Create diff file with php xdiff</title><content type='html'>โค้ดแสดงบรรทัดที่มีการเปลี่ยนแปลงในไฟล์เริ่มต้นและไฟล์อัพเดตล่าสุด&lt;br&gt;
จะมีประโยชน์ในการ compare ให้โปรแกรมเมอร์หรือผู้ที่ต้องการตรวจสอบแก้ไขไฟล์&lt;br&gt;
ให้สามารถหาตำแหน่งแก้ไขเพิ่มเติมหรือแก้ปัญหาที่เกิดขึ้นได้อย่างสะดวกรวดเร็ว&lt;br&gt;
ใช้คำสั่ง xdiff_file_diff ซึ่งต้อง download dll มาลงเป็น extension ก่อนครับที่ลิงค์&lt;br&gt;
http://pecl.php.net/package/xdiff


&lt;pre class=&quot;brush:php&quot;&gt;&amp;lt;?php

function rec($path,$target,$diff){
 $h = opendir($path);
 $time = time();
 $day = 60*60*24;
 $dayAmount = $day*5;
 while($file = readdir($h)){
  if ($file != &#39;.&#39; &amp;amp;&amp;amp; $file != &#39;..&#39; &amp;amp;&amp;amp; $file != &#39;.git&#39; &amp;amp;&amp;amp; $file != &#39;nbproject&#39;){
   if (is_dir($path.&#39;/&#39;.$file)){
    rec($path.&#39;/&#39;.$file,$target.&#39;/&#39;.$file,$diff.&#39;/&#39;.$file);
   }else{
    $mtime = filemtime($target.&#39;/&#39;.$file);
    if ($time - $mtime &amp;lt; $dayAmount){
     $p1 = str_replace(&quot;\\&quot;,&#39;/&#39;,$path).&#39;/&#39;.$file;
     $p2 = str_replace(&quot;\\&quot;,&#39;/&#39;,$target).&#39;/&#39;.$file;
     $p3 = str_replace(&quot;\\&quot;,&#39;/&#39;,$diff).&#39;/&#39;.$file;
     $tdir = dirname($p3);
     @mkdir($tdir,0777,true);
     xdiff_file_diff($p1, $p2, $p3, 2);
     
     echo &quot;&amp;lt;pre&amp;gt;\r\n=====================================================\r\n\r\n&quot;;
     echo &#39;&amp;lt;strong&amp;gt;&#39;,str_replace(&#39;C:/wamp/www/diff&#39;,&#39;&#39;,$p3).&quot;&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&quot;;
     $a = file($p3);
     foreach($a as $line){
      if (substr($line,0,1)==&#39;-&#39;){
       echo &#39;&amp;lt;span style=&quot;color:red&quot;&amp;gt;&#39;,htmlspecialchars(substr($line,1)),&#39;&amp;lt;/span&amp;gt;&#39;;
      }
      elseif (substr($line,0,1)==&#39;+&#39;){
       echo &#39;&amp;lt;span style=&quot;color:limegreen&quot;&amp;gt;&#39;,htmlspecialchars(substr($line,1)),&#39;&amp;lt;/span&amp;gt;&#39;;
      }
      elseif (substr($line,0,2)==&#39;@@&#39;){
       preg_match(&#39;/^@@ \-\d+\,\d+ \+(\d+)\,\d+/&#39;,$line,$matches);
       echo &#39;&amp;lt;span style=&quot;color:#6495ED;&quot;&amp;gt;บรรทัดที่  &#39;.$matches[1],&#39;&amp;lt;/span&amp;gt;&#39;;
      }
      else{
       echo htmlspecialchars($line);
      }
     }
     echo &#39;&amp;lt;/pre&amp;gt;&#39;;
    }
   }
  }
 }
}

header(&#39;Content-type:text/html;charset=utf-8&#39;);
rec(&#39;C:\wamp\www\init-code&#39;,&#39;C:\wamp\www\update-code&#39;,&#39;C:\wamp\www\diff&#39;);&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/2318771945990971427/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/12/create-diff-file-with-php-xdiff.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2318771945990971427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2318771945990971427'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/12/create-diff-file-with-php-xdiff.html' title='Create diff file with php xdiff'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-7289191126621078059</id><published>2015-09-25T15:57:00.002-07:00</published><updated>2015-09-25T15:57:41.918-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cordova"/><title type='text'>cordova build error</title><content type='html'>หลังจาก update cordova เวอชั่นใหม่หรือ plugin version ใหม่&lt;br /&gt;
พอจะ build โปรแกรมมักจะเกิดปัญหาแปลกๆ อยู่เสมอ&lt;br /&gt;
บางทีก็แจ้ง error ที่ไม่เข้าใจ ตัวอย่างเช่น&lt;br /&gt;
cordova build failed with exit code 8&lt;br /&gt;
cordova build failed with exit code 1&lt;br /&gt;
cordova build failed with exit code 2&lt;br /&gt;
ซึ่งส่วนใหญ่มักจะเกิดจาก plugin หรือโค้ด java มีปัญหาบางอย่างนั่นเองครับ&lt;br /&gt;
&lt;br /&gt;
เพื่อให้แสดง error ที่ละเอียดมากขึ้นให้ลองทำตามนี้ดูครับ&lt;br /&gt;
&lt;br /&gt;
cordova platform remove android&lt;br /&gt;
cordova platform add android&lt;br /&gt;
cordova build android</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7289191126621078059/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/09/cordova-build-error.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7289191126621078059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7289191126621078059'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/09/cordova-build-error.html' title='cordova build error'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-8311682902892963639</id><published>2015-07-20T06:55:00.000-07:00</published><updated>2015-07-20T07:04:25.601-07:00</updated><title type='text'>Code สำหรับสร้างโค้ดคำสั่ง check ข้อมูลแบบ jquery</title><content type='html'>&lt;pre class=&quot;brush:js&quot;&gt;
var s=document.createElement(&#39;script&#39;);
s.setAttribute(&#39;src&#39;,&#39;http://code.jquery.com/jquery.js&#39;);
document.getElementsByTagName(&#39;body&#39;)[0].appendChild(s);

window.setTimeout(function(){
$(function(){
      var t = &quot; $(function(){\r\n&quot;;
      var formId = $(&#39;form[id]&#39;).attr(&#39;id&#39;);
      t += &quot; $(&#39;#&quot;+formId+&quot;&#39;).submit(function(){\r\n&quot;;
      $(&#39;form[id]&#39;).find(&#39;:text[id],select[id]&#39;).each(function(){
          var inputId = $(this).attr(&#39;id&#39;);
          t += &quot; if ($(&#39;#&quot;+inputId+&quot;&#39;).val()==&#39;&#39;){\r\n&quot;;
          t += &quot; alert(&#39;Invalid &quot;+inputId+&quot;&#39;);\r\n&quot;;
          t += &quot; return false;\r\n&quot;;
          t += &quot; }\r\n&quot;;
      });
      t += &quot;return true;\r\n&quot;;
      t += &quot;});\r\n&quot;;
      t += &quot;});\r\n&quot;;
      console.log(&#39;&lt;scr&#39;+&#39;ipt&gt;\r\n&#39;+t+&#39;\r\n&lt;/scr&#39;+&#39;ipt&gt;&#39;);
});
},3000);
&lt;/pre&gt;

สำหรับ Chrome กดปุ่ม F12 แล้วใส่ไปใน tab console ได้เลยครับ
แต่มีเงื่อนไขคือต้องเป็น form ที่มี id และ input ที่จะตรวจสอบจะต้องมี id
เช่น

&lt;pre class=&quot;brush:php&quot;&gt;
&amp;lt;form id=&quot;form1&quot;&amp;gt;
   &amp;lt;input type=&quot;text&quot; id=&quot;text1&quot;&amp;gt;
   &amp;lt;input type=&quot;text&quot; id=&quot;text2&quot;&amp;gt;
   &amp;lt;input type=&quot;text&quot; id=&quot;text3&quot;&amp;gt;
   &amp;lt;input type=&quot;submit&quot; value=&quot;send&quot;&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/pre&gt;

จะได้ผลลัพธ์เป็น
&lt;pre class=&quot;brush:js&quot;&gt;
$(function(){
 $(&#39;#form1&#39;).submit(function(){
 if ($(&#39;#text1&#39;).val()==&#39;&#39;){
 alert(&#39;Invalid text1&#39;);
 return false;
 }
 if ($(&#39;#text2&#39;).val()==&#39;&#39;){
 alert(&#39;Invalid text2&#39;);
 return false;
 }
 if ($(&#39;#text3&#39;).val()==&#39;&#39;){
 alert(&#39;Invalid text3&#39;);
 return false;
 }
return true;
});
});
&lt;/pre&gt;
ไว้สำหรับเป็นโค้ดสำหรับตรวจสอบทาง javascript ต่อไปครับ
</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8311682902892963639/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/07/code-check-jquery.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8311682902892963639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8311682902892963639'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/07/code-check-jquery.html' title='Code สำหรับสร้างโค้ดคำสั่ง check ข้อมูลแบบ jquery'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-1134031699713535925</id><published>2015-07-05T01:38:00.002-07:00</published><updated>2015-07-05T01:40:54.622-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php tool"/><title type='text'>PHP Code Builder From Mysql Create Table Code</title><content type='html'>โปรแกรมแปลง create table ให้เป็น insert และ update query ครับ&lt;br /&gt;
&lt;br /&gt;
ถ้าเขียนโปรแกรมฐานข้อมูลบ่อยๆ และจำชื่อฟิลด์ไม่ค่อยได้&lt;br /&gt;
ในการเขียนโปรแกรม insert / update&lt;br /&gt;
จะต้องสลับเปิดไปมาระหว่าง phpmyadmin และ php editor ซึ่งเสียเวลาและใช้เวลาพิมพ์มากพอสมควร&lt;br /&gt;
รวมถึงอาจจะพิมพ์ผิดต้องแก้หลายครั้ง ถ้าใช้โปรแกรมตัวนี้ช่วยจะไม่ต้องเสียเวลาพิมพ์นานและมีความถูกต้องและรวดเร็วด้วยครับ&lt;br /&gt;
&lt;br /&gt;
แต่เงื่อนไขของโปรแกรมนี้จะต้องเริ่มต้นด้วย ชื่อตาราง และฟิลด์ถัดมาควรจะเป็น primary key ครับ&lt;br /&gt;
ไม่งั้นโปรแกรมจะแปลงข้อมูลได้ไม่ถูกต้อง&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &#39;Courier New&#39;, monospace; font-size: 13px; line-height: 1.42857143; margin-bottom: 10px; overflow: auto; padding: 9.5px; word-break: break-all; word-wrap: break-word;&quot;&gt;CREATE TABLE `&lt;b&gt;ชื่อตาราง&lt;/b&gt;` (
&lt;b&gt; `id` INT(6) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, /* primary key */&lt;/b&gt;
 `m_id` INT(6) UNSIGNED ZEROFILL NULL DEFAULT NULL,
 `name` VARCHAR(120) NOT NULL,
 `phone` VARCHAR(60) NOT NULL,
 `status` INT(1) NOT NULL,
 `date` DATE NOT NULL
);&lt;/pre&gt;


ลิงค์โปรแกรม
&lt;a href=&quot;http://zend-numapp.rhcloud.com/php-code-builder.php&quot; target=&quot;_blank&quot;&gt;PHP Code Builder From Mysql Create Table Code&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/1134031699713535925/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/07/php-code-builder-from-mysql-create.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/1134031699713535925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/1134031699713535925'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2015/07/php-code-builder-from-mysql-create.html' title='PHP Code Builder From Mysql Create Table Code'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-8328983240479631561</id><published>2014-12-07T03:01:00.003-08:00</published><updated>2014-12-07T03:01:51.679-08:00</updated><title type='text'>เว็บสอนฟังและพูดภาษาอังกฤษ</title><content type='html'>มีเว็บสอนภาษาอังกฤษอยู่มากมายครับ ถ้าตอนเด็กๆ ได้ฝึกกับเว็บพวกนี้ป่านนี้น่าจะคล่องแล้ว&lt;br /&gt;
สำหรับผมการอ่านนี่ส่วนใหญ่จะได้ 80% อยู่แล้วแต่ฟังกับพูดยังไม่ถึง 50%&lt;br /&gt;
ตอนนี้ถ้ามีเวลาว่างผมก็จะลองไปฝึกตามเว็บนี้ครับ :)&lt;br /&gt;
&lt;br /&gt;
http://talkenglish.com/talkenglish-android.aspx&lt;br /&gt;
http://learnamericanenglishonline.com/Blue%20Level/B1%20Be.html&lt;br /&gt;
http://usalearns.org</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8328983240479631561/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/12/blog-post.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8328983240479631561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8328983240479631561'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/12/blog-post.html' title='เว็บสอนฟังและพูดภาษาอังกฤษ'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-3869689257123079428</id><published>2014-11-23T00:42:00.005-08:00</published><updated>2014-11-23T00:44:34.202-08:00</updated><title type='text'>เคล็ดลับในการทำ app ให้ประสบความสำเร็จบน google play</title><content type='html'>&lt;b&gt;สำหรบ app ทั่วๆ ไป&lt;/b&gt;&lt;br /&gt;
- ใช้ developer console เพื่อคุยโต้ตอบกับ comment เพื่อทำความเข้าใจกับ user&lt;br /&gt;
- โปรโมต app ของคุณใน google search, youtube และใน app อื่นๆ&lt;br /&gt;
- โปรโมต app อื่นๆ ของคุณใน admob house ads&lt;br /&gt;
- ทำ app ที่เกี่ยวข้องกับชื่อ app แต่มีความพิเศษหรือความสามารถเหนือ app อื่น&lt;br /&gt;
- ให้ผู้ชำนาญด้านการทำ icon ทำ icon ให้ หรือใช้ android asset studio tools ในการสร้าง icon&lt;br /&gt;
- แสดง screenshot ที่ทำให้เห็นประโยชน์ใน app&lt;br /&gt;
- คำอธิบาย app สั้นแต่ได้ใจความ และช่วยให้ user ได้รู้ว่าเป็น app ที่ตรงกับความต้องการ&lt;br /&gt;
- สร้าง video อัพโหลดขึ้น youtube เพื่อนำเสนอ app&lt;br /&gt;
- ใช้ปุ่ม badge มาตรฐาน เพื่อให้รับทราบว่าสามารถ download app ได้ที่ไหน&lt;br /&gt;
- ทำ app ที่ตัวเองรู้สึกชอบและอยากใช้งาน ถ้าแม้แต่ตัวเองยังไม่ชอบก็ยากที่คนอื่นจะชอบด้วย&lt;br /&gt;
- ไม่เน้นขายเป็นหลักในขั้นตอนการใช้งานต่างๆ ซึ่งอาจจะทำให้ app ไม่น่าใช้&lt;br /&gt;
- ทำตัวให้น่าเชื่อถือ ยอมรับหัวข้อปัญหาต่างๆ ใน comment และจัดการปัญหา เพื่อให้มีคนติดตามตลอดเวลา&lt;br /&gt;
- อย่าใช้แต่คำบอกเล่า ใช้รูปและวีดีโอที่ทำให้เกิดประโยชน์กับคนจริงๆ มาแล้ว!!! หรือช่วยให้ผู้ชมสนุกสนาน&lt;br /&gt;
- อย่ากลัวที่จะเรียกให้ user share หรือ +1 เมื่อถึงเวลาที่เหมาะสม&lt;br /&gt;
- ใช้ google sign-in กับเว็บไซต์ของคุณ&lt;br /&gt;
- สร้าง app ที่เหมาะสมกับ tablet, และเหมาะสมสำหรับการศึกษา&lt;br /&gt;
- ใช้ google adword ในเวลาที่เหมาะสม เช่นในช่วงลดราคา app&lt;br /&gt;
- ให้สิทธิพิเศษกับ user ที่ share คุณ&lt;br /&gt;
- ใช้ระบบ notification แจ้ง function ที่มีประโยชน์ เพื่อให้ app function เป็นที่รุ้จัก&lt;br /&gt;
- ทำ deep link เพื่อให้ผู้ใช้สามารถเปิดดูข้อมูล app ได้ทาง search result&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;สำหรับแอพเกมส์&lt;/b&gt;&lt;br /&gt;
- สร้าง leaderboards เพื่อเปรียบเทียบความสามารถกับผู้เล่นอื่นๆ&lt;br /&gt;
- บันทึก data ไว้ที่ cloud (เพื่อให้ผู้เล่นคนเดียวกันสามารถใช้งานได้หลายเครื่อง)&lt;br /&gt;
- ระบบการสะสมเหรียญ สะสมไอเทมช่วยให้เกมส์น่าเล่นอย่างต่อเนื่อง&lt;br /&gt;
- สามารถเล่นเกมส์และอีเว้นท์ของเกมส์โดยไม่ต้องอัพเดตเกมส์&lt;br /&gt;
- ระบบ multi player ช่วยให้เกมส์น่าสนใจมากขึ้น&lt;br /&gt;
- ส่ง/รับ ของขวัญ ให้กับผู้เล่น&lt;br /&gt;
- ใช้ google plus sign in ช่วยให้เผยแพร่และตรวจสอบสถิติการใช้งาน&lt;br /&gt;
- วิจัยก่อนว่าผู้ใช้ app ประเภทที่กำลังทำชอบการชำระเงินแบบไหน&lt;br /&gt;
- โปรแกรมไม่ทางการจะเหมาะสมกับ ads และ in-app purchases&lt;br /&gt;
- ถ้ากำลังทำ app ที่มี ads ให้ลองทำ in-app purchases ที่ remove ads&lt;br /&gt;
- ถ้าโปรแกรมคุณสามารถขยายได้เช่นเพิ่ม level ให้เสนอ level พิเศษสำหรับการรุ่นที่ชำระเงินด้วย&lt;br /&gt;
- app ที่มีมูลค่าของเนื้อหา เปลี่ยนไป เรื่อยๆ ให้ใช้ subscription (กำหนดระยะเวลา)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/3869689257123079428/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/app-google-play.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/3869689257123079428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/3869689257123079428'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/app-google-play.html' title='เคล็ดลับในการทำ app ให้ประสบความสำเร็จบน google play'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-4535977715731122093</id><published>2014-11-19T21:33:00.001-08:00</published><updated>2014-11-19T21:33:32.211-08:00</updated><title type='text'>youtube partner คืออะไร</title><content type='html'>youtube partner ถ้าแปลตรงๆ ก็คือหุ้นส่วนของ youtube ซึ่งเราทุกคนสามารถที่จะเป็นหุ้นส่วนของ youtube ได้ โดยการเผยแพร่คลิปวีดีโอที่มีคนดูจำนวนมาก ซึ่งวีดีโอนั้นจะต้องไม่ละเมิดลิขสิทธ์&lt;br /&gt;
เช่นวีดีโอที่นำเพลงลิขสิทธิ์มาเผยแพร่โดยไม่ได้รับอนุญาติฯลฯ youtube จะไม่พิจารณาให้เป็น youtube partner&lt;br /&gt;
&lt;br /&gt;
ในการเป็น youtube patner เรามีหน้าที่จัดทำและเผยแพร่คลิปวีดีโอ และ youtube จะแบ่งเปอร์เซนต์จากการโฆษณาให้ ตามที่เราเห็นโฆษณาขึ้นใน video ใน youtube ต่างๆ นั่นเองครับ</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/4535977715731122093/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/youtube-partner-is.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4535977715731122093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4535977715731122093'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/youtube-partner-is.html' title='youtube partner คืออะไร'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-8715678617806617795</id><published>2014-11-07T19:28:00.002-08:00</published><updated>2014-11-07T19:28:19.427-08:00</updated><title type='text'>Output Buffer Render</title><content type='html'>โค้ดช่วยแสถงสถานะ เหมาะสำหรับช่วยแสดงสถานะการทำงานของโปรแกรมที่ใช้เวลาทำงานนานๆ ครับ

&lt;pre class=&quot;brush:php&quot;&gt;$rows=file(&#39;./etlex&#39;);
set_time_limit(0);
$sx = 0;
foreach($rows as $number=&amp;gt;$r){
    if ($number % 100000==0){
        echo &quot;&lt;style&gt;#status$sx{display:none;}&lt;/style&gt;&quot;;
        $sx++;
        echo &quot;&lt;div id=&quot;status$sx&quot;&gt;Line &quot;.$number.&quot;&lt;/div&gt;&quot;;
        echo str_pad(&#39;&#39;,4096).&quot;\n&quot;; 
        ob_flush();
        flush();
        sleep(1);        
    }
}
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8715678617806617795/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/output-buffer-render.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8715678617806617795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8715678617806617795'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/11/output-buffer-render.html' title='Output Buffer Render'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-7204752585749684797</id><published>2014-06-28T05:28:00.001-07:00</published><updated>2014-06-28T05:31:54.007-07:00</updated><title type='text'>php debug function</title><content type='html'>ในบางครั้ง debug ผ่านการ echo จะไม่สะดวก
โค้ดด้านล่างนี้สำหรับ debug ตัวแปรใส่ไว้ใน file และสามารถใส่ใน loop ก็ได้ครับ

&lt;pre class=&quot;brush:php&quot;&gt;if (empty($test)){
         file_put_contents(dirname(__FILE__).&#39;/test1.txt&#39;,&#39;&#39;);
         $test=true;
         function test($var){
  ob_start();
  var_dump($var);
  $s=ob_get_clean();
  file_put_contents(dirname(__FILE__).&#39;/test1.txt&#39;,$s,FILE_APPEND);         
         }
}
test($testvar);
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7204752585749684797/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/06/php-debug-function.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7204752585749684797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7204752585749684797'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/06/php-debug-function.html' title='php debug function'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-7408519489331294443</id><published>2014-03-08T11:29:00.000-08:00</published><updated>2014-03-08T11:32:57.458-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php function"/><category scheme="http://www.blogger.com/atom/ns#" term="ภาษาไทย"/><title type='text'>แปลงวันที่ไทยให้เป็นวันที่ของ php</title><content type='html'>แปลงวันที่ภาษาไทยให้เป็นวันที่ php ครับ
แต่ function นี้มีข้อจำกัดคือไม่สามารถใช้กับ host windows ได้ครับเพราะเรียกใช้ strptime ซึ่งไม่มีใน host windows

&lt;pre class=&quot;brush:php&quot;&gt;
function strtotime_thai($str){
    $str  = preg_replace_callback(&#39;/\d{4}/&#39;,function($match){
         return $match[0]-543;
    },$str);
    setlocale(LC_TIME, &#39;thai&#39;);
    $format = &#39;%d %B %Y %H:%M:%S&#39;;//d M Y H:i:s
    $str = iconv(&#39;UTF-8&#39;,&#39;TIS-620&#39;,$str);//comment this line if $str is tis620
    $result = strptime($str,$format);
    if (empty($result)){
        return false;
    }
    extract($result);
    return mktime($tm_hour,$tm_min,$tm_sec,$tm_mon+1,$tm_mday,$tm_year+1900);
}
$phptime = strtotime_thai(&#39;19 ธันวาคม 2557 23:30:59&#39;);
echo date(&#39;d/m/Y H/i/s&#39;,$phptime);
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7408519489331294443/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/03/php-strtotime-thai-locale-strptime.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7408519489331294443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7408519489331294443'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/03/php-strtotime-thai-locale-strptime.html' title='แปลงวันที่ไทยให้เป็นวันที่ของ php'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-6019726490597821659</id><published>2014-02-14T18:39:00.003-08:00</published><updated>2014-02-14T18:39:51.811-08:00</updated><title type='text'>facebook programming</title><content type='html'>สมัยนี้คนเล่น facebook กันมาก facebook สะดวกในการเก็บรูปเก็บวีดีโอ&lt;br /&gt;
ทำให้เราไม่ต้องเสียพื้นที่เก็บข้อมูลมากๆ ในเว็บไซต์ เราสามารถจะดึงข้อมูลใน facebook ของเรามาแสดงในเว็บอีกทีหนึ่งก็ได้ไม่ต้องอัพโหลดซ้ำครับ&lt;br /&gt;
&lt;br /&gt;
มีหลายเทคนิคด้วยกันครับ เทคนิคแรกเป็นการดึงข้อมูลเองโดยตรงผ่าน graph ของ facebook&lt;br /&gt;
&lt;a href=&quot;http://kevinp93.com/facebook-images-on-website-v2/&quot;&gt;http://kevinp93.com/facebook-images-on-website-v2/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
วิธีที่สองก็คือการดึงข้อมูลผ่าน FQL ซึ่งเป็นเป็น api ของ facebook&lt;br /&gt;
&lt;a href=&quot;http://www.codeofaninja.com/2011/06/display-facebook-photos-to-your-website.html&quot;&gt;http://www.codeofaninja.com/2011/06/display-facebook-photos-to-your-website.html&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.codeofaninja.com/p/facebook-developers.html&quot;&gt;http://www.codeofaninja.com/p/facebook-developers.html&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.codeofaninja.com/2013/02/facebook-appId-and-appSecret.html&quot;&gt;http://www.codeofaninja.com/2013/02/facebook-appId-and-appSecret.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/6019726490597821659/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/02/facebook-programming.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/6019726490597821659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/6019726490597821659'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/02/facebook-programming.html' title='facebook programming'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-4937341407728407650</id><published>2014-01-11T22:01:00.003-08:00</published><updated>2015-07-23T00:19:20.955-07:00</updated><title type='text'>ควบคุมแคลอรี่เพื่อการลดน้ำหนักด้วยแอพแคลอรี่ไดอารี่ Calorie Diary App </title><content type='html'>การควบคุมปริมาณแคลอรี่ให้อยู่ในปริมาณที่เหมาะสมจะช่วยลดน้ำหนักและควบคุมน้ำหนักไม่ให้เพิ่มขึ้นได้ &lt;b&gt;แอพแคลอรี่ไดอารี่&lt;/b&gt;ตัวนี้จะช่วยบันทึกประมาณแคลอรี่ที่คุณรับประทานในแต่ละวันเก็บไว้เป็นสถิติเพื่อช่วยในการตัดสินใจว่าเพิ่มหรือลดแคลอรี่ที่จะรับประทานเข้าไปในแต่ละวันให้มีปริมาณที่เหมาะสมครับ&lt;br /&gt;&lt;br /&gt;
Controlling the amount of calories in the right amount to help lose weight and keep weight. The Calorie Diary will help you note  calories amount you consume each day, keep the statistics to help decide whether to raise or lower the calories to eat each day.
&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/AVvXsEj4LANhJdIbr_4g8meSAZiQpt-2rRhxQVGu_je7JMJpa7zQRuyXCU4qSe6uo2u9jzaFSFNcMtkEGVzCz-uMAd29tBo33nKLdHtoxfGRHWfFlnyCuJdByE3OCJCSbLaFjmUwbumPKT1Efmos/s1600/7-1-th.png&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/AVvXsEj4LANhJdIbr_4g8meSAZiQpt-2rRhxQVGu_je7JMJpa7zQRuyXCU4qSe6uo2u9jzaFSFNcMtkEGVzCz-uMAd29tBo33nKLdHtoxfGRHWfFlnyCuJdByE3OCJCSbLaFjmUwbumPKT1Efmos/s1600/7-1-th.png&quot; height=&quot;320&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAPYaewroth3Re-mHKytHPwqRCd_iHSXuO6PxGlZWBaCZR4eVbPeTffugdvqbMrYsEz351VvNqPk7s8XGzXaG06tIFHakQSbBGoMMvVxlYrmYTqmReoeFWjeMBp47RqUpYakl6zSxzdVf/s1600/7-search-th.png&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/AVvXsEjGAPYaewroth3Re-mHKytHPwqRCd_iHSXuO6PxGlZWBaCZR4eVbPeTffugdvqbMrYsEz351VvNqPk7s8XGzXaG06tIFHakQSbBGoMMvVxlYrmYTqmReoeFWjeMBp47RqUpYakl6zSxzdVf/s1600/7-search-th.png&quot; height=&quot;320&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
คุณสมบัติของแคลอรี่ไดอารี่ (Calorie Diary)&lt;/h3&gt;
- ไดอารี่สำหรับจดบันทึกสถิติแคลอรี่ที่คุณได้รับจากการรับประทานอาหารในแต่ละวัน&lt;br /&gt;
- การจดบันทึกและควบคุมปริมาณแคลอรี่ที่ร่างกายจะได้รับในแต่ละวันจะช่วยในการควบคุมและลดน้ำหนัก&lt;br /&gt;
- แสดงรายการข้อมูลในรูปแบบปฎิทินทำให้แก้ไขเพิ่มเติมข้อมูลได้ง่ายดาย&lt;br /&gt;
- สามารถค้นหาข้อมูลชื่ออาหารและค่ากิโลแคลอรี่ของอาหารประเภทต่างๆ นับพันรายการ&lt;br /&gt;
- สามารถเพิ่มรายชื่อผู้ใช้ได้หลายคนเพื่อจดสถิติให้กับเพื่อนๆ หรือคนในครอบครัว&lt;br /&gt;
- นอกจากนี้คุณยังสามารถเพิ่มชื่ออาหารและค่ากิโลแคลอรี่ของอาหารได้เองด้วย&lt;br /&gt;
- มีรายงานสถิติค่าเฉลี่ยแคลอรี่ที่คุณรับเข้าไปในแต่ละวันและค่าเฉลี่ยน้ำหนักที่ลดลงในแต่ละวัน&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Feature&lt;/b&gt;&lt;br /&gt;
- Note Statistics calories you are eating each day.&lt;br /&gt;
- To record and control the amount of calories each day will help to control and loss weight.&lt;br /&gt;
- Display information in the calendar form make it easy to add/update data.&lt;br /&gt;
- Find out the name and the kilo calories of food types , thousands of items .&lt;br /&gt;
- Can add multiple users to take statistics with friends. Or someone in the family.&lt;br /&gt;
- You also can add your name and the kilo calories of the food itself.&lt;br /&gt;
- Have reported record , the average calories you intake each day and the average weight loss each day.&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/AVvXsEiEPZHb32NTYHqx0pWs0WOitxtK-FZqs1tjRfjFAksCHzDo2__Bte6AzcHBelEB-H_dJ0FCUrzy4JQXXW5CCiTqTTs0rEbfw4ODR2GRo0XdSCKsH1Q1ZBLf0CV6XUPpdZyuQdF1aWph7hv4/s1600/7-calendar-th.png&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/AVvXsEiEPZHb32NTYHqx0pWs0WOitxtK-FZqs1tjRfjFAksCHzDo2__Bte6AzcHBelEB-H_dJ0FCUrzy4JQXXW5CCiTqTTs0rEbfw4ODR2GRo0XdSCKsH1Q1ZBLf0CV6XUPpdZyuQdF1aWph7hv4/s1600/7-calendar-th.png&quot; height=&quot;320&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGrcELRLb5Ep_fQBAKKZYhZG3vrI3rnxPYhucGRE0-rfa4e7Hqmctfe5DAnUT6UdueKRUmQDbwtafiNblbCveLx1lbBM20tFtG0v-du-GaKR0-Zl2H_updgreHubIy94NPMSffGHlC6CXP/s1600/7-date-th.png&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/AVvXsEgGrcELRLb5Ep_fQBAKKZYhZG3vrI3rnxPYhucGRE0-rfa4e7Hqmctfe5DAnUT6UdueKRUmQDbwtafiNblbCveLx1lbBM20tFtG0v-du-GaKR0-Zl2H_updgreHubIy94NPMSffGHlC6CXP/s1600/7-date-th.png&quot; height=&quot;320&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;สิ่งที่เปลี่ยนแปลงในเวอร์ชั่น 1.4&lt;/b&gt;&lt;br /&gt;
- สามารถใช้ปุ่มย้อนกลับของ android ในการย้อนไปยังหน้าก่อนหน้า&lt;br /&gt;
- เพิ่มปุ่มให้คะแนนแอพนี้ และปุ่มแจ้งปัญหา&lt;br /&gt;
- ลบปุ่มส่งต่อให้เพื่อน (เนื่องจากไม่มีงบประมาณในการซื้อ social plugin)&lt;br /&gt;
- ลบปุ่มยกเลิก สำหรับการปิดเมนูป๊อปอัพจะเปลี่ยนมาใช้การกดที่หน้าจอแทน&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;สิ่งที่เปลี่ยนแปลงในเวอร์ชั่น 1.3&lt;/b&gt;&lt;br /&gt;
- ย้ายรายชื่อผู้ใช้ไปหน้าแรก&lt;br /&gt;
- เพิ่มป็อปอัพเมนูเพื่อให้บันทึกข้อมูลได้สะดวกขึ้น&lt;br /&gt;
- เพิ่มปุ่มส่งต่อให้เพื่อน&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;สิ่งที่เปลี่ยนแปลงในเวอร์ชั่น 1.2&lt;/b&gt;&lt;br /&gt;
- แก้ไขข้อผิดพลาดที่เกิดขึ้นในหน้าปฎิทินที่เกิดขึ้นเมื่อไม่ได้กำหนดค่าแคลอรี่ในบันทึกประจำวัน&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;สิ่งที่เปลี่ยนแปลงในเวอร์ชั่น 1.1&lt;/b&gt;&lt;br /&gt;
- แก้ปัญหาขนาดช่องป้อนข้อมูลเล็กเกินไปในหน้าบันทึกน้ำหนักและแคลอรี่&lt;br /&gt;
- เพิ่มการแสดงวันที่ปัจจุบันเป็นสีชมพูในปฎิทิน&lt;br /&gt;
- จัดรูปแบบหน้าแรกให้ปุ่มสำคัญอยู่ตรงกลางเพียงปุ่มเดียวเพื่อให้กดปุ่มสะดวกขึ้น&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Change Log&lt;/b&gt;&lt;br /&gt;
What changed in version 1.4&lt;br /&gt;
- Can return to the previous page using android hardware back button.&lt;br /&gt;
- Add Rate This App Button and Feedback Button.&lt;br /&gt;
- Remove Share This App Button (Due to budget issues).&lt;br /&gt;
&lt;br /&gt;
- Remove Cancel Button, Changed to close pop-up menu by pressing the screen.&lt;br /&gt;
What changed in version 1.3&lt;br /&gt;
- Move the user list to the first page.&lt;br /&gt;
- Added popup menu to save the data easier.&lt;br /&gt;
- Add Share to friends button.&lt;br /&gt;
What changed in version 1.2&lt;br /&gt;
- Fix error in the calendar page when not providing value to calorie on the day.&lt;br /&gt;
What changed in version 1.1&lt;br /&gt;
- Fixed the input size too small in weight and calories input page.&lt;br /&gt;
- Added display the current date in pink color in the calendar.&lt;br /&gt;
- Formatting the home menu buttons, display a single button will press easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
คุณสามารถติดตั้งแอพแคลอรี่ไดอารี่ได้ทาง Google Play&lt;br /&gt;
You can install The Calorie Diary via&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=dragon_html.Calorie_Diary&quot;&gt;
  &lt;img alt=&quot;Android app on Google Play&quot; src=&quot;https://developer.android.com/images/brand/en_app_rgb_wo_60.png&quot; /&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
ถ้ามีปัญหาการใช้งานติดต่อมาได้ที่ dragon_html[แอด]hotmail.com ครับ
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
เทคนิคในการลดน้ำหนัก&lt;/h3&gt;
1. ทานน้ำเปล่าหรือน้ำชาอ่อนๆ ให้มากขึ้น&lt;br /&gt;
2. ทานผักผลไม้ให้มากขึ้น&lt;br /&gt;
3. ทานนมและถั่วให้มากขึ้น&lt;br /&gt;
4. ทานอาหารในปริมาณน้อยๆ ทีละหลายครั้งดีกว่าทีละมากๆ ครั้งเดียว (ทานเท่าที่ร่างกายต้องการแทนทานเท่าที่ต้องการ)&lt;br /&gt;
5. ชั่งน้ำหนักด้วยกิโลที่มีความละเอียดอ่านได้ง่ายตัวอย่างเช่นเครื่องชั่งดิจิตอล&lt;br /&gt;
6. ตรวจสอบแคลอรี่ของอาหารที่รับประทานเข้าไปในแต่ละวันไม่ให้มากเกินไปครับ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Techniques to lose weight &lt;/h3&gt;
1. Drink more water or light tea.&lt;br /&gt;
2. Eat more fruits and vegetables.&lt;br /&gt;
3. Eat more sugar free milk and nuts.&lt;br /&gt;
4. Eating foods in small amounts but multiple times better than eating food in big amounts at once&lt;br /&gt;
(Eat as much as the body needs, Not to eat as much as body wish).&lt;br /&gt;
5. Weighed with a scale that can check your weight accurately, for example, the digital scales.&lt;br /&gt;
6. Check the calorie of food consumed each day, not too much.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe style=&quot;width:120px;height:240px;&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=webprogramm0e-20&amp;marketplace=amazon&amp;region=US&amp;placement=B00EIWU2FE&amp;asins=B00EIWU2FE&amp;linkId=PP5IZVLPLN5XE3IQ&amp;show_border=true&amp;link_opens_in_new_window=true&quot;&gt;
&lt;/iframe&gt;
&amp;nbsp;
&lt;iframe style=&quot;width:120px;height:240px;&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=webprogramm0e-20&amp;marketplace=amazon&amp;region=US&amp;placement=B00LOTXZOO&amp;asins=B00LOTXZOO&amp;linkId=4CRNWVHECUJMW63P&amp;show_border=true&amp;link_opens_in_new_window=true&quot;&gt;
&lt;/iframe&gt;
&amp;nbsp;
&lt;iframe style=&quot;width:120px;height:240px;&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=webprogramm0e-20&amp;marketplace=amazon&amp;region=US&amp;placement=B00F3J9G1W&amp;asins=B00F3J9G1W&amp;linkId=YHS7CPBG672RNJ3X&amp;show_border=true&amp;link_opens_in_new_window=true&quot;&gt;
&lt;/iframe&gt;
&amp;nbsp;
&lt;iframe style=&quot;width:120px;height:240px;&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ac&amp;ref=tf_til&amp;ad_type=product_link&amp;tracking_id=webprogramm0e-20&amp;marketplace=amazon&amp;region=US&amp;placement=B00NBZAVTG&amp;asins=B00NBZAVTG&amp;linkId=IOZ7A665L2O6YEOU&amp;show_border=true&amp;link_opens_in_new_window=true&quot;&gt;
&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/4937341407728407650/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/01/calorie-diary-android-app.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4937341407728407650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4937341407728407650'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2014/01/calorie-diary-android-app.html' title='ควบคุมแคลอรี่เพื่อการลดน้ำหนักด้วยแอพแคลอรี่ไดอารี่ Calorie Diary App '/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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/AVvXsEj4LANhJdIbr_4g8meSAZiQpt-2rRhxQVGu_je7JMJpa7zQRuyXCU4qSe6uo2u9jzaFSFNcMtkEGVzCz-uMAd29tBo33nKLdHtoxfGRHWfFlnyCuJdByE3OCJCSbLaFjmUwbumPKT1Efmos/s72-c/7-1-th.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-3356696934275055946</id><published>2013-12-27T23:13:00.004-08:00</published><updated>2013-12-27T23:13:25.108-08:00</updated><title type='text'>start end format display number</title><content type='html'>&lt;pre class=&quot;brush:php&quot;&gt;

abstract class StartEnd{
    protected $m = array();
    public function push($data){
        if (count($this-&gt;m)==0){
           $this-&gt;m[1] = $this-&gt;m[0] = $data;
        }else{
           $this-&gt;m[1] = $data;
        }
    }
    public function __toString(){
        if (count($this-&gt;m)==0){
            return &#39;&#39;;
        }elseif ($this-&gt;m[0] == $this-&gt;m[1]){
            return (string)$this-&gt;m[0];
        }else{
            return $this-&gt;m[0].&#39;-&#39;.$this-&gt;m[1];
        }
    }
    public static function getFormat(array $a){
        $groups = array();
        $prev = -1;
        static::sort($a);
        foreach($a as $i){
              if ($prev !== static::getPrev($i)){
                     $se = new static();
                     $groups[] = $se;
              }
              $se-&gt;push($prev = $i);
        }
        return implode(&#39;,&#39;,$groups);
    }
    abstract public static function sort(&amp;$a);
    abstract public static function getPrev($i);
}
class StartEndNumber extends StartEnd{
    public static function sort(&amp;$a){
        sort($a,SORT_NUMERIC);
    }
    public static function getPrev($i){
        return $i-1;
    }
}
class StartEndDay extends StartEnd{
    protected static $enum = array(&#39;MON&#39;,&#39;TUE&#39;,&#39;WED&#39;,&#39;THU&#39;,&#39;FRI&#39;,&#39;SAT&#39;,&#39;SUN&#39;);
    public static function daySort($val1,$val2){
        return array_search($val1,static::$enum)-array_search($val2,static::$enum);
    }
    public static function sort(&amp;$a){
        usort($a,&#39;StartEndDay::daySort&#39;);
    }
    public static function getPrev($i){
        $position = array_search($i,self::$enum);
        if ($position === false){
                return false;
        }else{
                return self::$enum[$position-1];
        }
    }
}


$a = array(1,4,3,2,5,9,10,12);
echo StartEndNumber::getFormat($a),&#39; &#39;; //1-5,9-10,12

$a = array(&#39;TUE&#39;,&#39;MON&#39;,&#39;WED&#39;,&#39;FRI&#39;,&#39;SAT&#39;);
echo StartEndDay::getFormat($a); //MON-WED,FRI-SAT

&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/3356696934275055946/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/start-end-format-display-number.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/3356696934275055946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/3356696934275055946'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/start-end-format-display-number.html' title='start end format display number'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-7554483078728208191</id><published>2013-12-15T02:46:00.000-08:00</published><updated>2013-12-15T02:46:41.412-08:00</updated><title type='text'>calculate age from javascript</title><content type='html'>function get_age(ymd) { &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; var x = ymd.split(&#39;-&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var y = x[0];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var m = x[1];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var d = x[2];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var today = new Date();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var test = m = (today.getMonth()+1 - m);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (test &amp;lt; 0) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y++;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; } else if (m == 0 &amp;amp;&amp;amp; today.getDate() - d &amp;lt; 0) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y++;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var test2 = today.getFullYear() - y;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (test2 &amp;lt; 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test2 = 0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return test2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
alert(get_age(&#39;1980-01-01&#39;));</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7554483078728208191/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/calculate-age-from-javascript.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7554483078728208191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7554483078728208191'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/calculate-age-from-javascript.html' title='calculate age from javascript'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-2257851238371254236</id><published>2013-12-07T03:56:00.002-08:00</published><updated>2013-12-07T03:56:47.824-08:00</updated><title type='text'>mod_rewrite test tool</title><content type='html'>&lt;a href=&quot;http://htaccess.madewithlove.be/&quot;&gt;http://htaccess.madewithlove.be/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
เครื่องมือทดสอบ mod_rewrite โดยไม่ต้องไปแก้ .htaccess บ่อยๆ ทดสอบออนไลน์ได้เลยครับ</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/2257851238371254236/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/modrewrite-test-tool.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2257851238371254236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/2257851238371254236'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/modrewrite-test-tool.html' title='mod_rewrite test tool'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-4179927489474352619</id><published>2013-12-02T15:06:00.001-08:00</published><updated>2014-06-29T01:59:57.904-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="zend"/><category scheme="http://www.blogger.com/atom/ns#" term="zend certificate"/><title type='text'>Zend certified engineer PHP 5.3 </title><content type='html'>&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: center;&quot;&gt;
&lt;a href=&quot;http://www.zend.com/en/yellow-pages/ZEND023743&quot;&gt;&lt;img alt=&quot;My Zend Certified Engineer Directory Page&quot; border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK0zR3YSRu-2eKc45VptdAVS2Y0eJQoBNwqF5bIq_FItfoTGAupNxOTTKV0sSi-84lcfWc4K6d1BVEaC7lRemf6NAgMqmz7UXDqa7t5qjrib-Za_WDrIMvGcV3Fl76JsCHJ3_G-FRJFQi3/s320/zce-php5-3-logo-10.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
ในที่สุดก็สอบผ่านเสียทีครับ กับการเตรียมสอบมาอย่างยาวนาน ใช้เวลาเตรียมตัวสอบมาเรื่อยๆ อาศัยช่วงว่างจากงานพิเศษบ้าง ช่วงดึกของวันจันทร์ถึงศุกร์ เป็นเวลา 3 เดือนเต็มๆ หลักก็มีอ่าน ebook ของ PHP-5-3-Study-Guide-v1 ของ Zend.com, Tutorial ตามเว็บไซต์ต่างๆ ที่คนที่สอบผ่านแล้วแนะนำ และอ่าน PHP Manual เนื้อหาหลักๆ ทั้งหมด&lt;br /&gt;
&lt;br /&gt;
ในระหว่างการอ่านพบว่าตัวเองไม่ถนัดเขียนปากกาจดบันทึกซะแล้ว สมัยก่อนจดแล้วลบแล้วบางทีกลับมาดูอีกทีอ่านไม่ออก ผมเลยต้องหาตัวช่วยมาใช้เป็นโปรแกรมสร้าง Mind Map ตัวหนึ่งชื่อว่า FreeMind โปรแกรมตัวนี้จะสร้างข้อมูลเหมือน Tree/Directory สามารถจัดกลุ่มเพิ่มลบแก้ไขข้อมูลได้สะดวกมาก&amp;nbsp;&lt;a href=&quot;http://freemind.sourceforge.net/&quot;&gt;http://freemind.sourceforge.net&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ในช่วงวันก่อนวันสอบก็ยังไม่แน่ใจในระดับความยากของข้อสอบ เพราะจากที่ทำตัวอย่างข้อสอบที่ผ่านๆ มาอยู่ในระดับยากมาก (ข้อสอบตัวอย่างมักจะถาม parameter ตัวที่ 3-4 ของ function ต่างๆ แบบสุ่มชื่อ function หรือถามผลลัพธ์ของการของโปรแกรมที่มีตัวแปร 3-5 ตัวแปร) วันเสาร์อาทิตย์ก่อนสอบก็ไม่สบายเสียอีกเวลาอ่านทบทวนที่จดไว้ใน Mind Map ได้ไม่มาก จะสอบผ่านไม่ผ่านไม่รู้แต่เสียดายที่เตรียมมาเยอะมาก ถ้าอ่านไม่จบแล้วสอบตกคงเสียใจมาก ถ้าอ่านจบที่เตรียมแล้วไม่ผ่านก็จะได้ทำใจว่าทำดีที่สุดแล้ว วันจันทร์ตอนเช้าเลยต้องตั้งตาอ่านให้ครบตั้งแต่ช่วงตี 2 ถึง 7 โมงกว่า อ่านจบค่อยสบายใจหน่อย :D&lt;br /&gt;
&lt;br /&gt;
วันที่สอบก็หวั่นๆ อยู่หน่อย เพราะเป็นช่วงที่เกิดการชุมนุมและมีการประกาศหยุดงานในหลายๆ แห่ง ไม่รู้ว่าศูนย์สอบจะเปิดให้ผมเข้าไปสอบหรือเปล่า ผมสอบที่ศูนย์ CTT Center เลือกสอบที่นี่เนื่องจากตั้งใจจะสอบช่วงธันวาคมแต่ศูนย์สอบหลายแห่งไม่เปิดช่วงธันวาคมแต่ที่นี่เปิดอยู่เกือบทั้งเดือน การเดินทางก็สะดวกโดยลงที่สถานีไฟฟ้าใต้ดินเพชรบุรี เดินต่อไปอีก 300 เมตรก็ถึงครับ ก่อนสอบก็ต้องเก็บของในล็อคเกอร์ก่อน เพราะเค้าจะไม่อนุญาตให้เอาของส่วนตัวกระเป๋า โทรศัพท์มือถือ ฯลฯ เข้าสอบครับ&lt;br /&gt;
&lt;br /&gt;
การสอบจะเป็นการสอบในระบบ online ก็จะมีเจ้าหน้าที่มาเซ็ตระบบให้เรียบร้อย โดยเริ่มต้นเค้าจะให้กระดาษทดมา ปรากฎว่าปากกาเขียนไม่ติด ผมเลยตะโกนขอปากกาใหม่ ตอนหลังสอบเจ้าหน้าที่คงงง ว่าเขียนทดอะไรหว่า ด้วยลายมือที่อ่านยากและที่ทดเขียนไว้ว่า 1+1 (จะเขียนทำไมเนี่ย 555)&lt;br /&gt;
&lt;br /&gt;
ข้อสอบไม่สามารถเปิดเผยได้เพราะเป็นกฎของ Zend ครับ แต่หลักๆ แล้วไม่ยากอย่างที่คิด ระบบข้อสอบเค้าเป็นระบบที่ดีมาก คือทำแล้วสามารถตั้ง flag เพื่อให้กับมาตรวจทานเปลี่ยนแปลงข้อสอบได้สะดวกรวดเร็ว เนื่องจากทำข้อสอบเสร็จค่อนข้างเร็ว ผมจึงมีเวลาตรวจทานซ้ำได้พอสมควร หลักสำคัญก็คือควรจะอ่านข้อสอบให้ละเอียด บางคำตอบเหมือนจะถูกแต่ถ้าอ่านคำถามให้ดีและเช็คคำตอบอื่นจะพบว่าคำตอบที่ถูกต้องจะเป็นอีกข้อหนึ่ง ดังนั้นควรทำเสร็จให้เร็วจะได้กลับมา review ข้อสอบต่างๆ ที่ยังไม่มั่นใจ 100% อีกครั้ง ก่อนกดปุ่มยุติการสอบครับ&lt;br /&gt;
&lt;br /&gt;
ถ้าเป็นการสอบผมจะใช้เวลาคุ้มตลอด &amp;nbsp;มีเวลาเหลือผมก็ review รอบสองจนครบ 90 นาที พอครบ 90 นาทีปุ๊บ ระบบแจ้งผลให้ทราบในทันที &amp;nbsp;Congratulation!! &amp;nbsp;สอบผ่านแล้ว เย้ๆๆ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ปล. ในการสอบครั้งนี้ผมไม่ได้เสียค่าใช้จ่ายในการเข้าสอบเอง ต้องขอขอบคุณพี่วี (webofficedesign.com) ที่สนับสนุนและเคี่ยวเข็ญทำให้ได้ไปสอบในครั้งนี้ด้วยครับ :)</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/4179927489474352619/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/zend-certified-engineer-php-53.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4179927489474352619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4179927489474352619'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/12/zend-certified-engineer-php-53.html' title='Zend certified engineer PHP 5.3 '/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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/AVvXsEjK0zR3YSRu-2eKc45VptdAVS2Y0eJQoBNwqF5bIq_FItfoTGAupNxOTTKV0sSi-84lcfWc4K6d1BVEaC7lRemf6NAgMqmz7UXDqa7t5qjrib-Za_WDrIMvGcV3Fl76JsCHJ3_G-FRJFQi3/s72-c/zce-php5-3-logo-10.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8269859023465367745.post-7725770153060178681</id><published>2013-11-15T22:14:00.002-08:00</published><updated>2013-11-15T22:17:20.522-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php tutorial"/><title type='text'>php function return refernce</title><content type='html'>function return reference ก็คือ function ที่จะคืนค่าเป็น reference ของตัวแปรนั่นเองครับ&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:php&quot;&gt;&amp;lt;?php
function &amp;amp;f(&amp;amp;$a,&amp;amp;$b,$status){
&amp;nbsp; &amp;nbsp; if ($status == 1)
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return $a;
&amp;nbsp; &amp;nbsp; else
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return $b;
}

$a=100;
$b=200;
$v1 = &amp;amp;f($a,$b,1); //reference $a
$v2 = &amp;amp;f($a,$b,0); //reference $b

$v1 = 11111;
$v2 = 22222;
var_dump($a); //เปลี่ยนตาม $v1
var_dump($b); //เปลี่ยนตาม $v2



&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7725770153060178681/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/11/php-function-return-by-refrence.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7725770153060178681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7725770153060178681'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/11/php-function-return-by-refrence.html' title='php function return refernce'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-8426927492491598221</id><published>2013-10-30T05:26:00.001-07:00</published><updated>2013-10-30T05:28:44.753-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php function"/><title type='text'>fairly_rand function</title><content type='html'>faily_rand function เป็น random function รูปแบบหนึ่ง ที่จะสุ่มตัวเลขขึ้นมาแบบไม่ซ้ำครับ&lt;br&gt;&lt;br&gt;

&lt;pre class=&quot;brush:php&quot;&gt;function fairly_rand($start,$end,$return=1){
//function นี้ $start และ $end ควรจะห่างกันมากๆ
$a = array();
$distance = ($end-$start)/$return;
$a[]=$start;
for($i=$start+$distance;$i&amp;lt;$end-($distance/2);$i+=$distance){
      $a[]=($a[]=floor($i))+1;
}
$a[]=$end;
$results = array();
for($i=0;$i&amp;lt;$return*2;$i+=2){
      $results[] = rand($a[$i],$a[$i+1]);
}
return $results;
}

$numbers = fairly_rand(1,500,5);
var_dump($numbers);
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/8426927492491598221/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/fairlyrand-function.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8426927492491598221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/8426927492491598221'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/fairlyrand-function.html' title='fairly_rand function'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-4511734757206761571</id><published>2013-10-26T00:27:00.003-07:00</published><updated>2013-10-26T00:29:23.443-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="php function"/><category scheme="http://www.blogger.com/atom/ns#" term="ภาษาไทย"/><title type='text'>การเรียงลำดับภาษาไทยใน php / sorting thai characters</title><content type='html'>&lt;br /&gt;
ในการเรียงลำดับโดย php ถ้าใช้ฟังค์ชั่น sort ธรรมดา จะเรียงทีละ byte หรือเรียงโดยให้ความสำคัญกับสระเท่าพยัญชนะจะทำให้เกิดการเรียงลำดับภาษาไทยที่ผิดพลาดดังนนี้ครับ&lt;br /&gt;
&lt;br /&gt;
การบ้าน,ข้าว,เคย,โค,ไก่,ไข่&lt;br /&gt;
&lt;br /&gt;
(ทำให้คำที่ขึ้นต้นด้วยสระเดียวกันเช่น ไ (สระไอไม้มาลัย) อยู่ติดกัน)&lt;br /&gt;
ใน php เราจะใช้การตั้งค่า locale และใช้ usort (User sort) ช่วยให้จัดเรียงลำดับภาษาไทยได้ถูกต้อง ดังนี้ครับ..&lt;br /&gt;
&lt;br /&gt;
function sortthaitis620(&amp;amp;$a){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; setlocale(LC_COLLATE, &#39;thai&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; usort ($a, &#39;strcoll&#39;);&lt;br /&gt;
}&lt;br /&gt;
function sortthai(&amp;amp;$a){//สำหรับ utf8&lt;br /&gt;
&amp;nbsp; &amp;nbsp; foreach($a as &amp;amp;$i){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $i = iconv(&#39;UTF-8&#39;,&#39;TIS-620&#39;,$i);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; setlocale(LC_COLLATE, &#39;thai&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; usort ($a, &#39;strcoll&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; foreach($a as &amp;amp;$i){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $i = iconv(&#39;TIS-620&#39;,&#39;UTF-8&#39;,$i);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
$a = array(&#39;โค&#39;,&#39;เคย&#39;,&#39;ไก่&#39;,&#39;การบ้าน&#39;,&#39;ข้าว&#39;,&#39;ไข่&#39;);&lt;br /&gt;
sortthai($a);&lt;br /&gt;
echo implode(&#39;,&#39;,$a);&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
sortthaitis620 เป็น function สำหรับ เรียงลำดับข้อความภาษาไทยในตัวอักษรที่เข้ารหัสแบบ tis620 หรือ windows874&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
sortthai เป็น function สำหรับ เรียงลำดับข้อความภาษาไทยในตัวอักษรที่เข้ารหัสแบบ utf8 ครับ&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
แต่ถ้าต้องการเรียงลำดับข้อมูลในตารางของฐานข้อมูล mysql ที่ encoding เป็น utf8 ให้ select ดังนี้ครับ&lt;/div&gt;
&lt;div&gt;
&lt;strong style=&quot;background-color: #c0a154; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #ffcc00;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT * FROM tb ORDER BY CONVERT (column_name USING tis620);&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/4511734757206761571/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/php-sorting-thai-characters.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4511734757206761571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/4511734757206761571'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/php-sorting-thai-characters.html' title='การเรียงลำดับภาษาไทยใน php / sorting thai characters'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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-8269859023465367745.post-7022638740291477977</id><published>2013-10-08T07:52:00.001-07:00</published><updated>2013-10-08T07:52:44.184-07:00</updated><title type='text'>เครื่องมือช่วยสร้างรูปปุ่ม</title><content type='html'>อันนี้ใช้ง่ายดีครับ&lt;br /&gt;
&lt;a href=&quot;http://dabuttonfactory.com/&quot;&gt;http://dabuttonfactory.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
อันนี้ใช้ยากกว่าแต่มีรูปแบบมากกว่า :)&lt;br /&gt;
&lt;a href=&quot;http://www.grsites.com/generate/generator/2001/?&quot;&gt;http://www.grsites.com/generate/generator/2001/?&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-programming-bookmark.blogspot.com/feeds/7022638740291477977/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/blog-post.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7022638740291477977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8269859023465367745/posts/default/7022638740291477977'/><link rel='alternate' type='text/html' href='http://web-programming-bookmark.blogspot.com/2013/10/blog-post.html' title='เครื่องมือช่วยสร้างรูปปุ่ม'/><author><name>หนุ่ม</name><uri>http://www.blogger.com/profile/04675411294490913220</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></feed>