Tag Java

[Data Structure] Net. Data Structure (ตัวอย่าง)

โจทย์ จงจัดเก็บข้อมูลนิสิตได้แก่ รหัสนิสิต, ชื่อนิสิต, คะแนนสอบกลางภาค, คะแนนสอบปลายภาค, คะแนนควิช, คะแนน Project และ คะแนนเข้าห้องเรียง โดยใช้ ArrayIndexList จาก Library ของ Net. Data Structure การออกแบบ และสิ่งที่ต้องรู้  ArrayIndexList คือ โครงสร้างข้อมูล List หรือ Queue ซึ่งมีการจัดการข้อมูลแบบ FIFO (First In First Out) ง่ายๆเลย คือ ใครมาก่อนได้ก่อนนั้นเอง ตัวอย่างเช่น การเข้าแถวซื้ออาหาร Class ListTestNet เป็น…

[Data Structure] Net. Data Structure (แนะนำ)

UPDATE 2021: เว็บ net3.datastructures.net หายไปแล้วครับ … สิ่งที่ควรรู้ เมื่อ Download มาศึกษาไฟล์ java ซึ่งมีนามสกุล .jarQ: ไฟล์ .jar มัน คือ อะไรA: เป็นไฟล์ที่รวมรวมคลาสต่างๆเอาไว้ภายใน ให้เป็นกลุ่มๆ เหมือนไฟล์ .zip หรือ .rar มันเป็นคนละส่วนกับของที่มีแล้วใน java.util โดยในส่วนของ Net. Data Structure จะรวบรวมไฟล์ต่างๆ โดยจะมีในส่วน interface และการ implement ใช้งานในส่วนต่างๆ ซึ่งถ้าอยากรู้เราสามารถที่จะใช้โปรแกรมพวก java decomplier หรือ Download…

[Java] อยากรู้ Directory ของโปรแกรมที่เราทำงานอยู่

เมื่อทำงานที่เกี่ยวกับไฟล์ ไม่ว่าจะเป็นไฟล์รูป เท็กซ์ไฟล์ หรือไฟล์แบบอื่นๆ สิ่งที่สำคัญที่จะขาดไม่ได้เลยนั้น คือ Path ที่อยู่ของไฟล์ สำหรับนักพัฒนาโปรแกรมมือใหม่อาจจะยังไม่ใส่ใจเรื่องนี้ หรือคิดเพียงว่าเครื่องเราแสดงผล OK เป็นใช้ได้ แต่ปัญหาจะมาเกิดตอนไปรันที่เครื่องอื่นๆ เช่น กรณีตัวอย่าง โปรแกรมตัวอย่างนี้เป็นเกม Hang man ที่พัฒนาด้วยภาษา Java ซึ่งมีการกำหนด Path ของภาษา Background ตาม Code ต่อไปนี้ เมื่อนำรันที่เครื่องของน้อง กุ๊ก ปรากฏว่าสามารถแสดงผลได้สวยงาม ดังรูป น้อง กุ๊ก ส่งให้นายแว่นตรวจสอบปรากฏว่าภาษาพื้นหลังไม่ขึ้น ซวยและทีนี้ (นายแว่นวางไฟล์ไว้ในไดร์ฟ D) ปัญหา  เพราะโปรแกรมมีการกำหนดแบบ absolute path…

[Internship@True]วันที่ 28-29

ในสองวันนี้ ก่อนจบการฝึกงานที่ยาวนานกว่าสองเดือน(ไม่ได้ทำกับทีม แต่ไปทำกับ Outsource) ผมได้รวมงานของผมที่ทำกับงานของพี่ โดยไฟล์ในส่วนที่พี่ทำใหม่นั้นจะมีการเปลี่ยนแปลงเท่าที่สังเกตมา 2 อย่าง ได้แก่่ การสร้างส่วนของ Class ต่างๆ จากเดิมที่ใช้ aBator มาเป็นการใช้ MyBatis(iBatis แต่เปลี่ยนชื่อใหม่) และใช้ Tools MyBatis generator ในการสร้างClass, DAO และ sqlMap และมีการใช้งานที่ง่ายมากขึ้น โดยเฉพาะใน่สวนของ where clause ที่เราสามารถที่จะเรียก method มาเพื่อให้ตัว Framework มัน Mapping ให้ การวางพื้นฐานการออกตัว Report มาให้แล้ว อันนี้ยังไม่ได้ศึกษาจากที่พี่ทำมาเลยฮ่าๆ

[Internship@True]วันที่ 27

วันนี้ศึกษาการนำเสนอข้อมูลด้วยกราฟเพิ่มเติม(จากที่อาจารย์สอน เราก็ไม่ได้อะไรเลย อ.มัว แต่ไปรับงานนอก) โดยจากข้อมูลที่ได้มา แต่ต้องการที่จะเอาข้อมูลในส่วนของ filter, transmitted และ received โดยกราฟที่ได้ทดลองและศึกษา ได้แก่  แผนภูมิเส้น เพราะจะนำมาแสดงความต่อเนื่องของค่า  filter, transmitted และ received ในแต่ละวัน/เดือนได้ แต่มีปัญหาตรงที่เวลาไป plot แล้วนั้น ในส่วนของ transmitted  กับ received มีความทับซ้อนกัน เพราะค่าทั้ง 2 มีความใกล้เคียงกันมาก เลยไม่ได้ใช้กราฟชนิดนี้ แผนภูมิคอลัมน์ แบบเรียงซ้อน (Stack) จะหาผลรวมของ 3 ค่า   filter, transmitted และ received รวมออกมาในแท่งเดียว เพื่อที่จะลดพื้นที่ในแสดงผลลง แต่มีปัญหา คือ…

[Internship@True]วันที่ 25

จากงานที่ได้รับมอบหมายให้ปรับปรุง ก็จะมีการทำงานย่อยๆ 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’…

[Internship@True]วันที่ 24

เมื่อก่อนที่ได้ Code พี่มาศึกษา เราต้องไล่แกะ Code และมาเขียนเองหมดเลย แต่ตอนนี้พี่เค้าแนะนำ Tool ตัวหนึ่งมาใช้ ชื่อว่า aBator ที่จะช่วยให้ใช้งาน ibatis ได้สะดวกขึ้น โดยจะมีการ Gen Class ต่างๆ, DAO และ sqlMap มาใช้เลยรวมถึง sql พื้นฐานต่างๆด้วย ทำให้เราสบายขึ้นเยอะ การใช้ aBator ในการ gen ไฟล์ที่เกี่ยวข้องในการใช้ ibatis กับ Spring ไฟล์ download ไฟล์มา โดยมีแหล่งความรู้ ดังนี้ …

[Internship@True]วันที่ 21-22

ตอนนี้ก็ได้ทำเว็บจนเสร็จและ และพี่ที่ดูแลก็ OK เพราะ ต้องรอความต้องการของหัวหน้าจริงๆว่าจะให้แสดงอะไรบ้าง สิ่งที่ควรรู้คร่าวๆ เกี่ยวกับ iReport iReport เป็นโปรแกรม open source ที่ใช้ในการออกตัวรายงานรูปแบบต่างๆ มักจะเรียกว่า JasperReport ซึงตัวโปรแกรมจะมีหน้าตาคล้ายกับ Crystal Report โดยเราจะสามารถที่จะสร้างตัวรายงานได้อารมณ์เดียวกับการใช้ Microdsoft Word โดยไฟล์ตัวรายงานที่ได้จะจัดเก็บในรูปแบบ xml (.jrxml) ซึ่งเมื่อนำไป Complie จะได้เป็นไฟล์ (.jasper) พร้อมนำไปใช้งาน เนื่องจากมันฟรี ก็จะมีหลายคนนำไปใช้ในการออก report ในกับ web app โดยในโปรเจคนี้ จะมีการใช้งานเหมือนกัน แต่รอให้ใช้ก่อน แล้วค่อยมาเขียนบล็อกเพิ่ม ลองทำรายงานด้วย…

[Internship@True]วันที่ 19

วันนี้ก็มาสายประมาณ 9.15 แต่ก็ยังใช้คอมไม่ได้ เพราะยังต้องรอตาม Help Desk remote เข้ามาเพื่อที่จะมาจัดการกับ Oracle ให้เรียบร้อย แต่พอมาลองใช้จริงก็ต่อ Database ไม่ได้ ต้องให้พี่ในแผนกมาดูและก็พบว่าค่าที่ทาง Help Desk ให้มานั้นเป็นค่า default ของบริษัท จึงต้องตั้งค่าtnsnames.ora และ sqlnet.ora อีกครั้ง และลองใช้ TOAD ดู ซึ่งกว่าจะเสร็จก็ปาไปเกือบเที่ยงแล้ว ลงไปกินข้าวเหนียว ส้มตำแทนเลย 😛 ช่วงบ่ายนั่งตรวจเว็บครั้งสุดท้าย และก็ช่วยเพื่อนที่ฝึกงานแก้ปัญหาเรื่องเว็บ เป็นพวก php กับ graph โดยในเว็บหน้าที่ 2 ก็จะเป็นการแสดงข้อมูลไล่ตามเดือน และมีสถิติพื้นฐานต่างๆ…

[Internship@True]วันที่ 18

วันนี้ก็มาแต่ประมาน 9 โมงเช้า และสักพักพี่ก็บอกว่าจะมีการเปลี่ยนคอมใหม่ตามอายุการใข้งาน และก็ให้ Backup ข้อมูลไว้พวกโปรแกรม และ Source Code ต่างๆ จากนั้นก็รอทางทีม IT เข้ามาเปลี่ยนคอมตัวใหม่ ซึ่งแรงกว่าตัวเก่ามาก และก็นั่งไล่ลงโปรแกรมที่จำเป็นใหม่ไปจนถึงช่วงบ่ายเท่าที่ทำได้ก่อน เพราะเดี๋ยววันพรุ่งนี้ทาง Help Desk (งานด้านคอมอีกแขนง คือ จะช่วย Support User / แก้ปัญหาขั้นต้นให้) จะเข้ามา Remote เพื่อจะมาลงตัว Oracle Client เวอร์ชั้น 8 เพื่อที่จะให้สามารถที่จะติดต่อกับฐานข้อมูลภายในแผนกได้