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

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

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

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

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

18
วิชา CS ที่นักศึกษาระดับปริญญาตรีต้องรู้ [ปิด]
ในวิทยาลัยฉันไม่เคยสนใจทฤษฎีเลย ฉันไม่เคยอ่าน ไม่ว่าฉันจะพยายามมากแค่ไหนฉันก็ไม่สามารถอ่านสิ่งต่าง ๆ และไม่รู้ว่าเกิดอะไรขึ้นจริง เช่นในหลักสูตรของฉันเกี่ยวกับทฤษฎีออโตมาตะศาสตราจารย์ของฉันบอกฉันทุกสิ่งที่อาจเกี่ยวข้องกับแง่มุมทางคณิตศาสตร์ของมัน นี่เป็นเพียงตัวอย่าง ฉันจัดการผ่านวิทยาลัยของฉันและฝึกงานกับ บริษัท ด้วยซึ่งฉันทำโครงการและโชคดีที่พวกเขาไม่ได้สนใจคะแนนของฉันเนื่องจากพวกเขาสูงกว่าค่าเฉลี่ย ตอนนี้ฉันสนใจที่จะรู้ว่านักเรียน CS ควรมีความรู้เรื่องใดและจะต้องตระหนักถึงเรื่องใดบ้าง? วิชาที่สามารถมีความเกี่ยวข้องในอุตสาหกรรม นี่เป็นเพราะฉันมีเวลาว่างในมือของฉันและมันจะช่วยให้ฉันมีความเข้าใจที่ดีขึ้น คุณมีข้อเสนอแนะอะไร? เช่นเดียวกับขั้นตอนวิธีเป็นหนึ่งเรื่อง

13
คำแนะนำด้านอาชีพ: พักกับ PHP หรือเริ่มอาชีพใหม่ในสิ่งอื่น (.Net?) [ปิด]
ฉันวางแผนที่จะย้ายไปนิวยอร์กในช่วง 6-12 เดือนที่ผ่านมาดังนั้นฉันจึงถูกบังคับให้หางานใหม่ เมื่อฉันวางแผนที่จะเริ่มชีวิตของฉันในเมืองอื่นมันอาจเป็นเวลาที่ดีที่จะคิดถึงการเปลี่ยนแปลงอาชีพ ฉันพบความคิดเห็นที่แตกต่างกันมากมายเกี่ยวกับ PHP vs .Net vs Java และนี่ไม่ใช่หัวข้อที่นี่ ฉันไม่ต้องการที่จะเริ่มการต่อสู้ใหม่เกี่ยวกับภาษาที่ดีกว่า การรู้ภาษาการเขียนโปรแกรมไม่ใช่สิ่งสำคัญที่สุดสำหรับการเป็นนักพัฒนาซอฟต์แวร์ ในการเป็นนักพัฒนาที่ดีจริงๆคุณต้องรู้จัก OOP รูปแบบการออกแบบการทดสอบ ... และภาษาเป็นเพียงเครื่องมือในการทำให้สิ่งต่างๆเกิดขึ้น กลับไปที่คำถามของฉัน ฉันมีประสบการณ์หลากหลายในด้าน IT - 1 ปีในฐานะ IT Support guy (การบริหารและการสนับสนุน Windows) มีประสบการณ์ 2 ปีในการเขียนโปรแกรมแบบฝังตัว (VB.Net 2005) และในช่วง 2 ปีที่ผ่านมาฉันทำงานกับ PHP / MySQL ฉันทำงานกับ Magento web shop ซึ่งช่วยเหลือในบางโครงการใน Symfony ซึ่งแก้ไขไซต์ Drupal ไม่กี่แห่ง ข้อกังวลหลักของฉันคือ: …

20
สิ่งที่ควรอยู่ในมาตรฐานการเข้ารหัส? [ปิด]
สิ่งที่ควรเป็นมาตรฐานการเข้ารหัสที่ดี (อ่าน: มีประโยชน์) สิ่งที่รหัสควรมี สิ่งที่รหัสไม่ควรมี มาตรฐานการเข้ารหัสควรมีคำจำกัดความของสิ่งที่ภาษาคอมไพเลอร์หรือตัวจัดรูปแบบโค้ดบังคับใช้หรือไม่? สิ่งที่เกี่ยวกับการวัดเช่นความซับซ้อนของวงจรเส้นต่อไฟล์ ฯลฯ

6
จะเตรียมตัวอย่างไรสำหรับคำถามสัมภาษณ์รายการ? [ปิด]
ซ้ำได้: จริง ๆ “ ว้าว” พวกเขาในการสัมภาษณ์ สมมติว่าฉันปรากฏตัวเพื่อให้สัมภาษณ์ คำถามอะไรบ้างที่ฉันคาดหวังและฉันจะเตรียมตัวอย่างไร
34 interview 

28
หนังสือเขียนโปรแกรมที่แย่ที่สุดที่คุณเคยอ่านคืออะไร? [ปิด]
หนังสือเกี่ยวกับการเขียนโปรแกรมหรือเทคนิคที่เลวร้ายที่สุดที่คุณเคยอ่านคืออะไร นี่สามารถเป็นหนังสือเล่มใดก็ได้ที่เชื่อมต่อกับการเขียนโปรแกรมไม่ทางใดก็ทางหนึ่งตราบเท่าที่มันไม่ใช่นิยาย
34 books 

4
ฉันควรใช้ตัวพิมพ์ใหญ่ทั้งหมดสำหรับค่าคงที่ของฉันหรือไม่
ฉันเป็นโปรแกรมเมอร์ Python ที่ใช้ pylint เป็นหลักในการซอร์สโค้ด ฉันสามารถกำจัดคำเตือนทั้งหมดยกเว้นชื่อ: ชื่อไม่ถูกต้องสำหรับค่าคงที่ การเปลี่ยนชื่อเป็นตัวพิมพ์ใหญ่ทั้งหมดจะแก้ไขได้ แต่ฉันควรจะทำอย่างนั้นจริงหรือ ถ้าฉันทำฉันพบว่ารหัสของฉันดูน่าเกลียดเนื่องจากตัวแปรส่วนใหญ่มีค่าคงที่ (ตาม pylint)

5
Microservices และขั้นตอนการจัดเก็บ
กระบวนงานที่เก็บไว้ถูกพิจารณาว่าเป็นการปฏิบัติที่ไม่ดีในสถาปัตยกรรม microservice หรือไม่ นี่คือความคิดของฉัน: หนังสือส่วนใหญ่ใน microservices แนะนำหนึ่งฐานข้อมูลต่อ microservice ขั้นตอนการจัดเก็บมักจะทำงานบนฐานข้อมูลเสาหิน อีกครั้งหนังสือสถาปัตยกรรมไมโครบริการส่วนใหญ่ระบุว่าพวกเขาควรจะเป็นอิสระและควบคู่กันอย่างอิสระ การใช้ขั้นตอนการจัดเก็บที่เขียนไว้พูดเฉพาะใน Oracle คู่หูกับบริการไมโครสโคปกับเทคโนโลยีนั้นอย่างแน่นหนา หนังสือสถาปัตยกรรม microservice ส่วนใหญ่ (ที่ฉันได้อ่าน) แนะนำว่า microservices ควรเป็นเชิงธุรกิจ (ออกแบบโดยใช้การออกแบบที่ขับเคลื่อนด้วยโดเมน (DDD)) โดยการย้ายตรรกะทางธุรกิจไปยังกระบวนงานที่เก็บไว้ในฐานข้อมูลจะไม่เป็นเช่นนั้นอีกต่อไป ความคิดใด ๆ เกี่ยวกับเรื่องนี้?

5
เมื่อไหร่ที่จะต้องรวบรวมภาษาของตัวเองเป็นรหัส C ก่อน?
เมื่อออกแบบภาษาการเขียนโปรแกรมของตัวเองมันจะเหมาะสมที่จะเขียนตัวแปลงที่ใช้ซอร์สโค้ดและแปลงเป็นรหัส C หรือ C ++ เพื่อให้ฉันสามารถใช้คอมไพเลอร์ที่มีอยู่เช่น gcc เพื่อจบด้วยรหัสเครื่อง? มีโครงการที่ใช้วิธีนี้หรือไม่?

8
มีวิธีธรรมดาในการรวมสตริงพา ธ ไฟล์หรือไม่
ในตัวอย่าง: var assets = "images/" var sounds = assets+"sounds/" มันเป็นเรื่องธรรมดามากขึ้นที่จะใส่เครื่องหมายทับที่ด้านหลังของพา ธ ไฟล์หรือไม่? var assets = "/images" var sounds = assets+"/sounds" มีวิธีอื่นที่เป็นการปฏิบัติทั่วไปที่ดีหรือไม่?

12
มันเป็นกลิ่นรหัสในการจัดเก็บวัตถุทั่วไปในภาชนะและจากนั้นรับวัตถุและทำให้วัตถุตกต่ำจากคอนเทนเนอร์?
ตัวอย่างเช่นฉันมีเกมที่มีเครื่องมือบางอย่างเพื่อเพิ่มความสามารถของผู้เล่น: Tool.h class Tool{ public: std::string name; }; และเครื่องมือบางอย่าง: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; MagicCloth.h class MagicCloth : public Tool{ public: MagicCloth(){ this->name="MagicCloth"; } int attack; int defense; }; …

4
กระแสข้อมูลไบต์คืออะไรจริง
ใครช่วยอธิบายว่า byte stream มีอะไรบ้าง มันมีไบต์ (ข้อมูลฐานสิบหก) หรือข้อมูลไบนารีหรือตัวอักษรภาษาอังกฤษเท่านั้น? ฉันยังสับสนเกี่ยวกับคำว่า "ข้อมูลดิบ" หากมีคนขอให้ฉัน "ย้อนกลับข้อมูล 4 ไบต์" ดังนั้นฉันควรจะถือว่าข้อมูลเป็นรหัสฐานสิบหกหรือรหัสไบนารีหรือไม่

3
มีปัญหากับการใช้วิธี HTTP แบบกำหนดเองหรือไม่?
เรามี URL ในรูปแบบดังต่อไปนี้ / อินสแตนซ์ / {instanceType} / {} InstanceID คุณสามารถเรียกมันได้ด้วยวิธี HTTP มาตรฐาน: POST, GET, DELETE, PUT อย่างไรก็ตามมีการกระทำอีกสองสามอย่างที่เราดำเนินการเช่น "บันทึกเป็นแบบร่าง" หรือ "Curate" เราคิดว่าเราสามารถใช้วิธี HTTP แบบกำหนดเองเช่น: DRAFT, VALIDATE, CURATE ฉันคิดว่านี่เป็นสิ่งที่ยอมรับได้เพราะมาตรฐานบอกว่า "ชุดวิธีการทั่วไปสำหรับ HTTP / 1.1 ถูกกำหนดไว้ด้านล่างแม้ว่าชุดนี้สามารถขยายได้ แต่วิธีการเพิ่มเติมไม่สามารถสันนิษฐานได้ว่าจะใช้ความหมายเดียวกันสำหรับไคลเอนต์และเซิร์ฟเวอร์แยกกัน" และเครื่องมือเช่น WebDav สร้างส่วนขยายของตัวเอง มีปัญหาที่บางคนใช้กับวิธีการที่กำหนดเองหรือไม่? ฉันกำลังคิดถึงพร็อกซีเซิร์ฟเวอร์และไฟร์วอลล์ แต่ยินดีต้อนรับประเด็นอื่น ๆ ฉันควรอยู่อย่างปลอดภัยและมีพารามิเตอร์ URL เช่น action = validate | curate | …
34 rest  http 

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