หน้าเว็บ

วันจันทร์ที่ 20 มิถุนายน พ.ศ. 2559

การแยกการเตือนโดยใช้ @SuppressWarnings

รายการของโทเค็นที่สามารถใช้ภายในการเพิ่มความคิดเห็น SuppressWarnings คือ:
  • all เพื่อยับยั้งการเตือนทั้งหมด
  • boxing เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการดำเนินการแบบ boxing/unboxing
  • cast เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการดำเนินการ cast
  • dep-ann เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการเพิ่มความคิดเห็นที่ถูกคัดค้าน
  • deprecation เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการคัดค้าน
  • fallthrough เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับ breaks ที่หายไปในข้อความสั่ง switch
  • finally เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับบล็อกสุดท้ายที่ไม่ได้ถูกส่งคืน
  • hiding เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับโลแคลที่ซ่อนตัวแปรไว้
  • incomplete-switch เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการบันทึกรายการที่หายไปในข้อความสั่ง switch (enum case)
  • javadoc เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการเตือน javadoc
  • nls เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับสตริงตามตัวอักษรที่ไม่ใช่ nls
  • null เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการวิเคราะห์ค่า null
  • rawtypes เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการใช้ชนิด raw
  • resource เพื่อยับยั้งคำเตือนที่สัมพันธ์กับการใช้งานรีซอร์สชนิด Closeable
  • restriction เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการใช้การอ้างถึงที่ถูกคัดค้านหรือไม่ได้รับอนุญาต
  • serial เพื่อยับยั้งคำเตือนที่เกี่ยวข้องกับฟิลด์ serialVersionUID ที่หายไปสำหรับคลาส serializable
  • static-access เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการเข้าถึงแบบสแตติกที่ไม่ถูกต้อง
  • static-method เพื่อยับยังการเตือนที่เกี่ยวข้องกับเมธอดที่สามารถประกาศเป็นแบบสแตติก
  • super เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการเขียนทับเมธอดที่ไม่ใช่การเรียกใช้ระดับสูง
  • synthetic-access เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการเข้าถึงจากคลาสภายใน
  • sync-override เพื่อยับยั้งคำเตือนเนื่องจากไม่มีการซิงโครไนซ์เมื่อแทนที่เมธอดที่ซิงโครไนซ์
  • unchecked เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับการดำเนินการที่ไม่ได้เลือกไว้
  • unqualified-field-access เพื่อยับยั้งการเตือนเกี่ยวกับการเข้าถึงฟิลด์ที่ไม่ผ่านการรับรอง
  • unused เพื่อยับยั้งการเตือนที่เกี่ยวข้องกับโค้ดที่ไม่ได้ใช้และ dead code
credit : http://www.ibm.com/support/knowledgecenter/th/SSQ2R2_9.1.0/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm

วันจันทร์ที่ 29 กุมภาพันธ์ พ.ศ. 2559

ข้อผิดพลาดของโปรแกรม (Exceptions)

ข้อผิดพลาดของโปรแกรม

Exceptions
                Exception เป็น Object อย่างหนึ่งที่ตัวแปรภาษาสร้างขึ้นเมื่อมีข้อผิดพลาดเกิดขึ้นกับโปรแกรมเพื่อใช้ตรวจสอบสภาวะที่ผิดปกติของโปรแกรม หรือการทำงานที่ไม่ถูกต้องของโปรแกรม โดย Exception จะถูกส่ง (throw) ออกมาจากโปรแกรมที่มีความผิดปกติเกิดขึ้นซึ่งสามารถนำ Exception ดังกล่าวไปตรวจสอบเพื่อควบคุมให้โปรแกรมสามารถทำงานต่อไปได้อย่างปกติ
ประโยชน์ของการตรวจสอบข้อผิดพลาดก็คือ จะไม่ทำให้โปรแกรมหยุดการทำงานเมื่อเกิดสิ่งผิดปกติขึ้นเพราะสามารถตรวจสอบข้อผิดพลาดได้จึงสามารถสั่งให้โปรแกรมทำงานต่อไปได้ทันที เช่น กรณีที่นำตัวเลข 2 จำนวนมาหารกันแต่ตัวหารมีค่าเท่ากับ 0 เราก็สามารถตรวจสอบได้ว่าเกิดข้อผิดพลาดทางการคำนวณเกิดขึ้นอาจจะสั่งให้โปรแกรมกำหนดค่าของตัวหารใหม่ก็ได้ เป็นต้น
Exceptions และ Errors ใน Java
เนื้อหาในส่วนนี้จะเป็นการรวบรวม Exceptions และ Errors บางส่วนของภาษา Java มาให้ เพื่อให้สะดวกในการค้นหา ดังนี้
Exceptions
  • AWTException (java.awt)
มีปัญหาเกิดขึ้นใน Class ของ Package “java.awt”
  • ArithmeticException (java.lang)
เกิดการผิดพลาดในการคำนวณ เช่น การหารด้วยค่าศูนย์ (0)
  • ArrayIndexOutOfBoundsException (java.lang)
ระบุตัวเลขเกินขอบเขตของ Array ที่กำหนดไว้
  • ArrayStoreException (java.lang)
ใส่ค่าที่ไม่ตรงกับชนิดของข้อมูลที่นิยามไว้ใน Array
  • BindException (java.net)
ไม่สามารถต่อเชื่อม (bound) socket เข้ากับ Local Address และ Port
  • ClassCastException (java.lang)
แปลงชนิดข้อมูล (Cast) ไม่ตรงกัน
  • ClassNotFoundException (java.lang)
หา Class หรือ Interface ที่ระบุไว้ ไม่พบ
  • CloneNotSupportedException (java.lang)
มีการสร้าง Object ด้วยการ Clone จาก Class ที่ไม่มีการ implement interface “Cloneable”
  • EOFException (java.io)
พบรหัส End of File ก่อนการจบการทำงานของโปรแกรมตามปกติ
  • EmptyStackException (java.util)
อ้างถึง element ที่ไม่มีใน Stack
  • Exception (java.lang)
Root ของ exception hierarchy
  • FileNotFoundException (java.io)
ไม่พบชื่อ File ที่ระบุ
  • IOException (java.io)
I/O Operation ไม่สามารถทำงานได้เสร็จสมบูรณ์
  • IllegalAccessException (java.lang)
Method ที่ทำงานอยู่ไม่สามารถเรียกใช้ได้ Class ตามที่กำหนดได้
  • IllegalArgumentException (java.lang)
Argument ที่ส่งมาทำงาน มีค่าไม่ถูกต้อง
  • IllegalMonitorStateException (java.lang)
Thread หนึ่งมีการรอค่าจากอีก Thread หนึ่งอยู่
  • IllegalStateException (java.lang)
Method ถูกเรียกใช้ (invoke) จาก State ที่ไม่ถูกต้อง

credit : http://javastick.web44.net/exception.html

วันพฤหัสบดีที่ 25 กุมภาพันธ์ พ.ศ. 2559

Spring + Quartz + JavaMail Integration Tutorial

http://www.sivalabs.in/2011/05/spring-quartz-javamail-integration.html

Fork และ Pull Request ใน GitHub

http://thaiopensource.org/fork-pull-request-github

Big Data

http://thanachart.org/2014/10/18/hadoop-ecosystem
http://www.cyberthai.com/index.php/knowledge-center/big-data

http://www.siamhtml.com/getting-started-with-big-data-and-hadoop-spark-on-cloud-dataproc/

ARCHITECTING EXTREMELY LARGE SCALE WEB APPLICATIONS

https://www.linkedin.com/pulse/architecting-extremely-large-scale-web-applications-panduranga

วันพฤหัสบดีที่ 11 กุมภาพันธ์ พ.ศ. 2559

Thumbnail Grid

http://tympanus.net/Tutorials/ThumbnailGridExpandingPreview/

คำแนะนำการพัฒนา real-time app ด้วย Node.js และ Socket.io

https://khasathan.in.th/archives/63

ติดตั้ง แอป Node.js สำหรับ VPS Ubuntu ของตนเองด้วย Ajenti


https://www.pureapp.in.th/2015/04/nodejs-ubuntu-ajenti.html

Running a Node.js Server Forever



Credit : Kyle Robinson Young

How To Run a Node js Application as a Windows Service



credit : Core Technologies Consulting

วันพุธที่ 10 กุมภาพันธ์ พ.ศ. 2559

วิธีเรียกใช้ CSS3 Media Queries

http://www.siamhtml.com/วิธีเรียกใช้ CSS3 Media Queries

CSS3 Media Queries คืออะไร

http://www.siamhtml.com/media-queries-CSS3 Media Queries คืออะไร

CSS : ใช้งาน Position กันอย่างไร

http://rabbitinblack.com/2011/10/css-position/

ตัดคำโดยใช้ CSS text-overflow

http://www.siamhtml.com/text-overflow-การตัดคำ

สอนสร้างเว็บ แก้ปัญหาระดับชาติ ใช้ display inline-block แล้วเกิดช่องว่าง

http://iamtum.com/sourcesupporter/

ปริศนาคำสั่ง display: block และ display: inline ของ CSS

https://margin0auto.wordpress.com/2011/02/21/

เขียน CSS Selectors อย่างไรให้มีประสิทธิภาพ

http://www.siamhtml.com/css-selectors-performance/

สอน CSS ตอนที่ 2 การใช้งาน Selectors ของ CSS

http://share.olanlab.com/th/it/blog/view/50

CSS Guideline – เปิดตำราสอนเทคนิคเขียน CSS อย่างมืออาชีพ

http://www.designil.com/professional-css-tutorial.html

วันพุธที่ 3 กุมภาพันธ์ พ.ศ. 2559

๓๖ ข้อคิดในการดำเนินชีวิต ..จาก .. หลวงพ่อจรัญ ฐิตธมโม


๑. ขอบคุณข้าวทุกเม็ด น้ำทุกหยด อาหารทุกจานอย่างจริงใจ

๒. อย่าสวดมนต์เพื่อขอสิ่งใด นอกจาก "ปัญญา" และ "ความกล้าหาญ"
๓. "เพื่อนใหม่" คือ ของขวัญที่ให้กับตัวเอง ส่วน "เพื่อนเก่า หรือ มิตร" คือ อัญมณีที่นับวันจะเพิ่มคุณค่า
๔. อ่านหนังสือธรรมปีละเล่ม
๕. ปฏิบัติต่อคนอื่นเช่นเดียวกับที่ต้องการให้ผู้อื่นปฏิบัติต่อเรา
๖. พูดคำว่า "ขอบคุณ" ให้มาก ๆ
๗. รักษา "ความลับ" ให้เป็น
๘. ประเมินคุณค่าของการให้ "อภัย" ให้สูง
๙.  ฟังให้มากแล้วจะได้คู่สนทนาที่ดี
๑๐. ยอมรับความผิดพลาดของตัวเอง หากมีใครตำหนิและรู้แก่ใจว่าเป็นจริง
๑๑. หากล้มลง จงอย่ากลัวกับการลุกขึ้นใหม่
๑๒. เมื่อเผชิญหน้ากับงานหนัก คิดเสมอว่า เป็นไปไม่ได้ที่จะล้มเหลว
๑๓. อย่าถกเถียงธุรกิจภายในลิฟต์
๑๔. ใช้บัตรเครดิตเพื่อความสะดวก อย่าใช้เพื่อการก่อหนี้สิน
๑๕. อย่าหยิ่ง หากจะกล่าวคำว่า "ขอโทษ"
๑๖. อย่าอาย หากจะบอกใครว่า "ไม่รู้"
๑๗. ระยะทางนับพันกิโลเมตร แน่นอนมันไม่ราบรื่นตลอดทาง
๑๘. เมื่อไม่มีใครเกิดมาแล้ววิ่งได้ จึงควรทำสิ่งต่าง ๆ อย่างค่อยเป็นอย่างไป
๑๙. การประหยัดเป็นบ่อเกิดแห่งความร่ำรวย เป็นต้นทางแห่งความไม่ประมาท
๒๐. คนไม่รักเงิน คือ คนไม่รักชีวิต ไม่รักอนาคต
๒๑. ยามทะเลาะกัน ผู้ที่เงียบก่อน คือ ผู้ที่มีการอบรมสั่งสอนที่ดี
๒๒. ชีวิตนี้ฉันไม่เคยได้ทำงานเลยสักวัน ทุกวันเป็นวันสนุกหมด
๒๓. จงใช้จุดแข็ง อย่าเอาชนะจุดอ่อน
๒๔. เป็นหน้าที่ของเราจะที่จะพูดให้คนอื่นเข้าใจ ไม่ใช่หน้าที่ของคนอื่นที่จะทำความเข้าใจในสิ่งที่เราพูด
๒๕. เหรียญเดียวมี ๒ หน้า คือ ความสำเร็จ กับ ความล้มเหลว
๒๖. อย่าตามใจตัวเอง เรื่องยุ่ง ๆ เกิดขึ้นล้วนตามใจตัวเองทั้งสิ้น
๒๗. ฟันร่วงเพราะมันแข็ง ส่วนลิ้นยังอยู่เพราะมันอ่อน
๒๘. อย่าดึงต้นกล้าให้โตไว ๆ (อย่าใจร้อน)
๒๙. ระลึกถึงความตายวันละ ๓ ครั้ง ชีวิตจะมีสุข มีอภัย มีให้
๓๐. ถ้าติดกระดุมเม็ดแรกผิด กระดุมเม็ดต่อ ๆ ไป ก็ผิดหมด
๓๑. ทุกชิ้นงานจะต้องกำหนดวันแล้วเสร็จ
๓๒. จงเป็นน้ำครึ่งแก้วตลอดชีวิต เพื่อเรียนรู้ เพิ่มเติมได้ตลอด
๓๓. ดาวและเดือนที่อยู่สูง อยากได้ต้องปีน "บันไดสูง"
๓๔. มนุษย์ทุกคนมีชิ้นงานมากมายในชีวิต จงทำชิ้นงานที่สำคัญที่สุดก่อนเสมอ
๓๕. หนังสือเป็นศูนย์รวมปัญญาของโลก จงอ่านหนังสือเดือนละเล่ม
๓๖. ระเบียบวินัย คือ คุณสมบัติที่สำคัญในการดำเนินชีวิต
..... อ่านต่อได้ที่: 
https://www.gotoknow.org/posts/408607