วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

4
วิธีจัดการกับโปรเจ็กต์การเขียนโปรแกรมที่ล้มเหลว?
ไม่ใช่เรื่องแปลกที่โครงการจะล้มเหลว ในฐานะโปรแกรมเมอร์คุณจัดการกับโปรเจ็กต์ที่ล้มเหลวอย่างไร คำจำกัดความบางประการของความล้มเหลว: คิดถึงกำหนด รหัสและฟังก์ชั่นไม่ได้ทำในสิ่งที่ควรจะเป็น ซอฟต์แวร์กลายเป็นไอ - แวร์หรือจำนวนเฟสไม่สิ้นสุดโดยพื้นฐานแล้วไม่สามารถส่งมอบได้ หรือบางทีคุณอาจมีคำนิยามของความล้มเหลว คุณเริ่มชี้นิ้วหรือไม่? คุณตำหนิตัวเอง, ข้อกำหนด, เทคโนโลยี, การจัดการ, ลูกค้า ฯลฯ หรือไม่? คุณได้เรียนรู้บทเรียนจากการทำงานเป็นทีมหรือไม่?
12 team  project  failure 

8
เราควรใช้ความพยายามมากแค่ไหนในการเขียนโปรแกรมสำหรับหลายคอร์?
โปรเซสเซอร์กำลังเพิ่มจำนวนคอร์มากขึ้นในทุกวันนี้ซึ่งทำให้ฉันสงสัย ... เราควรโปรแกรมเมอร์ปรับให้เข้ากับพฤติกรรมนี้และใช้ความพยายามมากขึ้นในการเขียนโปรแกรมสำหรับหลายแกน เราควรทำและเพิ่มประสิทธิภาพสิ่งนี้ในระดับใด เกลียว? ความสัมพันธ์กัน? การปรับแต่งฮาร์ดแวร์ให้เหมาะสม? อื่น ๆ อีก?
12 multi-core 

8
คุณตัดสินใจได้อย่างไรว่าจะทำอะไรในเวลาของคุณเอง? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันมีอาการคันและต้องมีการขีดข่วน วันนี้ฉันไม่มีอะไรจะเขียนโปรแกรม โดยปกติฉันจะเลือกรสชาติของเทคโนโลยีเดือนและซอกับมัน แต่ฉันต้องการที่จะทำบางสิ่งบางอย่างและหยุดพักจากการวิจัยอย่างจริงจัง / การทดลองในขณะที่และเพียงแค่เขียนบางสิ่งบางอย่างเพื่อความสนุกสนาน (เช่นไม่จำเป็นต้องศึกษาอย่างแท้จริง การพัฒนา) ปัญหาคือ ฉันไม่สามารถนึกถึงซอฟต์แวร์ที่ฉันต้องการได้ ลอดผ่านโครงการโอเพนซอร์ซในไซต์ต่าง ๆ เพื่อช่วยเหลือกำลังระทมทุกข์ (ลงท่อ 5 ชั่วโมงจนถึง - ไม่คุ้มปัญหา) ฉันไม่ได้กำลังมองหาคำแนะนำที่เฉพาะเจาะจงสำหรับสิ่งที่ต้องทำเพราะนั่นจะเป็นงานที่หนักมาก ฉันไม่คิดว่าที่นี่รู้ดีพอที่จะให้คำแนะนำได้ดี ดังนั้นฉันถามว่ามีการออกกำลังกายทางจิตที่คุณใช้ในการตัดสินใจว่าจะทำอย่างไรเมื่อคุณไม่ได้ "fiddlin" "?

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

4
คุณคิดว่า GAE เพียงอย่างเดียวนั้นเพียงพอที่จะพิสูจน์การเรียนรู้ของ Python มากกว่า Ruby หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อพิจารณาถึงความจริงที่ว่าคุณไม่จำเป็นต้องมีส่วนร่วมในการติดตั้ง / ซื้อเซิร์ฟเวอร์หรือแม้แต่ซื้อโดเมนคุณคิดว่าข้อเท็จจริงเพียงอย่างเดียวก็เพียงพอแล้วที่จะเลือกโดเมนอื่น ฉันไม่ต้องการทำงานกับ Google App Engine ฉันแค่พบว่าสะดวกเมื่อพูดถึงการโฮสต์ / สภาพแวดล้อม / ฯลฯ และสงสัยว่านั่นเป็นเหตุผลที่ดีพอที่จะเรียนรู้หลาม ไม่ว่าในกรณีใดฉันไม่ได้มองหาการถกเถียงระหว่างไพ ธ อนกับทับทิม แต่มีมากขึ้นใน Google App Engine และค่าของมันเพียงพอที่จะกำหนดภาษาที่คุณควรเรียนรู้หรือไม่

9
ข้อเสนอแนะสำหรับโปรแกรมที่ต้องพัฒนาเพื่อการเรียนรู้ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันสงสัยว่านอกเหนือจากแอพ Hello World ที่เรียบง่ายมาก ๆ แล้วฉันควรลองพัฒนาโปรแกรมอะไรเพื่อการเรียนรู้ ฉันกำลังเข้ามหาวิทยาลัยในปีหน้าและสงสัยว่าโปรแกรมประเภทใดจะได้รับการพัฒนาในสภาพแวดล้อมนั้น นี่ไม่ใช่ภาษาที่เฉพาะเจาะจงจริงๆ แต่ถ้าคุณต้องการทราบว่าฉันใช้อะไรเป็นหลักในปัจจุบัน windows: C # / WPF - ฉันศึกษา java / vb และอื่น ๆ ในโพลี แต่ฉันคิดว่า C # เป็นวิธีที่จะไปบางทีแม้แต่ F # เว็บ: PHP / MySQL, Zend Framework / Doctrine, + HTML …

6
ใบอนุญาตที่ดีที่สุดสำหรับห้องสมุดสาธารณูปโภคหรือไม่?
ฉันมีไลบรารียูทิลิตี้ขนาดเล็กของสิ่งที่มีประโยชน์ที่เขียนใน Java ที่ฉันวางแผนที่จะปล่อยโอเพนซอร์ส ฉันลังเลที่จะใช้สิทธิ์การใช้งานใด ฉันชอบใบอนุญาต BSDซึ่งสั้นและเข้าใจง่าย แต่ฉันไม่ต้องการ / ต้องการข้อเกี่ยวกับการรวมข้อจำกัดความรับผิดชอบในเอกสารประกอบของผลิตภัณฑ์ พิจารณาเพียงแค่ปล่อยบิตนั้นออกมา จะMIT ใบอนุญาตเหมาะกับผมดีขึ้นแล้ว? ไม่มีข้อห้ามการรับรองเช่นเดียวกับ BSD ซึ่งเป็นสิ่งที่ฉันชอบเกี่ยวกับ BSD อีกทั้งประโยคของ MIT เกี่ยวกับการเก็บประกาศลิขสิทธิ์ในส่วนสำคัญของซอฟต์แวร์เพียงอ้างถึงซอร์สโค้ดไม่ใช่รูปแบบไบนารีหรือเอกสารใด ๆ ที่ผลิต จากการสำรวจอื่น ๆดังนั้นคำถามเกี่ยวกับหัวข้อที่ผมเคยเห็นบางคนแนะนำให้ใบอนุญาต Apache มีการสแกนอย่างรวดเร็วแม้ว่ามันก็จริงอาจจะทำมากที่สุดของสิ่งที่ฉันต้องการได้ดีจริงๆแม้ว่าปริมาณของ legalese ทำให้หัวของฉันเจ็บ (โดยเฉพาะอย่างยิ่งที่ 02:30 เมื่อฉันควรจะอยู่ในเตียงแทนในSO .) คิด? โดยทั่วไปฉันต้องการบางสิ่งที่: เข้าใจง่าย บอกว่าคุณสามารถใช้รหัสได้ตามที่คุณต้องการ แต่เก็บลิขสิทธิ์และประกาศการอนุญาตของฉันไว้ในซอร์สโค้ด คุณไม่จำเป็นต้องใส่ชื่อของฉันหรือผลิตภัณฑ์หรือประกาศลิขสิทธิ์ของฉันไว้ในเอกสารคู่มืออื่น ๆ ที่คุณผลิต อย่าพยายามใช้ฉันหรือผลิตภัณฑ์ของฉันเป็นจุดขายสำหรับผลิตภัณฑ์ของคุณ (ไม่ใช่ว่าการรับรองของฉันจะนับรวมอยู่มาก!) และครอบคลุมก้นของฉันในลักษณะที่เหมาะสม :-) แก้ไข: ว้าว 30 นาทีแล้วคำตอบที่ดีอยู่แล้ว! ในการตอบสนอง: ฉันไม่ต้องการ "ผสมและตรงกับ" …

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

29
สิ่งที่ทำให้นักพัฒนาซอฟต์แวร์ช้าลงได้บ้าง [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สิ่งใดที่มีแนวโน้มที่จะทำให้นักพัฒนาช้าลง โปรดพยายามอย่าโพสต์คำตอบที่: ช้าในขณะนี้ แต่มีประโยชน์ในคุณสมบัติ (TDD การสร้างใหม่ ... ) รายการสิ่งที่ทำให้ไขว้เขว

1
ฉันแก้ไขโครงการทั้งหมดของบางคนโดยไม่ตั้งใจ มีวิธีใดที่จะดึงคำขอได้หรือไม่
ฉันพบโปรเจ็กต์ที่ยอดเยี่ยมเกี่ยวกับ GitHub ที่มีคุณสมบัติศูนย์กลางที่มีประโยชน์ แต่หยาบใน "การขัด" ของการจัดการข้อผิดพลาดการบันทึกการกำหนดค่าและการตั้งค่า โครงการไม่มีการเปลี่ยนแปลง 5 ปีและมีรหัสเพียงสองร้อยบรรทัด ยังคงมีประโยชน์มากพอที่จะให้ความสนใจกับนักดูจำนวนที่เหมาะสมและส้อมจำนวนหนึ่ง จำเป็นต้องมีการเพิ่มเฉพาะสำหรับการใช้งานของฉัน แต่ก่อนหน้านั้นฉันทำการล้างข้อมูล จากนั้นฉันก็ได้วิศวกรที่คลั่งไคล้และในช่วงหนึ่งสัปดาห์ที่ฉันจบลงด้วยการเพิ่มระบบการบันทึกการบันทึกจำนวนมากการตั้งค่าอัตโนมัติการกำหนดค่าที่แยกออกจากรหัสและลงในไฟล์การกำหนดค่าภายนอก (และรหัสเพื่ออ่าน) รวมทั้งแก้ไขข้อบกพร่องสองสามเช่นเดียวกับที่ฉันพบพวกเขา ฉันคิดว่าการเปลี่ยนแปลงทั้งหมดของฉันนั้นสมเหตุสมผล / ดีและเป็นสิ่งที่ผู้ชมจำเป็นต้องใช้ แต่มีความมุ่งมั่นจำนวนมากเกือบจะมากที่สุดเท่าที่ repo มีอยู่เดิม (หลีกเลี่ยงตัวเลขเพื่อรักษาข้อมูลทั่วไปนี้) นอกจากนี้การตำหนิ git ยังแสดงให้เห็นว่าฉันได้สัมผัสเกือบทุกบรรทัดของ codebase นี้ (เล็ก!) ฉันไม่ได้ต้องการควบคุมโครงการหรือจำเป็นต้องให้เครดิตกับสิ่งที่ฉันได้ทำไป แต่ให้ทางเลือกที่ฉันต้องการที่จะเห็นการเปลี่ยนแปลงของฉันรวมเพื่อให้ทุกคนสามารถได้รับประโยชน์จากพวกเขามากกว่าที่จะซ่อนอยู่ในทางแยกใน GitHub ที่ไม่รู้จักของฉัน ฉันไม่เคยส่งคำขอดึงมาก่อน แต่ฉันรู้ว่าควรมีขนาดเล็กและง่ายต่อการตรวจสอบ แต่ที่นี่ฉันลงไปและทำการเปลี่ยนแปลงเปลี่ยนแปลงจำนวนมาก ความมุ่งมั่นของฉันนั้นสะอาดมากเมื่อฉันมีประวัติอย่างระมัดระวังตลอด แต่พวกเขาก็ยากที่จะแยกออกเป็นหลายสาขา / ดึงคำขอเพราะส่วนใหญ่จำเป็นต้องสร้างขึ้นมาเอง ตัวอย่างเช่นการกำหนดค่าภายนอกถูกสร้างขึ้นในการเตรียมการล้างข้อมูลและมีการตั้งค่าบางส่วนในการเติมการตั้งค่าเหล่านั้นการบันทึกถูกเปิดใช้งานและกำหนดค่าโดยการตั้งค่าภายนอกที่สร้างขึ้นในการตั้งค่าเป็นต้น ทำสิ่งที่ฉันสามารถทำได้เพื่อให้ยาเม็ดใหญ่โตอร่อยกว่านี้ฉันไม่รู้ว่ามันจะเป็นยังไง ฉันแบ่งออกได้สองสามอย่าง แต่การยกเครื่องครั้งใหญ่ยังคงใหญ่อยู่ ดังนั้นจะทำอย่างไรถ้าพวกเขายกเครื่องโครงการของใครบางคนโดยไม่ตั้งใจ? ฉันควรเรียนรู้บทเรียนของฉันที่จะไม่ทำและเก็บการเปลี่ยนแปลงของตัวเองไว้กับตัวเองหรือไม่? ฉันควรจะดึงคำขอและดูว่าเกิดอะไรขึ้น ฉันควรใช้คำศัพท์อธิบายตัวเองเป็นจำนวนมากหรือไม่? ฉันควรจะนำเสนอมันในบางวิธีหรือไม่?

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

3
docblock เป็นประเภทคำแนะนำซ้ำซ้อนเมื่อใช้การพิมพ์ที่เข้มงวด
ฉันมี codebase ส่วนตัวขนาดใหญ่มากซึ่งมีการพัฒนามาประมาณสิบปีแล้ว ฉันไม่ได้ใช้ phpDocumentor แต่เนื่องจากการใช้ส่วน docblock ได้กลายเป็นมาตรฐานในโครงการโอเพ่นซอร์สฉันได้ใช้การเขียน docblock สำหรับวิธีสาธารณะทั้งหมดในที่เก็บของฉันเช่นกัน บล็อกส่วนใหญ่มีเพียงคำอธิบายขนาดเล็กและคำแนะนำสำหรับพารามิเตอร์ทั้งหมดและประเภทผลตอบแทน ด้วยการมาถึงของการวิเคราะห์แบบคงที่คำใบ้ประเภทนี้ช่วยให้ฉันค้นหาความไม่สอดคล้องและข้อบกพร่องที่อาจเกิดขึ้นได้มากมาย เมื่อเร็ว ๆ นี้ฉันได้แปลง codebase ทั้งหมด (ตอนนี้ทำงานบน PHP7.2) เพื่อให้พารามิเตอร์ทั้งหมดและส่งคืนค่าชนิดที่บอกใบ้เท่าที่จะเป็นไปได้โดยใช้ typehints ของ PHP และตอนนี้ฉันสงสัยว่า ... docblock typehints redundant เหล่านี้ไม่ใช่หรือ มันขอให้ทำงานค่อนข้างน้อยเพื่อให้ docblock ทั้งหมดสอดคล้องกับรหัสที่เปลี่ยนแปลงตลอดเวลาและเนื่องจากพวกเขาไม่ได้เพิ่มข้อมูลใหม่ฉันสงสัยว่ามันเป็นการดีที่จะลบออกทั้งหมดหรือไม่ ในมือเดียวการลบเอกสารรู้สึกไม่ดีแม้ว่าจะซ้ำซ้อน ในที่อื่น ๆ ฉันรู้สึกเหมือนได้ทำลายสิ่งที่ต้องทำซ้ำ ๆ ในชีวิตประจำวันแบบที่ไม่ต้องทำซ้ำ - ตัวคุณเอง
12 php  comments 

5
การแก้ไขวัตถุที่ส่งผ่านโดยการอ้างอิงเป็นการปฏิบัติที่ไม่ดี
ในอดีตฉันมักจะทำการจัดการวัตถุส่วนใหญ่ด้วยวิธีการหลักที่กำลังสร้าง / อัปเดต แต่ฉันพบว่าตัวเองกำลังใช้วิธีการที่แตกต่างกันเมื่อเร็ว ๆ นี้และฉันอยากรู้ว่ามันเป็นการปฏิบัติที่ไม่ดีหรือไม่ นี่คือตัวอย่าง สมมติว่าฉันมีพื้นที่เก็บข้อมูลที่ยอมรับUserเอนทิตี แต่ก่อนที่จะแทรกเอนทิตีเราเรียกวิธีการบางอย่างเพื่อให้แน่ใจว่าฟิลด์ทั้งหมดตั้งค่าเป็นสิ่งที่เราต้องการ ตอนนี้แทนที่จะเรียกวิธีการและตั้งค่าเขตข้อมูลจากภายในวิธีการแทรกฉันเรียกชุดวิธีการเตรียมที่รูปร่างวัตถุก่อนที่จะแทรก วิธีเก่า: public void InsertUser(User user) { user.Username = GenerateUsername(user); user.Password = GeneratePassword(user); context.Users.Add(user); } วิธีการใหม่: public void InsertUser(User user) { SetUsername(user); SetPassword(user); context.Users.Add(user); } private void SetUsername(User user) { var username = "random business logic"; user.Username = username; } private …

3
การใช้สภาพแวดล้อมการพัฒนาของฉันในคอนเทนเนอร์ Docker มีประโยชน์อย่างไร
ฉันพัฒนาโดยใช้ Visual Studio เป็นหลักบน Windows ปัญหาคือหลังจากที่ในขณะ Windows ได้รับจมและฉันต้องเผชิญกับการติดตั้ง Windows การสลับไปใช้เครื่องใหม่ในทำนองเดียวกันก็เป็นปัญหา การติดตั้ง Windows ใหม่อีกครั้งนั้นเจ็บปวดเพราะสภาพแวดล้อมการพัฒนาของฉันมีการพึ่งพาจำนวนมาก (เช่นไฟล์การกำหนดค่า MSBuild พิเศษ, นามสกุล VS, npm, Java เป็นต้น) ฉันไม่คิดว่าฉันคนเดียวที่มีระบบที่ซับซ้อนและการสำรองข้อมูลอาจใช้เวลาอย่างน้อยหนึ่งวัน ฉันไม่ได้ใช้ Docker จริงๆ แต่ในทางทฤษฎีแล้วดูเหมือนว่าฉันสามารถตั้งค่าสภาพแวดล้อมการพัฒนาของฉันใน Windows Container แล้วเพียงแค่จัดส่งไปรอบ ๆ (เช่นคัดลอกไปยังแล็ปท็อปของฉันติดตั้ง Windows ใหม่) และควรเจ็บปวด . เป็นสิ่งที่ฉันอธิบายได้หรือไม่ มีข้อเสียเช่นประสิทธิภาพความน่าเชื่อถือหรือไม่ gotchas อื่น ๆ
12 docker 

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.