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

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

3
ทำไมพารามิเตอร์ที่แท้จริงเรียกว่า "การขัดแย้ง"?
คำว่า "อาร์กิวเมนต์" (ในแง่ของการเขียนโปรแกรม) มาจากไหน? เช่นทำไมพารามิเตอร์จริงเรียกว่า "การขัดแย้ง"? ความหมายดูเหมือนจะไม่เกี่ยวข้องกันและฉันไม่พบคำอธิบายใด ๆ เลย หมายเหตุเกี่ยวกับคำศัพท์: พารามิเตอร์ "เป็นทางการ" (เรียกอีกอย่างว่า "พารามิเตอร์") คือชื่อ "ตัวยึดตำแหน่ง" (พูด, x) - พารามิเตอร์ที่ประกาศของฟังก์ชัน พารามิเตอร์ "จริง" (หรือที่เรียกว่า "อาร์กิวเมนต์") เป็นค่าจริงที่ส่งผ่านไปยังฟังก์ชัน (พูด, 5) ดังนั้นฉันใช้คำนี้ข้างบนเพื่อป้องกันความสับสน

2
คุณจะใช้ Google Search อย่างไร [ปิด]
สมมติว่าคุณถูกถามในการสัมภาษณ์ "คุณจะใช้ Google Search อย่างไร" คุณจะตอบคำถามนี้อย่างไร อาจมีแหล่งข้อมูลที่อธิบายว่ามีการใช้งานชิ้นส่วนบางอย่างใน Google ได้อย่างไร (BigTable, MapReduce, PageRank, ... ) แต่ไม่เหมาะสำหรับการสัมภาษณ์ คุณจะใช้สถาปัตยกรรมใดโดยรวมและคุณจะอธิบายสิ่งนี้อย่างไรในช่วงเวลา 15-30 นาที ฉันจะเริ่มต้นด้วยการอธิบายวิธีสร้างเครื่องมือค้นหาที่จัดการกับเอกสาร ~ 100k แล้วขยายสิ่งนี้ด้วยการส่งผ่านเอกสารประมาณ 50 ล้านเอกสารจากนั้นอาจก้าวกระโดดทางสถาปัตยกรรม / ทางเทคนิคอื่น นี่คือมุมมอง 20,000 ฟุต สิ่งที่ฉันต้องการคือรายละเอียด - คุณจะตอบอย่างไรในการสัมภาษณ์ โครงสร้างข้อมูลใดที่คุณจะใช้ สถาปัตยกรรมของคุณประกอบด้วยบริการ / เครื่องจักรใด เวลาแฝงของแบบสอบถามทั่วไปจะเป็นอย่างไร สิ่งที่เกี่ยวกับปัญหา failover / split brain? ฯลฯ ...

3
วิธีที่เหมาะสมในการทำวิธีการค้นหาแบบ RESTful ที่ซับซ้อนคืออะไร
ตามหลักการ REST ฉันต้องการสร้างวิธีการ GET สำหรับ API ของฉันที่ทำการค้นหาโดยใช้เกณฑ์บางอย่างและส่งคืนผลลัพธ์ให้กับลูกค้า ปัญหาคือเกณฑ์สามารถมีพารามิเตอร์ได้มากถึง 14 พารามิเตอร์โดยหนึ่งในนั้นคือรายการของวัตถุที่ซับซ้อนดังนั้น ... ฉันไม่รู้ด้วยซ้ำว่าเป็นไปได้ในการเข้ารหัส / ถอดรหัสวัตถุที่ซับซ้อนเหล่านี้ไปยัง / จากพารามิเตอร์ url ฉันไม่ได้คำนวณระยะเวลาที่ URL จะได้รับ แต่ฉันแน่ใจว่ามันจะมีขนาดใหญ่พอและอาจถึงขีด จำกัด ของ URL ได้หรือไม่ นอกจากนี้การค้นหาควรแสดงผลลัพธ์ใน "เรียลไทม์" ฉันหมายความว่าทุกครั้งที่ผู้ใช้เปลี่ยนบางสิ่งจากแบบฟอร์มการค้นหาเขาควรจะเห็นผลลัพธ์ใหม่โดยไม่ต้องกดปุ่ม "ค้นหา" ใด ๆ คุณช่วยอธิบายประเด็นเหล่านี้ให้ฉันหน่อยได้มั้ยและอะไรคือคำแนะนำของคุณในการสร้างวิธีการค้นหาแบบพักผ่อนด้วยพารามิเตอร์จำนวนมาก?
44 rest  api 

8
โดเมนขับเคลื่อนการออกแบบรูปแบบต่อต้าน SQL หรือไม่
ฉันกำลังดำน้ำในการออกแบบที่ขับเคลื่อนด้วยโดเมน (DDD) และในขณะที่ฉันไปลึกมากขึ้นในนั้นมีบางสิ่งที่ฉันไม่ได้รับ ตามที่ฉันเข้าใจแล้วประเด็นหลักคือการแยก Domain Logic (Business Logic) จาก Infrastructure (DB, File System ฯลฯ ) สิ่งที่ฉันสงสัยคือจะเกิดอะไรขึ้นเมื่อฉันมีข้อความค้นหาที่ซับซ้อนมากเช่นแบบสอบถามการคำนวณทรัพยากรวัสดุ ในประเภทของแบบสอบถามที่คุณทำงานกับการดำเนินการชุดใหญ่ประเภทของสิ่งที่ SQL ได้รับการออกแบบมาสำหรับ ทำการคำนวณเหล่านั้นภายใน Domain Layer และทำงานกับชุดจำนวนมากในนั้นก็เหมือนกับการทิ้งเทคโนโลยี SQL การคำนวณเหล่านี้ในโครงสร้างพื้นฐานไม่สามารถเกิดขึ้นได้เช่นกันเพราะรูปแบบ DDD ช่วยให้สามารถเปลี่ยนแปลงโครงสร้างพื้นฐานได้โดยไม่ต้องเปลี่ยน Domain Layer และรู้ว่า MongoDB ไม่มีความสามารถเช่น SQL Server ที่ไม่สามารถเกิดขึ้นได้ นั่นเป็นข้อผิดพลาดของรูปแบบ DDD หรือไม่?

7
การใช้ชื่อพารามิเตอร์ที่แตกต่างจากชื่อประเภทเท่านั้นโดยปลอกถือเป็นแนวทางปฏิบัติที่ไม่ดีใน C #?
ฉันเห็นคำถามที่คล้ายกับเรื่องนี้เกี่ยวกับชื่อพารามิเตอร์ที่ตรงกับคุณสมบัติในคลาส แต่ฉันไม่พบสิ่งใดเกี่ยวกับการใช้ชื่อพารามิเตอร์ที่เหมือนกับชื่อประเภทพารามิเตอร์ยกเว้นการใส่ใน C # ดูเหมือนจะไม่เป็นการละเมิดที่ฉันสามารถหาได้ แต่มันถือว่าเป็นการปฏิบัติที่ไม่ดี ตัวอย่างเช่นฉันมีวิธีการดังต่อไปนี้ public Range PadRange(Range range) {} วิธีนี้ใช้ช่วงและส่งกลับช่วงใหม่ที่มีการเติมเต็มบางส่วน ดังนั้นด้วยบริบททั่วไปฉันไม่สามารถนึกถึงชื่อที่อธิบายเพิ่มเติมสำหรับพารามิเตอร์ได้ อย่างไรก็ตามฉันระลึกถึงปลายที่ฉันหยิบขึ้นมาเมื่ออ่านรหัสสมบูรณ์เกี่ยวกับ "ระยะทางทางจิตวิทยา" มันบอกว่า ระยะทางทางจิตวิทยาสามารถกำหนดได้ว่าเป็นความง่ายในการแยกความแตกต่างของสองรายการ ... เมื่อคุณดีบั๊กให้พร้อมสำหรับปัญหาที่เกิดจากระยะห่างทางจิตใจไม่เพียงพอระหว่างชื่อตัวแปรที่คล้ายกันและระหว่างชื่อรูทีนที่คล้ายกัน ในขณะที่คุณสร้างรหัสให้เลือกชื่อที่มีความแตกต่างมากเพื่อให้คุณสามารถหลีกเลี่ยงปัญหาได้ ลายเซ็นวิธีการของฉันมี "ช่วง" มากมายเกิดขึ้นดังนั้นจึงรู้สึกว่ามันอาจเป็นปัญหาเกี่ยวกับระยะห่างทางจิตวิทยานี้ ตอนนี้ฉันเห็นนักพัฒนาหลายคนทำต่อไปนี้ public Range PadRange(Range myRange) {} โดยส่วนตัวฉันมีความไม่พอใจที่แข็งแกร่งสำหรับการประชุมครั้งนี้ การเพิ่มคำนำหน้า "ของฉัน" ไปยังชื่อตัวแปรไม่มีบริบทเพิ่มเติม ฉันยังเห็นดังต่อไปนี้ public Range PadRange(Range rangeToPad) {} ฉันชอบสิ่งนี้ดีกว่าส่วนนำหน้า "ของฉัน" แต่ก็ยังไม่สนใจโดยรวม มันรู้สึก verbose มากเกินไปสำหรับฉันและอ่านอย่างเชื่องช้าเป็นชื่อตัวแปร สำหรับฉันมันเป็นที่เข้าใจกันดีว่าช่วงนั้นจะถูกเพิ่มเนื่องจากชื่อเมธอด ดังนั้นเมื่อทั้งหมดนี้ออกมาอุทรของฉันคือการได้ไปกับลายเซ็นแรก สำหรับฉันมันสะอาด ไม่จำเป็นต้องบังคับบริบทเมื่อไม่จำเป็น …

7
การแย่งชิงกันไม่ได้กับการประมูลสาธารณะหรือไม่
ฉันถูกถามโดยองค์กรสาธารณะเพื่อให้การประชุมเชิงปฏิบัติการอย่างไม่เป็นทางการเกี่ยวกับ 101 ของการพัฒนาความคล่องตัวอธิบายคำศัพท์และแนวคิดของ Scrum, Kanban และสิ่งที่คล้ายกัน ตอนนี้ฉันทำงานในสภาพแวดล้อมที่คล่องแคล่วมาประมาณห้าปีแล้ว แต่ฉันไม่คิดว่าฉันเป็นผู้เผยแพร่ศาสนา Scrum หลังจากการประชุมเชิงปฏิบัติการพวกเขาชอบความคิด อย่างไรก็ตามพวกเขาอธิบายว่าวิธีการอาจไม่สามารถใช้ได้กับพวกเขาเนื่องจากพวกเขาต้องการว่าจ้าง บริษัท ซอฟต์แวร์ภายนอกเพื่อพัฒนาซอฟต์แวร์สำหรับพวกเขา (พวกเขามีนักพัฒนาเพียงไม่กี่คนเท่านั้น) กิจกรรมนี้ต้องดำเนินการในกระบวนการประกวดราคาสาธารณะที่อธิบายผลลัพธ์ราคาและกรอบเวลา นี่เป็นข้อกำหนดทางกฎหมายในการใช้งบประมาณสำหรับองค์กรนี้ (สถาบันการวิจัยสาธารณะ) ข้อ จำกัด เหล่านี้ดูเหมือนจะขัดแย้งกับหลักการพื้นฐานของการพัฒนาที่คล่องตัวใช่ไหม? การแย่งชิงกันเพียงในสภาพแวดล้อมดังกล่าวหรือไม่? คุณอยากแนะนำอะไรกับองค์กรนี้

7
ในการเขียนโปรแกรมซอฟต์แวร์เป็นไปได้ไหมที่ทั้ง CPU และ GPU จะโหลด 100%?
นี่เป็นคำถามทั่วไปในเรื่องที่ฉันสนใจในฐานะนักเล่นเกม: คอขวดของ CPU / GPU และการเขียนโปรแกรม ถ้าฉันไม่เข้าใจผิดฉันจะเข้าใจว่าทั้ง CPU และ GPU คำนวณสิ่งของ แต่สิ่งหนึ่งนั้นดีกว่าในการคำนวณบางอย่างมากกว่าอีกอันหนึ่งเนื่องจากความแตกต่างของสถาปัตยกรรม ตัวอย่างเช่นการถอดรหัสแฮชหรือการขุด cryptocurrency ดูเหมือนจะมีประสิทธิภาพมากกว่าใน GPU มากกว่าใน CPU ดังนั้นฉันสงสัย: มี GPU ที่โหลด 100% ในขณะที่ CPU อยู่ที่ 50% (ตัวอย่าง) หลีกเลี่ยงไม่ได้? หรือแม่นยำยิ่งขึ้น: การคำนวณบางอย่างที่โดยปกติ GPU กระทำโดย CPU หากการคำนวณแรกนั้นมีการโหลด 100% ดังนั้นทั้งสองจะถึงการโหลด 100% หรือไม่ ฉันค้นหาเรื่องเล็กน้อย แต่กลับมาค่อนข้างถนัดมือ ฉันคิดและหวังว่าสิ่งนี้จะเกิดขึ้นในส่วนย่อยนี้และเปิดรับเอกสารหรือการบรรยายใด ๆ ที่คุณอาจให้ฉัน!

10
การทดสอบหน่วยช่วยการออกแบบได้อย่างไร
เพื่อนร่วมงานของเราส่งเสริมการทดสอบการเขียนในหน่วยเป็นจริงช่วยเราในการปรับแต่งการออกแบบและสิ่ง refactor ของเรา แต่ฉันไม่เห็นว่า หากฉันกำลังโหลดไฟล์ CSV และแยกวิเคราะห์หน่วยทดสอบ (ตรวจสอบความถูกต้องของค่าในฟิลด์) จะช่วยฉันยืนยันการออกแบบได้อย่างไร เขาพูดถึงการมีเพศสัมพันธ์และแบบแยกส่วนเป็นต้น แต่สำหรับฉันมันไม่สมเหตุสมผลเลย - แต่ฉันไม่มีพื้นหลังทางทฤษฎีมากนัก นั่นไม่เหมือนกับคำถามที่คุณทำเครื่องหมายว่าซ้ำกันฉันจะสนใจตัวอย่างจริง ๆ ว่ามันช่วยได้อย่างไรไม่ใช่แค่ทฤษฎีที่บอกว่า "ช่วยได้" ฉันชอบคำตอบด้านล่างและความคิดเห็น แต่ฉันต้องการเรียนรู้เพิ่มเติม

11
จะเรียกว่า "ความกังวลข้ามตัด" เป็นข้อแก้ตัวที่ถูกต้องในการทำลาย SOLID / DI / IoC?
เพื่อนร่วมงานของฉันชอบพูดว่า "การบันทึก / การแคช / ฯลฯ เป็นข้อกังวลข้าม" จากนั้นดำเนินการใช้ซิงเกิลที่เกี่ยวข้องทุกที่ พวกเขารัก IoC และ DI มันเป็นข้อแก้ตัวที่ถูกต้องหรือไม่ที่จะทำลายหลักการของ SOLI D ?

7
การอ้างอิงค่าฐานข้อมูลในตรรกะทางธุรกิจ
ฉันเดาว่านี่เป็นคำถามเกี่ยวกับการเข้ารหัสและแนวทางปฏิบัติที่ดีที่สุด สมมติว่าฉันมีรายการค่าให้บอกผลไม้ที่เก็บไว้ในฐานข้อมูล (จำเป็นต้องอยู่ในฐานข้อมูลเนื่องจากตารางจะใช้เพื่อวัตถุประสงค์อื่นเช่นรายงาน SSRS) พร้อมรหัส: 1 Apple 2 Banana 3 Grapes ฉันอาจนำเสนอให้กับผู้ใช้เขาเลือกหนึ่งมันจะถูกเก็บไว้ในโปรไฟล์ของเขาเป็น FavouriteFruit และ ID ที่เก็บไว้ในบันทึกของเขาในฐานข้อมูล เมื่อพูดถึงกฎเกณฑ์ทางธุรกิจ / ลอจิกโดเมนอะไรคือคำแนะนำสำหรับการกำหนดตรรกะให้กับค่าเฉพาะ พูดถ้าผู้ใช้เลือกองุ่นฉันต้องการทำงานพิเศษบางอย่างวิธีที่ดีที่สุดในการอ้างอิงค่าองุ่นคือ: // Hard coded name if (user.FavouriteFruit.Name == "Grapes") // Hard coded ID if (user.FavoriteFruit.ID == 3) // Grapes // Duplicate the list of fruits in an enum if (user.FavouriteFruit.ID == …
43 design 

8
การคืนค่าการคอมมิตโดยอัตโนมัติที่ล้มเหลวในการสร้าง
เพื่อนร่วมงานของฉันบอกฉันว่าเขากำลังคิดที่จะทำให้เซิร์ฟเวอร์ CI ของเรากลับไปใช้สิ่งที่ล้มเหลวในการสร้างดังนั้นHEADin masterจึงมีความเสถียรอยู่เสมอ (เช่นเดียวกับที่ผ่านการสร้างอย่างน้อย) นี่เป็นวิธีปฏิบัติที่ดีที่สุดหรืออาจเป็นปัญหามากกว่าแค่ปล่อยให้masterแตกจนกว่าผู้พัฒนาจะแก้ไขหรือไม่ ความคิดของฉันคือการคืนค่าการคอมมิชชันจะทำให้งานการอ่านการคอมมิชชันและการแก้ไขซับซ้อนมากขึ้น (นักพัฒนาจะต้องย้อนกลับการแปลงกลับแล้วคอมมิทการแก้ไขซึ่งจะทำให้ยุ่งเหยิงด้วยgit log) และเราควรปล่อยคอมมิต แก้ไข แม้ว่าฉันจะเห็นข้อได้เปรียบบางอย่างในการมีmasterเสถียรภาพ แต่การย้อนกลับมาของความล้มเหลวนี้ไม่ได้ทำให้ฉันมั่นใจ แก้ไข: ไม่สำคัญว่าจะเป็นmasterหรือสาขาการพัฒนาอื่น ๆ แต่คำถามยังคงเหมือนเดิม: ระบบ CI ควรเปลี่ยนการกระทำที่ล้มเหลวในการสร้างหรือไม่? การแก้ไขอื่น (ความยาว): ตกลงเรากำลังใช้gitวิธีแปลก ๆ เราเชื่อว่าแนวคิดของสาขาแตกต่างจาก CI จริงเนื่องจากการทำหน้าที่แยกสาขาคุณออกจากนักพัฒนาคนอื่นและการเปลี่ยนแปลงของพวกเขาและเพิ่มเวลาเมื่อคุณต้องรวบรวมสาขาของคุณอีกครั้งและจัดการกับความขัดแย้งที่อาจเกิดขึ้น หากทุกคนยอมรับmasterความขัดแย้งนี้จะลดลงเหลือน้อยที่สุดและทุกการกระทำผ่านการทดสอบทั้งหมด แน่นอนว่าสิ่งนี้บังคับให้คุณผลักดันเฉพาะความเสถียร (หรือคุณทำลายโครงสร้าง) และตั้งโปรแกรมอย่างระมัดระวังมากขึ้นเพื่อไม่ให้ทำลายความเข้ากันได้ย้อนหลังหรือทำการสลับคุณลักษณะเมื่อแนะนำคุณสมบัติใหม่ มีการแลกเปลี่ยนเมื่อทำ CI ด้วยวิธีนี้ แต่นั่นไม่ได้อยู่ในขอบเขตของคำถาม (ดูคำถามที่เกี่ยวข้องสำหรับเรื่องนี้) หากคุณต้องการฉันอาจตั้งคำถามใหม่: ทีมนักพัฒนาเล็ก ๆ ทำงานร่วมกันในสาขาฟีเจอร์ หากนักพัฒนารายหนึ่งยอมรับสิ่งที่ทำลายการสร้างสำหรับสาขานั้นระบบ CI ควรเปลี่ยนการยอมรับหรือไม่?

7
เมื่อใดที่จะไม่ใช้หลักการผกผันของการพึ่งพาอาศัย
ฉันกำลังพยายามหา SOLID อยู่ ดังนั้นหลักการการพึ่งพาการพึ่งพาจึงหมายความว่าสองคลาสใด ๆ ควรสื่อสารผ่านอินเทอร์เฟซไม่ใช่โดยตรง ตัวอย่าง: หากclass Aมีวิธีที่คาดว่าตัวชี้ไปยังวัตถุของการพิมพ์แล้ววิธีนี้ควรจริงคาดว่าวัตถุของการพิมพ์class B abstract base class of Bสิ่งนี้จะช่วยในการเปิด / ปิดเช่นกัน โดยมีเงื่อนไขว่าฉันเข้าใจที่ถูกต้องคำถามของฉันจะเป็นมันเป็นวิธีที่ดีที่จะใช้นี้ทั้งหมดปฏิสัมพันธ์ชั้นเรียนหรือฉันควรพยายามที่จะคิดในแง่ของชั้น ? เหตุผลที่ฉันสงสัยก็เพราะเราจ่ายราคาบางอย่างสำหรับการทำตามหลักการนี้ บอกว่าฉันต้องใช้คุณสมบัติZนี้ หลังจากการวิเคราะห์ผมสรุปได้ว่าคุณลักษณะที่Zประกอบด้วยฟังก์ชั่นA, และB Cฉันจะสร้างซุ้มระดับZที่ผ่านอินเตอร์เฟซที่ใช้เรียนA, และB Cฉันเริ่มต้นการเข้ารหัสและการดำเนินการในบางจุดที่ผมทราบดีว่างานที่Zจริงประกอบด้วยฟังก์ชั่นA, และB Dตอนนี้ฉันต้องทำให้เสียCอินเตอร์เฟส, Cคลาสต้นแบบและเขียนDอินเตอร์เฟสและคลาสแยกกัน หากไม่มีอินเทอร์เฟซจะต้องเปลี่ยนคลาสเท่านั้น กล่าวอีกนัยหนึ่งคือการเปลี่ยนแปลงบางสิ่งฉันต้องเปลี่ยน 1. ผู้โทร 2. ส่วนต่อประสาน 3. การประกาศ 4. การดำเนินการ ในไพ ธ อนการใช้งานร่วมกันโดยตรงฉันจะต้องเปลี่ยนเฉพาะการใช้งานเท่านั้น

3
ฉันจะสนับสนุนโครงการ GitHub ที่ถูกทอดทิ้ง (ส่วนใหญ่) ได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันได้พยายามเข้าร่วมการทำงานร่วมกับโอเพ่นซอร์สใน GitHub และได้พบกับสถานการณ์ที่ฉันอยากรู้ว่าวิธีที่ต้องการดำเนินการต่อไปคืออะไร ประมาณหนึ่งเดือนที่ผ่านมาฉันพบโครงการบน GitHub สำหรับห้องสมุดที่ฉันใช้มาระยะหนึ่งแล้วและที่ฉันได้พบ (และแก้ไข) ข้อบกพร่องบางอย่าง ในฐานะการจู่โจมครั้งแรกในการทำงานร่วมกันของ GitHub ฉันพบว่า repo ที่ดูเหมือนจะมีปริมาณสูงสุดของกิจกรรมล่าสุดแก้ไขข้อบกพร่องหนึ่งข้อทดสอบหน่วยเพิ่มขึ้นถึง GitHub และทำคำขอดึง ภายในเวลาไม่กี่ชั่วโมงผู้ดูแลระบบของ repo ที่ฉันได้รับการยอมรับ PR และรวมในการประชาสัมพันธ์อื่น ๆ ไม่กี่จากคนอื่น ๆ ที่ได้รับการรอเช่นกัน จากข้อค้นพบนี้ฉันได้แก้ไขข้อบกพร่องอีกสามข้อที่พบในแต่ละสาขาของ repo ของตัวเองและยื่นปัญหาและดึงคำขอแยกกัน นั่นเป็นเพียงเดือนที่ผ่านมาและคำขอดึงได้นั่งอยู่ที่นั่นไม่มีใครแตะต้องนับตั้งแต่ ผู้ใช้ที่ repo ที่ฉันเคยแยกดูเหมือนจะไม่กระตือรือร้นมากมีเพียง 7 ผลงานทั้งหมดใน GitHub ในปีที่ผ่านมาและ repo นั้นไม่มีภาระผูกพันตั้งแต่คำขอดึงครั้งแรกที่ฉันทำ ดังนั้นคำถามของฉัน: ใครจะดำเนินการต่อในสถานการณ์นี้? ตามหลักการแล้วฉันต้องการหลีกเลี่ยงการสร้างการแยกส่วนของห้องสมุดโดยออกไปและทำการเปลี่ยนแปลงทั้งหมดใน repo ของฉันซึ่งไม่ได้รวมเข้ากับ repo หลัก อย่างไรก็ตามฉันต้องการดำเนินการแก้ไขข้อบกพร่องและเพิ่มคุณสมบัติต่อไป แต่ถ้าฉันรวมทุกอย่างไว้ในสาขาหลักของฉันและยึดการแก้ไขใหม่ทั้งหมดออกจากสาขานั้นถ้าผู้ดูแลระบบของ repo ที่ฉันแยกกลับมาฉันชนะ …

2
ทำความเข้าใจกับลิขสิทธิ์ของ Visual Studio Community Edition
เมื่อเร็ว ๆ นี้ Microsoft ได้เปิดตัวVisual Studio Community Edition รุ่นฟรี ใบอนุญาตพูดว่า หากคุณปฏิบัติตามข้อกำหนดในการอนุญาตให้ใช้สิทธิเหล่านี้คุณมีสิทธิ์ข้างล่าง สิทธิ์ในการติดตั้งและใช้งาน ใบอนุญาตส่วนบุคคล หากคุณเป็นบุคคลที่ทำงานกับแอปพลิเคชันของคุณเองเพื่อขายหรือเพื่อวัตถุประสงค์อื่นคุณอาจใช้ซอฟต์แวร์เพื่อพัฒนาและทดสอบแอปพลิเคชันเหล่านั้น ข ใบอนุญาตองค์กร หากคุณเป็นองค์กรผู้ใช้ของคุณสามารถใช้ซอฟต์แวร์ดังต่อไปนี้: ·ผู้ใช้ของคุณจำนวนเท่าใดก็ตามอาจใช้ซอฟต์แวร์เพื่อพัฒนาและทดสอบแอปพลิเคชันของคุณภายใต้สิทธิการใช้งานซอฟต์แวร์โอเพ่นซอร์สที่ได้รับการรับรอง (OSI) ·ผู้ใช้ของคุณจำนวนเท่าใดก็ได้ที่อาจใช้ซอฟต์แวร์เพื่อพัฒนาและทดสอบแอปพลิเคชันของคุณโดยเป็นส่วนหนึ่งของการฝึกอบรมออนไลน์และการศึกษาในห้องเรียนหรือเพื่อการศึกษาเชิงวิชาการ ·หากไม่มีข้อใดข้อหนึ่งข้างต้นและคุณไม่ใช่องค์กร (กำหนดไว้ด้านล่าง) ผู้ใช้แต่ละรายของคุณสูงสุด 5 คนสามารถใช้ซอฟต์แวร์พร้อมกันเพื่อพัฒนาและทดสอบแอปพลิเคชันของคุณ ·หากคุณเป็นองค์กรพนักงานและผู้รับเหมาของคุณต้องไม่ใช้ซอฟต์แวร์เพื่อพัฒนาหรือทดสอบแอปพลิเคชันของคุณยกเว้นเพื่อวัตถุประสงค์โอเพนซอร์ซและการศึกษาตามที่ได้รับอนุญาตข้างต้น “ องค์กร” คือองค์กรใด ๆ และ บริษัท ในเครือที่มี (a) มากกว่า 250 เครื่องคอมพิวเตอร์หรือผู้ใช้หรือ (b) มากกว่าหนึ่งล้านดอลลาร์สหรัฐ (หรือเทียบเท่าในสกุลเงินอื่น) ในรายได้ต่อปีและ "บริษัท ในเครือ" หมายถึง หน่วยงานเหล่านั้นที่ควบคุม (ผ่านความเป็นเจ้าของส่วนใหญ่) ถูกควบคุมโดยหรืออยู่ภายใต้การควบคุมร่วมกับองค์กร ค สาธิตการใช้งาน การใช้งานที่ได้รับอนุญาตข้างต้นรวมถึงการใช้ซอฟต์แวร์ในการสาธิตการใช้งานของคุณ …

2
อัลกอริทึมการเรียงลำดับหมายความว่า“ เสถียร” หมายความว่าอย่างไร
ในการอ่านเกี่ยวกับอัลกอริทึมการเรียงลำดับต่าง ๆ ที่ฉันเคยเห็นมันบอกว่าบางตัวเป็น "เสถียร" และบางอันไม่ได้ หมายความว่าอย่างไรและการแลกเปลี่ยนใดที่เกี่ยวข้องกับพื้นฐานนั้นเมื่อเลือกอัลกอริทึม
43 sorting 

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