บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ Java 8

ใช้ Java Gson อ่าน API coingecko เพื่อ feed ราคาเหรียญ

 ขอเอาตัวอย่าง Code แปะเลยละกันนะครับ อันนี้เอาไว้ดูกันลืมเฉยๆ อ่ะนะ แต่ถ้าเพื่อนๆ ดูก็น่าจะพอได้ไอเดียนะครับลองดูครับผม import java.io.BufferedReader; import java.io.InputStreamReader; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class CgcV2 {     public void executeCurl(String tokenID, String startDateStr,             String endDateStr) {         StringBuffer stringA = new StringBuffer();         try {             SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");             Date startDate = formatter.parse(startDateStr);          ...

Webhook คืออะไร แนวทางการใช้งาน Webhook

ก่อนจะไปถึงเรื่อง Webhook ขอเท้าความไปถึงเรื่องของการเรียกใช้งาน API  แบบที่ไม่ต่อเนื่องนะครับ ยกตัวอย่างง่ายๆ เช่น Flow การจ่ายเงินที่ต้องไป Call API ของทาง Payment gateway แล้วต้องรอให้ลูกค้าทำการจ่ายเงินจนเสร็จ คำถามคือ เราจะรู้ได้อย่างไรว่าลูกค้าจ่ายแล้ว ? แบบเดิมๆ ง่ายๆ เลยไม่ต้องคิดมากก็เข้าไป Query Check เรื่อยๆ ถูกมั้ยครับ อาจจะ Query ด้วย Tx ID หรือ Order ID อะไรก็ว่าไป อยากได้ Realtime แค่ใหนก็อยู่ที่ว่าจะ Query ถี่แค่ใหน ซึ่งปัญหามันก็คือเราต้องวน Query ไปเรื่อยๆ จนกว่าจะได้คำตอบว่า Success แล้วซึ่งแน่นอน ถ้า เว้นช่วงในการ Query นาน ก็จะทำให้ความต่อเนื่องไม่ Real time แต่ถ้า Query  ถี่ๆ เกินไปก็เป็นการสิ้นเปลือง Traffic ทั้งที่เราเองและที่ปลายทางด้วย  Webhook เกิดมาเพื่อแก้ปัญหานี้ครับ คือมันจะดีกว่ามั้ยถ้าปลายทางทำงานเสร็จแล้วส่งมาบอกเราว่าเรียบร้อยแล้ว คำตอบคือมันดีงามแน่ๆ ครับ เพราะ Confirm ว่า Realtime แน่นอนเพราะ เสร็จปุ๊บ บอกได้ทันที แถมเราไม่ต้องเสียเวลาส่งไป Query ถามซ้ำๆ อีกด้วย   Webhook ทำงานยังไง แน่นอนครับการที่ต้นทางจะส่งกลับมาบอ...

ตัวอย่าง Java Base64 Encoding and Decoding

ตัวอย่าง Java Code ในการทำ Encode และ Decode   ด้วย Base64 เป็นการ Encode อย่างง่ายสุดนะครับ สำหรับข้อมูลที่ไม่ได้ต้องการปิดบังหรือ Privacy มาก เพราะว่า สามารถ Decode กลับมาเป็นข้อมูลจริง ได้ง่ายมากๆ import org.apache.commons.codec.binary.Base64; public class TestEncode {     /**      * @param args      */     public static void main(String[] args) {         String input="data_for_encode";         byte[] bytes = Base64.encodeBase64(input.getBytes());         System.out.println("Encode " + new String(bytes));         byte[] decodedBytes = Base64.decodeBase64(bytes);         System.out.println("Decode " + new String(decodedBytes));     } } ผลที่ได้จากการ Run ก็ตามรูปต้านล่างเลย Encode ZGF0YV9mb3JfZW5jb2Rl Decode data_for_encode ...

แนะนำ Aggregate Operations ใน Java 8 กับการเข้าถึง Collection แบบ Stream

บทความเกี่ยวกับ : แนะนำ Aggregate Operations ใน Java 8 มาถึงยุคของการจัดการ Data ใหญ่ๆกันแล้วสินะ แน่นอนว่า ที่ผ่านมาในโลกของ Java เราคงได้ใช้งาน Collection แบบต่างๆ กันมาแล้ว ไม่ว่าจะใช้งานอะไรมาบ้าง แต่หลักๆคงหนีไม่พ้นสองข้อ คือ   จะยัดข้อมูลลงไปยังไง และ จะเอาข้อมูลออกมายังไง  วันนี้เราจะเน้นอย่างหลังนะครับ คือการ ล้วงข้อมูลใน Collection นั่นเอง ก่อนอื่นขอแนะนำ Aggregate Operations ที่มาใหม่ใน Java 8 ที่เปลี่ยนรูปแบบการเข้าถึง  ข้อมูลใน Collection แบบที่เรียกได้ว่าคนที่เคยใช้ For ผ่าน Iterator นี่ต้องทำความเข้าใจเลยทีเดีย วันนี้จะให้ดูแค่เรื่องของการเขียน Code นะครับ ยังไม่รวมถึงที่มาที่ไปว่า Aggregate Operations มันดียังไง เร็วกว่ามั๊ย ?  จัดการกับ Data ได้เยอะกว่ามั๊ย ? มันต่างจาก Iterator แบบเดิมยังไง ? เก็บคำถามเหล่านี้ไว้ในใจก่อน เพราะถ้าเราไม่ลองใช้เราจะไม่รู้หรอกนะครับว่ามันดียังไง ? มาเริ่มกันเลย ยกตัวอย่างเรามี  Class ที่จะยัดลงใน Collection ดังนี้ public class Person { public enum Sex { MALE, FEMALE } Str...

ก่อนจะพูดถึง Java 8 มาดูกันว่ามีอะไรใหม่ๆใน Java 7 ที่บางคนอาจไม่เคยใช้

บทความเกี่ยวกับ : ก่อนจะพูดถึง Java 8 มาดูกันว่ามีอะไรใหม่ๆใน Java 7 ที่บางคนอาจไม่เคยใช้ เรียกได้ว่า Java7 เป็น Version แรกๆ เลยหลังจากที่มาอยู่ภายใต้การดูแลของ Oracle ผมเองยังไม่ได้ลองใช้ Feature ใหม่ๆ ของมันเลย Java8 ก็ทำท่าจะคลอดออกมาซะงั้น .. หรือว่าออกแล้ว ....ไม่รู้สินะ บางทีแค่การเปลี่ยน Version ของ JDK กับงานเก่าๆ ที่ใช้ Version เก่าๆ มานาน มันก็รู้สึกไม่ค่อยสบายตัว สบายใจเท่าใดนัก T_T ว่าแล้วก็มาลองดูกันหน่อยซิว่า คุณรู้หรือเปล่าว่า Java7 มีอะไรใหม่ๆ ที่ทำให้เราเขียนโปรแกรมกันได้ง่ายขึ้น .... รึเปล่า ?  เป็นต้นว่า การเช็คเงื่อนไขแบบ Switch ใช้กับ String ได้แล้วนะคร๊าบ #รู้ยัง ใส่ เครื่องหมาย _ (Under score ) กับพวก Numeric ได้ด้วย เช่น  double salary = 1_200_500.50; #อันนี้ถ้าออกข้อสอบแบบเก่าๆ ผมตอบว่า error 100% อันนี้เอามาให้ดูขำๆ นะครับ หรือมีผมคนเดียวที่ยังไม่รู้หรือเปล่านะ T_T ส่วนเรื่องอื่นๆ ก็มีอีกเยอะแยะ ที่ทำให้ Programmer ที่เขียน java รุ่นเก่าๆ มานั่งดู Code ที่เขียนด้วย Java 7 แล้วต้องมีมึนกันบ้างล่ะครับ