คำถามติดแท็ก terminology

คำถามเกี่ยวกับความหมายวัตถุประสงค์หรือความเข้าใจร่วมกันของคำและแนวคิดที่เกี่ยวข้องกับวงจรชีวิตการพัฒนาระบบ

7
ข้อกำหนดมีความเสถียรและเชื่อถือได้
มีความแตกต่างระหว่างความเสถียรและความน่าเชื่อถือ (อย่างน้อยในบริบทวิศวกรรมซอฟต์แวร์) หรือสามารถใช้แทนกันได้หรือไม่? ถ้าไม่เช่นนั้นจะมีตัวอย่างของระบบที่น่าเชื่อถือ แต่ไม่จำเป็นต้องมีเสถียรภาพและในทางกลับกัน

6
การคำนวณแบบคลาวด์เป็นวิธีการเช่าทรัพยากรหรือไม่
บริษัท ที่ฉันทำงานที่เพิ่งโฮสต์บริการเว็บใน Windows Azure และประกาศว่า ตอนนี้การค้านิตยสารออนไลน์พูดอะไรที่ไร้ความหมายมากมายเช่น "company X ย้ายไปที่คลาวด์", "บริษัท X วางเดสก์ท็อปสำหรับคลาวด์" ฯลฯ ดูเหมือนว่ามีวัสดุจำนวนมากอยู่ที่นั่น (เริ่มต้นด้วยWikipedia ) ที่มีความยาวมากและพูดคุยเกี่ยวกับ "บริการ" และ "ราคาเริ่มต้นต่ำ" และสิ่งอื่น ๆ มากมาย แต่ฉันอ่านทั้งหมดแล้วและไม่เห็นว่าพวกเขาเป็นอย่างไร อาจมีประโยชน์สำหรับคนธรรมดาในการวาดเส้นระหว่างบริการในคลาวด์และการแลกเปลี่ยนสแต็กที่เป็นบริการ แต่ทำงานบนเซิร์ฟเวอร์อิฐและปูนใน colocation ตอนนี้จากประสบการณ์ของฉันกับ Windows Azure ความแตกต่างที่แท้จริงมีดังต่อไปนี้ ด้วยคลาวด์เจ้าของบริการจะเช่าฮาร์ดแวร์แบนด์วิดท์เครือข่ายและสิทธิ์ในการใช้มิดเดิลแวร์ (Windows 2008 ที่ใช้ในบทบาท Azure เป็นต้น) ตามต้องการและยังมีความช่วยเหลือในการบำรุงรักษาบางอย่าง (เช่นถ้าคอมพิวเตอร์ที่มีบทบาทกำลังทำงานขัดข้องคอมพิวเตอร์เครื่องอื่น พบโดยอัตโนมัติและมีการปรับใช้บทบาทใหม่) หากไม่มีระบบคลาวด์เจ้าของบริการจะต้องจัดการกับทุกสิ่งด้วยตัวเอง นั่นจะเป็นความแตกต่างใช่มั้ย

3
“ การออกแบบดาวน์สตรีม / อัปสตรีม” หมายความว่าอย่างไร
คำถามนี้ถูกย้ายจากภาษาอังกฤษและการแลกเปลี่ยนสแต็กการใช้งานเพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา "การออกแบบดาวน์สตรีม / อัปสตรีม" ในการพัฒนาซอฟต์แวร์หมายถึงอะไร

7
ความแตกต่างระหว่างรูปแบบและหลักการ
รูปแบบการออกแบบเชิงวัตถุและหลักการต่างกันอย่างไร พวกเขาต่างกันไหม? เท่าที่ฉันเข้าใจพวกเขาทั้งสองพยายามบรรลุเป้าหมายร่วมกัน (เช่นความยืดหยุ่น) ดังนั้นฉันสามารถพูดได้ว่ารูปแบบเป็นหลักการและในทางกลับกัน? หลักการออกแบบ = SOLID (เช่นหลักการผกผันของการพึ่งพา) รูปแบบการออกแบบ = Gof (เช่นรูปแบบนามธรรมของโรงงาน)

2
ปัญหาเกี่ยวกับความเข้าใจคำว่า "ตะเข็บ"
ฉันกำลังอ่าน "การพึ่งพาการฉีดใน. NET" โดย Mark Seemann (มันยอดเยี่ยมและต้องมี) และผู้เขียนมักใช้คำว่า "ตะเข็บ" แต่ฉันไม่เข้าใจความหมาย นี่คือตัวอย่างของการใช้คำนี้: บทที่ 7 อธิบายวิธีการเขียนวัตถุในเฟรมเวิร์กที่หลากหลายเช่น ASP.NET MVC, WPF, WCF และอื่น ๆ ไม่ใช่ทุกเฟรมเวิร์คที่สนับสนุน DI อย่างเท่าเทียมกันและแม้แต่ในบรรดาที่ทำวิธีที่พวกเขาทำแตกต่างกันมาก สำหรับแต่ละเฟรมเวิร์กอาจเป็นการยากที่จะระบุ SEAM ที่เปิดใช้ DI ในเฟรมเวิร์กนั้น อย่างไรก็ตามเมื่อพบว่า SEAM คุณมีทางออกสำหรับแอปพลิเคชันทั้งหมดที่ใช้กรอบงานนี้โดยเฉพาะ ในบทที่ 7 ฉันได้ทำงานนี้สำหรับกรอบงานแอพพลิเคชัน NET ที่ใช้กันทั่วไปมากที่สุดแล้ว คิดว่ามันเป็นแคตตาล็อกของกรอบ SEAMS ฉันจะขอบคุณมากที่ช่วยฉันทำความเข้าใจกับคำนี้

4
คุณควรนำอะไรมาไว้ในตารางในฐานะสถาปนิกซอฟต์แวร์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มีการหลายคำถามที่มีคำตอบที่ดีเกี่ยวกับบทบาทของสถาปนิกซอฟต์แวร์ (SA) ในStackOverflowและโปรแกรมเมอร์ SE ฉันพยายามถามคำถามที่เน้นกว่าเล็กน้อย คำจำกัดความของ SA นั้นกว้างดังนั้นคำถามนี้จึงให้คำจำกัดความของ SA ดังนี้: สถาปนิกซอฟต์แวร์แนะนำการออกแบบโดยรวมของโครงการมีส่วนร่วมกับความพยายามในการเขียนโค้ดดำเนินการตรวจสอบโค้ดและเลือกเทคโนโลยีที่จะใช้ ในคำอื่น ๆ ฉันไม่ได้พูดเกี่ยวกับส่วนที่เหลือของการบริหารจัดการและเสื้อกั๊กที่ SAs ประเภทคำ (บทกวีคำต่อไป) ยอด ถ้าฉันจะไล่ตามตำแหน่ง SA ทุกประเภทฉันไม่ต้องการออกห่างจากการเข้ารหัส ฉันอาจเสียสละเวลาเพื่อติดต่อกับลูกค้าและนักวิเคราะห์ธุรกิจ ฯลฯ แต่ฉันยังคงมีส่วนร่วมทางเทคนิคและฉันไม่เพียงแค่รู้ว่าเกิดอะไรขึ้นในการประชุม เมื่อคำนึงถึงประเด็นเหล่านี้แล้ว SA ควรนำอะไรมาสู่ตาราง พวกเขาควรเข้ามาในความคิดของ "วางกฎหมาย" (เพื่อพูด) และบังคับใช้เครื่องมือบางอย่างเพื่อให้เหมาะสมกับ "ทาง" คือแนวทางการเข้ารหัสแหล่งควบคุมรูปแบบเอกสาร UML ฯลฯ ? หรือพวกเขาควรระบุทิศทางเริ่มต้นและกลยุทธ์แล้ววางกลับเข้ามาตามความจำเป็นเพื่อแก้ไขทิศทางของเรือ? ขึ้นอยู่กับองค์กรซึ่งอาจไม่ทำงาน SA …

3
การพูดคุยเกี่ยวกับ“ วิธีการ” ของ C ++ มันผิดอย่างไร (กับ“ ฟังก์ชั่นสมาชิก”)
ฉันเข้าใจว่าตาม C ++ สเป็คไม่มีสิ่งเช่น "วิธีการ" และบางส่วน (มากที่สุด?) โปรแกรมเมอร์ C ++ พิจารณา "วิธี" เป็น Java-ism ในทางกลับกันแม้แต่ในฟอรัม C ++คนก็ดูเหมือนจะพูดถึงวิธีการต่างๆโดยไม่ชักกระตุก ฉันกำลังมองหาอนุสัญญาที่เป็นที่รู้จักหรือการปฏิบัติทั่วไปเกี่ยวกับคำศัพท์นี้ ฉันกำลังทำเอกสาร API ที่มีทั้ง C ++ และ Java เวอร์ชัน นักพัฒนาได้เก็บคลาสและเมธอด / ฟังก์ชันสมาชิกไว้เหมือนกันระหว่างสองชื่อนี้เพื่อความสะดวกในการย้ายและการทดสอบ ด้วยเหตุนี้สิ่งที่จำเป็นต้องได้รับการบันทึกเกี่ยวกับ API เหล่านี้คือ "ทางเลือก" ด้านบนของภาษา ฉันต้องสามารถพูดคุยทั่วไปเกี่ยวกับ Foos และ Bars ด้วยวิธีการ baz () และ mumble () ... วิธีการ? ถ้าฉันพูดถึงวิธีการโปรแกรมเมอร์ Java จะพิจารณาเป็นธรรมชาติและจะปรากฏขึ้นโปรแกรมเมอร์ C …

5
Google ปิดเป็นคอมไพเลอร์จริงหรือไม่?
คำถามนี้เป็นคำถามแรงบันดาลใจจากการอภิปรายในการแสดงความคิดเห็นในคำถามนี้กองมากเกิน Google ปิดคอมไพเลอร์เอกสารระบุต่อไปนี้ (เน้นเพิ่ม): Closure Compiler เป็นเครื่องมือสำหรับการดาวน์โหลด JavaScript และทำงานได้เร็วขึ้น มันเป็นคอมไพเลอร์ที่แท้จริงสำหรับ JavaScript แทนที่จะรวบรวมจากภาษาต้นฉบับเป็นรหัสเครื่องจะรวบรวมจาก JavaScript เป็น JavaScript ที่ดีกว่า อย่างไรก็ตามWikipediaให้คำจำกัดความของ "compiler" ดังต่อไปนี้: คอมไพเลอร์คือโปรแกรมคอมพิวเตอร์ (หรือชุดของโปรแกรม) ที่แปลงซอร์สโค้ดที่เขียนในภาษาโปรแกรม (ภาษาต้นฉบับ) เป็นภาษาคอมพิวเตอร์อื่น ... นักเขียนภาษามักจะเป็นโปรแกรมที่แปลรูปแบบของการแสดงออกโดยไม่ต้องเปลี่ยน ภาษา. จากนั้นฉันก็จะบอกว่า Google Closure ไม่ใช่คอมไพเลอร์ แต่ความจริงที่ว่า Google ระบุอย่างชัดเจนว่าที่จริงแล้วมันเป็น "คอมไพเลอร์ที่แท้จริง" ทำให้ฉันสงสัยว่ามีอะไรมากกว่านั้น Google Closure เป็นคอมไพเลอร์ JavaScript จริงๆหรือ

2
ต้นไม้ Aguri คืออะไร
จะผ่านรายการข่าวแฮ็กเกอร์เก่าบางอย่างฉันเจอโพสต์จากผู้ใช้ที่กล่าวว่า ต้นไม้ Aguri ซึ่งแต่งงานกับ Radix Trie ขนาดเท่าขอบ (เช่นที่คุณใช้ในตารางการจัดเส้นทางซอฟต์แวร์) ไปยังรายการ LRU และสังเคราะห์มวลรวมอัตโนมัติ (เช่น 10.0.0.0/16 จาก 1,000 การสังเกตในทุก IP) จากรูปแบบ ของการแทรก พวกเขาเป็นที่รู้จักกันดีในการวิเคราะห์ทราฟฟิก แต่เราก็ใช้มันในการวิเคราะห์หน่วยความจำรันไทม์เช่นกัน ~ tptacek ดังนั้นฉันจึงตัดสินใจค้นหามัน การค้นหาโดย Google อย่างรวดเร็วทำให้ฉันไปที่ไดรเวอร์ F1 การค้นหาวิกิพีเดียนำไปสู่วรรณะทางการเกษตรในอินเดียและบางรายการจากญี่ปุ่น Stack Overflow พบผล 0 รายการ/programming//search?q=aguri site:stackoverflow.com/questions aguri ในที่สุดฉันก็เชื่อมโยงมันกลับไปยังผู้ใช้แล้วเห็นว่าเขามีลิงค์ในบล็อกของเขา http://www.matasano.com/log/1009/aguri-coolest-data-structure-youve-never-heard-of/ แต่มันตายไปแล้ว ดังนั้นโครงสร้างข้อมูล Aguri นี้คืออะไรและถ้าเป็นโครงสร้างข้อมูลจริงเหตุใดจึงไม่มีการบันทึกไว้ที่อื่น

8
รหัสเทียมคืออะไร?
ฉันได้เห็นการกล่าวถึง Pseudocode จำนวนมากเมื่อเร็ว ๆ นี้บนไซต์นี้และอื่น ๆ แต่ฉันไม่เข้าใจ Pseudocode คืออะไร ตัวอย่างเช่นบทความ Wikipedia ด้านล่างกล่าวว่า"มันใช้แบบแผนโครงสร้างของภาษาการเขียนโปรแกรม แต่มีไว้สำหรับการอ่านของมนุษย์มากกว่าการอ่านด้วยเครื่อง" นี่หมายความว่าไม่ได้ใช้สร้างโปรแกรมจริงหรือ ทำไมถึงใช้ ใช้อย่างไร? ถือว่าเป็นภาษาโปรแกรมหรือไม่ (ดูคำพูดของ Wikipedia ข้างต้น) มันรู้จักกันทั่วไป / ใช้? ฉันไม่รู้จริงๆว่าจะเริ่มจากตรงไหน ฉันได้ Googled แล้วและฉันได้เห็นบทความ Wikipedia ในหัวข้อแต่ฉันก็ยังไม่เข้าใจว่ามันคืออะไร

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

2
ความหมายของ 'ฟิกซ์เจอร์' ต่างกันอย่างไร?
ฉันมีปัญหาในการเข้าใจแนวคิดของ "การติดตั้ง" ฉันรู้ว่าชุดทดสอบคืออะไรกรณีทดสอบเรียกใช้การทดสอบ แต่ "ฟิกซ์เจอร์" คืออะไร กรณีทดสอบแปร? สำหรับฉันแล้วความหมายหรือความหมายของคำว่า "ฟิกซ์เจอร์" อาจแตกต่างกันเล็กน้อยโดยภาษาการเขียนโปรแกรมหรือโดยการทดสอบกรอบ? ฉันคิดว่าการติดตั้งแบบ phpunit " รหัสเพื่อตั้งโลกขึ้นมาอยู่ในสถานะที่เป็นที่รู้จักและจากนั้นกลับสู่สภาพเดิมเมื่อการทดสอบเสร็จสมบูรณ์. รัฐนี้เป็นที่รู้จักกันจะเรียกว่าการติดตั้งการทดสอบ. " แตกต่างจาก " fitnesse fixture " เล็กน้อย " การติดตั้งเป็นสะพานเชื่อมระหว่างหน้า Wiki และ System Under Test (SUT) ซึ่งเป็นระบบจริงที่จะทดสอบ " มีผู้เชี่ยวชาญในการทดสอบซอฟต์แวร์แถวนี้ที่สามารถตอบคำถามนี้ได้หรือไม่ ยินดีต้อนรับการอ้างอิงถึงภาษาการเขียนโปรแกรมอื่น ๆ

4
การคัดเลือกนักแสดงหมายถึงอะไร
เมื่อการเข้ารหัสในภาษาระดับต่ำเช่น CI พบว่าบางครั้งการแคสต์หมายถึง 'ตีความไบต์เหล่านี้ซ้ำอีกครั้งราวกับว่ามันเป็นประเภทอื่น' และในบางครั้งในขณะที่ 'แปลงค่านี้ให้เป็นประเภทอื่นอย่างชาญฉลาด' ความหมายดั้งเดิมของคำคืออะไรและมีความสอดคล้องในการคาดหวังการแปลงและเมื่อใดที่คาดหวังการตีความดิบ?

5
คำว่า 'Front-End' ตรงกันกับ 'ฝั่งไคลเอ็นต์' หรือไม่ ถ้าเป็นเช่นนั้นเป็นเช่นนี้เสมอหรือไม่
ในฐานะนักพัฒนาเว็บที่ค่อนข้างใหม่ (เรียนรู้ด้วยตนเอง) ฉันเคยได้ยินคำว่าfront-end , ฝั่งไคลเอ็นต์ , back-endและฝั่งเซิร์ฟเวอร์ค่อนข้างบ่อย สำหรับฉัน front-end และ back-end นั้นมีความหมายเหมือนกันกับฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ตามลำดับ อย่างไรก็ตามในขณะที่ฉันเริ่มทำงานกับกรอบ MVC เช่น CodeIgniter ฉันได้เจออินสแตนซ์ของการอ้างอิงถึงอะไรก็ตามที่ผู้ใช้เห็น (โดยรวมถึงโค้ดฝั่งเซิร์ฟเวอร์) ในขณะที่แบ็คเอนด์ได้อ้างถึงสิ่งใด ผู้ใช้ปลายทางไม่เห็น (รวมถึง CMS) สำหรับฉันฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์นั้นมีความหมายที่เป็นรูปธรรมมากขึ้น พวกเขามีเส้นที่แตกต่างกันมากแยกพวกเขา ส่วนหน้าและส่วนหลังในทางกลับกันอย่าทำเช่นนั้น ในการสนทนาฉันจำได้ว่ามีนักพัฒนาเว็บคนอื่นเขาเรียก CodeIgniter (อย่างครบถ้วน) ว่าเป็น front-end และสิ่งนี้ทำให้ฉันสับสน ฉันไม่แน่ใจว่าจะแก้ไขให้ถูกต้องและพูดว่า CodeIgniter เป็นส่วนท้ายของฉันหรือถ้าคำจำกัดความของคำศัพท์ทั้งสองนั้นผิดไปทั้งหมด การค้นหาคำจำกัดความของ front-end-back-end ทำให้ฉันสับสนมากขึ้นในบางประเด็นแม้ว่าพวกเขาจะอธิบายบางสิ่ง ฉันแค่อยากจะรู้ว่าเส้นไหนถูกลากระหว่างคำศัพท์ทั้งสี่นี้และวิธีที่พวกเขารวมเข้าด้วยกันในบริบทของการพัฒนาเว็บ (โดยเฉพาะในกองไฟ LAMP)

3
เมื่อโปรแกรมเมอร์พูดถึง "โครงสร้างข้อมูล" พวกเขาจะอ้างถึงอะไร
เมื่อโปรแกรมเมอร์พูดคุยเกี่ยวกับ "โครงสร้างข้อมูล" ที่พวกเขาเพียงพูดคุยเกี่ยวกับชนิดข้อมูลนามธรรมเช่นรายการ , ต้นไม้ , แฮช , กราฟฯลฯ ? หรือคำนั้นรวมถึงโครงสร้างใด ๆ ที่เก็บข้อมูลเช่นประเภทคอมโพสิต (วัตถุคลาส, structs, enums ฯลฯ ) และประเภทดั้งเดิม (บูลีน, int, ถ่าน ฯลฯ )? ฉันเคยได้ยินโปรแกรมเมอร์ใช้คำว่าอ้างอิงโครงสร้างข้อมูลที่ซับซ้อนหรือชนิดข้อมูลนามธรรมอย่างไรก็ตามบทความ Wikipedia ที่ให้รายการโครงสร้างข้อมูลประกอบด้วยทั้งชนิดคอมโพสิตและชนิดดั้งเดิมในนิยามซึ่งไม่ใช่สิ่งที่ฉันคาดหวัง แม้ว่ามันจะสมเหตุสมผล) เมื่อดูทางออนไลน์ฉันเห็นสถานที่อื่น ๆ ที่อ้างถึงคำว่า "โครงสร้างข้อมูล" ในแง่การเขียนโปรแกรมเป็นเพียงการอ้างถึงประเภทข้อมูลนามธรรมเช่นการบรรยายนี้จาก Stony Brook ของภาควิชาวิทยาการคอมพิวเตอร์ซึ่งระบุ โครงสร้างข้อมูลเป็นการใช้งานจริงของชนิดข้อมูลนามธรรมเฉพาะ หรือwikibook นี้กับโครงสร้างข้อมูลซึ่งใช้คำในประโยคเช่นนี้ เนื่องจากโครงสร้างข้อมูลเป็น abstractions ระดับที่สูงกว่าจึงมีการดำเนินการกับกลุ่มข้อมูลเช่นการเพิ่มรายการลงในรายการหรือค้นหารายการที่มีลำดับความสำคัญสูงสุดในคิว เหตุใดฉันจึงเคยได้ยินโปรแกรมเมอร์อ้างถึงโครงสร้างข้อมูลที่ซับซ้อนหรือชนิดข้อมูลนามธรรมเมื่อพวกเขาใช้คำว่า "โครงสร้างข้อมูล" โปรแกรมเมอร์มีคำจำกัดความที่แตกต่างจากคำศัพท์มากกว่าพจนานุกรม

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