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

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

5
“ วิธีการ” เป็นคำพิเศษใน OOP มาจากที่ใด
"วิธีการ" เป็นคำพิเศษในการเขียนโปรแกรมเชิงวัตถุ ไม่มีใครรู้ว่าเมื่อใดที่เริ่มใช้คำนี้ในแง่นี้และเกี่ยวข้องกับภาษาโปรแกรมหรือสาขาอื่น ๆ ของการเรียนรู้เชิงปริมาณ

3
การปฏิบัติที่ดีที่สุดบนเว็บมีความสำคัญหรือไม่หาก บริษัท ใหญ่ ๆ ละเมิดลิขสิทธิ์อยู่เสมอ
โดยทั่วไปจะมีกฎและแนวทางปฏิบัติที่ดีที่สุดซึ่งจะช่วยเพิ่มประสิทธิภาพเว็บไซต์นำลูกค้าใหม่ ๆ และโดยทั่วไปแล้วทำให้ผู้ใช้มีประสบการณ์การใช้งานที่รวดเร็วราบรื่นและน่าพอใจในขณะที่ (บางครั้ง) ลดภาระของเซิร์ฟเวอร์ นอกจากนี้โดยปกติแล้ว บริษัท ที่ใหญ่ที่สุดไม่สนใจที่จะใช้วิธีปฏิบัติที่ดีที่สุดเหล่านั้น ยกเว้นบาง บริษัท (เช่น Google) บนเว็บไซต์ที่ใหญ่ที่สุดเราสามารถดู: เลย์เอาต์ของตารางไม่ใช่ JavaScript ขนาดเล็กไม่มี CSS sprite ที่ควรเป็นไฟล์ CSS หลายไฟล์ JavaScript ที่ล่วงล้ำแม้ในสถานการณ์ที่ง่ายต่อการไม่สร้างความรำคาญเรียกใช้ไฟล์ JavaScript ใน<head/>ฯลฯ ข้อผิดพลาดที่ไม่มีความหมายป๊อปอัปที่น่ารำคาญลงทะเบียนแบบฟอร์มด้วยฟิลด์จำนวนมากที่ต้องกรอกปัญหา UX ในการลงทะเบียน questions คำถามที่โง่และสถานการณ์ที่ทำให้ไม่สามารถใช้เว็บไซต์²สถานการณ์ที่สับสนในส่วนสำคัญของเว็บไซต์³การเปลี่ยนเส้นทางหลายหน้าช้าเป็นต้น . ในอีกด้านหนึ่ง บริษัท เหล่านั้นจ่ายเงินเป็นจำนวนมากเพื่อพัฒนาเพิ่มประสิทธิภาพและโฮสต์เว็บไซต์ของพวกเขาเนื่องจากความสำเร็จของพวกเขาขึ้นอยู่กับบางส่วนหรือทั้งหมด ในทางกลับกันพวกเขากำลังละเมิดแนวปฏิบัติที่ดีที่สุดอย่างต่อเนื่องในขณะที่ผู้คนที่สนับสนุนแนวทางปฏิบัติที่ดีที่สุดนั้นอธิบายว่าพวกเขาช่วยให้บรรลุเว็บไซต์ UX ที่ดีขึ้นและเร็วขึ้นโดยมีรอยเท้าน้อยต่อสิ่งแวดล้อม (ซึ่งอาจไม่สำคัญ . ในกรณีเช่นนี้มันมีเหตุผลที่จะถาม: หาก บริษัท ขนาดใหญ่ที่ประสบความสำเร็จจริงๆมีเงินจำนวนมากสำหรับเว็บไซต์และพนักงานที่มีความสามารถและการดูแลเกี่ยวกับการเพิ่มประสิทธิภาพเว็บไซต์ละเมิดแนวทางปฏิบัติที่ดีที่สุดเหล่านั้นอย่างสม่ำเสมอหรือไม่ หรืออีกนัยหนึ่งคือหากการปฏิบัติที่ดีที่สุดนั้นสำคัญและช่วยเพิ่มประสิทธิภาพเว็บไซต์อย่างมากทำไม บริษัท เหล่านั้นไม่สนใจพวกเขา ลองตัวอย่างของ Dell.com ฉันค่อนข้างมั่นใจว่าพวกเขาจ้างสิ่งที่ดีที่สุดเพื่อสร้างหน้าแรกของพวกเขา หน้าแรกของพวกเขาใช้เค้าโครงตาราง …

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

16
อะไรคือวิธีที่ดีกว่าในการอธิบายกระบวนการ“ Idiot Proofing” ชิ้นส่วนของซอฟต์แวร์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สำหรับฉันแล้ว Idiot Proofing นั้นหมายถึงการทำให้แน่ใจว่าผู้ใช้จะไม่สามารถแบ่งซอฟต์แวร์ได้แม้ว่าเขาจะลองก็ตาม ตัวอย่างเช่นหากค่าถูกอ่านจากกล่องข้อความและถูกแปลงเป็น double หากซอฟต์แวร์อ้างอิงนั้นเป็นตัวพิสูจน์ที่งี่เง่าก็จะไม่แตกหากผู้ใช้พิมพ์ในค่าที่ไม่ใช่ double ฉันเพิ่งเขียนกำหนดการพัฒนาและหนึ่งในรายการที่ชื่อว่า "Idiot proof UI" ผู้คนที่ฉันกำลังสร้างซอฟท์แวร์นี้แกล้งทำผิดกับคำ แต่ฉันสามารถดูว่าคำนี้จะทำให้คนอารมณ์เสียจริงๆ เป็นวิธีที่ดีกว่าที่จะพูดแบบนี้?

2
การตรวจสอบและบันทึกทำสิ่งเดียวกันในระบบซอฟต์แวร์หรือไม่?
ฉันเคยเห็นว่าบางระบบซอฟต์แวร์มีฟังก์ชั่นการตรวจสอบและบันทึก ทั้งสองฟังก์ชั่นเหล่านั้นดูเหมือนว่าพวกเขากำลังทำสิ่งเดียวกัน - บันทึกการกระทำของผู้ใช้ทั้งหมดที่อยู่เบื้องหลัง มีตารางการตรวจสอบและบันทึกที่เกี่ยวข้องอยู่ในฐานข้อมูล หากพวกเขาทำสิ่งเดียวกันจริง ๆ ทำไมนักพัฒนาจึงพัฒนาฟังก์ชั่นที่ซ้ำซ้อนในระบบ
13 audit 

10
มันเป็นไปได้หรือไม่ที่จะฟอร์แมตโค้ดนักพัฒนาซอฟต์แวร์อื่นในขณะที่แก้ไข / เพิ่มโมดูล?
ในขณะที่พัฒนาในบรรยากาศของกลุ่มและการเพิ่มหรือแก้ไขคุณสมบัติในบางรหัสฐาน ถือว่าเป็นการล่วงละเมิดหรือไม่สุภาพที่จะทำการฟอร์แมทโค้ดนักพัฒนาก่อนหน้านี้เพื่อให้ได้มาตรฐานการเข้ารหัสปัจจุบันหรือไม่? ฉันเข้าใจว่ามาตรฐานมีการเปลี่ยนแปลงและอาจจะมีการเปลี่ยนแปลงต่อไป แต่มีใครบ้างที่ทำให้คุณขุ่นเคืองหากมีใครบางคนเข้ามาและเปลี่ยนรูปแบบรหัสของคุณ? เพื่อความชัดเจนฉันไม่ได้พูดถึงการเปลี่ยนแปลงตรรกะใด ๆ เพียงแค่ยุ่งกับแท็บและช่องว่างและเช่นนั้น แก้ไข: ฉันไม่เพียงทำสิ่งนี้เพื่อมาตรฐานการเข้ารหัสเท่านั้นมันช่วยให้ฉันอ่านรหัสของพวกเขาและนำมาปรับปรุงให้ทันสมัยเพื่อให้ฉันสามารถเข้าใจตรรกะที่ใช้ก่อนที่จะเริ่มแก้ไขแอปพลิเคชันที่สำคัญ

8
ฉันจะให้คนรู้ได้อย่างไรว่าซอฟต์แวร์ที่ฉันให้ฟรีไม่ได้ถูกทิ้งไว้?
ในฐานะที่เป็นโปรแกรมเมอร์อิสระรายบุคคล: ฉันจะให้คนรู้ได้อย่างรวดเร็วว่าฉันไม่ได้ละทิ้งซอฟต์แวร์ที่ฉันเขียนและแจกฟรีได้อย่างไร ฉันต้องใช้ความพยายามในการบำรุงรักษาและสนับสนุนซอฟต์แวร์ของฉันในระดับมืออาชีพหรือไม่ เมื่อซอฟต์แวร์ที่เขียนโดยนักพัฒนาซอฟต์แวร์หนึ่งหรือสองคนมีให้บริการฟรีหรือทำเครื่องหมายเป็นโอเพนซอร์ซโดยปกติแล้วสมมติฐานเริ่มต้นคือซอฟต์แวร์ที่ถูกทอดทิ้ง นี่เป็นข้อสันนิษฐานที่ปลอดภัย - ตรวจสอบคำตอบสำหรับคำถามนี้หากคุณสงสัย: ทำไมโปรแกรมเมอร์เขียนแอปพลิเคชันที่มาจากแหล่งปิดแล้วทำให้เป็นอิสระ? . มีโปรแกรมเมอร์จำนวนมากที่ให้บริการฟรีและ / หรือเครื่องมือโอเพนซอร์ซซึ่งไม่ได้ทิ้งเครื่องมือไว้ หากเรากำลังพูดถึง บริษัท ขนาดใหญ่เช่น Google ไม่มีปัญหาจริงที่บอกความแตกต่างระหว่างการสนับสนุนเครื่องมือสดและซอฟต์แวร์และ บริษัท ที่ถูกทอดทิ้งหรือหยุด พื้นที่เก็บข้อมูล git ที่มีชีวิตชีวานั้นไม่รวดเร็ว - ผู้ใช้จะต้องมีความเข้าใจมากพอที่จะเข้าใจที่เก็บข้อมูลและรู้ว่าจะต้องค้นหาที่ไหน การตลาดและการจัดการชุมชนที่สอดคล้องต้องใช้เวลาและความพยายามมากกว่าที่ฉันสามารถทำได้ด้วยตัวเอง นอกจากนี้หากซอฟต์แวร์ของฉันกลายเป็นที่นิยม / ประสบความสำเร็จฉันถือว่าพวกเขาจะเติบโตได้ด้วยตนเองและได้รับการสนับสนุนจากผู้ใช้ระดับสูงในชุมชน

7
อะไรคือการใช้เธรดในการเขียนโปรแกรมอย่างเหมาะสม?
ฉันเบื่อที่จะได้ยินคนแนะนำว่าคุณควรใช้เพียงหนึ่งเธรดต่อโปรเซสเซอร์ในขณะที่หลาย ๆ โปรแกรมใช้มากถึง 100 ต่อกระบวนการ! ยกตัวอย่างบางโปรแกรมทั่วไป vb.net ide uses about 25 thread when not debugging System uses about 100 chrome uses about 19 Avira uses more than about 50 ทุกครั้งที่ฉันโพสต์คำถามที่เกี่ยวข้องกับเธรดฉันได้รับการเตือนเกือบทุกครั้งที่ฉันไม่ควรใช้มากกว่าหนึ่งเธรดต่อตัวประมวลผลและโปรแกรมทั้งหมดที่ฉันพูดถึงข้างต้นจะทำลายระบบของฉันด้วยโปรเซสเซอร์เดียว

7
รับหัวของฉันรอบ Immutability
ฉันยังใหม่ต่อการเขียนโปรแกรมเชิงวัตถุและแนวคิดหนึ่งที่ทำให้ฉันเข้าใจไม่ได้ ฉันคิดว่าหลอดไฟดับไปเมื่อคืน แต่ฉันต้องการยืนยัน: เมื่อฉันเจอข้อความที่ไม่สามารถเปลี่ยนวัตถุที่ไม่เปลี่ยนรูปได้ฉันก็สับสนเพราะฉันสามารถทำสิ่งต่อไปนี้: NSString *myName = @"Bob"; myName = @"Mike"; ที่นั่นฉันเพิ่งเปลี่ยน myName ประเภท NSString ที่ไม่เปลี่ยนรูป ปัญหาของฉันคือคำว่า "วัตถุ" สามารถอ้างถึงวัตถุทางกายภาพในหน่วยความจำหรือนามธรรม "myName" คำจำกัดความเดิมใช้กับแนวคิดของการเปลี่ยนแปลงไม่ได้ สำหรับตัวแปรนั้นนิยามของ immutability ที่ชัดเจน (สำหรับฉัน) คือค่าของวัตถุที่ไม่เปลี่ยนรูปสามารถเปลี่ยนได้โดยเปลี่ยนตำแหน่งในหน่วยความจำเช่นการอ้างอิง ถูกต้องหรือไม่ฉันยังหลงทางอยู่ในป่า?

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

5
TDD การทดสอบใหม่ในขณะที่ยังไม่มีการใช้งาน
ฉันกำลังทดลองกับการพัฒนาโดยใช้การทดสอบและฉันพบว่าฉันมักจะเกิดสถานการณ์ต่อไปนี้: ฉันเขียนการทดสอบสำหรับการใช้งาน X การทดสอบเหล่านั้นล้มเหลว ในขณะที่พยายามใช้งาน X ฉันเห็นว่าฉันต้องใช้คุณลักษณะบางอย่าง Y ในเลเยอร์ที่ต่ำกว่าของรหัสของฉัน ดังนั้น... ฉันเขียนการทดสอบสำหรับ Y ตอนนี้การทดสอบทั้ง X และ Y ล้มเหลว เมื่อฉันมีคุณสมบัติ 4 อย่างในโค้ดเลเยอร์ต่าง ๆ ที่ใช้งานได้ในเวลาเดียวกันและฉันก็สูญเสียความสนใจในสิ่งที่ฉันกำลังทำจริง ๆ (การทดสอบจำนวนมากล้มเหลวในเวลาเดียวกัน) ฉันคิดว่าฉันสามารถแก้ปัญหานี้ได้โดยใช้ความพยายามมากขึ้นในการวางแผนงานของฉันก่อนที่ฉันจะเริ่มเขียนข้อสอบ แต่ในบางกรณีฉันไม่ทราบว่าฉันจะต้องไปให้ลึกกว่านี้เพราะเช่นฉันไม่รู้จัก API ของเลเยอร์ที่ต่ำกว่าเป็นอย่างดี ฉันควรทำอย่างไรในกรณีเช่นนี้? TDD มีคำแนะนำใด ๆ หรือไม่?

8
คุณมักจะเขียนชื่อของคุณเองหรือชื่อ บริษัท ของคุณในรหัสของคุณ?
ฉันทำงานหลายโครงการทั้งที่บ้านและที่ทำงานและหลายปีที่ผ่านมาฉันได้พัฒนา API หลักสองตัวที่ฉันใช้ในเว็บไซต์ AJAX เกือบทั้งหมด ฉันได้รวบรวมทั้งสองอย่างนี้เป็น DLLs และเรียก namespaces Connell.Database และ Connell.Json เจ้านายของฉันเพิ่งเห็นเนมสเปซเหล่านี้ในเอกสารประกอบซอฟต์แวร์สำหรับโครงการของ บริษัท และบอกว่าฉันไม่ควรใช้ชื่อของตัวเองในรหัส (แต่มันเป็นรหัสของฉัน!) สิ่งหนึ่งที่ควรคำนึงถึงคือเราไม่ใช่ บริษัท ซอฟต์แวร์ เราเป็น บริษัท ที่ให้การสนับสนุนด้านไอทีและฉันเป็นผู้พัฒนาซอฟต์แวร์เต็มเวลาเพียงคนเดียวที่นี่ดังนั้นจึงไม่มีขั้นตอนใด ๆ เกี่ยวกับวิธีที่เราควรเขียนซอฟต์แวร์ใน บริษัท อีกสิ่งหนึ่งที่ต้องคำนึงถึงคือฉันตั้งใจจะออกวันนี้ DLLs เป็นโครงการโอเพนซอร์ส นักพัฒนาซอฟต์แวร์อื่นจัดกลุ่มเนมสเปซของพวกเขาภายใน บริษัท ของพวกเขาอย่างไร ใครบ้างที่ใช้ห้องสมุดชั้นเดียวกันในโครงการส่วนตัวและในโครงการ? มันทำงานด้วยวิธีอื่นอีกไหม? ถ้าฉันเขียนไลบรารีคลาสที่ทำงานโดยสิ้นเชิงใครเป็นเจ้าของรหัสนั้น หากฉันเห็นห้องสมุดตั้งแต่ต้นจนจบออกแบบและตั้งโปรแกรม ฉันสามารถใช้มันสำหรับโครงการอื่นที่บ้านได้หรือไม่ ขอบคุณ ปรับปรุง ฉันได้พูดคุยกับหัวหน้าของฉันเกี่ยวกับปัญหานี้และเขาตกลงว่าพวกเขาเป็นวัตถุของฉันและเขาก็โอเคสำหรับฉันที่จะเปิดโอเพนซอร์ส ก่อนการสนทนาครั้งนี้ฉันเริ่มเปลี่ยนวัตถุต่อไปซึ่งจริงๆแล้วค่อนข้างมีประสิทธิผลและตอนนี้รหัสเหมาะกับโครงการเฉพาะนี้มากขึ้นกว่าเดิม แต่ขอขอบคุณทุกคนที่เกี่ยวข้องสำหรับการอภิปรายที่น่าสนใจมาก ฉันหวังว่าข้อความทั้งหมดนี้จะไม่สูญเปล่าและมีคนเรียนรู้จากมัน ฉันทำอย่างแน่นอน ไชโย

4
มันเป็น "รูปแบบกลิ่น" ที่จะนำตัวแบบเช่น "FullName" หรือ "FormattedPhoneNumber" ในรุ่นของคุณหรือไม่?
ฉันกำลังทำงานกับแอพ ASP.NET MVC และฉันเริ่มติดนิสัยในการวางสิ่งที่ดูเหมือนว่า getters ที่เป็นประโยชน์และสะดวกในคลาส / โมเดลเอนทิตีของฉัน ตัวอย่างเช่น: public class Member { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string PhoneNumber { get; set; } public string FullName { get { return FirstName + …

9
รูปแบบการออกแบบ: ฉันควรเรียนรู้พวกเขา? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ดังนั้นมันค่อนข้างแปลกที่ถามคำถามสองข้อย้อนหลัง แต่พวกเขาไม่เกี่ยวข้องกันมากและฉันไม่ต้องการรวม แต่ฉันไม่ใช่คำถามสแปมฉันสัญญา! อย่างไรก็ตามฉันเป็นบัณฑิตวิทยาลัยเมื่อไม่นานมานี้และการศึกษาของฉันได้สัมผัสกับรูปแบบการออกแบบเท่านั้น ... เราดำเนินการเรียบง่ายเพียงไม่กี่สัมผัสกับความจริงที่ว่ามีคนที่ซับซ้อนมากขึ้นและได้รับคำสั่งให้หันไปใช้หนังสือ GoF ถ้าเรา ต้องการเรียนรู้เพิ่มเติม คำถามของฉันคือมันคุ้มค่าที่จะเรียนรู้รูปแบบในหนังสือ GoF หรือไม่? สำหรับฉันแล้วมันดูเหมือนเคาน์เตอร์ธรรมดาที่จะพยายามทำปัญหาให้พอดีกับรูปแบบคลาสสิค แต่เห็นได้ชัดว่าหนังสือและรูปแบบมีชื่อเสียงด้วยเหตุผล พวกเขาปรากฏตัวเพียงพอที่ฉันควรจะเรียนรู้พวกเขา? ขอบคุณอีกครั้ง!

4
เหตุใดเราจึงต้องการความปลอดภัยของบริการ REST หากเรามี HTTPS
ฉันอ้างถึงบทความที่ยอดเยี่ยมhttp://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ซึ่งพูดถึง amazon เช่นความปลอดภัยสำหรับบริการเว็บ อย่างไรก็ตามฉันถูกถามคำถามในทีมว่าทำไมเราถึงต้องการถ้าเราใช้ HTTPS อยู่แล้ว ฉันไม่สามารถตอบได้เพราะจริง ๆ แล้วดูเหมือนว่าฉันจะพูดถูก มีสถานที่ให้บริการ REST ที่ HTTPS อาจไม่ทำงานหรือไม่ ชอบเว็บไซต์บุคคลที่สามหรือไม่ หากใครมีประสบการณ์ในการรักษาความปลอดภัยบริการทางเว็บผ่านทางเว็บสาธารณะกรุณาเล่าถึงประสบการณ์ของคุณ ขอบคุณล่วงหน้า. แก้ไข: เพื่อชี้แจงฉันไม่ได้พูดถึงการตรวจสอบผู้ใช้ แต่การตรวจสอบลูกค้าเพิ่มเติม การพิสูจน์ตัวตนผู้ใช้สามารถถือว่าเป็นข้อความธรรมดาผ่าน HTTPS + REST ความกังวลของฉันคือสิ่งนี้ยังช่วยให้ทุกคนสามารถใช้บริการเว็บโดยที่ลูกค้าของฉันไม่สามารถเข้าถึงได้เนื่องจากทุกอย่างเป็นข้อความธรรมดาแม้ผ่าน HTTPS จุดสิ้นสุดไคลเอ็นต์ยังคงสามารถใช้บริการเว็บของฉันได้โดยไม่ต้องมีแอปพลิเคชันไคลเอนต์
13 rest 

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