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

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

4
ขีด จำกัด ขนาดที่ใช้ได้จริงของ Hashtable และ Dictionary ใน c #
อะไรคือข้อ จำกัด ในทางปฏิบัติสำหรับจำนวนรายการที่พจนานุกรม C # 4 หรือ Hashtable สามารถมีได้และจำนวนไบต์ทั้งหมดโครงสร้างเหล่านี้อาจมีเหตุผล ฉันจะทำงานกับวัตถุจำนวนมากและต้องการทราบว่าโครงสร้างเหล่านี้เริ่มมีปัญหาเมื่อใด สำหรับบริบทฉันจะใช้ระบบ 64 บิตกับหน่วยความจำมากมาย นอกจากนี้ฉันจะต้องค้นหาวัตถุโดยใช้รูปแบบบางอย่างหรือ 'คีย์' เมื่อพิจารณาถึงความต้องการประสิทธิภาพวัตถุเหล่านี้จะต้องอยู่ในหน่วยความจำและส่วนใหญ่จะมีอายุการใช้งานยาวนาน อย่าลังเลที่จะแนะนำวิธีการ / รูปแบบอื่น ๆ แม้ว่าฉันจะต้องหลีกเลี่ยงการใช้ห้องสมุดบุคคลที่สามหรือโอเพ่นซอร์ส สำหรับเหตุผลในสเปคฉันต้องสามารถสร้างสิ่งนี้โดยใช้ native C # ( หรือ C ++ \ CLI )

3
รูปแบบสำหรับการรวมอย่างต่อเนื่องและ DVCS
ขณะนี้เราใช้การโค่นล้มและ TeamCity เราจะย้ายไปใช้ Mercurial (โดยเฉพาะ Kiln เนื่องจากเราเป็นผู้ใช้ FogBugz) เห็นได้ชัดว่าสิ่งนี้จะส่งผลให้เกิดการเปลี่ยนแปลง - หวังว่าจะได้รับการปรับปรุง - ในรูปแบบการพัฒนาของเรา (เราสองคน!) แต่สิ่งหนึ่งที่ฉันพยายามแก้ไขคือการจัดโครงสร้างสิ่งต่าง ๆ เพื่อให้เรายังคงได้รับประโยชน์ ว่ามีและจะยังคงได้รับประโยชน์เป็นการสนทนาที่อยู่นอกขอบเขตของคำถามนี้ ) ด้วย SVN เราให้บริการพื้นที่เก็บข้อมูลส่วนกลางจำนวน จำกัด - มีประสิทธิภาพต่อหนึ่งโครงการ (หนึ่งหรือน้อยกว่าหนึ่งโซลูชัน Visual Studio) ดังนั้นจึงง่ายต่อการเปิดใช้งานบิลด์และรับความมั่นใจว่าไฟล์ทั้งหมดได้รับการยอมรับและไม่มี Stray dependencies ฯลฯ แต่ถ้าเราจะใช้ความได้เปรียบ Mercurial ที่เหมาะสมเราจะต้องการที่เก็บอินสแตนซ์ที่มากขึ้น - ที่ซึ่งฉันคาดว่าการเปลี่ยนแปลงจะไหลไปสู่ ​​repo "live" ที่ชัดเจน ปัญหาที่ฉันดิ้นรนคือ repo สดดูเหมือนว่าฉันจะ "สาย" เกินกว่าที่จะกระตุ้นให้ CI ของฉันสร้าง OTOH หนึ่ง CI …

2
อัลกอริทึมของ Dijkstra เป็นทางออกที่เหมาะสมสำหรับปัญหาการกำหนดเส้นทางสัญญาณนี้หรือไม่?
ฉันอยู่ในกระบวนการพัฒนาการจัดการสัญญาณและโมดูลการกำหนดเส้นทางสำหรับระบบภาพและเสียงแบบบูรณาการและกำลังออกแบบด้วยความตั้งใจที่จะยืดหยุ่นได้มากที่สุดในเครือข่ายการกระจายสัญญาณที่แตกต่างกัน จุดประสงค์ของโมดูลคือการจัดการการจัดเส้นทางข้ามสวิตช์เมทริกซ์แบบซ้อนจำนวน1และจัดการการแปลงรูปแบบที่จำเป็น ทางออกที่ดีที่สุดที่ฉันได้สำรวจ ณ จุดนี้คือการแมปเครือข่ายกับกราฟโดยมีจุดยอดแยกสำหรับแต่ละประเภทสัญญาณที่สนับสนุนโดยสวิตช์และจากนั้นจะเชื่อมต่อผ่านโหนดที่เป็นตัวแทนของตัวประมวลผลวิดีโอที่จัดการการแปลงรูปแบบ สีแสดงถึงรูปแบบสัญญาณ โหนดรอบเป็นสวิตช์แหล่งหรืออ่างล้างจาน Square nodes เป็นตัวประมวลผลวิดีโอซึ่งทำการแปลงรูปแบบ จากนั้นฉันสามารถใช้การดำเนินการตามอัลกอริธึมของ Dijkstraเพื่อระบุเส้นทางที่จะต้องเกิดขึ้นเพื่อรับอินพุต X ไปยังเอาต์พุต Y ซึ่งควรอนุญาตให้มีข้อมูลเกี่ยวกับการกำหนดค่าอินพุต / เอาต์พุตของสวิตช์และโปรเซสเซอร์ทั้งหมด และโมดูลปรับตาม นี่เป็นวิธีแก้ปัญหาที่เหมาะสมหรือมีแนวทางอื่นที่อาจคุ้มค่าในการตรวจสอบหรือไม่? 1 aka 'crossbar switch' ซึ่งเป็นเราเตอร์วิดีโอที่มีเอาต์พุต M อินพุต x N ซึ่งรองรับการเชื่อมต่อแบบหนึ่งต่อหลายคน อุปกรณ์ phsyical แต่ละเครื่องอาจรองรับสัญญาณได้หลายรูปแบบและอาจหรือไม่สามารถทำการแปลงรูปแบบใด ๆ แก้ไข:ดังกล่าวโดยPéterTörökกราฟไม่จำเป็นต้องเป็นต้นไม้แผนภาพเป็นตัวอย่างง่าย ๆ เพื่อแสดงความคิด เมื่อนำไปใช้ในหลายเส้นทาง 'โลกแห่งความจริง' อาจมีอยู่ซึ่งเสนอระดับความหมายที่แตกต่างกัน (DVI> VGA> องค์ประกอบ> คอมโพสิต) ซึ่งฉันวางแผนที่จะนำเสนอด้วยน้ำหนักขอบ แก้ไข 2:นี่คือตัวอย่างที่ครอบคลุมมากขึ้นเล็กน้อยโดยมีการระบุทิศทางและการแสดงเครือข่ายที่ประกอบด้วยสัญญาณสองประเภท ตัวอย่างเริ่มต้นได้รับการแก้ไขเล็กน้อยเพื่อให้แต่ละอินพุตและเอาต์พุตบนอุปกรณ์ถูกกำหนดเป็นโหนดแบบไม่ต่อเนื่องเนื่องจากจะให้ข้อมูลที่จำเป็นสำหรับการควบคุมการเลือกเส้นทาง / อินพุตเมทริกซ์

2
Python สำหรับโครงการขนาดใหญ่
มีแหล่งข้อมูลใดบ้างเกี่ยวกับวิธีการออกแบบโครงการ Python ที่มีความแข็งแกร่งระดับอุตสาหกรรม ฉันต้องการเริ่มต้นในโครงการส่วนบุคคลที่ทะเยอทะยาน แต่ฉันไม่แน่ใจจริงๆว่าจะออกแบบมันได้อย่างไรและจะทำอย่างไรเพื่อให้โครงการประสบความสำเร็จ มีแหล่งข้อมูลใดบ้างในการอภิปรายเกี่ยวกับวิธีการทำให้โครงการงูใหญ่ทำงานได้หรือไม่?
12 python 

3
เหตุใดเราจึงสามารถลบคุณสมบัติภายในของวัตถุทั่วโลกได้
ฉันอ่าน es5 ในวันนี้และพบว่าแอตทริบิวต์ [[กำหนดค่าได้]] ในคุณสมบัติบิวด์อินบางตัวของออบเจ็กต์ทั่วโลกถูกตั้งค่าเป็นจริงซึ่งหมายความว่าเราสามารถลบคุณสมบัติเหล่านี้ได้ ตัวอย่างเช่น: วิธีการเข้าร่วมของวัตถุ Array.prototype มีคุณสมบัติ {[[Writable]]:true, [[Enumerable]]: false, [[Configurable]]: true} ดังนั้นเราสามารถลบวิธีการเข้าร่วมสำหรับ Array ได้อย่างง่ายดายเช่น: delete Array.prototype.join; alert([1,2,3].join); การแจ้งเตือนจะแสดงundefinedในโครเมียม 17 ของฉัน firefox 9 คือ 10 แม้แต่ ie6; ใน Chrome 15 & ซาฟารี 5.1.1 แอตทริบิวต์ [[กำหนดค่าได้]] ถูกตั้งค่าเป็นจริงและผลลัพธ์การลบก็เป็นจริงเช่นกัน แต่ผลลัพธ์สุดท้ายยังคงfunction(){[native code]}อยู่ ดูเหมือนว่านี่เป็นข้อผิดพลาดและโครเมียมแก้ไขได้ ฉันไม่ได้สังเกตสิ่งนั้นมาก่อน ในความคิดของฉันลบฟังก์ชั่นในตัวในรหัสผู้ใช้เป็นอันตรายและจะทำให้เกิดข้อบกพร่องมากมายเมื่อทำงานกับผู้อื่นดังนั้นทำไม ECMAScript ตัดสินใจเรื่องนี้?
12 javascript 

2
ผู้พัฒนารางเริ่มต้นระดับกลางและระดับสูงควรทำงานอะไรให้เสร็จสมบูรณ์
ฉันได้เขียนโปรแกรม ROR มาประมาณหนึ่งปีแล้วและฉันคิดว่าฉันพร้อมที่จะเริ่มทำงานในโครงการสำหรับคนอื่น ปัญหาคือการโพสต์งานสำหรับผู้รับเหมาไม่ได้บอกคุณจริงๆว่างานเฉพาะที่คุณควรจะทำในระดับประสบการณ์ต่าง ๆ (ในทางรถไฟและเทคโนโลยีอื่น ๆ ) ดังนั้นฉันจึงไม่รู้ว่าจะต้องทำยังไง ฉันคิดว่าฉันอยู่ที่ไหนสักแห่งระหว่างรุ่นน้องและระดับกลาง แต่ใครจะรู้ล่ะ ดังนั้นคำถามของฉันคือ: งานที่แท้จริงควรเป็นโปรแกรมเมอร์รุ่นเยาว์สามารถทำอะไรได้พูด $ 35 ต่อชั่วโมงซึ่งงานจริงควรเป็นโปรแกรมเมอร์ระดับกลางที่สามารถทำได้ที่จะบอกว่า $ 75 ต่อชั่วโมงและงานจริงที่โปรแกรมเมอร์ขั้นสูงควรจะสามารถทำได้ ทำที่โอ้พูด $ 140 ต่อชั่วโมง? ตัวอย่างหนึ่งหรือสองตัวอย่างควรเพียงพอ

9
ใช้โปรแกรมโอเพนซอร์สใน บริษัท ของคุณหรือไม่
มีข้อเสียในการทำให้พนักงานของคุณใช้โปรแกรมโอเพ่นซอร์สใน บริษัท ของคุณหรือไม่? ฉันกำลังวางแผนที่จะเริ่มต้นธุรกิจและฉันสงสัยว่าทำไม บริษัท มักจะทำงานกับซอฟต์แวร์ที่มีลิขสิทธิ์เช่นMicrosoft Wordเพื่อเสนอราคาที่มีชื่อเสียงที่สุด ทำไมพวกเขาไม่ใช้Open Office (หรือLibre Office ) เป็นต้น? จากมุมมองของฉันคุณสามารถประหยัดเงินเป็นจำนวนมากและช่วยชุมชนโอเพนซอร์สโดยให้พวกเขาเป็นส่วนหนึ่งของผลประโยชน์ของคุณในรูปแบบของการบริจาค ฉันไม่รู้จัก บริษัท ขนาดกลางขนาดใหญ่ที่ทำสิ่งนี้ บางทีคุณอาจยกตัวอย่างให้ฉันเพื่อพิสูจน์ว่าการใช้งานแบบโอเพ่นซอร์ส / การทำงานร่วมกันแบบนี้ทำงานได้ดี

4
หลีกเลี่ยงวัตถุโดเมนป่อง
เรากำลังพยายามย้ายข้อมูลจากเลเยอร์บริการที่ป่องของเราไปยังเลเยอร์โดเมนของเราโดยใช้วิธี DDD ขณะนี้เรามีตรรกะทางธุรกิจจำนวนมากในบริการของเราซึ่งกระจายไปทั่วสถานที่และไม่ได้รับประโยชน์จากการสืบทอด เรามีโดเมนระดับกลางซึ่งเป็นจุดสนใจของงานส่วนใหญ่ของเรา - การค้าขาย วัตถุการค้าจะรู้วิธีกำหนดราคาตัวเองวิธีประเมินความเสี่ยงตรวจสอบตัวเอง ฯลฯ จากนั้นเราสามารถแทนที่เงื่อนไขด้วย polymorphism เช่น SimpleTrade จะตั้งราคาเองทางเดียว แต่ ComplexTrade จะกำหนดราคาอีกทางหนึ่ง อย่างไรก็ตามเรามีความกังวลว่าสิ่งนี้จะขยายชั้นการค้า มันควรจะเป็นหน้าที่ของการประมวลผลของตัวเอง แต่ขนาดของชั้นเรียนจะเพิ่มขึ้นแบบทวีคูณเมื่อมีการเพิ่มคุณสมบัติมากขึ้น ดังนั้นเราจึงมีทางเลือก: ใส่ตรรกะการประมวลผลในระดับการค้า ตรรกะการประมวลผลตอนนี้เป็นแบบ polymorphic ตามประเภทของการค้า แต่ขณะนี้ชั้นการค้ามีความรับผิดชอบหลายอย่าง (การกำหนดราคาความเสี่ยง ฯลฯ ) และมีขนาดใหญ่ ใส่ตรรกะการประมวลผลลงในคลาสอื่นเช่น TradePricingService ไม่มี polymorphic อีกต่อไปกับแผนภูมิการสืบทอดการค้า แต่คลาสมีขนาดเล็กและง่ายต่อการทดสอบ อะไรคือแนวทางที่แนะนำ

5
ฟังก์ชั่นการเขียนโปรแกรมมีอะไรบ้างในการนำ Game of Life ของ Conway [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเพิ่งนำมาใช้เพื่อความสนุกสนานGame of Life ของ Conwayใน Javascript (จริงๆแล้วกาแฟเป็นสิ่งเดียวกัน) เนื่องจากจาวาสคริปต์สามารถใช้เป็นภาษาที่ใช้งานได้ฉันจึงพยายามอยู่จนสุดช่วงความถี่ ฉันไม่พอใจกับผลลัพธ์ของฉัน ฉันเป็นโปรแกรมเมอร์ OO ที่ค่อนข้างดีและวิธีการแก้ปัญหาของฉันถูกตีเหมือนกันอายุเท่าเดิม คำถามยาว ๆ สั้น ๆ : รูปแบบการทำงาน (pseudocode) ของการทำคืออะไร? นี่คือ Pseudocode สำหรับความพยายามของฉัน: class Node update: (board) -> get number_of_alive_neighbors from board get this_is_alive from board if this_is_alive and number_of_alive_neighbors < 2 then …

3
สิ่งที่ควรทดสอบใน Javascript
ที่ทำงานเราเพิ่งเริ่มต้นกับแอปพลิเคชันที่ใช้ Javascript เป็นหลัก (จริงๆแล้วใช้ Coffeescript แต่ก็ยัง) ซึ่งฉันได้ใช้ระบบทดสอบอัตโนมัติโดยใช้ JsTestDriver และแฟบริค เราไม่เคยเขียนอะไรเกี่ยวกับ Javascript มากขนาดนี้มาก่อนจนถึงตอนนี้เราไม่เคยทำการทดสอบ Javascript เลย ฉันไม่แน่ใจว่าเราควรทำการทดสอบอะไรในการทดสอบหน่วยของเรา เราได้เขียนปลั๊กอิน JQuery สำหรับสิ่งต่าง ๆ ดังนั้นจึงค่อนข้างชัดเจนว่าควรตรวจสอบความถูกต้องให้มากที่สุดกับ JsTestDriver แต่ทุกคนในทีมของฉันดูเหมือนจะคิดว่าเราควรทดสอบ Javascript ระดับหน้าเว็บด้วย ฉันไม่คิดว่าเราควรทดสอบ Javascript ในระดับหน้าเป็นการทดสอบหน่วย แต่ใช้ระบบเช่น Selenium เพื่อยืนยันว่าทุกอย่างทำงานได้ตามที่คาดไว้ เหตุผลหลักของฉันสำหรับเรื่องนี้คือในขณะนี้การทดสอบ Javascript ในระดับหน้ารับประกันว่าจะล้มเหลวผ่าน JsTestDriver เพราะพวกเขากำลังพยายามเข้าถึงองค์ประกอบใน DOM ที่ไม่มีอยู่จริง ดังนั้นสิ่งที่ควรทดสอบหน่วยใน Javascript?

1
มีการศึกษาเกี่ยวกับความสัมพันธ์ระหว่างการทดสอบซอฟต์แวร์กับประสิทธิภาพของนักพัฒนาหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา มีการศึกษาเกี่ยวกับความสัมพันธ์ระหว่างการทดสอบซอฟต์แวร์ (หน่วยและ / หรือการทดสอบการรวม) และการพัฒนาของนักพัฒนาหรือไม่?

8
มันสมเหตุสมผลหรือไม่ที่จะทำการทดสอบหน่วยใบอนุญาต
ฉันสงสัยว่ามีประโยชน์ / ความเสี่ยงของ (ไม่) ใส่ใบอนุญาตในรหัสทดสอบซึ่งส่วนใหญ่ประกอบด้วยการทดสอบหน่วย คุณคิดอย่างไร? ฉันสนใจเป็นพิเศษในการออกใบอนุญาตภายใต้ (L) GPL, Apache, MIT และ BSD แก้ไข : สมมติฐานคือรหัสที่ไม่ใช่การทดสอบได้รับการเผยแพร่แล้วภายใต้ใบอนุญาตบางส่วน แต่รหัสการทดสอบไม่ได้ดังนั้นคำถามคือว่าจะเผยแพร่มันและถ้าเป็นเช่นนั้นจะนำใบอนุญาตเดียวกันกับมัน

1
การใช้ภาพสต็อกในโครงการโอเพ่นซอร์ส
ฉันได้เริ่มโครงการโอเพนซอร์ซและอยากจะมีไอคอนน่ารักและจับใจเพื่อติดป้ายโครงการด้วย ขึ้นเขียงของฉันคือฉันมีประสบการณ์การออกแบบกราฟิกแบบเวกเตอร์เพียงเล็กน้อยหรือไม่มีเลยเพื่อใช้ในโครงการดังกล่าว เพื่อชดเชยฉันคิดว่าฉันอาจซื้อกราฟิกจากหนึ่งในบริการถ่ายภาพสต็อก (Shutterstock ฯลฯ ) โครงการของฉันสร้างเอกสาร HTML จากไฟล์ภาษา Gherkin และความตั้งใจของฉันคือการใช้ไอคอนนี้ที่ส่วนท้ายของแต่ละหน้าสำหรับสิ่ง "เอาท์พุทที่สร้างโดย ... " คำถามของฉันคือสิ่งที่เกี่ยวข้องกับซอฟต์แวร์ที่มีลิขสิทธิ์ของฉันหากฉันใช้งานกราฟิกนี้ ฉันกำลังปล่อยซอฟต์แวร์ภายใต้ลิขสิทธิ์ Apache v2

2
การแปลงปัญหาเครื่องหลังที่ถูก จำกัด เป็น 0/1 ปัญหาเครื่องหลัง
ฉันเจอปัญหาที่เป้าหมายคือการใช้การเขียนโปรแกรมแบบไดนามิก (แทนที่จะเป็นวิธีการอื่น) มีระยะห่างที่จะขยายและชุดสายเคเบิลที่มีความยาวต่างกัน จำนวนสายเคเบิลขั้นต่ำที่ต้องใช้ในการขยายระยะทางคือเท่าไหร่? สำหรับฉันนี่ดูเหมือนปัญหาเป้แต่เนื่องจากอาจมีทวีคูณของความยาวที่เฉพาะเจาะจงมันเป็นปัญหาเครื่องหลังที่ถูกผูกไว้แทนที่จะเป็นปัญหาเครื่องหลัง 0/1 (รักษาคุณค่าของแต่ละรายการให้เป็นน้ำหนักของมัน) การใช้วิธีการที่ไร้เดียงสา (และไม่สนใจเกี่ยวกับการขยายพื้นที่การค้นหา) วิธีที่ฉันใช้ในการแปลงปัญหาเป้สะพายหลังเป็นปัญหา 0/1 เป้เพียงแค่ แยกหลายรายการเป็นซิงเกิ้ลและใช้อัลกอริทึมการเขียนโปรแกรมแบบไดนามิกที่รู้จักกันดี น่าเสียดายสิ่งนี้นำไปสู่ผลลัพธ์ที่ดีที่สุดย่อย ตัวอย่างเช่นสายเคเบิลที่กำหนด: 1 x 10ft, 1 x 7ft, 1 x 6ft, 5 x 3ft, 6 x 2ft, 7 x 1ft หากระยะห่างเป้าหมายคือ 13ft อัลกอริทึม DP เลือก 7 + 6 เพื่อขยายระยะทาง อัลกอริทึมโลภน่าจะเลือกได้ 10 + 3 แต่มันก็คือความเสมอภาคสำหรับจำนวนสายเคเบิลขั้นต่ำ ปัญหาเกิดขึ้นเมื่อพยายามขยาย 15 ฟุต …
12 algorithms 

5
สลับไปใช้วิธีใช้ HTML
ขณะนี้เราใช้ระบบที่ชื่อว่าAsciiDocซึ่งทำให้เราสามารถสร้างเอกสารในมาร์กอัปข้อความธรรมดา จากนั้นเราสามารถสร้างรูปแบบเอาต์พุตหลายรูปแบบ เราใช้ประโยชน์จากรูปแบบไฟล์ PDF เอาต์พุตและ chm เท่านั้น ฉันสงสัยว่าถ้ามีทางเลือกให้ chm? สิ่งที่ฉันกำลังมองหาคือสิ่งที่สามารถใช้งานแบบออฟไลน์ได้ (สิ่งนี้สำคัญเนื่องจากผู้ใช้ของเราจำนวนเล็กน้อยอยู่ในสถานที่ห่างไกล) ด้วยซอฟต์แวร์ของเรา ควรมีดัชนี (สามารถทำได้ง่ายเหมือนหน้า html ที่มีคำไฮเปอร์ลิงก์) ควรค้นหาได้และควรมีกลไกที่อนุญาตให้มีการเรียกรายการเฉพาะจากรหัส (คล้ายกับวิธีใช้ตามบริบท) สองสิ่งที่ขัดแย้งกับ PDF ในกรณีนี้คือ: ความช่วยเหลือที่มีความละเอียดอ่อนตามบริบทไม่ใช่ตัวเลือก โดยทั่วไปแล้วเอกสารมีขนาดค่อนข้างใหญ่ PDF เหมาะสมกับเอกสารที่พิมพ์มากกว่าวิธีใช้แบบตามบริบท สิ่งที่ฉันต้องการคือการใช้ html ปัญหาเดียวของ html คือฉันไม่สามารถหาวิธีให้การค้นหาคำหลักได้โดยอัตโนมัติ (นอกเหนือจากฟังก์ชัน ctrl + f ของเบราว์เซอร์ - ฉันต้องการสิ่งที่ชัดเจนกว่า) ฉันไม่สามารถหาวิธีในการสร้างดัชนีไฮเปอร์ลิงก์ของคำสำคัญได้โดยอัตโนมัติ ความช่วยเหลือที่ละเอียดอ่อนตามบริบทนั้นง่ายเนื่องจากแท็กส่วน - ฉันสามารถส่ง URL ของหน้าและส่วนที่ฉันสนใจในเบราว์เซอร์เริ่มต้นและหน้านั้นควรโหลดจนถึงส่วนที่ถูกต้อง ความต้องการของฉันฟังดูแย่มากเหมือน chm - พวกเขาทำ ฉันทำแบบจำลองตามข้อกำหนดของฉัน เหตุผลเดียวที่ฉันไม่ชอบ chm …

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