[Java] NaN คือ อะไร
บ่อยครั้งที่เราเขียนโปรแกรมที่เกี่ยวกับการคำนวณตัวเลขต่างๆ ไปๆมาๆ เกิด Exception ตัวอย่าง เช่น สาเหตุของปัญหานี้ คือ การคำนวณแล้วเกิด NaN ซึ่งเป็น NumberFormatException อยากรู้ว่าน้อง NaN คือ อะไร สามารถอ่านต่อได้เลยครับ
บ่อยครั้งที่เราเขียนโปรแกรมที่เกี่ยวกับการคำนวณตัวเลขต่างๆ ไปๆมาๆ เกิด Exception ตัวอย่าง เช่น สาเหตุของปัญหานี้ คือ การคำนวณแล้วเกิด NaN ซึ่งเป็น NumberFormatException อยากรู้ว่าน้อง NaN คือ อะไร สามารถอ่านต่อได้เลยครับ
Q: เคยสงสัยหรือไม่ ว่า public static void main(String[] args) ตรงที่ตัวแดงไว้ มีไว้ทำอะไร A: มีไว้ เพื่อทำการรับค่าจากส่วนของ command line(หน้าจอดำๆ ของMS Dos) เพราะ java ในยุคแรกๆต้องรันผ่านหน้าจอ Dos โดยตัว String[] args นั้นไม่จำเป็นต้องเขียนก็ได้ แต่ถ้าไม่ระบุ (String[] args) method main มันจะกลายเป็นแค่ method ทั่วๆไป เพราะ jvm specification ระบุ signature ไว้ว่ามันจะวิ่งไปทำงานที่ main ที่รับ parameter เป็น…
โจทย์ จงจัดเก็บข้อมูลนิสิตได้แก่ รหัสนิสิต, ชื่อนิสิต, คะแนนสอบกลางภาค, คะแนนสอบปลายภาค, คะแนนควิช, คะแนน Project และ คะแนนเข้าห้องเรียง โดยใช้ ArrayIndexList จาก Library ของ Net. Data Structure การออกแบบ และสิ่งที่ต้องรู้ ArrayIndexList คือ โครงสร้างข้อมูล List หรือ Queue ซึ่งมีการจัดการข้อมูลแบบ FIFO (First In First Out) ง่ายๆเลย คือ ใครมาก่อนได้ก่อนนั้นเอง ตัวอย่างเช่น การเข้าแถวซื้ออาหาร Class ListTestNet เป็น…
UPDATE 2021: เว็บ net3.datastructures.net หายไปแล้วครับ … สิ่งที่ควรรู้ เมื่อ Download มาศึกษาไฟล์ java ซึ่งมีนามสกุล .jarQ: ไฟล์ .jar มัน คือ อะไรA: เป็นไฟล์ที่รวมรวมคลาสต่างๆเอาไว้ภายใน ให้เป็นกลุ่มๆ เหมือนไฟล์ .zip หรือ .rar มันเป็นคนละส่วนกับของที่มีแล้วใน java.util โดยในส่วนของ Net. Data Structure จะรวบรวมไฟล์ต่างๆ โดยจะมีในส่วน interface และการ implement ใช้งานในส่วนต่างๆ ซึ่งถ้าอยากรู้เราสามารถที่จะใช้โปรแกรมพวก java decomplier หรือ Download…
เมื่อทำงานที่เกี่ยวกับไฟล์ ไม่ว่าจะเป็นไฟล์รูป เท็กซ์ไฟล์ หรือไฟล์แบบอื่นๆ สิ่งที่สำคัญที่จะขาดไม่ได้เลยนั้น คือ Path ที่อยู่ของไฟล์ สำหรับนักพัฒนาโปรแกรมมือใหม่อาจจะยังไม่ใส่ใจเรื่องนี้ หรือคิดเพียงว่าเครื่องเราแสดงผล OK เป็นใช้ได้ แต่ปัญหาจะมาเกิดตอนไปรันที่เครื่องอื่นๆ เช่น กรณีตัวอย่าง โปรแกรมตัวอย่างนี้เป็นเกม Hang man ที่พัฒนาด้วยภาษา Java ซึ่งมีการกำหนด Path ของภาษา Background ตาม Code ต่อไปนี้ เมื่อนำรันที่เครื่องของน้อง กุ๊ก ปรากฏว่าสามารถแสดงผลได้สวยงาม ดังรูป น้อง กุ๊ก ส่งให้นายแว่นตรวจสอบปรากฏว่าภาษาพื้นหลังไม่ขึ้น ซวยและทีนี้ (นายแว่นวางไฟล์ไว้ในไดร์ฟ D) ปัญหา เพราะโปรแกรมมีการกำหนดแบบ absolute path…
ในสองวันนี้ ก่อนจบการฝึกงานที่ยาวนานกว่าสองเดือน(ไม่ได้ทำกับทีม แต่ไปทำกับ Outsource) ผมได้รวมงานของผมที่ทำกับงานของพี่ โดยไฟล์ในส่วนที่พี่ทำใหม่นั้นจะมีการเปลี่ยนแปลงเท่าที่สังเกตมา 2 อย่าง ได้แก่่ การสร้างส่วนของ Class ต่างๆ จากเดิมที่ใช้ aBator มาเป็นการใช้ MyBatis(iBatis แต่เปลี่ยนชื่อใหม่) และใช้ Tools MyBatis generator ในการสร้างClass, DAO และ sqlMap และมีการใช้งานที่ง่ายมากขึ้น โดยเฉพาะใน่สวนของ where clause ที่เราสามารถที่จะเรียก method มาเพื่อให้ตัว Framework มัน Mapping ให้ การวางพื้นฐานการออกตัว Report มาให้แล้ว อันนี้ยังไม่ได้ศึกษาจากที่พี่ทำมาเลยฮ่าๆ
วันนี้ศึกษาการนำเสนอข้อมูลด้วยกราฟเพิ่มเติม(จากที่อาจารย์สอน เราก็ไม่ได้อะไรเลย อ.มัว แต่ไปรับงานนอก) โดยจากข้อมูลที่ได้มา แต่ต้องการที่จะเอาข้อมูลในส่วนของ filter, transmitted และ received โดยกราฟที่ได้ทดลองและศึกษา ได้แก่ แผนภูมิเส้น เพราะจะนำมาแสดงความต่อเนื่องของค่า filter, transmitted และ received ในแต่ละวัน/เดือนได้ แต่มีปัญหาตรงที่เวลาไป plot แล้วนั้น ในส่วนของ transmitted กับ received มีความทับซ้อนกัน เพราะค่าทั้ง 2 มีความใกล้เคียงกันมาก เลยไม่ได้ใช้กราฟชนิดนี้ แผนภูมิคอลัมน์ แบบเรียงซ้อน (Stack) จะหาผลรวมของ 3 ค่า filter, transmitted และ received รวมออกมาในแท่งเดียว เพื่อที่จะลดพื้นที่ในแสดงผลลง แต่มีปัญหา คือ…
จากงานที่ได้รับมอบหมายให้ปรับปรุง ก็จะมีการทำงานย่อยๆ 2 ส่วน ได้แก่ การดึงข้อมูลจาก DB ออกมา (ทำช่วงเข้า) [sql]SELECT * FROM MD_INBOUNDAUDIT_REGEXTV01 WHERE USE_FLAG = ‘Y'[/sql] การแปลงข้อมูลที่ได้เป็น jsonStore เพื่อที่จะเอาไปใส่ตัว combobox ของ Extjs ได้ (ทำช่วงบ่าย) ปัญหาที่พบ โดยหลักๆแล้วจะเป็นการยัดข้อมูลที่ได้ลงตัว Combobox ส่วนการ Query ดึงข้อมูลจาก DB นั้นไม่มีปัญหา ปัญหา: Uncaught TypeError: Cannot call method ‘on’…
เมื่อก่อนที่ได้ Code พี่มาศึกษา เราต้องไล่แกะ Code และมาเขียนเองหมดเลย แต่ตอนนี้พี่เค้าแนะนำ Tool ตัวหนึ่งมาใช้ ชื่อว่า aBator ที่จะช่วยให้ใช้งาน ibatis ได้สะดวกขึ้น โดยจะมีการ Gen Class ต่างๆ, DAO และ sqlMap มาใช้เลยรวมถึง sql พื้นฐานต่างๆด้วย ทำให้เราสบายขึ้นเยอะ การใช้ aBator ในการ gen ไฟล์ที่เกี่ยวข้องในการใช้ ibatis กับ Spring ไฟล์ download ไฟล์มา โดยมีแหล่งความรู้ ดังนี้ …
ตอนนี้ก็ได้ทำเว็บจนเสร็จและ และพี่ที่ดูแลก็ OK เพราะ ต้องรอความต้องการของหัวหน้าจริงๆว่าจะให้แสดงอะไรบ้าง สิ่งที่ควรรู้คร่าวๆ เกี่ยวกับ iReport iReport เป็นโปรแกรม open source ที่ใช้ในการออกตัวรายงานรูปแบบต่างๆ มักจะเรียกว่า JasperReport ซึงตัวโปรแกรมจะมีหน้าตาคล้ายกับ Crystal Report โดยเราจะสามารถที่จะสร้างตัวรายงานได้อารมณ์เดียวกับการใช้ Microdsoft Word โดยไฟล์ตัวรายงานที่ได้จะจัดเก็บในรูปแบบ xml (.jrxml) ซึ่งเมื่อนำไป Complie จะได้เป็นไฟล์ (.jasper) พร้อมนำไปใช้งาน เนื่องจากมันฟรี ก็จะมีหลายคนนำไปใช้ในการออก report ในกับ web app โดยในโปรเจคนี้ จะมีการใช้งานเหมือนกัน แต่รอให้ใช้ก่อน แล้วค่อยมาเขียนบล็อกเพิ่ม ลองทำรายงานด้วย…