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

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

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

8
ทำไมเว็บไซต์ ASP.Net อาจโหลดช้า [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา โดยปกติฉันได้เยี่ยมชมเว็บไซต์. aspx จำนวนมากที่ต้องใช้เวลาโหลดจำนวนมากสำหรับแต่ละหน้า ประสบการณ์ของฉันมีลักษณะเฉพาะหรือไม่? ถ้าไม่ทำไมเว็บไซต์ ASP.Net อาจโหลดช้า แก้ไข:ตอนนี้ประมาณ 7 ปีต่อมา (12/29/2017) ข่าวดีก็คือฉันไม่เห็นปัญหานี้อีกแล้วอาจเป็นเพราะ Google เริ่มลงโทษเว็บไซต์ที่โหลดช้าเกินไป ตอนนี้ฉันใช้ ASP.NET MVC กับผลลัพธ์ที่ดีปัจจุบันทำงานบนเซิร์ฟเวอร์เสมือน Vultr ส่วนตัว (Azure ช้าเกินไปเมื่อเราลองใช้) ผู้กระทำผิดที่เลวร้ายที่สุดที่ฉันเห็นตอนนี้คือระบบ CMS เช่น Wordpress และ Drupal อาจทำงานต่อไป ฮาร์ดแวร์ที่ช้าเกินไปหรือต่ำกว่าปริมาณการรับส่งข้อมูลที่ไซต์ได้รับ -HK1

3
จะรวมไลบรารี apache ด้วยรหัส opensource ของฉันได้อย่างไร
ฉันมีโค้ดโอเพนซอร์ซนี้พร้อมใบอนุญาต MIT ซึ่งใช้ไลบรารี่ Apache 2.0 ที่มีไลเซนส์ ฉันต้องการรวมสิ่งนี้ไว้ในโครงการของฉันเพื่อที่จะสามารถสร้างได้ทันที ในจุดที่ 4 ของใบอนุญาตนั้นจะอธิบายวิธีการแจกจ่ายต่อ: ตัดตอนมา: 4. แจกจ่าย คุณสามารถทำซ้ำและแจกจ่ายสำเนาของงานหรืองานดัดแปลงในสื่อใด ๆ ที่มีหรือไม่มีการดัดแปลงและในรูปแบบที่มาหรือวัตถุโดยมีเงื่อนไขว่าคุณปฏิบัติตามเงื่อนไขต่อไปนี้: คุณต้องให้สำเนาของสัญญาอนุญาตนี้แก่ผู้รับผลงานหรือผลงานอื่น และ คุณต้องทำให้ไฟล์ที่ถูกแก้ไขใด ๆ มีการแจ้งเตือนที่เด่นชัดว่าคุณเปลี่ยนไฟล์ และ คุณต้องเก็บไว้ในรูปแบบแหล่งที่มาของงานอนุพันธ์ใด ๆ ที่คุณแจกจ่ายลิขสิทธิ์สิทธิบัตรเครื่องหมายการค้าและคำบอกแหล่งที่มาจากรูปแบบแหล่งที่มาของงานไม่รวมถึงประกาศที่ไม่เกี่ยวข้องกับส่วนใด ๆ ของงานอนุพันธ์; และ หากงานมีไฟล์ข้อความ "ประกาศ" เป็นส่วนหนึ่งของการเผยแพร่งานดัดแปลงใด ๆ ที่คุณแจกจ่ายจะต้องมีสำเนาของประกาศที่มีลักษณะที่สามารถอ่านได้ซึ่งอยู่ในไฟล์ประกาศดังกล่าวซึ่งไม่รวมถึงประกาศที่ไม่เกี่ยวข้องกับส่วนใด ๆ ของ งานดัดแปลงในสถานที่ต่อไปนี้อย่างน้อยหนึ่งแห่ง: ภายในไฟล์ข้อความประกาศที่แจกจ่ายเป็นส่วนหนึ่งของงานดัดแปลง; ภายในแบบฟอร์มแหล่งข้อมูลหรือเอกสารหากมีให้พร้อมกับงานดัดแปลง; หรือภายในจอแสดงผลที่สร้างขึ้นโดยงานอนุพันธ์หากและที่ใดก็ตามที่ประกาศบุคคลที่สามดังกล่าวปรากฏขึ้นตามปกติ เนื้อหาของไฟล์ NOTICE มีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้นและห้ามแก้ไขใบอนุญาต คุณสามารถเพิ่มประกาศการระบุแหล่งที่มาของคุณเองภายในงานดัดแปลงที่คุณแจกจ่ายข้างหรือเป็นภาคผนวกของข้อความประกาศจากงาน โดยมีเงื่อนไขว่าประกาศเพิ่มเติมที่มาดังกล่าวไม่สามารถตีความได้ว่าเป็นการดัดแปลงใบอนุญาต คุณอาจเพิ่มคำแถลงลิขสิทธิ์ของคุณเองในการแก้ไขของคุณและอาจให้ข้อกำหนดและเงื่อนไขสิทธิ์ใช้งานเพิ่มเติมหรือแตกต่างกันสำหรับการใช้การทำซ้ำหรือการแจกจ่ายการดัดแปลงของคุณหรือสำหรับงานดัดแปลงใด ๆ ดังกล่าวทั้งหมดให้ใช้งานของคุณ มิฉะนั้นงานจะเป็นไปตามเงื่อนไขที่ระบุไว้ในใบอนุญาตนี้ ฉันไม่ได้สร้างงานดัดแปลง (ฉันวางแผนที่จะจัดทำตามที่เป็นอยู่) …

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

2
กำลังย้ายตรรกะ UI ทั้งหมดไปยังฝั่งไคลเอ็นต์หรือไม่
ทีมงานของเราเดิมประกอบด้วยนักพัฒนาด้านเซิร์ฟเวอร์ส่วนใหญ่ที่มีความเชี่ยวชาญขั้นต่ำใน Javascript ใน ASP.NET เราเคยเขียนตรรกะ UI จำนวนมากในโค้ดหลังหรือมากกว่านั้นเมื่อเร็ว ๆ นี้ผ่านคอนโทรลเลอร์ใน MVC เมื่อไม่นานมานี้นักพัฒนาด้านลูกค้าระดับสูง 2 คนได้เข้าร่วมทีมของเรา พวกเขาสามารถทำได้ใน HTMl / CSS / Javascript ทุกอย่างที่เราสามารถทำได้กับโค้ดฝั่งเซิร์ฟเวอร์และการควบคุมเว็บฝั่งเซิร์ฟเวอร์: แสดง / ซ่อนส่วนควบคุม ทำการตรวจสอบ ควบคุมการรีเฟรช AJAX ดังนั้นฉันจึงเริ่มคิดว่าบางทีมันอาจจะมีประสิทธิภาพมากกว่าในการสร้าง API ระดับสูงรอบตรรกะทางธุรกิจของเราอย่างเช่น Amazon Fulfillment API: http://docs.amazonwebservices.com/fws/latest/APIReference/ลูกค้า นักพัฒนาด้านจะใช้เวลามากกว่า UI ในขณะที่นักพัฒนาด้านเซิร์ฟเวอร์จะเน้นเฉพาะตรรกะทางธุรกิจ ดังนั้นสำหรับการสั่งซื้อระบบคุณจะมี API ระดับสูงเช่น: OrderService.asmx CreateOrderResponse CreateOrder(CreateOrderRequest) AddOrderItem AddPayment - SubmitPayment - GetOrderByID FindOrdersByCriteria ... …

1
ฉันรู้สึกอึดอัดกับไวยากรณ์ของ Haskell
ไวยากรณ์ส่วนใหญ่ของ Haskell มีความบริสุทธิ์ แต่ไวยากรณ์บันทึกดูน่าเกลียด มันอึดอัด มันให้ความรู้สึกบางอย่างผสมกับ C มันต้องใช้เครื่องหมายจุลภาคและวงเล็บ Haskell มีแถบแยกตามบรรทัด ดังนั้นมันดู verbose มากเกินกว่าที่มันต้องการ ทำไมมันถูกออกแบบมาในแบบนั้น?
9 syntax  haskell 

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

6
นักพัฒนาสิ่งใดที่ต้องการเรียนรู้ในการเริ่มต้นครั้งถัดไป [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในฐานะนักพัฒนาฉันรู้ว่าฉันชอบการเรียนรู้สิ่งใหม่มากแค่ไหน ตอนนี้ฉันจ้างนักพัฒนาเพื่อเริ่มต้นฉันรู้ว่าฉันไม่สามารถแข่งขันกับโบนัส zillion ดอลลาร์ของ Google และโรงอาหารแฟนซี แต่เราเต็มไปด้วยโอกาสสำหรับผู้ที่อยากรู้อยากเห็นที่จะเรียนรู้ ฉันต้องการตั้งค่าเพื่อรองรับสิ่งนั้น ดังนั้นหากคุณเป็นนักพัฒนาที่จะเข้าร่วมเริ่มต้นคุณต้องการเรียนรู้อะไร สิ่งที่ผลิตภัณฑ์? สิ่งที่ธุรกิจ? การวิจัยการออกแบบหรือเทคโนโลยีของผู้ใช้มีอะไรบ้าง? หรือถ้าเป็นการเรียนรู้ด้านเทคนิคที่มากขึ้นคุณต้องการที่จะเรียนรู้ลึกลงไปในสิ่งที่คุณรู้ (เช่น back end learning back end) หรือ cross-train (เช่น front end learning back back) หรือไม่? หรือมีอย่างอื่นอย่างสิ้นเชิง?

4
เหตุใดจึงไม่แนะนำให้มีคุณสมบัติแบบเซ็ตเท่านั้น
วันนี้ที่ทำงานเพื่อนร่วมงานคนหนึ่งของฉันตรวจสอบรหัสของฉันและแนะนำให้ฉันลบคุณสมบัติที่กำหนดเท่านั้นและใช้วิธีการแทน เมื่อเราทั้งคู่กำลังยุ่งกับสิ่งอื่นเขาบอกให้ฉันดูProperty Designหัวข้อจากหนังสือ "แนวทางการออกแบบกรอบงาน" ในหนังสือเล่มนี้ผู้เขียนพูดเพียงเพื่อหลีกเลี่ยง: คุณสมบัติที่มี setter ที่เข้าถึงได้กว้างกว่า getter และตอนนี้ฉันสงสัยว่าทำไมมันไม่แนะนำให้มีคุณสมบัติเป็นชุดเท่านั้น? บางคนสามารถอธิบายให้ฉันได้ไหม

7
การคัดลอกผลงาน HTML / CSS
ฉันกำลังเผชิญกับปัญหาที่นี่ ลูกค้าขอให้ฉันคัดลอกไซต์ที่ถูกต้องและแม้ว่าฉันพยายามโน้มน้าวให้เขาออกแบบใหม่เขาก็ไม่ยอมรับ เขาชอบการออกแบบนี้มาก (ในหมายเหตุด้านมันน่ากลัวและล้าสมัย แต่ฉันจะไม่พูดแบบนั้นกับเขา!) สองสามสัปดาห์ที่ผ่านมาเนื่องจากเรากำลังพูดถึงเรื่องนี้และฉันไม่รู้จะทำอย่างไร คุณมีประสบการณ์ที่คล้ายกันหรือไม่ ฉันไม่ต้องการสูญเสียลูกค้าเขาจ่ายดีและงานของเขาง่ายมาก ในเวลาเดียวกันฉันไม่ต้องการที่จะใส่ลายเซ็นของฉันในงานของคนอื่น ข้อเสนอแนะใด ๆ ประสบการณ์ที่คล้ายกัน? ขอบคุณ!
9 design  ethics 

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

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

4
บริษัท ของคุณคิดที่จะเปลี่ยนจากจาวาเป็นเทคโนโลยีอื่นหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ดังที่นักพัฒนา Java ทุกคนรู้ว่า Oracle ซื้อ Sun และอนาคตของ javaดูเหมือนไม่ชัดเจนโดยเฉพาะอย่างยิ่งเนื่องจาก Oracle ต้องการสร้างรายได้ JVM ภาษาจาวาในฐานะที่เป็นภาษาก็ยังคงค้างในช่วงไม่กี่ปีที่ผ่านมาการไม่รวมการปิดเป็นตัวอย่างหนึ่ง (ซึ่งอาจรวมอยู่ในจาวา 1.8) ในเวลาเดียวกันมีการใช้เทคโนโลยีใหม่บางอย่างเช่น Ruby, Scala และ Groovy เพื่อส่งมอบเว็บไซต์ที่ซับซ้อน ฉันสงสัยว่ามี บริษัท หรือองค์กรที่กำลังพูดคุยทำหนามแหลมหรือเริ่มใช้เทคโนโลยีที่แตกต่างด้วยความคิดที่จะหยุดการใช้จาวาสำหรับโครงการกรีนฟิลด์ในลักษณะเดียวกันกับที่ 15 ปีที่แล้ว บริษัท ย้ายจาก C ++ และเทคโนโลยีอื่น ๆ กับ Java ฉันยังสนใจที่จะรู้ว่าสิ่งที่เป็นความประทับใจของสิ่งนี้เกิดขึ้นเช่น: การวางแผนที่จะย้ายไปยังเทคโนโลยีที่แตกต่างใน 2 ปี เพื่อความชัดเจนฉันไม่ได้ถามว่าเทคโนโลยีไหนดีกว่า ฉันกำลังถามว่าองค์กรของคุณกำลังคิดจะออกจาก Java สำหรับเทคโนโลยีอื่นหรือไม่
9 java  java-ee 

4
ข้อกำหนดที่ดีสำหรับวิศวกร QA คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา เรากำลังจ้างคน QA และฉันควรจะถามคำถามสัมภาษณ์ ความจริงก็คือฉันไม่รู้อะไรมากเกี่ยวกับวิศวกร QA ที่ดีที่ควรรู้ แต่คำถามสัมภาษณ์ที่ดีอาจเกี่ยวข้องกับอะไร ไม่มีใครมีข้อเสนอแนะ? ข้อมูลบางอย่าง: สภาพแวดล้อมเป็นเว็บแอปพลิเคชันสองรายการที่แยกกัน (แต่เชื่อมโยงกัน) สำหรับสแต็ก Microsoft (ASP.NET, SQL Server, IIS)
9 qa 

6
ผู้ทดสอบควรทำงานอัตโนมัติหรือไม่
เรากำลังพยายามตั้งค่ากระบวนการทดสอบของเรา เราสงสัยว่าผู้ทดสอบของเราควรพัฒนาแบบทดสอบการถดถอยอัตโนมัติหรือหากนักพัฒนาควรทำเช่นนั้น แล้วการทดสอบอัตโนมัติประเภทอื่น ๆ ล่ะ? ผู้ทดสอบควรพัฒนามันหรือไม่?

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