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

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

9
ฉันจะบอกผู้ปกครองได้อย่างไรว่าการลงจอดงานเป็นสิ่งที่สำคัญจริง ๆ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน9 ปีที่ผ่านมา ด้านหนึ่งฉันแค่ต้องการได้รับปริญญาด้วยเกรดเฉลี่ย 3.0 ในอีกด้านพ่อแม่ของฉันต้องการมากกว่าแค่ 3 ตอนนี้นี่คือสิ่งที่ ฉันโปรแกรมด้วยความหลงใหล ฉันใช้เวลาทั้งกลางวันและกลางคืน และฉันได้สอนหลักสูตรการเขียนโปรแกรมทั้งหมดของฉัน อย่างไรก็ตามฉันทำสิ่งที่น่ากลัวในหลักสูตรวิชาเลือกทั้งหมดของฉัน - เช่นการเขียนประวัติศาสตร์และทุกอย่าง - ซึ่งทำให้ฉันมีเกรดเฉลี่ยเพียง 3.1-2.2 เท่านั้น และพ่อแม่ของฉันต้องการมากกว่านี้ พวกเขาคิดว่ามหาวิทยาลัยเป็นเหมือนโรงเรียนมัธยมที่คุณต้องการผลการเรียนดีเยี่ยมเพื่อก้าวสู่ระดับต่อไป แต่พวกเขาไม่ทราบว่าคะแนนที่ดีพอจะทำให้ฉันมีงานทำ และพวกเขาก็ไม่ทราบว่าโปรแกรมเมอร์ต้องฝึกฝนให้ดีในการเขียนโปรแกรมและการมีทักษะที่ดีคือสิ่งที่จะได้งานใน บริษัท พัฒนาซอฟต์แวร์ที่ดี โชคดีที่พวกเขาไม่ขู่จะตีฉันด้วยไม้เบสบอลหรืออะไรทำนองนั้น บางครั้งพวกเขาให้ "tsk-tsk" เล็กน้อยกับฉัน แต่ถึงอย่างนั้น "tsk-tsk" ตัวเล็ก ๆ ก็ทำให้ฉันรู้สึกผิดที่เปิด IDE ขึ้นมา และยิ่งไปกว่านั้นฉันผัดวันประกันพรุ่งเพราะความรู้สึกผิดนั้น ดังนั้นตอนนี้ฉันต้องการมาทำความสะอาดกับพวกเขา ฉันอยากรู้ว่าอะไรเป็นวิธีที่ดีในการทำเช่นนั้น [แก้ไข] ตกลงดังนั้นตอนนี้ฉันรู้ว่าฉันควรจะมุ่งเกรดที่สูงขึ้นตามที่บางคนแนะนำไว้ด้านล่าง

5
กลับไปที่ ASP.Net Webforms จาก ASP.Net MVC แนะนำรูปแบบ / สถาปัตยกรรม?
สำหรับคุณหลายคนสิ่งนี้จะดูเหมือนคำถามที่ไร้สาระ แต่ฉันถามเพราะฉันไม่มีประสบการณ์กับ ASP.Net Webforms เพียงเล็กน้อย - ฉันไปที่ ASP.Net MVC โดยตรง ตอนนี้ฉันกำลังทำงานในโครงการที่เรา จำกัด . Net 2.0 และ Visual Studio 2005 ฉันชอบการแยกข้อกังวลอย่างชัดเจนเมื่อทำงานกับ ASP.Net MVC และฉันกำลังมองหาบางอย่างที่จะทำให้เว็บฟอร์มทนไม่ได้ มีรูปแบบหรือแนวทางปฏิบัติที่แนะนำสำหรับผู้ที่ชื่นชอบ asp.net MVC แต่ติดอยู่ใน. net 2.0 และ visual studio 2005 หรือไม่?

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

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

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

3
ความรับผิดชอบทั่วไปและความสำเร็จที่บันทึกไว้ในประวัติย่อสำหรับงานเขียนโปรแกรมมีอะไรบ้าง [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังเขียนประวัติย่อของฉันและพยายามคิดถึงความรับผิดชอบและความสำเร็จจากงานและโครงการที่ผ่านมาของฉัน ดูเหมือนจะมีไม่มากนัก แต่อาจมีบางอย่างที่ฉันไม่ได้ระบุว่าควรค่าแก่การพูดถึงนายจ้าง งานของคุณรวมถึงความรับผิดชอบและความสำเร็จแบบใดและคุณทำรายการอะไรใน CV / ประวัติการทำงานของคุณ
12 resume 

9
นักพัฒนาซอฟต์แวร์มืออาชีพยังคงใฝ่ฝันที่จะสร้างแอพอุตสาหกรรม / โลกที่เปลี่ยนแปลงหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันเป็นโปรแกรมเมอร์งานอดิเรก ความคิดเห็นของลูกค้าหรือความคิดเห็นเกี่ยวกับประสิทธิภาพทำให้ฉันมีอิสระที่จะฝันถึงการมีและการใช้ความคิดที่ยอดเยี่ยมครั้งต่อไปที่เปลี่ยนแปลงโลก แน่นอนฉันรู้ว่าฉันอาจมีโอกาสที่ดีกว่าในการชนะลอตเตอรี แต่มันสนุกที่จะจินตนาการว่าคุณได้เอาชนะแอพพลิเคชั่นแบบโฮมบรูว์ที่ทำลายสถานะเดิม ฉันรู้ว่าโปรแกรมเมอร์มืออาชีพหลายคนมีโครงการด้านข้างบางโครงการเพื่อผลกำไรอื่น ๆ ไม่ใช่ ฉันสงสัยเกี่ยวกับวิธีการทำงานในเช้าวันนี้ (ไม่ใช่งานที่น่าเบื่อหน่ายด้านไอที) หากต้องใช้รหัสสำหรับอาหารของคุณมีแนวโน้มที่จะทำให้ความฝันหดหู่? ประสบการณ์ที่มากขึ้นจะทำให้คุณรู้สึกเบื่อและจดจ่อกับโครงการในมือมากขึ้นหรือไม่? ไม่พยายามที่จะเฉื่อยชาเพียงแค่สนใจในความคิดของมืออาชีพซอฟต์แวร์จริง :-)

6
ค่าแฮชเกลือควรมาจากที่ใด
เมื่อเพิ่มค่าเกลือลงในค่าแฮชสำหรับรหัสผ่านที่ไม่สามารถจัดเก็บในรูปแบบข้อความธรรมดาได้ดีที่สุดวิธีที่จะได้รับค่าเกลือมาจากไหน? สำหรับบริบทให้เราสมมติว่านี่เป็นรหัสผ่านในการเข้าสู่ระบบหน้าเว็บ
12 security  hashing 

4
มีความพยายามในการสร้างการอ้างอิง HTML / JS / DOM ที่แก้ไขร่วมกันหรือไม่?
W3Schoolsมีชื่อเสียงในด้านความไม่สมบูรณ์บางครั้งไม่ถูกต้องและขี่ด้วยการโฆษณา ยังคงเมื่อมองหาบางสิ่งบางอย่างหรือเชื่อมโยงไปยังเอกสารเมื่อตอบคำถาม SO ก็ยังคงเป็นทรัพยากรข้ามเบราว์เซอร์ที่มีประโยชน์เท่านั้น มีแหล่งข้อมูลอื่น ๆ เช่นที่มีการพัฒนาเครือข่าย Mozillaที่ทำผลงานได้ดีมากขึ้นการจัดเก็บเอกสาร JavaScript และตำนานและดีquirksmode แต่พวกเขาก็ยอดเยี่ยมอย่างที่พวกเขาพูดครอบคลุมเฉพาะบางส่วนของพื้นที่ที่ฉันกำลังพูดถึงและไม่มีตัวเลือกการแก้ไขและการควบคุมคุณภาพในชุมชน มีใครตระหนักถึงความพยายามในการสร้างสารานุกรม HTML / CSS / JavaScript / DOM ข้ามเบราว์เซอร์ที่แก้ไขร่วมกันหรือไม่ ถ้าคุณต้องการฉันกำลังคิดว่าผู้ท้าชิงต่อ W3Schools อย่าง SO คือการแลกเปลี่ยนผู้เชี่ยวชาญ

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

4
วิธีจัดระเบียบอินเทอร์เฟซและการนำไปใช้ใน C ++
ฉันได้เห็นว่ามีกระบวนทัศน์ที่แตกต่างกันใน C ++ เกี่ยวกับสิ่งที่จะเข้าไปในไฟล์ส่วนหัวและสิ่งที่จะ cpp ไฟล์ AFAIK ผู้คนส่วนใหญ่โดยเฉพาะผู้ที่อยู่ในพื้นหลัง C ทำ: foo.h class foo { private: int mem; int bar(); public: foo(); foo(const foo&); foo& operator=(foo); ~foo(); } foo.cpp #include foo.h foo::bar() { return mem; } foo::foo() { mem = 42; } foo::foo(const foo& f) { mem = f.mem; } foo::operator=(foo …

8
ตัวสร้างโดยทั่วไปไม่ควรเรียกวิธีการ
ฉันอธิบายให้เพื่อนร่วมงานฟังว่าทำไมคอนสตรัคเตอร์ที่เรียกใช้เมธอดสามารถเป็น antipattern ได้ ตัวอย่าง (ใน C ++ ที่เป็นสนิมของฉัน) class C { public : C(int foo); void setFoo(int foo); private: int foo; } C::C(int foo) { setFoo(foo); } void C::setFoo(int foo) { this->foo = foo } ฉันต้องการที่จะกระตุ้นให้ดีขึ้นความจริงนี้ผ่านส่วนเสริมของคุณ หากคุณมีตัวอย่างหนังสืออ้างอิงหน้าบล็อกหรือชื่อของหลักการพวกเขาจะยินดีมาก แก้ไข: ฉันกำลังพูดคุยกันโดยทั่วไป แต่เรากำลังเขียนโค้ดด้วยไพ ธ อน
12 design 

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

3
ดูแลโครงการของเพื่อนที่เสียชีวิต
เพื่อนที่ดีของฉันและโปรแกรมเมอร์ตัวยงเพิ่งเสียชีวิตไป เขาออกเกือบ 40 โครงการใน BitBucket ส่วนใหญ่เป็นสาธารณะ แต่มีไม่กี่คนที่ทำเครื่องหมายว่าเป็นส่วนตัว ฉันตัดสินใจที่จะทำหน้าที่ดูแลสำหรับโครงการแทนที่จะปล่อยให้งานของเขาหายไป ถ้าคุณอยู่ในสถานการณ์เดียวกันคุณทำอะไร คุณเปิดทุกสิ่งหรือไม่ พัฒนาต่อไปหรือไม่ ลบเลยเหรอ? ฉันสนใจมากที่จะได้ยินประสบการณ์ของคนอื่น มีเหตุผลบางประการที่ทำให้โครงการบางโครงการมีสถานะเป็นส่วนตัว (โครงการส่วนตัวบน BitBucket จะปรากฏต่อผู้ใช้ที่ได้รับเชิญและผู้สร้างดั้งเดิมเท่านั้น): หนึ่งในนั้นคือเว็บแอป iOS ที่ฟรีใน app store ฉันต้องลบแอพออกจากร้านค้าเพราะฉันปิดเว็บไซต์ของเขาเพื่อเป็นที่โปรดปรานแก่ภรรยาม่ายของเขา อย่างไรก็ตามฉันได้ทำให้แอปเป็นแบบสาธารณะภายใต้ GPL v3 (เขาเป็นผู้สนับสนุน GPL ขนาดใหญ่) หนึ่งในนั้นมีรหัสที่เป็นกรรมสิทธิ์ มันไม่สามารถเปิดแหล่งที่มา คนอื่นกำลังทำงานอย่างมาก ฉันไม่รู้ว่าเขาตั้งใจจะทำให้พวกเขาเป็นเจ้าภาพบริการชำระหรือถ้าเขาต้องการที่จะให้รหัสไปภายใต้ใบอนุญาตโอเพนซอร์สเมื่อพวกเขาเสร็จสิ้น นี่คือรายการของโครงการส่วนตัว: เครื่องมือจำลองเซลล์ที่มีชีวิตบางชนิดที่ใช้SBMLพร้อมกับอัลกอริธึม Runge-Kutta และออยเลอร์เพื่อทำ ... บางสิ่งบางอย่าง มีโค้ดจำนวนพอสมควรที่นี่ แต่ฉันไม่รู้ว่ามันทำอะไรหรือมันอยู่ไกลแค่ไหน ไม่มีเอกสาร แอปพลิเคชันการบัญชี; ดูเหมือนว่าจะมีการออกแบบฐานข้อมูลที่เป็นของแข็งอยู่ด้านหลัง แต่ก็มีโค้ดเล็ก ๆ น้อย ๆ อยู่ด้านบน เว็บไซต์ที่มีวัตถุประสงค์เพื่อแนะนำร้านอาหารดีๆ …
12 social 

7
การปฏิบัติที่ดีที่สุดสำหรับการมีซอร์สโค้ดที่ 'ตรวจสอบแล้ว' ในที่เก็บคอนโทรลแหล่งข้อมูลคืออะไร
อะไรจะเป็นวิธีที่ดีที่สุดในการจัดการซอร์สโค้ดที่ตรวจสอบแล้วในที่เก็บคอนโทรลแหล่งที่มา? รหัสแหล่งที่มาควรผ่านกระบวนการตรวจสอบก่อนที่จะได้รับการตรวจสอบหรือควรตรวจสอบรหัสที่เกิดขึ้นหลังจากที่รหัสมุ่งมั่น? หากการตรวจสอบเกิดขึ้นหลังจากรหัสถูกเช็กอินในที่เก็บดังนั้นควรติดตามอย่างไร?

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