Programming Archive

ทำความรู้จักกับ Android Test Orchestrator

เนื่องจากมีเหตุต้องมาใช้งาน Android Test Orchestrator เพื่อช่วยแก้ไขปัญหาและปรับปรุงการทำงานของ Instrumentation test ของ Android app ดังนั้นจึงทำการสรุปความรู้พื้นฐานและการใช้งานไว้นิดหน่อย น่าจะเป็นเครื่องมือที่ใช้กันน้อยมาก ๆ แต่มันก็มีประโยชน์นะ

Read More…

บันทึกเขียนภาษา Go บน Jupyter Notebook

ว่าง ๆ นั่งดูว่าเราสามารถเขียนภาษา Go บน Jupyter Notebook ได้หรือไม่ ? เพื่อใช้สำหรับการบันทึกขั้นตอนการศึกษาต่าง ๆ ของภาษา Go ได้ง่ายขึ้น ก็ไปเจอว่ามีวิธีการเยอะเลย แต่ลองเลือกมาสักตัวคือ LGo ดังนั้นมาลองใช้งานกันหน่อย

Read More…

มาลองใช้งาน TICK stack กับระบบที่พัฒนาด้วย Spring Boot 2.0 กัน

ไม่ว่าระบบงานใด ๆ ก็ตามจำเป็นต้องมีระบบ monitoring เพื่อดูและวิเคราะห์ว่าประสิทธิภาพของระบบงานเป็นอย่างไร เพื่อดูและวิเคราะห์ว่าระบบงานยังคงทำงานได้ดีอยู่นะ แน่นอนว่า มีวิธีการและเครื่องมือให้ใช้งานมากมาย หนึ่งในตัวเลือกที่มีการพูดถึงคือ TICK stack ดังนั้นมาลองทำความรู้จักและใช้งานกันหน่อย โดยระบบงานที่จะใช้นั้นพัฒนาด้วย Spring Boot 2.0 นั่นเอง มาเริ่มกันดีกว่า

Read More…

Backend Developer จำเป็นต้องเรียนรู้อะไรกันบ้าง ?

หลังจากที่อ่านเรื่องของ Web Developer Roadmap 2018 แล้ว ซึ่งแนะนำเฉพาะส่วนของ Web Developer เท่านั้น แต่น่าจะมีส่วนของ Backend Developer บ้างนะ จึงทำการสรุปสิ่งที่น่าจะต้องรู้ไว้นิดหน่อย ซึ่งคิดว่าเป็นความรู้พื้นฐานแบบติดดินที่ควรรู้ไว้บ้าง

Read More…

Java 10 เป็นมิตรกับ Docker แล้วนะ

สำหรับระบบงานที่ run ใน JVM (Java Virtual Machine) นั้น ไม่ว่าจะเป็น Java Spring, Apache Spark, Apache Kafka และอื่น ๆ มีนำมาอยู่ในโลกของ container แล้วนั้น พบว่าจะมีปัญหาเรื่องการจัดการและใช้งาน memory และ CPU เป็นอย่างมาก ทั้งกิน memory และใช้ CPU เกินขนาดที่กำหนด ทำให้ประสิทธิภาพการทำงานใน container แย่มาก ๆ

Read More…

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…