รายการตรวจสอบสำหรับการสร้างและเผยแพร่เว็บแอปพลิเคชัน

ในการสร้างเว็บแอปพลิเคชั่นของคุณเองในยุคของเรานั้นยังไม่เพียงพอที่จะพัฒนาได้ สิ่งสำคัญคือการตั้งค่าเครื่องมือสำหรับการปรับใช้แอปพลิเคชัน การตรวจสอบ ตลอดจนการจัดการและการจัดการสภาพแวดล้อมที่แอปพลิเคชันทำงาน ในขณะที่ยุคของการปรับใช้ด้วยตนเองจางหายไป แม้แต่สำหรับโครงการขนาดเล็ก เครื่องมืออัตโนมัติก็สามารถก่อให้เกิดประโยชน์ที่จับต้องได้ เมื่อปรับใช้ "ด้วยมือ" เรามักจะลืมที่จะย้ายบางสิ่ง คำนึงถึงสิ่งนี้หรือความแตกต่างเล็กน้อย เรียกใช้การทดสอบที่ถูกลืม รายการนี้สามารถดำเนินต่อไปได้ค่อนข้างนาน

บทความนี้อาจช่วยผู้ที่เพิ่งเรียนรู้พื้นฐานของการสร้างเว็บแอปพลิเคชัน และต้องการทำความเข้าใจเล็กน้อยเกี่ยวกับข้อกำหนดและแบบแผนพื้นฐาน

ดังนั้น การสร้างแอปพลิเคชันยังคงสามารถแบ่งออกเป็น 2 ส่วน ได้แก่ ทุกอย่างที่เกี่ยวข้องกับโค้ดของแอปพลิเคชัน และทุกสิ่งที่เกี่ยวข้องกับสภาพแวดล้อมที่ใช้งานโค้ดนี้ ในทางกลับกัน รหัสแอปพลิเคชันยังถูกแบ่งออกเป็นรหัสเซิร์ฟเวอร์ (รหัสที่ทำงานบนเซิร์ฟเวอร์ ซึ่งมักจะเป็น: ตรรกะทางธุรกิจ การอนุญาต ที่จัดเก็บข้อมูล ฯลฯ) และรหัสไคลเอนต์ (รหัสที่ทำงานบนเครื่องของผู้ใช้: บ่อยครั้ง อินเทอร์เฟซและตรรกะที่เกี่ยวข้อง)

มาเริ่มกันที่วันพุธ

พื้นฐานของการทำงานของโค้ด ระบบ หรือซอฟต์แวร์ใดๆ คือระบบปฏิบัติการ ดังนั้นด้านล่างนี้เราจะดูระบบที่ได้รับความนิยมมากที่สุดในตลาดโฮสติ้งและให้คำอธิบายสั้นๆ:

windows Server - Windows เดียวกัน แต่ในรูปแบบเซิร์ฟเวอร์ ฟังก์ชันการทำงานบางอย่างที่มีอยู่ใน Windows เวอร์ชันไคลเอนต์ (ปกติ) ไม่มีอยู่ที่นี่ ตัวอย่างเช่น บริการบางอย่างสำหรับการรวบรวมสถิติและซอฟต์แวร์ที่คล้ายกัน แต่มีชุดยูทิลิตี้สำหรับการดูแลเครือข่าย ซอฟต์แวร์พื้นฐานสำหรับการปรับใช้เซิร์ฟเวอร์ (เว็บ, ftp, ...) โดยทั่วไปแล้ว Windows Server จะดูเหมือน Windows ทั่วไป แต่มีลักษณะเหมือน Windows ทั่วไป แต่มีราคาสูงกว่า Windows ปกติถึง 2 เท่า อย่างไรก็ตาม เนื่องจากคุณมีแนวโน้มที่จะปรับใช้แอปพลิเคชันบนเซิร์ฟเวอร์เฉพาะ/เซิร์ฟเวอร์เสมือน ค่าใช้จ่ายสุดท้ายสำหรับคุณถึงแม้จะเพิ่มขึ้น แต่ก็ไม่ใช่เรื่องสำคัญ เนื่องจากแพลตฟอร์ม Windows ครองตำแหน่งอย่างล้นหลามในตลาดระบบปฏิบัติการสำหรับผู้บริโภค รุ่นเซิร์ฟเวอร์จึงเป็นรุ่นที่คุ้นเคยที่สุดสำหรับผู้ใช้ส่วนใหญ่

ยูนิกซ์-ระบบคล้ายกัน งานแบบดั้งเดิมในระบบเหล่านี้ไม่จำเป็นต้องมีอินเทอร์เฟซแบบกราฟิกที่คุ้นเคย โดยให้ผู้ใช้มีเพียงคอนโซลเป็นองค์ประกอบควบคุมเท่านั้น สำหรับผู้ใช้ที่ไม่มีประสบการณ์การทำงานในรูปแบบนี้อาจเป็นเรื่องยาก ค่าใช้จ่ายในการออกจากโปรแกรมแก้ไขข้อความซึ่งค่อนข้างเป็นที่นิยมในข้อมูลคืออะไร เป็นกลุ่มคำถามที่เกี่ยวข้องกับเรื่องนี้มียอดดูมากกว่า 6 ล้านครั้งใน 1.8 ปี การแจกแจงหลัก (รุ่น) ของตระกูลนี้คือ: Debian - การแจกจ่ายยอดนิยม เวอร์ชันแพ็คเกจในนั้นเน้นที่ LTS เป็นหลัก (การสนับสนุนระยะยาว – รองรับมาเป็นเวลานาน) ซึ่งแสดงความน่าเชื่อถือและเสถียรภาพของระบบและแพ็คเกจค่อนข้างสูง อูบุนตู – มีการแจกจ่ายแพ็คเกจทั้งหมดในเวอร์ชันล่าสุดซึ่งอาจส่งผลต่อความเสถียร แต่ให้คุณใช้ฟังก์ชันที่มาพร้อมกับเวอร์ชันใหม่ได้ Red Hat Enterprise Linux – ระบบปฏิบัติการซึ่งมีการจ่ายเงินเพื่อใช้ในเชิงพาณิชย์ รวมถึงการสนับสนุนจากผู้จำหน่ายซอฟต์แวร์ แพ็คเกจที่เป็นกรรมสิทธิ์และแพ็คเกจไดรเวอร์ CentOS - โอเพ่นซอร์ส รูปแบบของ Red Hat Enterprise Linux โดดเด่นด้วยการขาดแพ็คเกจและการสนับสนุนที่เป็นกรรมสิทธิ์

สำหรับผู้ที่เพิ่งเริ่มเชี่ยวชาญด้านนี้ คำแนะนำของฉันคือระบบ windows Serverหรือ อูบุนตู. หากเราพิจารณา Windows แสดงว่านี่คือความคุ้นเคยของระบบเป็นหลัก อูบุนตู – ทนทานต่อการอัปเดตมากขึ้น และในทางกลับกัน ปัญหาน้อยลงเมื่อเปิดตัวโครงการเกี่ยวกับเทคโนโลยีที่ต้องใช้เวอร์ชันใหม่

เมื่อตัดสินใจเลือกระบบปฏิบัติการแล้ว เรามาดูชุดเครื่องมือที่ช่วยให้คุณสามารถปรับใช้ (ติดตั้ง) อัปเดตและตรวจสอบสถานะของแอปพลิเคชันหรือส่วนต่าง ๆ บนเซิร์ฟเวอร์

การตัดสินใจที่สำคัญต่อไปคือตำแหน่งของแอปพลิเคชันของคุณและเซิร์ฟเวอร์สำหรับแอปพลิเคชันนั้น ในขณะนี้สิ่งที่พบบ่อยที่สุดคือ 3 วิธี:

  • การโฮสต์ (การเก็บ) เซิร์ฟเวอร์ด้วยตัวคุณเองเป็นตัวเลือกที่ประหยัดงบประมาณที่สุด แต่คุณจะต้องสั่งซื้อ IP แบบคงที่จากผู้ให้บริการของคุณ เพื่อให้ทรัพยากรของคุณไม่เปลี่ยนที่อยู่เมื่อเวลาผ่านไป
  • เช่าเซิร์ฟเวอร์เฉพาะ (VDS) – และดูแลระบบและปรับขนาดโหลดอย่างอิสระ
  • ชำระเงิน (มักจะให้โอกาสคุณลองใช้ฟังก์ชันของแพลตฟอร์มได้ฟรี) สำหรับการสมัครสมาชิกคลาวด์โฮสติ้งบางแห่ง ซึ่งรูปแบบการชำระเงินสำหรับทรัพยากรที่ใช้นั้นค่อนข้างธรรมดา ตัวแทนที่โดดเด่นที่สุดของทิศทางนี้: Amazon AWS (ให้ใช้บริการฟรีหนึ่งปี แต่มีข้อจำกัดรายเดือน), Google Cloud (ให้เงิน $300 ให้กับบัญชี ซึ่งสามารถใช้ได้ตลอดทั้งปีกับบริการโฮสติ้งบนคลาวด์) , Yandex.Cloud (ให้ 4000 รูเบิล . เป็นเวลา 2 เดือน), Microsoft Azure (ให้สิทธิ์การเข้าถึงบริการยอดนิยมฟรีเป็นเวลาหนึ่งปี + 12 รูเบิล สำหรับบริการใด ๆ เป็นเวลาหนึ่งเดือน) ดังนั้นคุณสามารถลองใช้ผู้ให้บริการเหล่านี้ได้โดยไม่ต้องเสียเงิน แต่รับความเห็นโดยประมาณเกี่ยวกับคุณภาพและระดับของการบริการที่มีให้

สิ่งเดียวที่จะเปลี่ยนแปลงในอนาคตขึ้นอยู่กับเส้นทางที่เลือกคือใครเป็นผู้รับผิดชอบส่วนใหญ่ในด้านการบริหารด้านนี้หรือด้านนั้น หากคุณโฮสต์ตัวเอง คุณต้องเข้าใจว่าการหยุดชะงักของไฟฟ้า อินเทอร์เน็ต เซิร์ฟเวอร์ ซอฟต์แวร์ที่ใช้งานอยู่ ทั้งหมดนี้อยู่บนไหล่ของคุณ อย่างไรก็ตาม สำหรับการฝึกอบรมและการทดสอบ นี่ก็เกินพอแล้ว

หากคุณไม่มีเครื่องพิเศษที่สามารถทำหน้าที่เป็นเซิร์ฟเวอร์ได้ คุณจะต้องใช้วิธีที่สองหรือสาม กรณีที่สองจะเหมือนกับกรณีแรก โดยมีข้อยกเว้นว่าคุณโอนความรับผิดชอบต่อความพร้อมใช้งานของเซิร์ฟเวอร์และพลังงานไปที่ไหล่ของโฮสต์ การดูแลระบบเซิร์ฟเวอร์และซอฟต์แวร์ยังอยู่ภายใต้การควบคุมของคุณ

และสุดท้ายคือทางเลือกในการเช่าความจุของผู้ให้บริการคลาวด์ ที่นี่คุณสามารถตั้งค่าการควบคุมอัตโนมัติได้เกือบทุกอย่างโดยไม่ต้องลงรายละเอียดทางเทคนิคมากเกินไป นอกจากนี้ แทนที่จะใช้เครื่องเดียว คุณสามารถมีอินสแตนซ์ที่ทำงานแบบขนานหลายรายการได้ ซึ่งสามารถรับผิดชอบในส่วนต่างๆ ของแอปพลิเคชันได้ โดยไม่ทำให้ต้นทุนแตกต่างจากการเป็นเจ้าของเซิร์ฟเวอร์เฉพาะมากนัก และยังมีเครื่องมือสำหรับการเรียบเรียง การบรรจุคอนเทนเนอร์ การปรับใช้อัตโนมัติ การบูรณาการอย่างต่อเนื่อง และอื่นๆ อีกมากมาย! เราจะดูสิ่งเหล่านี้ด้านล่าง

โดยทั่วไป โครงสร้างพื้นฐานเซิร์ฟเวอร์มีลักษณะดังนี้: เรามีสิ่งที่เรียกว่า "ผู้ควบคุม" ("การประสาน" เป็นกระบวนการจัดการอินสแตนซ์เซิร์ฟเวอร์หลายตัว) ซึ่งจัดการการเปลี่ยนแปลงสภาพแวดล้อมบนอินสแตนซ์เซิร์ฟเวอร์ คอนเทนเนอร์การจำลองเสมือน (เป็นทางเลือก แต่ค่อนข้างมาก ที่ใช้บ่อย) ซึ่งช่วยให้คุณสามารถแบ่งแอปพลิเคชันออกเป็นเลเยอร์ลอจิคัลที่แยกได้ และซอฟต์แวร์การรวมอย่างต่อเนื่อง ซึ่งอนุญาตให้อัปเดตโค้ดที่โฮสต์ผ่าน "สคริปต์"

ดังนั้น การจัดประสานช่วยให้คุณเห็นสถานะของเซิร์ฟเวอร์ เผยแพร่หรือย้อนกลับการอัปเดตสภาพแวดล้อมของเซิร์ฟเวอร์ และอื่นๆ ในตอนแรก ลักษณะนี้ไม่น่าจะส่งผลกระทบต่อคุณ เนื่องจากเพื่อที่จะจัดการสิ่งใดๆ คุณจำเป็นต้องมีเซิร์ฟเวอร์หลายเครื่อง (คุณสามารถมีเซิร์ฟเวอร์ได้หนึ่งเครื่อง แต่เหตุใดจึงจำเป็น) และเพื่อที่จะมีเซิร์ฟเวอร์หลายเครื่อง คุณจำเป็นต้องมีเซิร์ฟเวอร์เหล่านั้น ในบรรดาเครื่องมือในทิศทางนี้ เครื่องมือที่ได้รับความนิยมมากที่สุดคือ Kubernetes ซึ่งพัฒนาโดย Google.

ขั้นตอนต่อไปคือการจำลองเสมือนในระดับระบบปฏิบัติการ ในปัจจุบัน แนวคิดเรื่อง "การเทียบท่า" ได้กลายเป็นที่แพร่หลายซึ่งมาจากเครื่องมือนี้ นักเทียบท่าซึ่งจัดเตรียมฟังก์ชันการทำงานของคอนเทนเนอร์ที่แยกออกจากกัน แต่เปิดตัวในบริบทของระบบปฏิบัติการเดียว สิ่งนี้หมายความว่าอย่างไร: ในแต่ละคอนเทนเนอร์เหล่านี้คุณสามารถเรียกใช้แอปพลิเคชันหรือแม้แต่ชุดของแอปพลิเคชันซึ่งจะเชื่อว่าเป็นแอปพลิเคชันเดียวในระบบปฏิบัติการทั้งหมดโดยไม่ต้องสงสัยว่ามีคนอื่นอยู่ในเครื่องนี้ด้วยซ้ำ ฟังก์ชันนี้มีประโยชน์มากสำหรับการเปิดใช้งานแอปพลิเคชันที่เหมือนกันในเวอร์ชันต่างๆ หรือแอปพลิเคชันที่ขัดแย้งกัน เช่นเดียวกับการแบ่งส่วนของแอปพลิเคชันออกเป็นเลเยอร์ เลเยอร์คาสต์นี้สามารถเขียนลงในรูปภาพได้ในภายหลัง ซึ่งสามารถใช้เพื่อปรับใช้แอปพลิเคชันได้ เป็นต้น กล่าวคือ โดยการติดตั้งอิมเมจนี้และปรับใช้คอนเทนเนอร์ที่มีอยู่ คุณจะได้รับสภาพแวดล้อมที่พร้อมสำหรับการรันแอปพลิเคชันของคุณ! ในขั้นตอนแรก คุณสามารถใช้เครื่องมือนี้ทั้งเพื่อวัตถุประสงค์ในการให้ข้อมูลและรับประโยชน์ที่แท้จริงโดยการแบ่งตรรกะของแอปพลิเคชันออกเป็นเลเยอร์ต่างๆ แต่มันก็คุ้มที่จะบอกที่นี่ว่าไม่ใช่ทุกคนที่ต้องการการเชื่อมต่อและไม่เสมอไป การเทียบท่าเป็นสิ่งที่สมเหตุสมผลในกรณีที่แอปพลิเคชันถูก "แยกส่วน" โดยแบ่งออกเป็นส่วนเล็ก ๆ โดยแต่ละส่วนรับผิดชอบงานของตนเอง ซึ่งเรียกว่า "สถาปัตยกรรมไมโครเซอร์วิส"

นอกจากนี้ นอกเหนือจากการจัดหาสภาพแวดล้อมแล้ว เรายังต้องตรวจสอบให้แน่ใจว่ามีการปรับใช้แอปพลิเคชันอย่างมีประสิทธิภาพ ซึ่งรวมถึงการแปลงโค้ดทุกประเภท การติดตั้งไลบรารีและแพ็คเกจที่เกี่ยวข้องกับแอปพลิเคชัน การทดสอบที่รันอยู่ การแจ้งเตือนเกี่ยวกับการดำเนินการเหล่านี้ และอื่นๆ ที่นี่เราต้องให้ความสนใจกับแนวคิดเช่น "การบูรณาการอย่างต่อเนื่อง" (CI – บูรณาการอย่างต่อเนื่อง). เครื่องมือหลักในพื้นที่นี้ในขณะนี้คือ Jenkins (ซอฟต์แวร์ CI ที่เขียนด้วย Java อาจดูซับซ้อนเล็กน้อยในช่วงเริ่มต้น) Travis CI (เขียนด้วยภาษา Ruby เป็นแบบอัตนัย ค่อนข้างง่ายกว่า เจนกินส์อย่างไรก็ตาม ยังจำเป็นต้องมีความรู้บางประการในด้านการกำหนดค่าการใช้งาน) Gitlab CI (เขียนเมื่อ รูบี้และโก).

เมื่อพูดคุยเกี่ยวกับสภาพแวดล้อมที่แอปพลิเคชันของคุณใช้งานได้ ในที่สุดก็ถึงเวลาดูว่าโลกสมัยใหม่มีเครื่องมืออะไรบ้างสำหรับการสร้างแอปพลิเคชันเหล่านี้

เริ่มจากพื้นฐานกันก่อน: แบ็กเอนด์ (แบ็กเอนด์) – ส่วนเซิร์ฟเวอร์ การเลือกภาษาชุดฟังก์ชันพื้นฐานและโครงสร้างที่กำหนดไว้ล่วงหน้า (กรอบงาน) ที่นี่ถูกกำหนดโดยความชอบส่วนตัวเป็นหลัก แต่ก็คุ้มค่าที่จะกล่าวถึงเพื่อการพิจารณา (ความเห็นของผู้เขียนเกี่ยวกับภาษาค่อนข้างเป็นอัตนัยแม้ว่าจะมีการอ้างสิทธิ์ก็ตาม เป็นคำอธิบายที่เป็นกลาง):

  • Python เป็นภาษาที่ค่อนข้างเป็นมิตรสำหรับผู้ใช้ที่ไม่มีประสบการณ์ สามารถให้อภัยข้อผิดพลาดบางอย่างได้ แต่ก็อาจเข้มงวดกับนักพัฒนาได้เช่นกันเพื่อที่เขาจะได้ไม่ทำอะไรที่ไม่ดี ภาษาที่ค่อนข้างเป็นผู้ใหญ่และมีความหมายซึ่งปรากฏในปี 1991
  • Go - ภาษาจาก Google นั้นค่อนข้างเป็นมิตรและสะดวกมันค่อนข้างง่ายในการรวบรวมและรับไฟล์ปฏิบัติการบนทุกแพลตฟอร์ม อาจเรียบง่ายและน่าพอใจ หรืออาจซับซ้อนและจริงจังก็ได้ สดชื่นและอ่อนเยาว์ ปรากฏค่อนข้างเร็วในปี 2009
  • Rust มีอายุมากกว่าเพื่อนร่วมงานคนก่อนเล็กน้อยซึ่งเปิดตัวในปี 2006 แต่ก็ยังค่อนข้างใหม่เมื่อเทียบกับคู่แข่ง มุ่งเป้าไปที่นักพัฒนาที่มีประสบการณ์มากกว่า แม้ว่าจะยังคงพยายามแก้ไขงานระดับต่ำจำนวนมากสำหรับโปรแกรมเมอร์ก็ตาม
  • Java มีประสบการณ์ด้านการพัฒนาเชิงพาณิชย์ เปิดตัวในปี 1995 และเป็นหนึ่งในภาษาที่ใช้บ่อยที่สุดในการพัฒนาแอปพลิเคชันระดับองค์กรในปัจจุบัน ด้วยแนวคิดพื้นฐานและการตั้งค่าที่หนักหน่วง รันไทม์จึงค่อนข้างท้าทายสำหรับผู้เริ่มต้น
  • ASP.net เป็นแพลตฟอร์มการพัฒนาแอปพลิเคชันที่ออกโดย Microsoft ในการเขียนฟังก์ชันการทำงาน ส่วนใหญ่จะใช้ภาษา C# (ออกเสียงว่า C Sharp) ซึ่งปรากฏในปี 2000 ความซับซ้อนของมันเทียบได้กับระดับระหว่าง Java และ Rust
  • PHP เดิมใช้สำหรับการประมวลผลล่วงหน้า HTML ในปัจจุบัน แม้ว่าจะเป็นผู้นำในตลาดภาษาอย่างแท้จริง แต่ก็มีแนวโน้มที่จะมีการใช้งานลดลง มีเกณฑ์ขั้นต่ำและเขียนโค้ดได้ง่าย แต่ในขณะเดียวกัน เมื่อพัฒนาแอปพลิเคชันขนาดใหญ่ ฟังก์ชันการทำงานของภาษาอาจไม่เพียงพอ

ส่วนสุดท้ายของแอปพลิเคชันของเรา - สิ่งที่จับต้องได้มากที่สุดสำหรับผู้ใช้ - ส่วนหน้า (ส่วนหน้า) – คือหน้าตาของแอปพลิเคชันของคุณ โดยเป็นส่วนนี้ที่ผู้ใช้โต้ตอบโดยตรง

ส่วนหน้าที่ทันสมัยตั้งอยู่บนเสาหลักสามประการ เฟรมเวิร์ก (และไม่มาก) สำหรับการสร้างส่วนต่อประสานกับผู้ใช้ โดยไม่ต้องลงรายละเอียด ดังนั้นสามรายการที่ได้รับความนิยมมากที่สุดคือ:

  • ReactJS ไม่ใช่เฟรมเวิร์ก แต่เป็นไลบรารี ที่จริงแล้วเฟรมเวิร์กแตกต่างจากชื่อที่น่าภาคภูมิใจเฉพาะในกรณีที่ไม่มีฟังก์ชันบางอย่าง "นอกกรอบ" และจำเป็นต้องติดตั้งด้วยตนเอง ดังนั้นจึงมี "การเตรียมการ" ของห้องสมุดนี้อยู่หลายรูปแบบ ซึ่งก่อให้เกิดกรอบการทำงานที่มีเอกลักษณ์เฉพาะตัว อาจเป็นเรื่องยากเล็กน้อยสำหรับผู้เริ่มต้น เนื่องจากหลักการพื้นฐานบางประการ และการตั้งค่าสภาพแวดล้อมการสร้างที่ค่อนข้างเข้มงวด อย่างไรก็ตาม เพื่อการเริ่มต้นอย่างรวดเร็ว คุณสามารถใช้แพ็คเกจ “create-react-app” ได้
  • VueJS เป็นเฟรมเวิร์กสำหรับการสร้างส่วนต่อประสานกับผู้ใช้ ในไตรลักษณ์นี้ มันใช้ชื่อของกรอบงานที่เป็นมิตรต่อผู้ใช้มากที่สุดอย่างถูกต้อง สำหรับการพัฒนาใน Vue อุปสรรคในการเข้าสู่นั้นต่ำกว่าของพี่น้องคนอื่นๆ ที่กล่าวถึง ยิ่งกว่านั้นเขายังอายุน้อยที่สุดในหมู่พวกเขา
  • Angular ถือเป็นเฟรมเวิร์กที่ซับซ้อนที่สุด ซึ่งเป็นเฟรมเวิร์กเดียวที่ต้องการ สิ่งที่พิมพ์ด้วยพิมพ์ดีด (ส่วนเสริมสำหรับภาษา Javascript) มักใช้เพื่อสร้างแอปพลิเคชันระดับองค์กรขนาดใหญ่

เมื่อสรุปสิ่งที่เขียนไว้ข้างต้น เราสามารถสรุปได้ว่าขณะนี้การปรับใช้แอปพลิเคชันแตกต่างอย่างสิ้นเชิงจากกระบวนการนี้ที่ดำเนินการก่อนหน้านี้ อย่างไรก็ตาม ไม่มีใครหยุดคุณจากการดำเนินการ “ปรับใช้” ด้วยวิธีเดิมๆ แต่เวลาเพียงเล็กน้อยที่ประหยัดได้ตั้งแต่เริ่มต้นนั้นคุ้มค่ากับข้อผิดพลาดจำนวนมากที่นักพัฒนาที่เลือกเส้นทางนี้จะต้องก้าวต่อไปหรือไม่? ฉันเชื่อว่าคำตอบคือไม่ ด้วยการใช้เวลาทำความคุ้นเคยกับเครื่องมือเหล่านี้เพิ่มขึ้นอีกเล็กน้อย (และคุณไม่จำเป็นต้องมีมากกว่านั้น เพราะคุณต้องเข้าใจว่าคุณต้องการเครื่องมือเหล่านี้ในโปรเจ็กต์ปัจจุบันหรือไม่) คุณสามารถลองใช้ดูได้ โดยลดขนาดลงอย่างมาก เช่น , กรณีของข้อผิดพลาดโกสต์ขึ้นอยู่กับสภาพแวดล้อมและที่ปรากฏบนเซิร์ฟเวอร์ที่ใช้งานจริงเท่านั้น การวิเคราะห์ทุกคืนถึงสาเหตุที่ทำให้เซิร์ฟเวอร์ล่มและเหตุใดจึงไม่เริ่มทำงาน และอื่นๆ อีกมากมาย

ที่มา: will.com

เพิ่มความคิดเห็น