Java Developer จัดการ version ของภาษา Java กันอย่างไร ?

หลายครั้งที่ไปแบ่งปันเรื่องต่าง ๆ เกี่ยวกับการพัฒนาระบบงานด้วยภาษา Java สิ่งหนึ่งที่ต้องประหลาดใจคือ หลาย ๆ คนไม่ได้กำหนดค่าของ JAVA_HOME สามารถทำการ run ด้วยคำสั่ง java ได้ แต่ไม่สามารถ compile ด้วยคำสั่ง javac ได้ นั่นหมายความว่า ในเครื่องมีแต่ JRE (Java Runtime Environment) แต่ไม่มี JDK (Java Development Kit) หรือบางคนก็มี JDK นะแต่ run ไม่ได้ เนื่องจากทำการกำหนดไว้ใน IDE เท่านั้น แต่ไม่ได้กำหนด JAVA_HOME หรือบางคนก็กำหนดนะ แต่กำหนดไว้ใน PATH ตรง ๆ เลย ไม่มีกำหนดใน JAVA_HOME คำถามที่น่าสนใจคือ ถ้ามี Java หรือ JDK หลาย ๆ version [&hellip

Read More…

สวัสดี Jenkins X

มาทำความรู้จักกับ Jenkins X กันหน่อย ซึ่งเป็น project ใหม่ที่ทาง cloudbees เป็นหัวหน้าทีมพัฒนา มีเป้าหมายเพื่อช่วยให้การทำ Continuous Delivery และใช้งาน Kubernestes ง่ายขึ้น หรือเป็น Automated pipeline บน Kubernetes นั่นเอง ดังนั้นมาทำความรู้จักและใช้งานกันหน่อย

Read More…

code ที่นักพัฒนาเขียนขึ้นมานั้น S.A.F.E ไหมนะ ?

สิ่งที่นักพัฒนา software ควรต้องรู้และเข้าใจสำหรับ code ที่เขียนคือ code ที่เขียนขึ้นมานั้นปลอดภัยหรือไม่ ? แน่นอนว่า นักพัฒนาบางคนอาจจะบอกว่า แค่เขียน code ให้เสร็จตามเวลาก็ถือว่าดีแล้ว ส่วนเรื่องของ security ไม่ใช่หน้าที่ ให้ทางฝ่าย security ดูเองก็แล้วกัน ถ้ามีเจอปัญหาอะไรก็แจ้งมา เดี๋ยวแก้ไขให้ !!

Read More…

[Python]สร้าง API ง่าย ๆ ด้วย Flask และ Connexion

วันนี้มีโอกาสได้แบ่งปันความรู้สำหรับการสร้าง API ด้วยภาษา Python โดยสิ่งที่ต้องการคือ พัฒนาได้ง่าย ยิ่งถ้าสร้างจาก specification บางอย่างด้วยน่าจะดี ขนาดไม่ใหญ่ ไม่ซับซ้อน ดังนั้นจึงเลือก Flask ซึ่งเป็น microframework สำหรับการพัฒนาระบบ web รวมทั้งใช้ Connexion เพื่อช่วยทำการสร้าง API แบบอัตโนมัติ จากการกำหนดค่าต่าง ๆ ในรูปแบบ OpenAPI หรือ Swagger Specification นั่นเอง ซึ่งน่าจะเป็นทางเลือกที่น่าสนใจ มาลองใช้งานกัน

Read More…

มาสร้าง Build caching server ของ Gradle กันหน่อย

สำหรับการใช้งาน Gradle ทั้ง Android, Backend และ Frontend นั้น ในแต่ละ task นั้นสร้าง cache data ไว้เสมอ ทำให้ทำงานได้เร็วขึ้น แต่ความเร็วของแต่ละเครื่องที่ build ขึ้นอยู่กับการสร้าง cache data นี่แหละ ดังนั้นถ้าแต่ละเครื่องทำการ share cache data ก็น่าจะดีนะ ดังนั้นมาใช้งาน Caching server กันหน่อยดีกว่า เป้าหมายเพื่อความเร็วในการ build นั่นคือทำให้ชีวิตนักพัฒนาดีขึ้น

Read More…

มาเขียน Robotframework บน Jupyter notebook กันดีกว่า

เห็น Docker Image ชื่อว่า RobotKernel จากงาน RobotCon 2018 ซึ่งเป็นสิ่งที่ทำให้สามารถเขียนและ run ชุดการทดสอบ ที่เขียนด้วย Robotframework บน Jupyter notebook ได้ จากที่ลองใช้ดูก็สะดวกดีนะ ลองใช้กันดู

Read More…

ใช้สิ รออะไร Android Studio 3.1

Android Studio 3.1 ปล่อย version stable ออกมาให้ใช้แล้ว (ใครใช้ Canary มาก็จะเฉย ๆ) ซึ่งมีความสามารถหลายสิ่งอย่าง ทั้งช่วยให้การพัฒนา app ง่ายขึ้น ทั้งการช่วยหาปัญหาของ app ได้ดีขึ้น มาดูกันหน่อย

Read More…

มาใช้งาน Benchmark ในภาษา Go กัน

เห็นในกลุ่มภาษา Go Thailand ที่ Facebook นั้นมีการใช้งาน Benchmark สำหรับวัดประสิทธิภาพการทำงานของ code ที่เขียนด้วยภาษา Go จึงทำการสรุปวิธีการใช้งานไว้นิดหน่อย ซึ่งมันง่ายมาก ๆ เพราะว่า เป็น package ที่มีมาในภาษา Go อยู่แล้ว มาเริ่มกัน

Read More…

แนะนำ Stackblitz สำหรับการ run React และ Angular จาก Github repository ผ่าน browser

อ่านเอกสารของ Angular ก็พบสิ่งที่น่าสนใจคือ สามารถทำการ run code ที่อยู่ใน Github repository  ผ่าน browser ได้เลย ซึ่งมันทำให้ชีวิตนักพัฒนา Frontend ง่ายขึ้นมาก เพราะว่า ไม่ต้องทำการติดตั้งสิ่งใดเลย เพราะว่า การติดตั้ง dependency ต่าง ๆ บนเครื่องเราใช้เวลาสูงมาก ๆ เพราะว่า การแบ่งปันหรือทำงานร่วมกับคนอื่น ๆ มันยากขึ้นไปอีก ดังนั้นมาลองใช้งาน Stackblitz กันนะ

Read More…

[React Testing] ว่าง ๆ มาเริ่มเขียนชุดการทดสอบสำหรับ React กัน Part 2

จาก Part ที่ 1 นั้นเริ่มด้วยการทดสอบระบบ web ด้วย library ชื่อว่า Enzyme ซึ่งจะจำลองการทำงานของ React component ขึ้นมาให้ เราได้ทำการติดตั้ง configuration ตลอดจนเริ่มเขียนชุดการทดสอบแรกไปแล้ว ใน Part 2 นี้จะเริ่มพัฒนาระบบเครื่องคิดเลขกัน โดยจะพยายามเริ่มด้วยชุดการทดสอบ หรือคิดก่อนว่าเราจะทำอะไร และ ต้องได้อะไรออกมา แน่นอนว่ายังคงใช้ Enzyme นั่นเอง มาเริ่มกันดีกว่า

Read More…