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

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

11
จ้างนักพัฒนา - เคล็ดลับในการมีประสิทธิภาพมากขึ้น? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบ เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็นตัวแทน บริษัท ซอฟต์แวร์ที่อยู่ระหว่างการสร้างทีมพัฒนาซอฟต์แวร์ขนาดใหญ่ เราจู้จี้จุกจิกกับคนที่เราจ้างและมีอัตราการเก็บรักษาที่ดีมาก (ผู้พัฒนาส่วนใหญ่อยู่ที่นี่มาประมาณ 5-6 ปี) เราใช้เวลาของนักพัฒนาซอฟต์แวร์และทรัพยากรบุคคลเป็นจำนวนมากและมีแอปพลิเคชั่นให้เช่าต่ำ นี่คือกระบวนการที่เราใช้: HR Interview ทางโทรศัพท์ - เกี่ยวข้องกับการถามคำถามเกี่ยวกับพฤติกรรมและเทคโนโลยีขั้นพื้นฐาน การทดสอบออนไลน์ - เกี่ยวข้องกับการทดสอบทางเทคนิค 30 นาที Technical Phone interview - การสัมภาษณ์ 60 นาทีโดยนักพัฒนา สัมภาษณ์ในสถานที่ - สัมภาษณ์ 60-90 นาทีโดยนักพัฒนาอาวุโสหลายคน แม้ว่ากระบวนการนี้จะได้ผล แต่เราใช้เวลามากเกินไปในการสัมภาษณ์ มีความคิดเห็นเกี่ยวกับวิธีการที่แตกต่างกันอย่างไร? เป้าหมายของเราคือการทำงานโดยอัตโนมัติถ้าเป็นไปได้ยังคงรักษาคุณภาพของความสามารถ UPDATE: ขอบคุณสำหรับคำตอบ จำเป็นต้องชี้แจงบางสิ่ง เป้าหมายของเราคือการลดจำนวนผู้สมัครที่ไปจากที่หนึ่งไปอีกขั้น นี่คือหมายเลขปัจจุบันของเรา เราได้รับ 1,000 …

2
API ควรใช้การรับรองความถูกต้องพื้นฐาน HTTP อย่างไร
เมื่อ API ต้องการให้ลูกค้ารับรองความถูกต้องฉันได้เห็นสถานการณ์ที่แตกต่างกันสองสถานการณ์ที่ใช้และฉันสงสัยว่ากรณีใดที่ฉันควรใช้กับสถานการณ์ของฉัน ตัวอย่าง 1. บริษัท ให้บริการ API เพื่ออนุญาตให้บุคคลที่สามรับรองความถูกต้องด้วยโทเค็นและข้อมูลลับโดยใช้ HTTP Basic ตัวอย่างที่ 2 API ยอมรับชื่อผู้ใช้และรหัสผ่านผ่าน HTTP Basic เพื่อตรวจสอบสิทธิ์ผู้ใช้ โดยทั่วไปแล้วพวกเขาจะได้รับโทเค็นกลับมาสำหรับคำขอในอนาคต การตั้งค่าของฉัน: ฉันจะมี JSON API ที่ฉันใช้เป็นแบ็กเอนด์สำหรับมือถือและเว็บแอป ดูเหมือนเป็นวิธีปฏิบัติที่ดีสำหรับทั้งแอปมือถือและเว็บในการส่งโทเค็นและความลับดังนั้นเฉพาะแอปทั้งสองนี้เท่านั้นที่สามารถเข้าถึง API ที่ปิดกั้นบุคคลที่สามอื่น ๆ แต่แอพมือถือและเว็บช่วยให้ผู้ใช้สามารถเข้าสู่ระบบและส่งโพสต์ดูข้อมูลของพวกเขาและอื่น ๆ ดังนั้นฉันต้องการให้พวกเขาเข้าสู่ระบบผ่านทาง HTTP พื้นฐานเช่นเดียวกับการร้องขอแต่ละครั้ง ฉันจะใช้ทั้งสองวิธีร่วมกันหรือส่งเฉพาะข้อมูลรับรองผู้ใช้ (ชื่อผู้ใช้และโทเค็น) ในแต่ละคำขอหรือไม่ หากฉันส่งเฉพาะข้อมูลรับรองผู้ใช้ฉันจะเก็บไว้ในคุกกี้บนไคลเอนต์หรือไม่

7
นักพัฒนาเว็บฟอร์ม ASP.NET และนักออกแบบเว็บไซต์: วิธีการโต้ตอบ?
ฉันเป็นผู้พัฒนา ASP.NET Webforms และฉันประสบปัญหาบางอย่างเมื่อฉันจัดการกับนักออกแบบ asp.net server controlsนักออกแบบมักจะบ่นเกี่ยวกับ พวกเขาต้องการเพียงแค่มีไฟล์ html และสร้างcssไฟล์พร้อมกับรูปภาพที่ต้องการเพื่อไปกับไฟล์เหล่านั้น บางครั้งถ้าขั้นตอนการออกแบบเสร็จสิ้นล่วงหน้าฉันจะได้รับไฟล์ html ที่มีไฟล์ css ที่เกี่ยวข้อง แต่จากนั้นเราประสบปัญหามากมายที่รวมการออกแบบเข้ากับaspxไฟล์ (ตัดการควบคุมการควบคุม telerik ... ฯลฯ ) สิ่งที่ฉันต้องการถามคือ: ฉันจะเอาชนะปัญหาเหล่านี้ได้อย่างไร นักออกแบบต้องการนักพัฒนา php- และ mvc เนื่องจากปัญหาเกี่ยวกับการควบคุมเซิร์ฟเวอร์. net ฉันจำเป็นต้องรู้วิธีโต้ตอบกับนักออกแบบในวิธีที่ถูกต้อง มีเครื่องมือหรือแอพพลิเคชั่นใดบ้างเพื่อให้นักออกแบบสามารถแสดงผล (หน้า html) ของหน้า. aspx ได้หรือไม่? โดยที่ฉันหมายถึงหน้าใน runtime มากกว่า aspx ใน Visual Studio พวกเขาใช้ Web Expression แต่พวกเขาต้องการเพจที่แสดงผลเป็น html เช่นกัน

4
ความสัมพันธ์ระหว่าง OpenGL, GLX, DRI และ Mesa3D คืออะไร
ฉันเริ่มทำการเขียนโปรแกรม 3D ระดับต่ำใน Linux ฉันมีประสบการณ์มากมายโดยใช้กราฟิก API ระดับสูงกว่า OpenInventor ฉันรู้ว่ามันไม่จำเป็นอย่างยิ่งที่จะต้องตระหนักว่าสิ่งเหล่านี้เข้ากันได้อย่างไร แต่ฉันแค่อยากรู้อยากเห็น ฉันรู้ว่า OpenGL เป็นเพียงมาตรฐานสำหรับแอปพลิเคชันกราฟิก Mesa3D น่าจะเป็นการใช้งานโอเพ่นซอร์สของมาตรฐานนี้ ดังนั้น GLX และ DRI จะพอดีกับที่ใด เมื่อขุดลงบนวิกิพีเดียและเว็บไซต์ทั้งหมดเหล่านี้ฉันยังไม่พบคำอธิบายว่ามันเข้ากันได้อย่างไร การเร่งความเร็วฮาร์ดแวร์เกิดขึ้นที่ไหน ไดรเวอร์ที่เป็นกรรมสิทธิ์ต้องทำอะไรกับสิ่งนี้

5
การมีฟังก์ชั่นใน DB เป็น Roadblock ต่อการขยายขีดความสามารถหรือไม่?
ฉันอาจไม่สามารถให้ชื่อที่ถูกต้องกับคำถาม แต่นี่มันคือ เรากำลังพัฒนาพอร์ทัลการเงินสำหรับการบริหารความมั่งคั่ง เราคาดว่าจะมีลูกค้ามากกว่า 10,000 รายที่จะใช้แอปพลิเคชันนี้ พอร์ทัลจะคำนวณการวิเคราะห์ประสิทธิภาพที่หลากหลายตามการวิเคราะห์ทางเทคนิคของตลาดหุ้น เราพัฒนาฟังก์ชันการทำงานจำนวนมากผ่านขั้นตอนการจัดเก็บฟังก์ชันที่ผู้ใช้กำหนดเองทริกเกอร์ ฯลฯ ผ่านฐานข้อมูล เราคิดว่าเราสามารถเพิ่มประสิทธิภาพอย่างมากในการทำสิ่งต่างๆโดยตรงในฐานข้อมูลมากกว่าผ่านรหัส C # และเราได้รับการเพิ่มประสิทธิภาพอย่างมาก เมื่อฉันพยายามคุยโวเกี่ยวกับความสำเร็จของ CTO ของเราเขาตอบโต้การตัดสินใจของฉันในการใช้งานฟังก์ชันในฐานข้อมูลแทนที่จะใช้รหัส ตามที่เขาใช้งานดังกล่าวประสบปัญหาการขยายขีดความสามารถ ในคำพูดของเขา "ทุกวันนี้สิ่งต่าง ๆ ถูกเก็บไว้ในหน่วยความจำ / แคชข้อมูลที่จัดเป็นกลุ่มนั้นยากที่จะจัดการได้ตลอดเวลา Facebook, Google ไม่มีอะไรในฐานข้อมูลมันเป็นยุคของเซิร์ฟเวอร์ที่บางและไคลเอนต์หนาฐานข้อมูลใช้เพื่อเก็บข้อมูลธรรมดาเท่านั้น และฟังก์ชั่นควรแยกออกจากฐานข้อมูลอย่างสมบูรณ์ " พวกคุณช่วยแนะนำฉันหน่อยได้ไหมว่าเขาพูดถูกไหม จะไปเกี่ยวกับสถาปนิกแอปพลิเคชันเช่นนี้ได้อย่างไร?

5
ฉันจำเป็นต้องรู้จัก servlets และ JSP เพื่อเรียนรู้ spring หรือ hibernate หรือ Java web framework อื่น ๆ หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันถามคนมากมายว่าจะเริ่มเรียนรู้การพัฒนาเว็บ Java ได้อย่างไรฉันรู้จักคอร์ java (Threading, Generics, Collections, ประสบการณ์เล็กน้อยกับ (JDBC)) แต่ฉันไม่รู้จัก JSP และ servlets ฉันมีส่วนแบ่งการพัฒนาพอใช้กับแอพพลิเคชั่นบนเว็บหลายตัวที่ใช้ PHP สำหรับฝั่งเซิร์ฟเวอร์และ HTML, CSS, Javascript, HTML5 สำหรับฝั่งไคลเอ็นต์ คนส่วนใหญ่ที่ฉันถามบอกให้ฉันกระโดดไปข้างหน้าเพื่อไฮเบอร์เนตในขณะที่บางคนบอกฉันว่าฉันไม่จำเป็นต้องเรียนรู้ servlets และ jsps และฉันควรศึกษากรอบการทำงานของฤดูใบไม้ผลิทันที มันเป็นเรื่องจริงเหรอ? ฉันไม่จำเป็นต้องเรียนรู้เซิร์ฟเล็ตและ JSP เพื่อเรียนรู้การจำศีลหรือฤดูใบไม้ผลิ คำตอบทั้งหมดของพวกเขาทำให้ฉันสับสนและตอนนี้ฉันสูญเสียสิ่งที่เรียนรู้หรือศึกษาไปอย่างสิ้นเชิง ฉันรู้สึกว่าถ้าฉันข้ามการเรียนรู้ JSP และ servlets ฉันจะพลาดแนวคิดที่สำคัญมากมายที่จะช่วยฉันในอนาคต ดังนั้นคำถามฉันต้องมีพื้นฐาน / รู้ …

2
เหตุใดภาษาต่างๆจึงไม่ใช้คำสั่งสลับอย่างชัดเจนบนคำสั่งสวิตช์
ผมอ่านทำไมเราต้องใช้breakในswitch? และทำให้ฉันสงสัยว่าทำไมอนุญาตให้ใช้งาน fall-through โดยนัยในบางภาษา (เช่น PHP และ JavaScript) ในขณะที่ไม่มีการสนับสนุน (AFAIK) สำหรับ fall-through อย่างชัดเจน ไม่ใช่ว่าจะต้องสร้างคำหลักใหม่ขึ้นมาตามความcontinueเหมาะสมอย่างสมบูรณ์และจะแก้ปัญหาความกำกวมไม่ว่าผู้เขียนจะมีความหมายต่อกรณีใดก็ตาม แบบฟอร์มที่รองรับในปัจจุบันคือ: switch (s) { case 1: ... break; case 2: ... //ambiguous, was break forgotten? case 3: ... break; default: ... break; } ในขณะที่มันเหมาะสมที่จะเขียนเป็น: switch (s) { case 1: ... break; case 2: ... continue; //unambiguous, …

9
ฉันควรฟังนายจ้างของฉันและใช้เครื่องมือ CASE หรือไม่
นายจ้างของฉัน (ไม่ใช่นักพัฒนาซอฟต์แวร์) คิดว่าเครื่องมือ CASE จะช่วยให้เราปรับปรุงกระบวนการพัฒนาและเอกสารของเรา ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้เราเป็นทีมเล็ก ๆ จาก 5 นักพัฒนาสร้างโซลูชันธนาคารบนมือถือสำหรับลูกค้าในท้องถิ่น ฉันคิดว่าเครื่องมือ CASE จะเสียเวลาและเงินตามที่จำเป็นต้องซื้อและเราจะต้องใช้เวลาก่อนที่เราจะคุ้นเคยกับพวกเขาและทำงานอย่างมีประสิทธิภาพกับพวกเขาสำหรับการสร้างแบบจำลองและสิ่งต่าง ๆ การสร้างรหัสเป็นปัญหาอีกเรื่องหนึ่งฉันคิดว่า CASE ที่สร้างรหัสจะไม่ดีเท่าโค้ดที่เขียนโดยนักพัฒนาที่ดี ฉันคิดว่าถ้าเรายึดหลักความคล่องตัวรูปแบบการออกแบบใช้ TDD และรักษาโค้ดของเราให้สะอาด เราควรจะดี และเท่าที่การวิเคราะห์และการออกแบบฉันคิดว่าไดอะแกรม UML ง่าย ๆ บนไวท์บอร์ดควรทำตามขั้นตอน เอกสารเป็นสิ่งที่ดีและสำคัญ แต่ควรทำให้น้อยที่สุดเท่าที่จะทำได้และเราไม่ควรมุ่งเน้นไปที่เอกสารและลืมรหัส นี่คือสิ่งที่ฉันคิด ฉันถูกไหม? หรือฉันควรฟังนายจ้างของฉันและเริ่มทำการวิจัยสำหรับ CASE Tool ที่เหมาะสม?

5
คุณจะสนับสนุนการสิ้นสุดการโพสต์รหัสได้อย่างไร
กระบวนการในการออกจาก บริษัท (หรือแม้กระทั่งกลุ่ม / ส่วน) ในแง่ของการสนับสนุนรหัสคืออะไร? ดีที่สุดหรือไม่ที่จะตอบคำถามทุกข้อ? คุณให้นักพัฒนาที่เหลือสามารถเข้าถึงตัวคุณเป็นทรัพยากรในอนาคตได้หรือไม่? ถ้าเป็นเช่นนั้นมีวิธีที่จะไม่ให้สิทธิ์การเข้าถึงแบบเต็มหรือไม่ ฉันมีประสบการณ์โดยตรงที่คำตอบเกี่ยวกับซอฟต์แวร์ทั่วไปจากนักพัฒนาเริ่มต้นจะมีค่ามาก ฉันเข้าใจว่าหากต้องการความช่วยเหลืออย่างจริงจังกว่าจะกลายเป็นกรณีปกติของการเจรจาการจ้างงานเป็นสัญญาสนับสนุน อย่างไรก็ตามหากจำเป็นต้องได้รับการช่วยเหลืออย่างจริงจังคุณสามารถทำขั้นตอนใดบ้างเพื่อให้กระบวนการติดต่อคุณสะดวกขึ้น ฉันกำลังคิดที่จะทำบางสิ่งเช่นสร้างที่อยู่ (YOUR_NAME) _codesupport @ (YOUR_FAVORITE_EMAIL_CLIENT) .com ของฉัน สถานการณ์เฉพาะของฉัน: ฉันเป็นนักเรียนที่ทำงานแบบร่วมมือและเช่นเดียวกับ บริษัท อื่น ๆ ในรอบ 4 เดือน นี่หมายถึงการแนะนำตัวเองให้รู้จักกับรหัสใหม่ ๆ มากมายรวมถึงการทิ้งรหัสที่ถูกต้องของเด็กกำพร้าไว้เมื่อฉันออกจาก บริษัท ฉันรู้สึกไม่ดีถ้าฉันทิ้งรหัสขยะไว้
17 support 

4
ฉันควรจะทำงานอิสระต่อไปสำหรับลูกค้าที่ยังคงเรียกร้องมากขึ้นโดยไม่ต้องจ่ายเงินหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ดังนั้นลูกค้ามาหาฉันและบอกว่ามันต้องมีงานทำ โดยทั่วไปมีงาน 4 อย่างที่ฉันตกลงที่จะปฏิบัติในราคาที่แน่นอน ลูกค้าสร้างข้อเสนองาน (เวลาที่กำหนดและงานราคา) บน ODesk ฉันยอมรับ แต่ใช้เวลาหลายวันและเตือนให้ลูกค้าเริ่มต้นสัญญาตามงานนั้น ปัญหาคืองานต้นฉบับเสร็จสมบูรณ์แล้วสัญญายังทำงานอยู่ฉันยังไม่ได้ชำระลูกค้าบอกว่าเขาจะจ่ายเมื่อโครงการเสร็จสมบูรณ์และจนกว่าจะมีงานใหม่เกิดขึ้นตลอดเวลาหรือเปลี่ยนงานเก่า ที่ต้องมีการทำองค์ประกอบซ้ำ ทั้งหมดนี้ลูกค้าสัญญาการชำระเงิน ไม่มีการอัปเดตจากไคลเอนต์นี้ใน ODesk ไม่มีงานใหม่ที่นั่น ฉันเตือนลูกค้าเกี่ยวกับการแยกแยะปัญหาด้านการจัดการ แต่ไม่มีผลลัพธ์ ในขณะเดียวกันลูกค้าก็จะผลักดันให้ทำงานต่อเนื่องจากโครงการจะเปิดตัวเร็ว ๆ นี้ ผมไม่ทราบว่าจะทำอย่างไร. ถ้าฉันปฏิเสธที่จะทำงานใด ๆ โดยไม่มีระบบราชการโครงการจะล่าช้า แต่มันไม่ใช่ความผิดของฉันใช่ไหม? ฉันกลัวว่าฉันอาจได้รับข้อเสนอแนะเชิงลบในกรณีนี้หรือบางสิ่งที่แย่กว่านั้น ถ้าฉันออกจากโครงการนี้ฉันกลัวว่าฉันจะไม่ได้สิ่งที่ฉันได้รับ ถ้าฉันทำแบบนี้ต่อไปฉันจะเสียเวลาทำสิ่งต่าง ๆ คล้ายกับสิ่งที่อธิบายไว้ที่นี่แต่ในฐานะโปรแกรมเมอร์ (ใช่แล้วมันได้มาถึงคำขอที่คล้ายกันสำหรับเนื้อหาฮาร์ดโค้ดจำนวนมาก) ฉันจะสื่อสารกับลูกค้าในสถานการณ์เช่นนี้ได้อย่างไร ฉันจะหลีกเลี่ยงความขัดแย้งได้อย่างไร ป.ล. ลูกค้าเป็น บริษัท เล็ก ๆ …

12
สอนตัวเองในฐานะนักฟิสิกส์เพื่อเป็นโปรแกรมเมอร์ที่ดีขึ้น [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันชอบวิชาฟิสิกส์เสมอและฉันชอบเขียนโปรแกรมเสมอดังนั้นเมื่อฉันได้รับข้อเสนอสำหรับตำแหน่งปริญญาเอกที่ทำวิชาฟิสิกส์เชิงตัวเลข (รายละเอียดไม่เกี่ยวข้องกันมันเป็นโปรแกรมแบบขนานส่วนใหญ่สำหรับกลุ่ม) ที่มหาวิทยาลัย - เครื่องกรองน้ำสำหรับฉัน อย่างไรก็ตามในฐานะนักฟิสิกส์ส่วนใหญ่ฉันสอนตัวเอง ฉันไม่มีความรู้พื้นฐานในวงกว้างเกี่ยวกับวิธีการโค้ดในลักษณะเชิงวัตถุหรือชื่อของอัลกอริทึมเฉพาะที่ปรับการค้นหาในต้นไม้ kD บางส่วน เนื่องจากงานทั้งหมดของฉันมีความกังวลเกี่ยวกับฟิสิกส์และผลลัพธ์ทางวิทยาศาสตร์มากขึ้นฉันจึงมีนิสัยที่ไม่ดีอย่างไม่ต้องสงสัยเลยยิ่งไปกว่านั้นเพราะการเข้ารหัสของฉันเป็นของตัวเองและไม่ได้ทำงานเป็นทีมจริงๆ ฉันใช้ C เป็นส่วนใหญ่เนื่องจากมันตรงไปตรงมามากและ "สิ่งที่คุณเขียนคือสิ่งที่คุณได้รับ" - ไม่จำเป็นต้องมี abstractions แฟนซี อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้เปลี่ยนไปใช้ C ++ เนื่องจากฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับพลังที่มาพร้อมกับสิ่งที่เป็นนามธรรม ฉันจะสอนตัวเองให้เขียนโค้ดด้วยวิธีที่ดีและเป็นนามธรรมได้อย่างไรเช่นผู้สำเร็จการศึกษาสาขาวิทยาศาสตร์คอมพิวเตอร์ ฉันรู้ว่าโค้ดของฉันมีประสิทธิภาพ แต่ฉันต้องการให้มันดูดีและอ่านง่าย โปรดจำไว้ว่าฉันไม่มีเวลาอ่านโทมัสจำนวน 1,000 หน้าเกี่ยวกับการเขียนโปรแกรมแบบนามธรรม ฉันต้องใช้เวลาในการวิจัยฟิสิกส์จริง (หัวหน้างานของฉันจะหัวเราะเยาะฉันถ้าเขารู้ว่าฉันใช้เวลาคิดเกี่ยวกับวิธีการโปรแกรมอย่างหรูหรา) ฉันจะประเมินได้อย่างไรว่างานของฉันดีจากมุมมองของโปรแกรมเมอร์หรือไม่

5
มันตกลงสำหรับฟังก์ชั่นในการปรับเปลี่ยนพารามิเตอร์
เรามีชั้นข้อมูลที่ล้อมรอบ Linq กับ SQL ในชุดข้อมูลนี้เรามีวิธีนี้ (แบบง่าย) int InsertReport(Report report) { db.Reports.InsertOnSubmit(report); db.SubmitChanges(); return report.ID; } เมื่อส่งการเปลี่ยนแปลงรหัสรายงานจะได้รับการอัปเดตด้วยค่าในฐานข้อมูลที่เราส่งคืน จากด้านการโทรดูเหมือนว่านี้ (ย่อ) var report = new Report(); DataLayer.InsertReport(report); // Do something with report.ID เมื่อดูที่รหัส ID ได้รับการตั้งค่าภายในฟังก์ชั่น InsertReport ว่าเป็นผลข้างเคียงจากนั้นเราจะเพิกเฉยต่อค่าที่ส่งคืน คำถามของฉันคือฉันควรพึ่งพาผลข้างเคียงและทำสิ่งนี้แทน void InsertReport(Report report) { db.Reports.InsertOnSubmit(report); db.SubmitChanges(); } หรือเราควรป้องกันมัน int InsertReport(Report report) { var newReport = …

3
เหตุใดแกนประมวลผล CPU เพิ่มเติมบนเครื่องเสมือนจึงรวมเวลาช้าลง
[แก้ไข # 2] ถ้าใครจาก VMWare สามารถตีฉันด้วยสำเนาของ VMWare Fusion ฉันยินดีที่จะทำเช่นเดียวกันกับการเปรียบเทียบ VirtualBox กับ VMware อย่างใดฉันสงสัยว่า hypervisor VMware จะได้รับการปรับให้ดีขึ้นสำหรับการทำไฮเปอร์เธรด (ดูคำตอบของฉันด้วย) ฉันเห็นสิ่งที่อยากรู้ เมื่อฉันเพิ่มจำนวนคอร์ในเครื่องเสมือน Windows 7 x64 ของฉันเวลาในการรวบรวมโดยรวมจะเพิ่มขึ้นแทนที่จะลดลง การคอมไพล์มักจะเหมาะอย่างยิ่งสำหรับการประมวลผลแบบขนานเช่นเดียวกับในส่วนตรงกลาง (การทำแผนที่การพึ่งพาโพสต์) คุณสามารถเรียกอินสแตนซ์คอมไพเลอร์ในแต่ละไฟล์. c / .cpp / .cs / ไฟล์ใดก็ได้เพื่อสร้างวัตถุบางส่วน เกิน. ดังนั้นฉันจะจินตนาการว่าการคอมไพล์จริง ๆ แล้วจะขยายขนาดได้ดีกับ # ของแกนประมวลผล แต่สิ่งที่ฉันเห็นคือ: 8 คอร์: 1.89 วินาที 4 แกน: 1.33 วินาที 2 คอร์: …

7
ฉันสามารถทำโครงการโอเพนซอร์ซที่ถูกกฎหมายและถูกต้องตามกฎหมายได้โดยมีส่วนร่วมกับชุมชนในแหล่งปิด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา สมมติว่าฉันเริ่มต้นและพัฒนาโครงการภายใต้ใบอนุญาตโอเพนซอร์ซและยอมรับการมีส่วนร่วมของชุมชน ฉันจะยืนหยัดอยู่ได้อย่างไรหากฉันตัดสินใจที่จะทำโครงการโฆษณาและปิดแหล่งที่มา (หรือใบอนุญาตแบบแยก) นี้คำถามไม่ได้โดยตรงแก้ไขปัญหาของโครงการที่มีผลงานชุมชนซึ่งรู้สึกเหมือนดินแดนที่แตกต่างกันอย่างน้อยเท่าที่จริยธรรมมีความกังวล ถูกต้องตามกฎหมายนี่อาจเป็นเรื่องยากเช่นกันเพราะฉันไม่แน่ใจว่าการมีส่วนร่วมตกอยู่ภายใต้ลิขสิทธิ์ของฉันหรือไม่หรือผู้มีส่วนร่วมถือลิขสิทธิ์ในส่วนของโครงการที่เขาเพิ่ม ฉันปลอดภัยหรือไม่ (ตามหลักจริยธรรมและถูกต้องตามกฎหมาย) ตราบใดที่ฉันยังต้องเผชิญหน้ากับความเป็นไปได้ที่ฉันจะนำโครงการเชิงพาณิชย์ไปใช้ในอนาคต?
17 licensing  ethics 

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

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