คำถามติดแท็ก language-agnostic

ใช้แท็กนี้สำหรับคำถามโปรแกรมที่เป็นอิสระจากภาษาการเขียนโปรแกรมเฉพาะใด ๆ

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

10
Asynchronous vs Multithreading - มีความแตกต่างหรือไม่?
การโทรแบบอะซิงโครนัสสร้างเธรดใหม่เสมอหรือไม่ อะไรคือความแตกต่างระหว่างทั้งสอง? การเรียกแบบอะซิงโครนัสสร้างหรือใช้เธรดใหม่เสมอหรือไม่ Wikipedia พูดว่า : ในการเขียนโปรแกรมคอมพิวเตอร์เหตุการณ์แบบอะซิงโครนัสคือเหตุการณ์ที่เกิดขึ้นโดยไม่ขึ้นกับผังรายการหลัก การดำเนินการแบบอะซิงโครนัสคือการดำเนินการในรูปแบบที่ไม่ปิดกั้นทำให้โฟลว์โปรแกรมหลักดำเนินการประมวลผลต่อไป ฉันรู้ว่าการโทรแบบ async สามารถทำได้ในเธรดเดียว? เป็นไปได้อย่างไร?

26
การรับบางส่วนของ URL (Regex)
Наэтотвопросестьответына Stack Overflow нарусском : Достатьзначенияспомощьюрегулярок ระบุ URL (บรรทัดเดียว): http://test.example.com/dir/subdir/file.html ฉันจะแยกส่วนต่อไปนี้โดยใช้นิพจน์ทั่วไปได้อย่างไร: โดเมนย่อย (ทดสอบ) โดเมน (example.com) เส้นทางที่ไม่มีไฟล์ (/ dir / subdir /) ไฟล์ (file.html) เส้นทางที่มีไฟล์ (/dir/subdir/file.html) URL ที่ไม่มีเส้นทาง ( http://test.example.com ) (เพิ่มสิ่งอื่น ๆ ที่คุณคิดว่ามีประโยชน์) regex ควรทำงานได้อย่างถูกต้องแม้ว่าฉันจะป้อน URL ต่อไปนี้: http://example.example.com/example/example/example.html

4
โครงสร้างข้อมูลสำหรับลูกเต๋าที่โหลดหรือไม่
สมมติว่าผมมี n เหลี่ยมตายโหลดที่แต่ละด้านมีบางส่วน k p น่าจะkของขึ้นมาเมื่อผมม้วน ฉันอยากรู้ว่ามีอัลกอริทึมที่ดีสำหรับการจัดเก็บข้อมูลนี้แบบคงที่ (เช่นสำหรับชุดของความน่าจะเป็นคงที่) เพื่อให้ฉันสามารถจำลองการหมุนของแม่พิมพ์แบบสุ่มได้อย่างมีประสิทธิภาพ ขณะนี้ฉันมีทางออก O (lg n) สำหรับปัญหานี้ ความคิดคือการเก็บตารางของความน่าจะเป็นสะสมของ k แรกสำหรับทุก k พวกเขาเพื่อสร้างจำนวนจริงแบบสุ่มในช่วง [0, 1) และทำการค้นหาแบบไบนารีเหนือตารางเพื่อให้ได้ดัชนีที่ใหญ่ที่สุดที่มีการสะสม ค่าไม่มากกว่าค่าที่เลือก ฉันชอบโซลูชันนี้ แต่ดูเหมือนแปลกที่รันไทม์ไม่ได้คำนึงถึงความน่าจะเป็น โดยเฉพาะอย่างยิ่งในกรณีที่สุดขั้วของด้านใดด้านหนึ่งขึ้นมาเสมอหรือค่าที่กระจายอย่างสม่ำเสมอเป็นไปได้ที่จะสร้างผลลัพธ์ของการหมุนใน O (1) โดยใช้วิธีการไร้เดียงสาแม้ว่าวิธีแก้ปัญหาของฉันจะยังคง ใครบ้างมีคำแนะนำสำหรับวิธีการแก้ปัญหานี้ในลักษณะที่ "ปรับตัว" อย่างใดในมัน runtime? แก้ไข : ตามคำตอบของคำถามนี้ฉันได้เขียนบทความที่อธิบายถึงวิธีการมากมายสำหรับปัญหานี้พร้อมกับการวิเคราะห์ของพวกเขา ดูเหมือนว่าการติดตั้งวิธีนามแฝงของ Vose จะให้เวลา process (n) เวลาในการประมวลผลล่วงหน้าและเวลา O (1) ต่อการหมุนตายซึ่งเป็นที่น่าประทับใจอย่างแท้จริง หวังว่านี่จะเป็นประโยชน์ต่อข้อมูลที่มีอยู่ในคำตอบ!

7
ฟังก์ชันแฮชที่ดีคืออะไร
ฟังก์ชันแฮชที่ดีคืออะไร ฉันเห็นฟังก์ชันแฮชและแอปพลิเคชันจำนวนมากในหลักสูตรโครงสร้างข้อมูลในวิทยาลัย แต่ส่วนใหญ่ฉันเข้าใจว่ามันยากที่จะสร้างฟังก์ชันแฮชที่ดี ตามกฎของหัวแม่มือเพื่อหลีกเลี่ยงการชนศาสตราจารย์ของฉันกล่าวว่า: function Hash(key) return key mod PrimeNumber end (mod คือตัวดำเนินการ% ในภาษา C และภาษาที่คล้ายคลึงกัน) โดยมีหมายเลขเฉพาะเป็นขนาดของตารางแฮช ฉันได้รับมันเป็นฟังก์ชั่นที่ค่อนข้างดีในการหลีกเลี่ยงการชนและสิ่งที่รวดเร็ว แต่ฉันจะทำให้ดีขึ้นได้อย่างไร มีฟังก์ชันแฮชที่ดีกว่าสำหรับปุ่มสตริงเทียบกับคีย์ตัวเลขหรือไม่?

12
สิ่งที่ไม่แปรเปลี่ยนคืออะไร?
คำนี้ดูเหมือนจะถูกนำไปใช้ในหลายบริบท สิ่งที่ดีที่สุดที่ฉันคิดได้คือมันหมายถึงตัวแปรที่ไม่สามารถเปลี่ยนแปลงได้ นั่นไม่ใช่ค่าคงที่ / รอบชิงชนะเลิศ (คุณคือ Java!) มีไว้เพื่ออะไร?

8
การแปลง RGB เป็นระดับสีเทา / ความเข้ม
เมื่อแปลงจาก RGB เป็นโทนสีเทามีการกล่าวว่าควรใช้น้ำหนักเฉพาะสำหรับช่อง R, G และ B น้ำหนักเหล่านี้คือ 0.2989, 0.5870, 0.1140 ว่ากันว่าเหตุผลนี้คือการรับรู้ / ความรู้สึกของมนุษย์ที่แตกต่างกันต่อสีทั้งสามนี้ บางครั้งก็มีการกล่าวว่านี่คือค่าที่ใช้ในการคำนวณสัญญาณ NTSC อย่างไรก็ตามฉันไม่พบข้อมูลอ้างอิงที่ดีสำหรับเรื่องนี้บนเว็บ ที่มาของค่าเหล่านี้คืออะไร? ดูเพิ่มเติมคำถามก่อนหน้านี้: ที่นี่และที่นี่

9
จะพัฒนาและทดสอบแอปที่ส่งอีเมลได้อย่างไร (โดยไม่ต้องกรอกข้อมูลทดสอบในกล่องจดหมายของผู้อื่น) [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีแอพมากมายที่ใช้ส่งอีเมล บางครั้งอาจเป็นครั้งละหนึ่งหรือสองข้อความ บางครั้งก็เป็นพันข้อความ ในการพัฒนาฉันมักจะทดสอบโดยแทนที่ที่อยู่ของตัวเองสำหรับที่อยู่ผู้รับใด ๆ ฉันแน่ใจว่านั่นคือสิ่งที่คนอื่นทำจนกว่าพวกเขาจะเบื่อหน่ายและหาทางออกที่ดีกว่า ฉันกำลังคิดเกี่ยวกับการสร้างเซิร์ฟเวอร์ SMTP จำลองที่จับข้อความและทิ้งลงในฐานข้อมูล SQLLite หรือไฟล์ mbox หรืออะไรก็ตาม แต่แน่นอนว่ามีเครื่องมืออยู่แล้ว? คุณจะทดสอบการส่งอีเมลได้อย่างไร?

14
การแก้ปัญหา "ใครเป็นเจ้าของ Zebra" โดยใช้โปรแกรม
แก้ไข: ปริศนานี้เรียกอีกอย่างว่า "Einstein's Riddle" ใครเป็นเจ้าของม้าลาย (คุณสามารถลองรุ่นออนไลน์ได้ที่นี่ ) เป็นตัวอย่างของชุดคลาสสิกของปริศนาและฉันเดิมพันที่คนส่วนใหญ่ในกองมากเกินสามารถแก้ได้ด้วยปากกาและกระดาษ แต่โซลูชันแบบเป็นโปรแกรมจะมีลักษณะอย่างไร จากเบาะแสที่ระบุด้านล่าง ... มีบ้านห้าหลัง บ้านแต่ละหลังมีสีที่เป็นเอกลักษณ์ของตัวเอง เจ้าของบ้านทุกคนต่างเชื้อชาติ พวกเขาทั้งหมดมีสัตว์เลี้ยงที่แตกต่างกัน พวกเขาดื่มเครื่องดื่มที่แตกต่างกัน พวกเขาสูบบุหรี่ต่างกัน ชายชาวอังกฤษอาศัยอยู่ในบ้านสีแดง ชาวสวีเดนมีสุนัข ชาวเดนดื่มชา บ้านสีเขียวอยู่ทางซ้ายของบ้านสีขาว พวกเขาดื่มกาแฟในบ้านสีเขียว ผู้ชายที่สูบบุหรี่พอลมอลล์มีนก ในบ้านสีเหลืองพวกเขาสูบบุหรี่ Dunhill ในบ้านหลังกลางพวกเขาดื่มนม ชาวนอร์เวย์อาศัยอยู่ในบ้านหลังแรก ชายที่สูบบุหรี่ Blend อาศัยอยู่ในบ้านข้างบ้านที่มีแมว ในบ้านถัดจากบ้านที่มีม้าพวกเขาสูบบุหรี่ Dunhill ผู้ชายที่สูบบุหรี่ Blue Master ดื่มเบียร์ ชาวเยอรมันสูบบุหรี่ให้เจ้าชาย ชาวนอร์เวย์อาศัยอยู่ติดกับบ้านสีฟ้า พวกเขาดื่มน้ำในบ้านข้างๆบ้านที่สูบเบลนด์ ... ใครเป็นเจ้าของ Zebra?

30
ไฟล์ I / O ในทุกภาษาโปรแกรม [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน9 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ นี่เป็นคำถามทั่วไปที่โปรแกรมเมอร์ทุกคนมีเป็นครั้งคราว ฉันจะอ่านบรรทัดจากไฟล์ข้อความได้อย่างไร คำถามต่อไปคือฉันจะเขียนมันกลับมาได้อย่างไร แน่นอนว่าส่วนใหญ่คุณใช้กรอบการทำงานระดับสูงในการเขียนโปรแกรมแบบวันต่อวัน (ซึ่งใช้ได้ดีกับคำตอบ) แต่บางครั้งก็เป็นเรื่องดีที่รู้วิธีการทำในระดับต่ำเช่นกัน ตัวผมเองรู้วิธีที่จะทำมันในC, C++และObjective-Cแต่แน่ใจว่าจะเป็นประโยชน์เพื่อดูว่าวิธีการก็ทำในทุกภาษาที่นิยมถ้าเพียง แต่จะช่วยให้เราตัดสินใจที่ดีขึ้นเกี่ยวกับสิ่งที่ภาษาที่จะทำไฟล์ของเรา io ใน. โดยเฉพาะอย่างยิ่ง ฉันคิดว่ามันจะน่าสนใจเพื่อดูว่ามันทำในภาษาสตริงการจัดการเช่น: python, และแน่นอนrubyperl ดังนั้นฉันคิดว่าที่นี่เราสามารถสร้างแหล่งชุมชนที่เราสามารถติดดาวไปยังโปรไฟล์ของเราและดูว่าเมื่อใดที่เราต้องทำไฟล์ I / Oในภาษาใหม่บางภาษา ไม่พูดถึงการเปิดรับเราทุกคนจะได้รับภาษาที่เราไม่ได้จัดการในแต่ละวัน นี่คือวิธีที่คุณต้องตอบ: สร้างไฟล์ข้อความใหม่ชื่อ " fileio.txt " เขียนบรรทัดแรก "hello" ลงในไฟล์ข้อความ ผนวกบรรทัดที่สอง "โลก" ลงในไฟล์ข้อความ อ่านบรรทัดที่สอง "โลก" ลงในสายป้อน พิมพ์สตริงอินพุตไปที่คอนโซล ชี้แจง: คุณควรแสดงวิธีการทำเช่นนี้ในภาษาการเขียนโปรแกรมเดียวต่อหนึ่งคำตอบเท่านั้น สมมติว่าไฟล์ข้อความไม่มีอยู่ก่อน คุณไม่จำเป็นต้องเปิดไฟล์ข้อความอีกครั้งหลังจากเขียนบรรทัดแรก ไม่ …

30
ฉันจะตรวจสอบได้อย่างไรว่าตัวเลขนั้นเป็นพาลินโดรม?
ฉันจะตรวจสอบได้อย่างไรว่าตัวเลขนั้นเป็นพาลินโดรม? ภาษาใดก็ได้ อัลกอริทึมใด ๆ (ยกเว้นอัลกอริทึมในการทำให้ตัวเลขเป็นสตริงแล้วย้อนกลับสตริง)

30
OOP คืออะไร?
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เท่าที่ฉันสามารถบอกได้แม้ว่าจะมีการใช้จ่ายไปกับการศึกษาภาษาและเครื่องมือ OOP หลายล้านหรือหลายพันล้านบาท แต่ OOP ก็ยังไม่ได้ปรับปรุงประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์หรือความน่าเชื่อถือของซอฟต์แวร์และไม่ได้ลดต้นทุนการพัฒนา มีเพียงไม่กี่คนที่ใช้ OOP ในแง่ที่เข้มงวด (มีเพียงไม่กี่คนที่ยึดมั่นหรือเข้าใจหลักการเช่น LSP) ดูเหมือนจะมีความสม่ำเสมอหรือความสอดคล้องเพียงเล็กน้อยกับแนวทางที่ผู้คนใช้ในการสร้างแบบจำลองโดเมนปัญหา บ่อยครั้งที่คลาสนี้ใช้สำหรับน้ำตาลที่เป็นประโยคเท่านั้น มันทำให้ฟังก์ชันสำหรับประเภทเรกคอร์ดเป็นเนมสเปซเล็ก ๆ ของตัวเอง ฉันได้เขียนโค้ดจำนวนมากสำหรับแอปพลิเคชันที่หลากหลาย แม้ว่าจะมีสถานที่ที่การพิมพ์ย่อยที่ทดแทนกันได้จริงมีบทบาทสำคัญในแอปพลิเคชัน แต่สิ่งเหล่านี้ก็ค่อนข้างโดดเด่น โดยทั่วไปแล้วแม้ว่าจะมีการให้บริการริมฝีปากเพื่อพูดถึงการ "ใช้ซ้ำ" แต่ความจริงก็คือเว้นแต่โค้ดส่วนหนึ่งจะทำในสิ่งที่คุณต้องการได้อย่างตรงจุดแต่ก็มี "การใช้ซ้ำ" ที่คุ้มค่าน้อยมาก เป็นเรื่องยากมากที่จะออกแบบชั้นเรียนให้สามารถขยายได้อย่างถูกต้องและโดยปกติแล้วค่าใช้จ่ายในการขยายจึงสูงมากจน "ใช้ซ้ำ" เพียงอย่างเดียวจึงไม่คุ้มค่า ในหลาย ๆ เรื่องสิ่งนี้ไม่ได้ทำให้ฉันประหลาดใจ โลกแห่งความเป็นจริงไม่ใช่ "OO" และความคิดนี้มีนัยใน OO - ที่เราสามารถจำลองสิ่งต่าง ๆ ด้วยอนุกรมวิธานของคลาส - ดูเหมือนว่าฉันจะมีข้อบกพร่องโดยพื้นฐานมาก (ฉันสามารถนั่งบนโต๊ะตอต้นไม้ฝากระโปรงรถ ตักของใครบางคน - แต่ไม่ใช่หนึ่งในนั้นคือเก้าอี้) แม้ว่าเราจะย้ายไปยังโดเมนที่เป็นนามธรรมมากขึ้น แต่การสร้างแบบจำลอง …


13
อัลกอริทึมเพื่อสร้างคำไขว้
เมื่อพิจารณาถึงรายการคำคุณจะจัดเรียงคำเหล่านี้ให้เป็นตารางคำไขว้ได้อย่างไร มันไม่จำเป็นต้องเป็นเหมือนปริศนาอักษรไขว้ที่ "เหมาะสม" ซึ่งเป็นแบบสมมาตรหรืออะไรทำนองนั้น: โดยพื้นฐานแล้วเพียงแค่แสดงตำแหน่งเริ่มต้นและทิศทางสำหรับแต่ละคำ

30
เหตุใดฉันจึงไม่ควรใช้ "สัญลักษณ์ภาษาฮังการี"
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันรู้ว่าภาษาฮังการีหมายถึงอะไร - ให้ข้อมูลเกี่ยวกับตัวแปรพารามิเตอร์หรือประเภทเป็นคำนำหน้าชื่อ ดูเหมือนทุกคนจะต่อต้านมันอย่างดุเดือดแม้ว่าในบางกรณีดูเหมือนว่าจะเป็นความคิดที่ดีก็ตาม หากฉันรู้สึกว่ามีการให้ข้อมูลที่เป็นประโยชน์เหตุใดฉันจึงไม่ควรใส่ข้อมูลดังกล่าวในที่ที่มีอยู่ ดูเพิ่มเติม: ผู้คนใช้หลักการตั้งชื่อภาษาฮังการีในโลกแห่งความเป็นจริงหรือไม่?

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