Tools Archive

ทำความรู้จักกับ Stack Overflow Trends Tool กัน

ทาง StackOverflow ได้ปล่อยเครื่องมือชื่อว่า Stack Overflow Trends Tools ออกมา สำหรับการดูสถิติและแนวโน้มต่าง ๆ ของภาษาโปรแกรมและเทคโนโลยี ใช้ข้อมูลจากการถามตอบในระบบของ Stack Overflow นั่นเอง โดยที่ระบบนี้ถูกสร้างมาจาก คำถามเดิม ๆ ที่ถามในทุก ๆ ปี ทั้งภาษาโปรแกรมและเครื่องมืออะไรบ้างที่ได้รับความนิยม ? แต่ละภาษาโปรแกรมและเครื่องมือนี้มีความนิยมอย่างไรบ้าง

Read More…

สวัสดี Moby project :: Lego club ของโลก container

ในงาน DockerCon ทาง Docker ทำการปล่อย 2 project ใหม่ออกมา คือ LinuxKit Moby project โดยที่ LinuxKit นั้นคือ Toolkit สำหรับการสร้าง custom Linux distribution ตามความต้องการ ซึ่งมีขนาดที่เล็ก นั่นคือมีเท่าที่ต้องการเท่านั้น รวมทั้ง service ต่าง ๆ นั้นอยู่ใน container ทั้งหมด ที่สำคัญ immutable อีกด้วยนั่นคือ สร้างมาแล้วไม่สามารถเปลี่ยนแปลงได้

Read More…

รู้ยังว่า Google Chrome ทำงานแบบ Headless mode ได้เองแล้วนะ

เมื่อวันที่ 13 เมษายนที่ผ่านมา หรือ วันสงกรานต์ของไทยนั่นเอง ทางทีมพัฒนา Google Chrome ได้ปล่อย Chrome 59 (อยู่ใน Chrome Canary Channel เท่านั้น) ซึ่งมี feature ที่น่าสนใจคือ Headless chrome Headless mode นั้นเป็นอีกหนึ่งช่องทางในการใช้งาน browser โดยที่ไม่ต้องแสดงออกมาทางหน้าจอ ซึ่งปกติเราจะใช้งาน Headless mode ผ่านโปรแกรมพวก Virtual Display Managerเช่น Xvfb, VNC ไม่เช่นนั้นก็ต้องใช้ PhantomJS และ NightmareJS เป็นต้น

Read More…

ทำการ deploy Function บน Google Cloud Platform

เพิ่งเห็นว่า Google Cloud Platform นั้นมี feature ใหม่ชื่อว่า Cloud Function ทำให้เราสามารถ deploy Function ที่พัฒนาด้วย Node.js นั่นคือเราสามารถพัฒนาระบบงานด้วยภาษา Javascript ที่สำคัญเราไม่ต้องสนใจเรื่อง server ที่สำคัญเราไม่ต้องสนใจเรื่องการขยายระบบเพื่อรองรับจำนวนผู้ใช้งานที่มากขึ้น เนื่องจาก Google Cloud Platform จัดการให้ (BaaS => Backend-as-a-Service) ดังนั้นเรามาลอง deploy Function ที่พัฒนาด้วย Node.js กันดู นี่มัน Function-as-a-Service (FaaS) ชัด ๆ

Read More…

มาทำระบบ monitoring สำหรับ Spring Boot application อย่างง่ายกัน

เครื่องมือที่ใช้งานประกอบไปด้วย Spring boot application ซึ่งจะมี 2 service คือ User service กับ Order service Prometheus สำหรับจัดเก็บข้อมูลของแต่ละ service ในรูปแบบ time series Grafana สำหรับแสดงข้อมูลในรูปแบบ graph ที่สวยงาม มาดูขั้นตอนการสร้างระบบ Monitoring อย่างง่ายกันดู

Read More…

[Android] แนะนำเครื่องมือสำหรับ share ไฟล์ APK ผ่าน Slack

ปัญหาอย่างหนึ่งของการพัฒนา android app คือ เรื่องการ build ไฟล์ APK ของ app เพื่อนำไปทดสอบ เพื่อนำไป deploy จะทำการ build อย่างไร ? จะทำการส่งไฟล์ APK ให้คนที่เกี่ยวข้องอย่างไร ? หนึ่งในวิธีการที่ใช้บ่อย ๆ คือ การส่งไฟล์ APK จาก Android Studio ไปยัง Slack ของทีม โดย slack คือเครื่องมืออย่างหนึ่งในการสื่อสารของทีม มาลองใช้งานกัน

Read More…

[Prototype] สรุปการสร้างระบบบันทึกผลการทดสอบในรูปแบบ VDO อย่างง่ายมั้ง !!

มีคำถามที่น่าสนใจคือ ถ้าเราต้องการบันทึกผลการทดสอบ UI testing แบบอัตโนมัติในรูปแบบ VDO ได้ไหม ? ตอบง่าย ๆ ก็ได้นะ ทำง่ายด้วย คือเครื่องที่ทดสอบก็เปิดโปรแกรมบันทึก VDO เอาเลย หรือไม่ก็ตั้งกล้องหน้าจอกันไปเลย แต่วิธีการดังกล่าวมันอาจจะจะไม่โดนใจเราเท่าไร ดังนั้นจึงเป็นที่มาของการทดลองสร้างระบบง่าย ๆ โดยรวมใช้เวลาในการศึกษาและลองสร้าง จนได้ prototype ของสิ่งที่ต้องการประมาณ 4 ชั่วโมง จึงทำการสรุปไว้นิดหน่อย

Read More…

บันทึกการเตรียม Server ให้กับค่าย Give&Take Agile for Software Development Workshop

มีโอกาสไปร่วมแบ่งปันความรู้ในการพัฒนา software ในค่าย Give&Take Agile for Software Development Workshop 3 วัน ให้กับนักศึกษาที่มหาวิทยาลัยขอนแก่น สิ่งที่ต้องจัดเตรียมให้คือ Server สำหรับการพัฒนาระบบจำนวน 10 กลุ่ม จึงทำการบันทึกไว้นิดหน่อย ปล. มีเวลาให้ทำประมาณ 30 นาทีได้มั้ง

Read More…

บันทึกการ migrate Elasticsearch 1.7 ไปยัง 5.X แบบผิว ๆ

ทำการบันทึกการ migrate ข้อมูลในระบบงานจาก Elasticsearch 1.7 ไปยัง 5.x ซึ่งพบว่ามีสิ่งต่าง ๆ ที่เปลี่ยนไปเยอะพอสมควรประกอบไปด้วย เรื่องการ mapping ของ index ที่เปลี่ยนไปเยอะพอสมควร ใน Elasticsearch 5.x ไม่มีชนิดข้อมูลที่เป็น string แล้วนะ Query DSL หลาย ๆ ตัวถูกตัดทิ้งไปแล้วเช่น filterred เป็นต้น Aggregate API ที่เปลี่ยนไปเช่น size=0 ในการดึงข้อมูลถูกเอาออกไป เนื่องจากมีปัญหาเรื่อง performance การ configuration Elasticsearch ก่อนที่จะ deploy มีรายละเอียดดังนี้

Read More…

[Swift] ลดการเขียน code ซ้ำ ๆ ด้วย Sourcery กันหน่อย

ในการ coding นั้นเรื่องของ copy-and-paste รวมทั้ง code ที่ต้องเขียนซ้ำไปซ้ำมา บางครั้งเป็น code ที่ไม่ควรจะต้องมี แต่ด้วยโครงสร้างของภาษาก็จำเป็นต้องเขียน ทำให้เสียเวลาในการพัฒนาระบบไปอย่างมาก นั่นแสดงว่าเราได้ปฏิบัติตัวขัดแย้งกับ DRY principle อย่างมาก DRY ย่อมาจาก Don’t Repeat Yourself ดังนั้นเรามา ลด ละ เลิก กันบ้างแถอะ หนึ่งในนั้นคือ การ generate code จาก template ซึ่งในบทความนี้ขอแนะนำ Sourcery

Read More…