java Archive

ตอบคำถามจากการแบ่งปันเรื่อง TDD with Java and Spring Boot ของสถาบัน IMC

จากการแบ่งปันเรื่อง TDD with Java and Spring Boot ของสถาบัน IMC มีคำถามจากผู้เข้าร่วมฟังที่ผมยังไม่ได้ตอบ จึงทำการตอบในแต่ละคำถามย้อนหลังให้ ตามนี้เลยครับ

Read More…

มาทำ benchmark ของภาษาโปรแกรมบน JVM ด้วย JMH (Java Microbenchmark Harness)

มีคำถามเกี่ยวกับการเขียนโปรแกรมด้วยภาษา Java ว่าการใช้ for-loop ปกติกับการใช้ Stream API นั้น อะไรที่มี performance ดีกว่ากัน ตอบได้เลยว่า for-loop เร็วสุด ๆ แต่อาจจะต้องมองมุมอื่นด้วย ทั้งเรื่องของ readable, safety, maintain รวมไปถึงความต้องการของงานต่าง ๆ

Read More…

มาดูความสามารถใหม่ ๆ ใน IntelliJ IDEA 2020.1

ทาง Jet Brains ได้ปล่อย IntelliJ IDEA 2020.1 ใน preview version ออกมาให้ลองใช้งาน ตัวเต็ม ๆ จะปล่อยในเดือนเมษยนนี้ ดังนั้นมาดูกันหน่อยว่า มีความสามารถอะไรที่โดน ๆ กันบ้าง น่าจะเพิ่ม productivity ให้นักพัฒนาขึ้นอีกเยอะ มาเริ่มกันเลย

Read More…

สวัสดี Java 14

หลังจากที่ JDK 14 RC แรก ๆ ถูกปล่อยออกมาให้ลองทดสอบเล่น ๆ แน่นอนว่า feature ต่าง ๆ อาจจะมีการเปลี่ยนแปลงอีกเยอะ แต่ว่าก็มีความสามารถที่น่าสนใจให้เล่นกัน ไม่ว่าจะเป็น Switch expression เปิดให้ใช้ได้เลย ออกจาก preview feature แล้วนะ การปรับปรุง  error message ของ NullPointerException (NPE) จาก JEP 358 มี Record มาเป็น preview feature จาก JEP

Read More…

[Docker] มาลองใช้ AdoptOpenJDK กับ OpenJ9 กันหน่อย

จากบทความเรื่อง เปรียบเทียบ JVM OpenJ9 และ HotSpot โดยที่ OpenJ9 เป็นสิ่งที่น่าสนใจมาก ๆ  เป้าหมายหลักของ OpenJ9 คือปรับปรุงการจัดการ resource ต่าง ๆ นั่นเอง ทั้งเรื่องของ startup time และการใช้ memory/cpu น้อยลง ซึ่งช่วยทำให้เหมาะสมต่อการนำไป run บน Cloud และ Container นั่นคือการพยายามทำให้ขนาดของ service ที่พัฒนาด้วยภาษาบน JVM เล็กลง ถึงแม้ว่ามันจะไม่ค่อยเล็กมากก็ตาม !!

Read More…

สวัสดี Java 13

ในที่สุดก็ถึงเวลานัดของ Java 13  จาก blog ของ Oracle เรื่อง Java 13 นั้นบอกว่า ทำการปิด issue ไป 2,126 ตัว โโดยมีผู้ร่วมแก้ไขจากบริษัทต่าง ๆ ดังนี้

Read More…

มาดูรายงานแนวโน้มของ Java จาก InfoQ ประจำเดือนกรกฎาคม

ทาง InfoQ ทำการสรุปแนวโน้มต่าง ๆ ของ Java ประจำเดือนกรกฎาคม ทั้ง Java 13 ทั้ง Java 11 ทั้ง Java 8 ตลอดจนภาษา Kotlin, Graal และพวก Microservice framework ซึ่งแสดงแนวโน้มดังรูป

Read More…

สรุปจากการแบ่งปันเรื่องพื้นฐานของภาษา Java (Modern Java)

มีโอกาสไปสอนและแบ่งปันเกี่ยวกับการเขียนภาษา Java ขั้นพื้นฐานมา 6 วัน มีหลายเรื่องที่น่าสนใจ  สำหรับ feature ใหม่ ๆ ของภาษา Java (Modern Java) เลยทำการสรุปไว้กันลืมนิดหน่อย

Read More…

สวัสดี Spring Cloud Gateway

ว่าง ๆ มาลองเล่น Spring Cloud Gateway กันหน่อย สายเขียน code เพื่อสร้าง API Gateway กันเองน่าจะชอบ ซึ่งก่อนหน้านี้คือ Zuul สร้างจาก Netflix ส่วนตอนนี้ใน Spring Cloud น่าจะเริ่ม migrate project ต่าง ๆ จาก Netflix มากันแล้ว เนื่องจากเป็น roadmap ที่วางกันไว้นั่นเอง มาเริ่มกันเลย

Read More…

มาลองลดขนาด Docker Image ของ Java ด้วย GraalVM กัน

หลังจากที่ติดตั้ง GraalVM ไปแล้ว คิดไม่ออกว่าจะเอาไปทำอะไรบ้าง !! ลองนั่งอ่านไปเรื่อย ๆ ก็พบว่ามี GraalVM Native Image ให้ มี command ชื่อว่า Native Image Generator ให้ใช้ ทำการ compile มายัง native binary ให้เลย นั่นหมายความว่า ถ้าเป็นพวกภาษา Java, Kotlin และ Scala ก็ไม่จำเป็นต้องมี JVM นะสิ

Read More…