Share this
รวมเครื่องมือการทำ Automated Process สำหรับโปรแกรมเมอร์โดยเฉพาะ!
Issues
April
Programmer
Categories:
#Bot#Automated Process#Front-end Tools#Back-end Tools
Inspired by: Natchaya, Khemanorak, Piyapan
Views
สำหรับคุณอะไรคือสิ่งที่น่าเบื่อที่สุดในการทำงาน?
บางคนอาจบอกว่าคือเพื่อนร่วมงาน บางคนอาจบอกว่าคือการที่ต้องตื่นเช้า ฝ่ารถติดทุกวัน เพื่อไปทำงานให้ทันเวลา หรือบางคนอาจบอกว่าคือการประชุมในเย็นวันศุกร์
“แต่ที่หลายคนปฏิเสธไม่ได้ หนึ่งในสิ่งที่น่าเบื่อที่สุดในการทำงาน คือการที่เราต้องทำงานซ้ำๆ (Repetitive Work) ทุกวัน อย่างไม่มีทางเลือก”
แน่นอนว่างานหลายๆอย่างที่มีความซ้ำซ้อนนั้น ส่วนมากเป็นงานที่มีความจำเป็น และบ่อยครั้งเป็นงานที่ “ต้อง” ทำ และไม่สามารถหลีกเลี่ยงได้
อย่างไรก็แล้วแต่ การที่คุณต้องทำงานซ้ำๆ ในทุกๆวัน มีผลเสียมากกว่าที่คุณคิด
- คุณอาจพลาดโอกาสที่จะไปลองสิ่งใหม่ๆ ที่ท้าทาย เนื่องจากคุณไม่มีเวลามากพอ
- คุณจะเสียโอกาสในการใช้ความคิดสร้างสรรค์ (Creativity Skill)
- ความรู้สึกมีความสุข และความท้าทายในการทำงานลดลง และทำให้คุณรู้สึกเบื่อ และไม่อยากทำงาน ซึ่งอาจส่งผลกับประสิทธิภาพในการทำงานได้ (Productivity)
“ในเมื่อเราไม่สามารถหลีกเลี่ยงการทำงานในรูปแบบนี้ได้
สิ่งสำคัญที่สุดคือ การปรับตัว”
ที่ CODIUM ทั้งโปรแกรมเมอร์และพนักงานในส่วนอื่นๆ เริ่มประยุกต์การใช้งาน Automated Process จากเครื่องมือต่างๆ เพื่อลดการทำงานที่ซ้ำซ้อน ช่วยให้เรามีเวลา สามารถไปทำอย่างอื่นที่มากกว่า
สำหรับบทความวันนี้เราจึงอยากนำเสนอ รูปแบบการทำงานและเครื่องมือการทำ Automated Process ที่โปรแกรมเมอร์ของเราใช้งานกันอยู่
Gitlab CI
สำหรับโปรแกรมเมอร์ปฏิเสธไม่ได้เลยว่าการทำ Deployment คือหนึ่งในกิจวัตรประวัน ที่ไม่เพียงแต่ต้องทำทุกวัน แต่บางครั้งต้องทำวันละหลายๆ รอบ
ลองนึกภาพว่าคุณจะต้องจัดการ Run Test, Run Build Command, Run Deploy Command ด้วยตนเองวันละหลายๆรอบ พอมีการเปลี่ยนแปลงอีก แม้เพียงนิดเดียวก็ต้องทำรายการใหม่ แน่นอนว่าการทำงานเหล่านี้ด้วยตัวบุคคลจะเป็นงานที่แสนน่าเบื่อและกินเวลาการทำงานอีกด้วย
ดังนั้น Gitlab CI จึงเป็นเครื่องมือสำคัญมาก ที่เข้ามาช่วย Run Test, Run Build Command, Run Deploy Command ตามการตั้งค่าของคุณให้ ทำให้เราสามารถขยับไปทำงานอย่างอื่นได้คล่องตัวขึ้น
![](https://new-dev.codium.co/uploads/image_1f9a74caef.png)
อ่านต่อเรื่อง การทำ CI/CD แบบละเอียด
Gitlab Bot
หากโปรแกรมเมอร์คนไหนใช้ Gitlab เป็นเครื่องมือในการทำงานหลัก หนึ่งในปัญหาแสนน่าเบื่อคือ ต้องมาคอยย้าย Card ที่ทำงานนั้นๆเสร็จไปเเล้ว
![](https://new-dev.codium.co/uploads/Group_18393_2x_247d3ed378.png)
ทำไมการย้าย Card นั้นจึงสำคัญ ? เนื่องจากการย้าย Card คือการระบุสถานะความคืบหน้าการทำงานของแต่ละ Task ให้ทุกคนในทีมเห็นข้อมูลโดยทั่วกัน
หลาย ๆ คน อาจจะคิดว่าการย้าย Card ก็ไม่มีอะไรมาก ก็แค่ปรับสถานะให้ตรงกับความคืบหน้าก็พอ ในความเป็นจริง แต่ละวันโปรแกรมเมอร์ มีงานที่ต้องรับผิดชอบจำนวนมาก และสำหรับทุกๆงานจะต้องมีการย้าย Card เพื่ออัพเดทสถานะเสมอ เช่น เมื่อเริ่มดำเนินการ ก็ต้องย้ายจากสถานะ To Do ไปยัง Doing จากนั้นหลังจากที่ดำเนินการเสร็จและ Deploy เข้าระบบแล้วต้องเปลี่ยนสถานะเป็น Ready to Test
พูดดูเหมือนน้อย แต่จริงๆเป็นงานที่คุณทำกันเยอะแบบไม่รู้ตัว หากย้าย Card ด้วยตนเอง โดยเฉลี่ยสำหรับ 1 Task คุณอาจจะต้องย้ายการ์ดประมาณ 2 ครั้ง สมมติว่าในหนึ่งวัน หากคุณทำงานประมาณ 5 Tasks คุณอาจจะต้องย้ายการ์ด โดยเฉลี่ย 10 ครั้ง/วัน ซึ่งคิดเป็น 50 ครั้ง/อาทิตย์
ดังนั้นที่ CODIUM เราจึงใช้งาน BOT System CODIUM ประกอบกับ Gitlab เพื่อช่วยในการย้าย Card โดยการตั้งค่า Bot นี้สามารถเรียกการใช้งานได้หลายรูปแบบ ไม่ว่าจะเป็น เปลี่ยนสถานะจาก To Do เป็น Doing เมื่อมีการสร้าง Branch หรือเปลี่ยนสถานะเป็น Ready to Test เมื่อการ Deploy เสร็จสิ้น
![](https://new-dev.codium.co/uploads/image_5_c009c0231b.png)
ด้วย BOT นี้ โปรแกรมเมอร์ของเราสามารถให้ความสำคัญกับงานที่มีความสำคัญและความจำเป็น เเถมติดเครื่องมือที่ช่วยอัพเดทสถานะการทำงานให้คนทั้งทีมเห็นข้อมูลได้อย่างถูกต้อง
CDM Custom Made Bot
บ่อยครั้งที่การทำงานของโปรแกรมเมอร์และผู้ดูเเลโปรเจค ต้องคอยสังเกตการทำงานในภาพรวม ทั้งความคืบหน้าของงาน สถานะการทำงานของระบบ สถานะการทำงานของ Database หรือแม้กระทั่งสถานะการต่ออายุ Certificate ของเว็บไต์
นอกจากงานที่เยอะอยู่แล้ว หากคุณต้องคอยดูข้อมูลเหล่านี้ทุกวันด้วยตนเอง หนึ่งวันดีๆของคุณอาจกลายเป็นวันที่แสนน่าเบื่อ
ดังนั้นเราจึงมีการประยุกต์การใช้งาน BOT ที่ใช้ในการตรวจสอบสถานะการทำงานของระบบต่างๆ ไม่ว่าจะเป็น
- Let’s Encrypt ที่ใช้ตรวจสอบการต่ออายุ Certificate ของเว็บไซต์ และแจ้งทันทีหากมีปัญหาการต่ออายุหรือการทำงาน
- UptimeRobot ที่ใช้ในการตรวจสอบสถานะการทำงานของระบบ และจะแจ้งเตือนทันทีเมื่อพบความผิดปกติ
- Gitlab Report Bot ที่ใช้ในการอัพเดทสถานะการทำงานของผู้ใช้งานใน Gitlab แบบ Real Time ทั้งการเปิด Issue, Merge, หรือ Deploy ดังนั้นทุกคนจะเห็นทั้งสถานะงานและการดำเนินการของโปรแกรมเมอร์อยู่เสมอ
![](https://new-dev.codium.co/uploads/Group_18405_2x_4ce76e73b8.png)
- DVDB Monitorting BOT ที่ใช้ตรวจสอบการเชื่อมต่อกับ Database และจะแจ้งเตือนหากการเชื่อมต่อใช้เวลานานกว่าปกติ
นอกจาก BOT ที่กล่าวไป ที่ CODIUM เรายังมีการปรับใช้งาน BOT อื่นๆ อีก ไม่ว่าจะเป็น HR BOT, ACK BOT ฯลฯ โดยสามารถอ่านข้อมูลเพิ่มเติมได้ที่ ประยุกต์ใช้ BOT อย่างไร ให้การทำงานง่ายขึ้น
HMS (Hero Management System)
บ่อยครั้งที่การทำงานในโปรเจคใหม่ๆ การสร้าง Project, Set Up Server และทำ Server Hardening นั้นใช้เวลาค่อนข้างเยอะ ในการทำงานคุณอาจจะต้องทำงานเหล่านี้ซ้ำๆ จนแทบจะนับไม่ไหวเลย
ดังนั้นเราจึงใช้ตัวช่วยอย่าง HMS ในการขึ้น Project และทำ Server Harderning ซึ่งช่วยให้ประหยัดเวลา ลดการทำงานซ้ำซ้อน และยังได้ผลลัพธ์ที่มีคุณภาพอีกด้วย
![](https://new-dev.codium.co/uploads/Screen_Shot_2564_07_09_at_10_42_34_9c38468fd4.png)
Switch
ในยุคโควิด เราเชื่อว่าเพื่อนๆหลายคนกำลัง Work From Home กันอยู่ ซึ่งบางครั้งปัญหาที่อาจจะเกิดขึ้นเลยคือ หัวหน้างานไม่มั่นใจว่าเราทำงานอะไรบ้างและขอให้เราเขียน Daily Report สิ่งที่ทำในแต่ละวันไปให้
การเขียน Daily Report ในแต่ละวันอาจจะใช้เวลาไม่เกิน 5 นาที แต่ถ้าคุณลองเขียนรายงานนี้ทุกๆวัน คิดจะพบว่างานนี้ช่างมีความซ้ำซ้อน แต่ถ้าไม่ทำอาจส่งผลกระทบต่อทั้งตัวคุณและองค์กร เนื่องจากองค์กรจะไม่มีข้อมูลการทำงานของพนักงาน ซึ่งอาจจำเป็นต่อการประเมินการทำงาน พิจารณาการขึ้นเงินเดือน ฯลฯ
ดังนั้นเพื่อลดภาระการทำงานเหล่านี้ เราจึงใช้งาน Switch เพื่อตรวจสอบการทำงานของพนักงานทุกคน โดย Switch จะเชื่อมต่อและพึ่งพาข้อมูลจาก Gitlab ในการทำงาน
ทุกๆครั้งที่มีการทำงานใน Gitlab ข้อมูลเหล่านั้นจะถูกส่งมายัง Switch เพื่อจัดทำรายงานการทำงานของพนักงานทุกคนแบบ Real Time ทำให้ทุกคนไม่ต้องนั่งเขียน Daily Report อีกต่อไป เพราะการทำงานของทุกคนถูกบันทึก และจัดทำเป็น Report ที่ทำให้เห็นภาพการทำงานทั้งในภาพรวมและการทำงานโดยละเอียด
![](https://new-dev.codium.co/uploads/Group_18411_2x_a6004327b7.png)
ซึ่งทั้ง 5 ข้อนี้ เป็นเพียงแค่บางตัวอย่างการใช้งาน Automated Process ในการเสริมการทำงานของโปรแกรมเมอร์ จริงๆแล้ว เรายังมี Tools อีกหลายชนิดที่เราใช้ในการทำงาน
“แม้ว่าการริเริ่มและพัฒนาใช้งาน Automated Process เหล่านี้อาจจะต้องใช้ทั้งเวลา ความรู้ และทักษะ แต่ผลลัพธ์ที่ได้ในระยะยาวนั้นคุ้มค่าอย่างแน่นอน!”
การใช้เครื่องมือเหล่านี้ช่วยลดงานที่ซ้ำซ้อนและเปลืองเวลาทั้งหลายไปได้ เพื่อให้พนักงานทุกคนในองค์กรสามารถจัดสรรเวลาการทำงานได้ดีขึ้น ได้ทำงานที่มีความสำคัญต่อองค์กร และช่วยให้ทุกคนได้ใช้เวลากับการพัฒนาทักษะของคุณอย่างแท้จริง!
You may also like
![Low Code Framework ทำงานอย่างไร?](https://new-dev.codium.co/uploads/image_1_e865bdc3ad.png)
Low Code Framework ทำงานอย่างไร?
มิ.ย. 06, 2024•อ่านเมื่อ 1 วันที่แล้ว
Back-end Tools
Front-end Tools
Automated Process
![วิธีสร้าง Chatbot ในแบบฉบับง่ายๆ ไม่ใช่ คนTech ก็ทำได้](https://new-dev.codium.co/uploads/image_3_6100a5eaf6.png)
วิธีสร้าง Chatbot ในแบบฉบับง่ายๆ ไม่ใช่ คนTech ก็ทำได้
มิ.ย. 06, 2024•อ่านเมื่อ 2 ชั่วโมงที่แล้ว
Back-end Tools
Front-end Tools
Digital Transformation
![HR Bot สร้างขึ้นมาได้อย่างไร](https://new-dev.codium.co/uploads/CDM_website_Create_Hr_e862ae0e6c.png)
HR Bot สร้างขึ้นมาได้อย่างไร
มิ.ย. 06, 2024•อ่านเมื่อ 3 วันที่แล้ว
Bot
Automated Process
Front-end Tools
![5 ปัจจัยหลัก ที่ใช้ประเมินการทำงาน Developer](https://new-dev.codium.co/uploads/CDM_website_34_2x_3ebfba92be.png)
5 ปัจจัยหลัก ที่ใช้ประเมินการทำงาน Developer
มิ.ย. 06, 2024•อ่านเมื่อ 4 ชั่วโมงที่แล้ว
Front-end Tools
Back-end Tools
![hero](/images/bg-subscribe.png)