ทำไมการเขียนโค้ดอย่างเดียวถึงไม่พอ
หลายคนมักคิดว่าการเป็นนักพัฒนาซอฟต์แวร์จบแค่การเขียนโปรแกรมให้ทำงานได้บนเครื่องตัวเอง แต่ในโลกความเป็นจริง Tencent EdgeOne Makers สอนให้เรารู้ว่าการทำเว็บไซต์เป็นกระบวนการที่กว้างกว่านั้นมาก เหมือนกับการทำอาหารที่ไม่ได้จบแค่การปรุงรสในครัว แต่ยังรวมถึงการจัดจานและการนำไปเสิร์ฟให้ถึงมือลูกค้าด้วย
เมื่อคุณเขียนโปรแกรมเสร็จ ขั้นตอนต่อไปคือการ Deploy (เอาโค้ดขึ้นเซิร์ฟเวอร์จริงเพื่อให้คนอื่นเข้าถึงได้) ซึ่งเป็นจุดที่มือใหม่มักจะมองข้ามไป หากเราไม่เข้าใจเรื่องนี้ เว็บไซต์ของเราก็เป็นได้แค่ไฟล์ที่นอนนิ่งอยู่ในคอมพิวเตอร์ส่วนตัวเท่านั้น การเรียนรู้กระบวนการทั้งหมดตั้งแต่ต้นจนจบจะช่วยให้คุณเห็นภาพรวมว่าเว็บไซต์ทำงานอย่างไรในสภาพแวดล้อมจริง
สำหรับคนที่กำลังฝึกเขียนโค้ด การลองเอาโปรเจกต์ (งานที่ทำ) ขึ้นสู่โลกออนไลน์จะทำให้คุณเจอโจทย์ใหม่ ๆ เช่น ความเร็วในการโหลดหน้าเว็บ หรือความปลอดภัยของข้อมูล ซึ่งเป็นทักษะที่ขาดไม่ได้ของมืออาชีพ การฝึกฝนผ่านการลงมือทำจริงจะช่วยเปลี่ยนทฤษฎีในตำราให้กลายเป็นประสบการณ์ที่ใช้งานได้จริงในอนาคต
รู้จักกับ Tencent EdgeOne Makers
Tencent EdgeOne Makers คือแพลตฟอร์มที่ช่วยให้เรานำโปรเจกต์ขึ้นไปรันบนระบบ Edge Computing (การประมวลผลที่อยู่ใกล้ผู้ใช้งาน) ได้ง่ายขึ้น มันทำหน้าที่เป็นสะพานเชื่อมระหว่างโค้ดในเครื่องของเรากับผู้ใช้งานทั่วโลก ทำให้เว็บไซต์ตอบสนองได้เร็วและมีความเสถียรมากขึ้น
ข้อดีของเครื่องมือนี้สำหรับมือใหม่คือการลดความซับซ้อนในการจัดการระบบหลังบ้าน คุณไม่จำเป็นต้องมีความรู้เรื่องการตั้งค่าเซิร์ฟเวอร์ที่ยุ่งยากก็สามารถเผยแพร่ผลงานได้ คุณแค่โฟกัสที่การเขียนโค้ดให้ดี ส่วนเรื่องการกระจายข้อมูลและการเข้าถึง แพลตฟอร์มนี้จะช่วยจัดการให้คุณเอง
ลองจินตนาการว่าคุณเปิดร้านขายของ การมีระบบนี้เหมือนกับการที่คุณมีโกดังสินค้ากระจายอยู่ทั่วประเทศ แทนที่จะส่งของจากจุดเดียวที่ไกลมาก การมีของใกล้ลูกค้าจะทำให้พวกเขาได้รับสินค้าเร็วขึ้น โปรเจกต์ที่ดูธรรมดาของคุณจึงดูเป็นมืออาชีพมากขึ้นทันทีเมื่อผ่านการจัดการที่ดี
ทดสอบประสิทธิภาพก่อนเปิดตัวจริง
เว็บไซต์ที่ทำงานได้ดีบนเครื่องเรา อาจจะช้ามากเมื่อคนอื่นใช้งานผ่านอินเทอร์เน็ตจริง Performance (ประสิทธิภาพความเร็ว) เป็นเรื่องสำคัญมาก เพราะถ้าเว็บโหลดนานเกิน 3 วินาที ผู้ใช้งานส่วนใหญ่จะกดปิดทันที คุณจึงต้องตรวจสอบทรัพยากรที่ใช้ให้ดีก่อนเสมอ
การปรับแต่งเบื้องต้นทำได้โดยการบีบอัดรูปภาพให้มีขนาดเล็กลง หรือลบโค้ดที่ไม่จำเป็นออกไป การใช้ไฟล์ที่ใหญ่เกินความจำเป็นเปรียบเสมือนการแบกเป้หนักเกินไปขณะวิ่ง ทำให้เว็บทำงานได้ช้าลง การหมั่นตรวจสอบไฟล์เหล่านี้จะช่วยให้เว็บไซต์ของคุณลื่นไหลและดูน่าใช้งานมากขึ้น
ลองใช้คำสั่งพื้นฐานเพื่อดูขนาดของไฟล์ในโปรเจกต์ของคุณก่อนเริ่มการอัปโหลด เพื่อให้แน่ใจว่าไม่มีไฟล์ขยะหลงเหลืออยู่
// คำสั่งตรวจสอบไฟล์ในโฟลเดอร์ปัจจุบัน
ls -lh
// คำสั่งนี้จะแสดงรายการไฟล์พร้อมขนาด
// เช่น -rw-r--r-- 1 user 5.2M image.png
// นี่คือจุดที่คุณต้องระวัง เพราะ 5.2MB ถือว่าใหญ่เกินไปสำหรับรูปเดียว
บรรทัดแรก ls -lh คือคำสั่ง (คำสั่งที่บอกคอมพิวเตอร์ให้ทำงาน) เพื่อแสดงรายการไฟล์ทั้งหมดในโฟลเดอร์ โดยมี -lh เป็นตัวเลือกเสริมเพื่อให้แสดงขนาดไฟล์เป็นหน่วยที่คนอ่านง่าย ส่วนบรรทัดถัดมาคือตัวอย่างผลลัพธ์ที่จะแสดงชื่อไฟล์และขนาดของมัน
ผลลัพธ์ที่ควรเห็นคือรายการไฟล์ที่เรียงรายกันมา ให้สังเกตที่คอลัมน์ขนาด ถ้าพบไฟล์ไหนมีหน่วยเป็น MB (เมกะไบต์) ให้รีบจัดการย่อขนาดไฟล์นั้นทันที เพื่อไม่ให้เว็บของคุณโหลดช้าเกินไป
ความปลอดภัยต้องมาก่อนเสมอ
มือใหม่มักเผลอใส่ข้อมูลสำคัญไว้ในโค้ด เช่น API Key (รหัสผ่านสำหรับเชื่อมต่อกับบริการอื่น) หรือรหัสผ่านฐานข้อมูล ซึ่งเป็นเรื่องที่อันตรายมาก หากคุณนำโค้ดขึ้นไปไว้บนระบบสาธารณะ คนอื่นอาจจะนำรหัสเหล่านี้ไปใช้ในทางที่ผิดได้
วิธีแก้ที่ถูกต้องคือการใช้ Environment Variables (การเก็บค่าตั้งค่าต่าง ๆ ไว้ในไฟล์แยกต่างหากที่ไม่ได้รวมอยู่ในโค้ดหลัก) วิธีนี้จะช่วยแยกข้อมูลลับออกจากส่วนที่ต้องแสดงผล ทำให้ปลอดภัยจากการถูกแฮ็กหรือถูกขโมยข้อมูลสำคัญไปใช้โดยไม่ได้รับอนุญาต
การฝึกนิสัยนี้ตั้งแต่ต้นจะช่วยให้คุณกลายเป็นโปรแกรมเมอร์ที่มีวินัย เมื่อคุณต้องทำงานในบริษัทจริง คุณจะเข้าใจว่าความปลอดภัยของข้อมูลลูกค้าคือสิ่งที่สำคัญที่สุด และคุณจะไม่มีวันเผลอทำพลาดจนเกิดความเสียหายแน่นอน
// ห้ามเขียนรหัสผ่านตรงๆ ในโค้ดแบบนี้
const apiKey = "12345-secret-key";
// ให้ใช้ตัวแปรสภาพแวดล้อมแทนแบบนี้
const apiKey = process.env.MY_API_KEY;
บรรทัดแรกคือวิธีที่ผิดเพราะรหัสจะติดไปกับโค้ดทุกที่ ส่วนบรรทัดที่สองคือการเรียกใช้ค่าจากไฟล์ตั้งค่าแยกต่างหาก process.env คือตัวแปรที่ดึงค่ามาจากระบบปฏิบัติการ ทำให้รหัสลับของคุณไม่ถูกเปิดเผย
ผลลัพธ์ที่ควรเห็นคือโปรแกรมของคุณยังคงทำงานได้ปกติ แต่เมื่อคุณไปดูในไฟล์โค้ดหลัก คุณจะไม่เห็นรหัสผ่านจริงปรากฏอยู่เลย ซึ่งเป็นการป้องกันพื้นฐานที่ได้ผลดีที่สุด
การทดสอบในสภาพแวดล้อมจริง
หลังจากเอาโปรเจกต์ขึ้นระบบแล้ว งานของเรายังไม่จบ การทดสอบในเครื่องตัวเองต่างจากการทดสอบบนอินเทอร์เน็ต เพราะปัจจัยเรื่องความเร็วเครือข่ายและเบราว์เซอร์ที่ต่างกันอาจทำให้เกิด Bug (ข้อผิดพลาดของโปรแกรม) ที่เราคาดไม่ถึงได้
ลองเปิดเว็บไซต์ของคุณผ่านมือถือ หรือลองเชื่อมต่อผ่าน Wi-Fi ที่ช้าลงดูบ้าง เพื่อดูว่าปุ่มกดทำงานได้ปกติไหม หรือรูปภาพแสดงผลถูกต้องหรือเปล่า การทดสอบในหลาย ๆ สภาวะจะช่วยให้คุณเจอจุดที่ต้องปรับปรุงก่อนที่จะส่งให้คนอื่นใช้งานจริง
จงมองว่าการทดสอบคือการทำ Quality Assurance (การตรวจสอบคุณภาพ) ให้กับผลงานของคุณเอง ยิ่งคุณทดสอบละเอียดเท่าไหร่ เว็บไซต์ของคุณก็จะยิ่งมีความน่าเชื่อถือมากขึ้นเท่านั้น อย่ากลัวที่จะเจอข้อผิดพลาด เพราะทุกบั๊กที่คุณแก้ได้คือบทเรียนที่ทำให้คุณเก่งขึ้น
สรุป: เปลี่ยนจากคนเขียนโค้ดเป็นนักพัฒนา
การเดินทางในสายอาชีพนี้ไม่ได้วัดกันที่ว่าคุณจำคำสั่งได้กี่คำ แต่วัดกันที่ว่าคุณสามารถจัดการกับโปรเจกต์ให้สำเร็จได้อย่างไร Tencent EdgeOne Makers เป็นเพียงเครื่องมือหนึ่งที่ช่วยให้คุณเห็นกระบวนการทำงานจริง ซึ่งเป็นหัวใจสำคัญของการเติบโตในสายงานนี้
เมื่อคุณทำโปรเจกต์เสร็จ ลองตั้งเป้าหมายว่าต้องทำให้มันทำงานบนระบบจริงได้อย่างราบรื่น เริ่มจากโปรเจกต์เล็ก ๆ เช่น เว็บไซต์แสดงผลงานส่วนตัว แล้วค่อย ๆ เพิ่มฟีเจอร์ที่ซับซ้อนขึ้น การที่คุณได้ลองผิดลองถูกเองจะทำให้คุณเข้าใจสิ่งที่ตำราไม่ได้สอน และนั่นคือจุดเริ่มต้นของการเป็นโปรแกรมเมอร์ที่เก่งกาจ
สุดท้ายนี้ จำไว้ว่า Build -> Test -> Publish -> Improve (สร้าง ทดสอบ เผยแพร่ ปรับปรุง) คือวงจรที่คุณต้องทำซ้ำ ๆ ไม่ต้องกังวลหากครั้งแรกจะยังไม่สมบูรณ์แบบ เพราะความผิดพลาดคือครูที่ดีที่สุดสำหรับนักพัฒนาทุกคน เริ่มต้นวันนี้เลย แล้วคุณจะพบว่าการสร้างบางอย่างให้ใช้งานได้จริงบนโลกออนไลน์นั้นสนุกแค่ไหน
ที่มา: Tencent EdgeOne Makers: My Technical Review and Best Practices for Website Deployment — DEV Community