Tag Java

[BPMN] มา Test BPMN ที่สร้างจาก Camunda กันครับ

หลังจากยุ่งกับงานประจำนานเลย ตอนนี้เริ่มกลับมาทำงาน Thesis แล้วครับ ถ้าใครสร้าง BPMN ด้วย Camunda ไปแล้วนั่น หาจะทดสอบมีได้หลายวิธีครับ เช่น แต่ถ้ามาดูที่ตัว Camunda มีตัวช่วยสำหรับ Test เหมือนกันครับ โดยมีตัวช่วย ดังนี้ สร้าง BPMN ก่อนครับ มาลุย Code กันดีกว่าครับ สำหรับ Tools ที่ผมใช้ IntelliJ กับ Camunda Test Project Template ครับ เมื่อ Generate Project มาแล้วจะพบตัว InmemoryH2Test กับ…

[SPRING] ลองต่อฐานข้อมูลกันหน่อย

จาก Blog ที่แล้วไปลองใช้ Thymeleaf ไปแล้วกับการแสดงผลให้สวยงานครับ แต่อันนั้นข้อมูลที่ได้เกิดจากการ Mock จากชั้น Service ครับ สำหรับ Blog ตอนนี้มีเป้าหมาย สิ่งที่ต้องเตรียม ต่อ Database ต้องมีการเพิ่ม Dependency เพิ่มครับ มาลุยกันเลยครับ ถ้าเพิ่มข้อมูลเกี่ยวกับ Person ก็ต้องมีหน้าจอ 2 จอ แก้ไขไฟล์ application.properties  สำหรับการเชื่อมต่อฐานข้อมูล persondb ครับ อย่าลืมไปเอา exclude = {DataSourceAutoConfiguration.class}  ออกจาก @SpringBootApplication  ที่ไฟล์ [ชื่อ Project]Application.java  ด้วยนะครับ เดี๋ยวจะต่อ DB ไม่ได้เอา บางที่…

[SPRING] ทำความรู้จักกับ Thymeleaf

จาก Blog ตอนที่แล้วที่ได้ทดสอบ สวัสดีชาวโลก บน Spring Framework กันไปแล้วครับ แต่เว็บของเรามันไม่ได้มีหน้าตาอะไรเลย มีแต่ข้อความอย่างเดียวครับ วันนี้ผมจะมาเพิ่มหน้าจอในส่วนของ View นะครับ สิ่งที่ต้องเตรียม 📌 งานจาก Blog ตอนก่อนครับ📌 ถ้าไม่มีสามารถเพิ่ม Dependency ลงในไฟล์ pom.xml ได้ครับ 📌 หรือจะใช้ Spring Initializr ก็ได้ครับ รู้จักกับ Thymeleaf กันก่อนครับ 📌 เป็น Template Engine โดยหลักเราเขียน View ด้วย HTML แหละครับ แต่มี Tag บาง…

[JAVA] Install MAVEN

วันนี้มาเขียน Blog สรุปชั้นตอน การ Install MAVEN ครับ สำหรับ Windows โดยมีชั้นตอน ดังนี้ เตรียมตัว ขั้นตอนการติดตั้ง ทดสอบใช้งาน

[JAVA] illegal escape character

หลังจากให้ Tools ตัวนึงปรากฏว่าได้ Code ในลักษณะแบบนี้ ซึ่งพอใช้คำสั่ง maven install / mvn install แล้วเนี่ย ได้ Error มาเพียบเลยยย โดย illegal escape character มีสาเหตุเกิดจากการใช้ \ คู่กับ String บางตัว แล้วดันไปเข้ากับคำสั่งพิเศษใน String ของภาษา Java อาทิ เช่น สำหรับหาการแก้ไข – หลืกเลี่ยงสิ ไม่ใช่ \ ไปใช้สัญลักษณ์อื่นแทน ซึ่งมี 2 แบบ ได้แก่

[JAVA] Pass By ?

ปัญหานี้น่าจะเป็นปัญหาที่โลกแตกพอสมควรครับ และเป็นเรื่องที่ควรรู้ และเข้าใจครับ ไม่งั้น เวลาเจอ Defect อยู่ๆข้อมูลเปลี่ยนเฉย ผีหลอก หรือป่าว ไม่ใช่ครับ เราอาจจะเข้าใจผิดมาตลอด ตอนเรียน 2 ปีแรกที่มหาวิทยาลัย สิ่งที่ผมเข้าใจเกี่ยวกับ pass by ของ Java คือ แต่ที่ผมเข้าใจมาผิดหมดครับ มารู้จริงๆ ตอนฝึกงานครับ เจอคำถามของพี่เลี้ยงไปจุกครับ พี่เลี้ยงเค้าบอกว่า Java ไม่ว่าเป็น Primitive Data Type หรือ Reference Type มีการ Pass by Value เท่านั้นครับ หลายคนน่าจะงงกัน มาลองดูกันครับ  จาก…

[Spring 4.x] Hello World in Console

หลังจาก Blog ตอนแรกที่เตรียม Tools กันไปแล้ว คราวนี้มาลองสิ่งที่ Developer ทุกคนต้องเจอกัน Hello World ครับ โดยผมมาพาทำในรูปแบบ Console Application ครับ หาาาา Spring มันทำเว็บนี้ มันต้องมีคนอุทานแน่ๆ แต่จริงๆ Spring มันเป็น Platform นึงครับ ส่วนของเว็บของ MVC เป็น SubSet ใน Spring ครับ เริ่มกันเลยดีกว่า มาเจาะลงทีละไฟล์ครับ 📌 สร้าง POJO Interface และ Class กันครับ…

[Spring 4.x] กลับมา Spring อีกครั้ง

หลังจากข้ามสายไปฝั่ง M$ นานเลยย (หลังๆคงไม่มีใคนเขียน M$ แบบนี้แล้ว บริษัทไปในทางบวกมากขึ้น ยกเว้น Mobile) พอ Project Treasury ที่คาดว่าจบตาม Timeline ไม่รวมงาน End-Phrase ครับ !!! ผมพยายามคืนเวลาว่างให้ตัวเอง เพราะ เสียเวลาไปพอสมควรกับการ Estimate เวลาที่ผิดพลาด โดยมาลองรื้อฟื้น Spring ที่เคยเขียนมาเมื่อนานมาแล้วครับ เข้าเริ่มดีกว่า มาดู Tools ที่ผมใช้ดีกว่า หลังจากนั้น เราพร้อมลุยเลยครับ  หวังว่าจะมีเวลาเขียน Blog นะ    

String .Equals() vs ==

two pigeon perched on white track light + equal

พอดีเมื่อวันพฤหัสก่อน เห็นน้องที่ทำงานใช้ Operator == ในการตรวจสอบว่า String เป็นอันเดียวกันไหม แต่ผมเห็นแล้วรู้สึกแปลกๆ มันควรใช้ Method Equals() มากกว่าครับ ใน Blog ตอนนี้ผมแสดงความแตกต่างของ .Equals() กับ == โดยผมยกตัวอย่างเฉพาะในภาษา Java และ C# ที่ผมใช้งานหลักอยู่ครับ – JAVA – C# ความแตกต่างของ String .Equals() vs == จาก Code ทั้ง 2 แบบ เราจะเห็นความแตกต่างกันของ String นะครับ…

[JAVA] Shallow Copy กับ Deep Copy

จากบทความที่แล้วนะครับ จะเป็นการใช้แนวคิด Shallow Copy กับ Deep Copy ใน .Net Framework ภาษา C# ครับ คราวนี้มาถึงตาม Java บ้างครับ เปิดมาที่ Code เลยครับ ใน Blog ผมเตรียม Class Person ไว้ โดยมี Get / Set ปกติ และทำ จริงๆ ถ้าไม่อยากเขียนแบบนี้มันมีตัว BeanUtils.copyProperties ที่ช่วยทำ Shallow Copy ให้ครับ แต่มันมีความพิสดารของ Spring /…