มาลองใช้งาน JShell ใน Java 9 กันดู

ในภาษาโปรแกรมต่าง ๆ ไม่ว่าจะเป็น Python, Swift, Scala, Clojure ล้วนมีสิ่งที่เรียกว่า REPL (Read Eval Print Loop) สำหรับการ run statement ต่าง ๆ ของ code โดยไม่ต้องทำการสร้างไฟล์ใด ๆ ขึ้นมาเลย เพื่อทดสอบ เพื่อทดลอง เพื่อตรวจสอบ ชุดของ code ที่สำคัญใน Java 9 ก็มีความสามารถนี้เช่นกัน นั่นคือสิ่งเล็ก ๆ ที่เรีกยว่า JShell ดังนั้นมาลองใช้งานกันนิดหน่อย

Read More…

ว่าด้วยเรื่อง UI Testing มีความสำคัญอย่างไร

UI Testing หรือ User Interface Testing UI คือส่วนที่ผู้ใช้งานเห็น และใช้งาน ทั้งการ click และ drag & drop ด้วย mouse ทั้งการกดปุ่มใน keyboard รูปแบบของ UI จะมี 2 แบบหลัก ๆ คือ Command line GUI (Graphic User Interface) แต่ในปัจจุบันเราจะเน้นในส่วนของ GUI เป็นหลัก เนื่องด้วยความนิยมและเทคโนโลยีนั่นเอง

Read More…

คำถาม :: เขียนส่วนของ Business Logic ไว้ที่ไหนกันบ้าง ?

จากการ์ตูนขำ ๆ เรื่อง Business logic on the Frontend ก่อให้เกิดคำถามหนึ่งขึ้นมาคือ เราเขียน Business logic ของระบบไว้ที่ไหนกันบ้าง ? Frontend ฝั่ง Client side เช่น JavaScript, Mobile app เป็นต้น Frontend ฝั่ง Server side หรือเรียกว่า Web/Presentation Tier Backend Database เช่น Store procedure เป็นต้น ผมเชื่อว่า developer หลาย ๆ คนน่าจะทำมาทั้งหมดแล้ว ล้วนแล้วแต่มีเหตุผล มีเงื่อนไข มีข้อจำกัดที่แตกต่างกันไป รวมทั้งต่างมีข้อดีและข้อเสีย แต่ถ้าทุกอย่างมันลงตัว จะอยู่ตรงไหนน่าจะสมเหตุสมผลมั้ง !!

Read More…

เก็บมาฝากเรื่อง 11 กลุ่มของ Programmer

เจอ Infographic เรื่อง 11 types of programmers ทำการแบ่งกลุ่มของ programmer ออกเป็น 11 กลุ่มได้อย่างน่าสนใจ จึงนำมาสรุปไว้นิดหน่อย คำถามที่น่าสนใจคือ เราอยู่กลุ่มไหนกันบ้าง

Read More…

มีอะไรที่น่าสนใจจากงาน JavaOne 2017 บ้าง

ช่วงวันที่ 1 ถึง 5 ตุลาคมที่ผ่านมามีงานใหญ่ของโลก Java คือ JavaOne 2017 อาจจะเงียบ ๆ หน่อย แต่ก็มีสิ่งที่น่าสนใจมากพอควร จึงทำการสรุปจาก VDO Keynote มานิดหน่อย น่าจะพอทำให้เห็นทิศทางของโลก Java ได้บ้าง รวมทั้ง vendor เจ้าใหญ่ ๆ ของโลก และ แนวทางของ Oracle มาเริ่มกันเลย

Read More…

สรุป Google Chrome App/Extension ที่ใช้เป็นประจำ

ก่อนทำงานมานั่งสรุป extension ใน Google Chrome ที่ใช้งานเป็นประจำ ซึ่งคิดว่าน่าจะมีประโยชน์สำหรับนักพัฒนาบ้าง แต่เท่าที่ใช้มาคิดว่ามีประโยชน์ แถมช่วยเพิ่ม productivity ด้วยนะ ลองมาดูว่ามีอะไรบ้าง

Read More…

มาเขียนชุดการทดสอบ Espresso ให้อ่านง่าย ๆ ด้วยภาษา Kotlin

วันนี้ไปร่วมงาน GDG DevFest Bangkok 2017 มี session ที่น่าสนใจเยอะเลยแบ่งออกเป็น 3 ห้อง ดังนั้นก็ต้องเลือกเข้า session ในห้องใดห้องหนึ่งไปเลย โดย session แรกที่ได้เข้าไปคือ One Espresso with Kotlin, please เป็นการแนะนำและทำ workshop เกี่ยวกับ การเขียน UI Test ของ Android app ด้วย Espresso ที่น่าสนใจคือ เขียนด้วยภาษา Kotlin แต่ที่น่าสนใจกว่าคือ การออกแบบ DSL (Domain Specific Language) สำหรับการทดสอบ ซึ่งทำให้ชุดการทดสอบอ่านง่าย เข้าใจง่าย มันสวยนะ มาดูกันนิดหน่อย

Read More…

Docker สำหรับ Data Science

มีโอกาสคุยกับกลุ่มในสาย Data Science พบว่า ปัญหาหลัก ๆ ของคนกลุ่มนี้คือ เรื่องการจัดการ environment ที่ใช้งาน ประกอบไปด้วย ปัญหาในการติดตั้ง software ปัญหาในการติดตั้ง library หรือ dependency ต่าง ๆ ปัญหาในการ configuration และ setting ค่าต่าง ๆ ทำให้ขั้นตอนการวิเคราะห์ข้อมูลมันช้าอย่างมาก บางคนใช้ได้ บางคนใช้ไม่ได้ บางองค์กรต้องรอให้ฝ่าย IT มาทำการติดตั้งให้ ถ้าขั้นตอนการทำงานช้า ก็รอกันต่อไป หรือแม้แต่การนำเครื่องมือใหม่ ๆ มาใช้ ก็ยากเย็นเหลือเกิน

Read More…

สวัสดี Cloud Firestore

ทาง Firebase ได้ปล่อย Cloud Firestore ใน beta version ซึ่งเป็น NoSQL database มีโครงสร้างข้อมูลแบบ Document พูดง่าย ๆ คือโครงสร้างข้อมูลเดียวกับ MongoDB แต่อยู่บน Cloud platform นั่นเอง สามารถใช้ทั้ง iOS, Android และ Web ตลอดจนสามารถ integate ได้กับของที่มีอยู่ใน Firebase ได้เลย รวมทั้ง Google Cloud Platform, Cloud function ยังไม่พอนะ ตามแนวทางของ Firebase คือใช้ง่ายและรองรับการ scale อีกด้วย

Read More…

ใช้งาน Yarn ใน offline mode กัน

ในการ build ระบบงานที่พัฒนาด้วย JavaScript และ NodeJS นั้น ปัญหาหลัก ๆ คือ เรื่องของการติดตั้ง library หรือ dependency ต่าง ๆ มันเยอะ ใช้เวลามาก แถมต้องทำการตรวจสอบผ่านระบบ network อีก ถ้าระบบ network มันช้าละ จะยิ่งช้ากว่าเดิมไหม ? ดังนั้น Yarn จึงได้เตรียม offline mode หรือ caching พวก node modules มาให้ใช้ แน่นอนว่า ใช้ไม่ได้ยากเลย ดังนี้

Read More…