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

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

2
“ Windows Workflow Foundation” มีประโยชน์อย่างไร? ทางเลือกใดที่ฉันควรพิจารณา [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเริ่มเรียนรู้ WF 3.0 เมื่อไม่กี่ปีที่ผ่านมาและไม่เคยหยุดนิ่ง มีใครเรียนรู้ WF 4.0 (ตอนนี้มีการเขียนใหม่) หรือไม่ มันเป็นแพลตฟอร์มที่ทำงานได้คุ้มค่าการพิจารณา? มีทางเลือกอะไรบ้าง?
9 .net  workflows 

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

2
Embedded Linux และ Windows Embedded Standard 7 [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา โอเคมองหาคำตอบส่วนตัว บริษัท ของฉันเคยเป็นร้านค้าลีนุกซ์มาก่อนเราผลิตและจำหน่ายกล่องที่สร้างขึ้นเพื่อวัตถุประสงค์ด้านความปลอดภัย เมื่อเร็ว ๆ นี้เราตัดสินใจที่จะสร้างกล่อง Embedded Windows Standard 7 เพราะมันสั้นลงการพัฒนาและเวลาในการทำตลาดของเราและเนื่องจากเครื่องมือทั้งหมดนั้นมีวางจำหน่ายที่ชั้นวางสำหรับ windows สิ่งที่ฉันกำลังมองหาคือคำตอบที่มั่นคงเนื่องจากเกี่ยวข้องกับความปลอดภัยของ WES7 กับ Linux WES7 มีเสถียรภาพเพียงใดความพยายามในการแฮ็คการโจมตีของไวรัสและอื่น ๆ จากมุมมองทางการตลาดสิ่งที่ผู้อื่นพูดได้หรือควรจะเป็นประโยชน์ของการใช้ WES7 บน Linux? ยังมี .... บ้าง? มีการเปรียบเทียบอะไรบ้างระหว่างความปลอดภัยของเดสก์ท็อป Windows 7 และ Windows 7 แบบฝัง คำตอบใด ๆ จะได้รับการชื่นชมอย่างมาก ขอบคุณ

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

6
คุณจัดการกับเงื่อนไขหน่วยความจำไม่เพียงพอหรือไม่?
คุณจะทำอย่างไรเมื่อmallocส่งกลับข้อยกเว้น 0 หรือข้อผิดพลาดการส่งใหม่ เพียงหยุดหรือพยายามเอาตัวรอดจากเงื่อนไขของ OOM / บันทึกงานของผู้ใช้

10
การสนับสนุน "ขาย" เป็นตัวเลือกอาชีพอย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว เราพบว่าการจ้างนักพัฒนาซอฟต์แวร์นั้นค่อนข้างง่าย ปัญหาเกิดขึ้นเมื่อโครงการเสร็จสิ้น แต่ยังต้องได้รับการสนับสนุน เราต่อสู้เพื่อให้ผู้คนเข้าร่วมทีมสนับสนุน มันถูกมองว่าเป็นจุดจบ, จำกัด อาชีพ, น่าเบื่อ, ชั้นสองเป็นต้น ขณะนี้เราได้รับรอบนี้โดยให้ทีมโปรเจ็กต์มอบหมายทีมของพวกเขาให้ทีมสนับสนุนซักพักหนึ่ง ส่วนหนึ่งของงานที่ได้รับมอบหมายคือการทำ "การถ่ายโอนข้อมูลสมอง" ของโครงการเพื่อให้ทีมสนับสนุนเข้าใจ ทำงานได้ตราบใดที่การมอบหมายนั้นมีระยะเวลาที่แน่นอนเท่านั้น การพยายามจ้างคนทำงานเพื่อสนับสนุนเต็มเวลาเป็นปัญหา มีแอปพลิเคชั่นไม่กี่ตัวและความสามารถไม่สูงเป็นพิเศษ (ความจริงทางการเงินคือการสนับสนุนนั้นให้ผลกำไรมากสำหรับ บริษัท และเมื่อคุณได้รับชื่อเสียงคุณจะได้รับการติดต่อจาก บริษัท อื่น ๆ เพื่อทำการสนับสนุนแม้ว่าคุณจะไม่ได้มีส่วนร่วมในการพัฒนาดั้งเดิม)
9 interview 

3
ฉันจะป้องกันไม่ให้โครงการของฉันลากด้วยการปรับแต่งและการเปลี่ยนแปลงที่ไม่มีที่สิ้นสุดได้อย่างไร
หลังจากออกกำลังกายโครงการอาจต้องใช้การปรับแต่งและการเปลี่ยนแปลงมากเกินไปเพื่อให้ทำงานได้อย่างถูกต้อง ... ฉันจะทำอย่างไรเพื่อป้องกันปัญหานี้

2
การสร้างทีมพัฒนาแพลตฟอร์มที่ไม่เชื่อเรื่องพระเจ้า
ฉันทำงานที่ บริษัท ที่เรามีชุดทักษะต่าง ๆ มากมายในทีมพัฒนา เราทำสิ่งต่าง ๆ ต่อไปนี้ (โดยทั่วไปมุ่งสู่เว็บ): .NET (MVC, Umbraco, ASP.NET, Surface) Java (Spring, Hibernate, Android) PHP (Zend, ตัวจุดไฟรหัส) Actionscript 3 AIR Objective-C Html / Javascript (ชัด) เรากำลังพยายามปรับปรุงกระบวนการพัฒนาของเรา ขณะนี้เรามีเซิร์ฟเวอร์ TeamCity ที่สร้างและปรับใช้โครงการ. NET ด้วย msbuild / msdeploy / nant สิ่งที่ฉันต้องการคืออะไรเช่น maven ที่จะให้โครงสร้างเทมเพลตโครงการมาตรฐานที่ทำงานกับโครงการส่วนใหญ่เพื่อให้ผู้คนจากทีมต่าง ๆ สามารถย้ายระหว่างโครงการได้อย่างง่ายดาย ขณะนี้สามารถใช้งานได้บนแพลตฟอร์มเดียวเพราะเรามักจะทำสิ่งต่าง ๆ ในแบบมาตรฐานสำหรับแพลตฟอร์มนั้น (ตราบเท่าที่บางคนมีส่วนเกี่ยวข้อง) แต่ฉันต้องการใช้สิ่งที่เหมือน …
9 team 

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

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

2
mod_security เป็นสิ่งที่ดีหรือไม่?
ฉันเพิ่งได้รับการแวะเวียนเข้ามาโดยข้อความผิดพลาดที่ผิดพลาดจาก mod_security ชุดตัวกรองมันครอบคลุมการหาประโยชน์ PHP ที่ล้าสมัยและฉันต้องเขียนข้อมูลใหม่เพราะ Wordpress & Co มีข้อบกพร่องหลายปีมาแล้ว สิ่งนี้เกิดขึ้นกับคนอื่นหรือไม่? Apache mod_security บล็อกคำขอ HTTP ที่อาจเป็นอันตรายก่อนที่จะเข้าถึงแอพพลิเคชัน (เฉพาะ PHP) มันใช้ชุดตัวกรองต่าง ๆ ซึ่งส่วนใหญ่เป็น regex ดังนั้นฉันจึงมีผู้ให้บริการโฮสติ้งที่ใช้ร่วมกันที่ดีมีความเชี่ยวชาญด้านเทคนิคและอื่น ๆ แต่สิ่งนี้ทำให้ฉัน: เมื่อสัปดาห์ที่แล้วฉันต้องเปลี่ยนชื่อพารามิเตอร์&src=ในหนึ่งในแอพของฉันเพราะ mod_security บล็อกคำขอใด ๆ ด้วย ฉันไม่ได้ดูรายละเอียด แต่กฎตัวกรองนี้ป้องกันการใช้ประโยชน์จากแอพอื่นที่ฉันไม่ได้ใช้และอาจไม่เคยได้ยินมาก่อน ถึงกระนั้นฉันก็ต้องเขียนโค้ดของฉันใหม่(การเปลี่ยนพารามิเตอร์มักจะพอเพียงเพื่อหลอกลวง mod_security) ซึ่งไม่มีอะไรทำหรือเหมือนกันกับสิ่งนั้น! และวันนี้ regex โง่ ๆ บล็อกฟอร์มส่งเพราะฉันต้องการส่งโค้ดตัวอย่าง php รับนี้เป็นสิ่งง่าย ๆ ที่ mod_security อยู่ที่นั่นเพื่อป้องกัน แต่ฉันไม่เชื่อว่า mod_security สามารถตรวจจับโค้ดที่ทำให้งงงวยอย่างรุนแรงและเพิ่งจะออกไปอย่างชัดเจน (และในกรณีนี้เล็กน้อย) php …
9 php 

4
สร้างเซิร์ฟเวอร์อย่างต่อเนื่อง (cc.net, ฮัดสัน, ไผ่, ฯลฯ ... ) ประสบการณ์การสร้างระยะไกล?
ขณะนี้เราใช้เซิร์ฟเวอร์ cc.net เพียงครั้งเดียวสำหรับกระบวนการสร้างซึ่งสร้างทั้ง. net (โดยใช้ msbuild & nant) และ java (โดยใช้ maven และ ant) CC.net ตรวจสอบการควบคุมแหล่งที่มาและทริกเกอร์การสร้างระยะไกลที่ทำงานบนเซิร์ฟเวอร์ที่แยกต่างหาก CC.net จะทำการตรวจสอบผลลัพธ์ เมื่อเราเรียกใช้งานบิลด์ระยะไกลโดยทั่วไปแล้ว: รัน nunit หรือ junit หรือสิ่งที่คล้ายกันโดยใช้ข้อมูลที่เยาะเย้ย เลือกรันสคริปต์ DB เพื่อสร้างอินสแตนซ์ฐานข้อมูลใหม่หรือกู้คืนฐานข้อมูลจากตำแหน่งที่ทราบ ใช้ซีลีเนียมหรือคล้ายกับ UI ทดสอบ รัน emma หรือ ncover เพื่อครอบคลุมรหัส สร้างระบบสำหรับสภาพแวดล้อมการปรับใช้ที่หลากหลาย (ทดสอบยอมรับผลิต) เราอาจมีการสร้างหลายครั้งในเวลาหนึ่งบาง. net และบาง java (จากทีมงานโครงการที่แตกต่างกัน) มันใช้เวลาค่อนข้างนานในการทำให้รีโมตบิลด์ทำงานเมื่อเราตั้งค่าโปรเจ็กต์ใหม่และเรารู้สึกว่าต้องมีบางสิ่งที่เหมาะกับรีโมตบิวด์มากกว่า cc.net ใครบ้างมีประสบการณ์กับการสร้างระยะไกลด้วยระบบการรวมอย่างต่อเนื่อง? ฉันไม่ต้องการรายการคุณสมบัติของเซิร์ฟเวอร์ CI ฉันรู้สึกซาบซึ้งมากขึ้นเกี่ยวกับวิธีที่คุณใช้ในหลาย ๆ ภาษาสภาพแวดล้อมของเซิร์ฟเวอร์หลายตัว

4
ทำไมโปรแกรมเมอร์จำนวนมากถึงเกลียดชังความแพร่หลายของวัตถุ?
ความชุกเป็นเทคนิคง่าย ๆ ในการจัดเตรียมคุณสมบัติของกรดให้กับโมเดลวัตถุในหน่วยความจำโดยยึดตามการทำให้เป็นอนุกรมไบนารีและการบันทึกล่วงหน้า มันทำงานได้เช่นนี้: เริ่มต้นด้วยภาพรวม ทำให้โมเดลวัตถุเป็นอนุกรมและเขียนลงในไฟล์ สร้างไฟล์เจอร์นัล สำหรับการโทรทุกครั้งในโมเดลวัตถุให้จัดลำดับการโทรและอาร์กิวเมนต์ เมื่อวารสารมีขนาดใหญ่เกินไปคุณกำลังปิดตัวลงหรือไม่ก็สะดวกทำด่าน: เขียนสแนปชอตใหม่แล้วตัดทอนบันทึก หากต้องการย้อนกลับหรือกู้คืนจากความผิดพลาดหรือกำลังไฟฟ้าให้โหลดภาพรวมล่าสุดและเรียกใช้การโทรทั้งหมดที่บันทึกในเจอร์นัลอีกครั้ง ข้อควรระวังที่จำเป็นสำหรับการทำงานนี้คือ: อย่าปล่อยให้การอ้างอิงวัตถุที่ไม่แน่นอนหนีออกมาหรือเข้าสู่ชั้นความชุก คุณต้องการพร็อกซีหรือแผน OID บางประเภทราวกับว่าคุณกำลังทำ RPC (นี่เป็นความผิดพลาดที่พบบ่อยของมือใหม่ที่ชื่อเล่นว่า ' ปัญหาการล้างบาป ') ตรรกะทั้งหมดที่เข้าถึงได้จากการโทรต้องกำหนดอย่างสมบูรณ์และต้องไม่ทำการโทร I / O หรือ OS ที่มีความหมายทางธุรกิจ การเขียนไปยังบันทึกการวินิจฉัยอาจเป็นไปได้ แต่การได้รับเวลาของระบบหรือการเปิดใช้งานตัวแทนไม่ตรงกัน นี่คือเพื่อให้เจอร์นัลรีเพลย์เหมือนกันแม้ว่าจะถูกกู้คืนบนเครื่องอื่นหรือในเวลาอื่น (รหัสความชุกส่วนใหญ่ให้การโทรเวลาอื่นเพื่อรับการบันทึกเวลาธุรกรรม) การทำงานพร้อมกันของนักเขียนแนะนำความคลุมเครือในการตีความวารสารดังนั้นจึงเป็นสิ่งต้องห้าม เป็นเพราะ ... คนที่ได้รับการพัฒนารสชาติที่ไม่ดีสำหรับพวกเขาหลังจากที่พยายามที่จะใช้หนึ่งในโครงการที่ไม่เหมาะสมเป็นอย่างดี*ไปได้หรือไม่ เคลาส์ Wuestefeld ของการสนับสนุนพร่า หันคนออก ? คนที่ชอบโมเดลการเขียนโปรแกรมแบบบังคับนั้นไม่ชอบการแยก I / O ออกจากการคำนวณเลือกที่จะใช้ interleave การคำนวณด้วย I / …

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

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

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