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

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

5
Java Heap Allocation เร็วกว่า C ++
ฉันโพสต์คำถามนี้ไว้ใน SO แล้วและก็ใช้ได้ มันน่าเสียดายที่ปิด แต่ (ต้องการเพียงหนึ่งโหวตเพื่อเปิดใหม่) แต่มีคนแนะนำให้ฉันโพสต์ไว้ที่นี่เพราะมันเป็นแบบที่ดีกว่าดังนั้นต่อไปนี้เป็นสำเนาวางคำถามอย่างแท้จริง ฉันอ่านความคิดเห็นเกี่ยวกับคำตอบนี้และฉันเห็นข้อความนี้ การสร้างอินสแตนซ์ของวัตถุและคุณสมบัติเชิงวัตถุนั้นรวดเร็วในการใช้งาน (เร็วกว่า C ++ ในหลาย ๆ กรณี) เพราะพวกมันถูกออกแบบมาตั้งแต่ต้น และคอลเลกชันนั้นรวดเร็ว Java มาตรฐานชนะ C / C ++ มาตรฐานในพื้นที่นี้แม้สำหรับรหัส C ที่ปรับให้เหมาะสมที่สุด ผู้ใช้หนึ่งราย (ที่มีตัวแทนที่สูงมากฉันอาจเพิ่ม) ปกป้องข้อเรียกร้องนี้อย่างกล้าหาญโดยระบุว่า การจัดสรรฮีปใน java ดีกว่าของ C ++ และเพิ่มคำสั่งนี้เพื่อป้องกันการรวบรวมใน java และคอลเลกชัน Java นั้นเร็วกว่าคอลเลกชัน C ++ ซึ่งส่วนใหญ่จะเป็นระบบย่อยหน่วยความจำที่แตกต่างกัน ดังนั้นคำถามของฉันอาจเป็นจริงได้และถ้าเป็นเช่นนั้นเหตุใดการจัดสรรฮีปของ Java จึงเร็วขึ้นมาก

6
sigils ทำให้ซอร์สโค้ดอ่านง่ายขึ้นหรือไม่
ในภาษาการเขียนโปรแกรมส่วนใหญ่ตัวแปรไม่มีการระบุอักขระเหมือนที่ทำใน PHP ใน PHP คุณต้องนำหน้าตัวแปรด้วย$อักขระ ตัวอย่าง; var $foo = "something"; echo $foo; ฉันกำลังพัฒนาภาษาสคริปต์ใหม่สำหรับแอปพลิเคชันธุรกิจและผู้ใช้เป้าหมายของฉันไม่มีพื้นหลังการเขียนโปรแกรม อักขระเหล่านี้ทำให้รหัสอ่านและใช้ง่ายขึ้นหรือไม่ เหตุผลหนึ่งที่ PHP ใช้$คือเพราะไม่มี PHP ไม่สามารถบอกได้ว่าชื่อคือการอ้างอิงฟังก์ชันหรือการอ้างอิงตัวแปร นี่เป็นเพราะภาษาอนุญาตการอ้างอิงที่แปลกไปยังฟังก์ชัน ดังนั้น$สัญลักษณ์จะช่วยให้ parser แยก namespace ฉันไม่มีปัญหานี้ในโปรแกรมแยกวิเคราะห์ ดังนั้นคำถามของฉันคือการอ่านง่ายและใช้งานง่าย ฉันเขียนโค้ดเป็นเวลาหลายปีใน PHP ว่าเมื่อฉันเห็น$fooมันเป็นเรื่องง่ายสำหรับฉันที่จะระบุว่านี่เป็นตัวแปร ฉันแค่ให้การตั้งค่าอคติกับตัวระบุนี้หรือไม่

2
ทำไมประเภทตัวเลือก Scala ไม่ถูกเรียกว่าอาจจะเหมือนกับใน Haskell [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ทำไมประเภทตัวเลือก Scala ไม่ถูกเรียกว่าอาจจะเหมือนกับใน Haskell อาจทำให้รู้สึก "ความหมาย" มากขึ้นสำหรับฉัน แต่บางทีตัวเลือกอาจมีพฤติกรรมที่แตกต่างกันซึ่งฉันไม่ทราบ มีเหตุผลใดเป็นพิเศษหรือไม่ที่ตัวเลือกใน Scala ไม่ได้ถูกเรียกว่าอาจจะ?

1
แบบจำลองข้อมูลมีผลกระทบต่อความสามารถในการขยายและประสิทธิภาพในฐานข้อมูลที่เรียกว่า“ NoSQL” มากน้อยเพียงใด?
คุณไม่เคยมีการพูดคุยเกี่ยวกับฐานข้อมูลที่เรียกว่า "NoSQL" โดยไม่ต้องนำทฤษฎีบท CAP (ความสอดคล้องความพร้อมใช้งานพาร์ติชัน: เลือกสอง) ถ้าคุณต้องเลือกว่าระหว่าง MongoDB (Partition, Consistency) และ CouchDB (Availability, Partition) สิ่งแรกที่คุณต้องคิดคือ "ฉันต้องการข้อมูลที่ถูกต้องหรือต้องเข้าถึงตลอดเวลาหรือไม่" ฐานข้อมูลใหม่เหล่านั้นถูกจัดทำขึ้นเพื่อแบ่งพาร์ติชัน แต่ถ้าฉันทำไม่ได้ล่ะ ถ้าฉันคิดว่ามันยอดเยี่ยมมากที่มีคีย์ / ค่าคอลัมน์เอกสารฐานข้อมูลใด ๆ แทนที่จะเป็นเชิงสัมพันธ์และเพิ่งสร้างเซิร์ฟเวอร์อินสแตนซ์เดียวและไม่เคยทิ้งมัน ในกรณีนั้นฉันจะไม่มีทั้งความพร้อมใช้งานและความสอดคล้องใช่ไหม MongoDB ไม่จำเป็นต้องทำซ้ำสิ่งใดดังนั้นจึงสามารถใช้งานได้ และ CouchDB จะมีแหล่งข้อมูลเพียงแหล่งเดียวดังนั้นมันจึงค่อนข้างสอดคล้องกัน นั่นหมายความว่าในกรณีนี้ MongoDB และ CouchDB จะมีความแตกต่างเล็กน้อยในแง่ของการใช้งาน? ดียกเว้นประสิทธิภาพของหลักสูตร API และ al แต่นั่นจะเป็นการเลือกระหว่าง PostgreSQL และ MySQL มากกว่าการมีข้อกำหนดที่แตกต่างกันสองชุด ฉันอยู่ตรงนี้หรือไม่ ฉันสามารถเปลี่ยนฐานข้อมูล AP หรือ CP เป็น AC …

2
พยายามเข้าใจ 2N lnN เปรียบเทียบกับ quicksort
ฉันกำลังทำการวิเคราะห์ quicksort ในหนังสือ Algorithms ของ Sedgewick เขาสร้างความสัมพันธ์ที่เกิดซ้ำต่อไปนี้สำหรับจำนวนการเปรียบเทียบใน quicksort ขณะที่เรียงลำดับอาร์เรย์ของรายการ N ที่แตกต่างกัน ฉันมีช่วงเวลาที่ยากลำบากในการทำความเข้าใจสิ่งนี้ ... ฉันรู้ว่าต้องใช้ความน่าจะเป็น 1 / N สำหรับองค์ประกอบใด ๆ ที่จะกลายเป็นเดือยและถ้าหาก k กลายเป็นเดือยย่อยย่อยด้านซ้ายจะมีองค์ประกอบ k-1 และย่อยขวา อาร์เรย์จะมีองค์ประกอบ Nk 1. ค่าใช้จ่ายในการแบ่งพาร์ติชันกลายเป็น N + 1 อย่างไร ต้องใช้ N + 1 เปรียบเทียบกับการแบ่งพาร์ติชันหรือไม่ 2.Sedgewick กล่าวว่าสำหรับแต่ละค่าของ k ถ้าคุณบวกมันความน่าจะเป็นที่องค์ประกอบแบ่งเป็น k + ค่าใช้จ่ายสำหรับสองอาร์เรย์ย่อยที่คุณได้รับสมการข้างต้น ใครสามารถอธิบายสิ่งนี้เพื่อให้ผู้ที่มีความรู้ทางคณิตศาสตร์น้อยลง (ฉัน) สามารถเข้าใจได้? คุณจะหาคำที่สองในสมการได้อย่างไร คำนั้นหมายถึงอะไรกันแน่?

6
ค้นหาว่าใครจะซื้อครัวซองต์ซึ่งคิดว่าหายไป
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ทีมได้ตัดสินใจแล้วว่าทุกคนควรนำครัวซองต์มาให้ทุกคน ไม่ควรเป็นคนคนเดียวกันทุกครั้งดังนั้นควรมีระบบในการพิจารณาว่าใครเป็นเทิร์นถัดไป วัตถุประสงค์ของคำถามนี้คือการกำหนดอัลกอริทึมสำหรับการตัดสินใจว่าใครจะเป็นผู้เปิดครัวซองต์ในวันพรุ่งนี้ ข้อ จำกัด สมมติฐานและวัตถุประสงค์: ที่เปิดก็จะนำครัวซองต์จะถูกกำหนดในช่วงบ่ายก่อนหน้า ในบางวันบางคนไม่อยู่ อัลกอริทึมต้องเลือกใครบางคนที่จะนำเสนอในวันนั้น สมมติว่าการขาดทั้งหมดเป็นที่ทราบล่วงหน้าหนึ่งวันดังนั้นผู้ซื้อครัวซองต์สามารถถูกกำหนดในช่วงบ่ายก่อนหน้า โดยรวมแล้วคนส่วนใหญ่อยู่ในเกือบทุกวัน เพื่อผลประโยชน์ของความเป็นธรรมทุกคนควรซื้อครัวซองต์หลายครั้ง (โดยทั่วไปสมมติว่าสมาชิกทุกคนในทีมมีจำนวนเงินเท่ากันสำหรับการใช้จ่ายกับครัวซองต์) มันจะดีถ้ามีองค์ประกอบของการสุ่มหรือการรับรู้อย่างน้อยที่สุดเพื่อที่จะบรรเทาความเบื่อของบัญชีรายชื่อ นี่ไม่ใช่ข้อ จำกัด อย่างหนัก: มันเป็นการตัดสินใจเชิงสุนทรียะมากกว่า อย่างไรก็ตามบุคคลเดียวกันไม่ควรเลือกสองครั้งติดต่อกัน บุคคลที่นำครัวซองต์มาด้วยควรทราบล่วงหน้า ดังนั้นหากบุคคล P ต้องนำครัวซองต์ในวันที่ D ดังนั้นความจริงข้อนี้ควรถูกกำหนดในวันก่อนหน้าซึ่งมีบุคคล P อยู่ด้วย ตัวอย่างเช่นหากพนักงานเก็บเงินตัวสำรองถูกกำหนดวันก่อนเสมอควรเป็นหนึ่งในบุคคลที่เข้าร่วมเมื่อวานนี้ จำนวนสมาชิกในทีมมีขนาดเล็กเพียงพอที่ทรัพยากรการจัดเก็บและการคำนวณมีไม่ จำกัด อย่างมีประสิทธิภาพ ตัวอย่างเช่นอัลกอริทึมสามารถพึ่งพาประวัติที่สมบูรณ์ของผู้ที่นำครัวซองต์เมื่อในอดีต การคำนวณบนพีซีที่รวดเร็วเพียงไม่กี่นาทีทุกวันก็โอเค นี่เป็นรูปแบบของปัญหาในโลกแห่งความเป็นจริงดังนั้นคุณมีอิสระที่จะท้าทายหรือปรับแต่งสมมติฐานหากคุณคิดว่าพวกเขาทำแบบจำลองสถานการณ์ได้ดีขึ้น จุดกำเนิด 1: ค้นหาว่าใครกำลังจะซื้อครัวซองต์โดย Florian Margaine จุดกำเนิด 2: ค้นหาว่าใครกำลังจะซื้อครัวซองต์โดยกิลส์ คำถามนี้เป็นรุ่นเดียวกับ Gilles และได้รับการโพสต์ใหม่ในโปรแกรมเมอร์เพื่อทดสอบว่าชุมชนต่าง ๆ จัดการกับปัญหาการเขียนโปรแกรมอย่างไร

4
ตารางเฉพาะเหล่านี้ต้องการคีย์ตัวแทนหรือไม่
พื้นหลัง ฉันมีตารางนี้ +-------------------------+ +------------------------+ |Airport | |Country | |-------------------------| |------------------------| |airport_code string (PK) | |country_code string (PK)| |address string | |name string | |name string | +------------------------+ +-------------------------+ +-------------------------+ |Currency | |-------------------------| |currency_code string (PK)| |name string | +-------------------------+ airport_codeเป็นรหัสสนามบินIATA (สมาคมการขนส่งทางอากาศระหว่างประเทศ) คุณสามารถดูได้ในแท็กกระเป๋าของคุณเมื่อคุณเดินทางโดยเครื่องบิน country_codeคือรหัสประเทศมาตรฐาน ISO 3166-1 A3คุณสามารถดูได้ในโอลิมปิก currency_codeคือรหัสสกุลเงิน 3 ตัวอักษรมาตรฐาน IS0 …

2
การแยกวิเคราะห์ที่ไม่สแกนเนอร์เกี่ยวข้องกับ“ ปัญหาอื่น ๆ ที่น่าวิตก”
ฉันไม่เข้าใจประโยคนี้จากบทความ Wikipedia เกี่ยวกับปัญหา Dangling Else : [ปัญหา Dangling Else] เป็นปัญหาที่เกิดขึ้นบ่อยครั้งในการสร้างคอมไพเลอร์โดยเฉพาะการแยกวิเคราะห์ที่ไม่มีสแกนเนอร์ บางคนสามารถอธิบายให้ฉันฟังได้ว่าเทคนิคการแยกวิเคราะห์แบบสแกนเนอร์ไร้สาระอาจทำให้ปัญหานี้รุนแรงขึ้นได้อย่างไร สำหรับฉันแล้วดูเหมือนว่าปัญหาเกิดขึ้นกับไวยากรณ์ - เนื่องจากมันคลุมเครือ - ไม่ใช่ด้วยเทคนิคการแยกวิเคราะห์ ฉันกำลังคิดถึงอะไร

8
เราควรจะยืนยันกับพนักงานที่ยังคงเขียนรหัสไม่ดีหลังจากหลายปี? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันวางคำถามนี้ให้โปรแกรมเมอร์ C ++ เพราะ: ก) โปรแกรมเมอร์ C ++ เท่านั้นที่สามารถตัดสินข้อดีทางเทคนิคของตัวอย่าง; b) มีเพียงโปรแกรมเมอร์เท่านั้นที่จะรู้สึกถึงอารมณ์ของโปรแกรมเมอร์คนอื่นที่เขียนโค้ดแบบนี้ ฝ่ายทรัพยากรบุคคลและกรรมการตระหนักว่ามีปัญหาเพียงเพราะพวกเขาเห็นหลักฐานในสนาม มันเป็นการโทรของฉันไม่ว่าเราจะให้โปรแกรมเมอร์มีเวลามากกว่านี้หรือไม่ ข้อผิดพลาดหลายอย่างอยู่ในระดับพื้นฐานมาก - คำถามของฉัน (สำหรับโปรแกรมเมอร์) คือว่าคนที่ยอมรับว่าเป็นนักพัฒนา C ++ อาวุโสควรได้รับประโยชน์จากข้อสงสัยจากตัวอย่างของรหัสปัจจุบันหรือไม่ ผู้ที่ไม่ใช่โปรแกรมเมอร์ - แม้แต่คนที่อยู่นอกการเขียนโปรแกรม C ++ - ไม่สามารถตัดสินใจเรื่องนี้ได้ สำหรับพื้นหลังฉันได้รับมอบหมายงานบริหารนักพัฒนาให้กับ บริษัท ที่มีชื่อเสียง พวกเขามีนักพัฒนาเดียวที่มีความเชี่ยวชาญในการเข้ารหัส C ++ ทั้งหมดของพวกเขา (ตั้งแต่ตลอดไป) แต่คุณภาพของงานเป็นสุดซึ้ง การตรวจสอบรหัสและการทดสอบพบว่ามีปัญหามากมายหนึ่งในปัญหาที่แย่ที่สุดคือความจำรั่ว นักพัฒนาซอฟต์แวร์ไม่เคยทดสอบโค้ดของเขาว่ามีรอยรั่วและฉันค้นพบว่าแอปพลิเคชันอาจรั่วไหลไปหลาย …

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

3
มัลติเธรดแตกต่างกันอย่างไรในแอปพลิเคชันบนเว็บที่ใช้ Java เทียบกับแอปพลิเคชัน Java สแตนด์อะโลน
ฉันค่อนข้างใหม่สำหรับ Java และประสบการณ์ของฉันถูก จำกัด เฉพาะแอปพลิเคชันบนเว็บที่ทำงานบน Web Container (Jboss ในกรณีของฉัน) ฉันถูกต้องหรือไม่ที่บอกว่าสำหรับเว็บแอปพลิเคชั่นเว็บคอนเทนเนอร์จะดูแลมัลติเธรดหรือไม่ ถ้าเป็นเช่นนั้นฉันสามารถแนะนำดอกยางใหม่ในแอพพลิเคชั่นบนเว็บได้หรือไม่? มีข้อได้เปรียบในการทำเช่นนั้นหรือไม่และในสถานการณ์ใดที่จะต้องทำเช่นนั้น?

2
เค้าโครงโครงการขนาดใหญ่: การเพิ่มคุณสมบัติใหม่ในโครงการย่อยหลายโครงการ
ฉันต้องการทราบวิธีการจัดการโครงการขนาดใหญ่ที่มีส่วนประกอบจำนวนมากพร้อมระบบการจัดการการควบคุมเวอร์ชัน ในโครงการปัจจุบันของฉันมี 4 ส่วนหลัก เว็บ เซิร์ฟเวอร์ คอนโซลผู้ดูแลระบบ เวที ส่วนของเว็บและเซิร์ฟเวอร์ใช้ 2 ไลบรารีที่ฉันเขียน โดยรวมมีที่เก็บ 5 git และที่เก็บข้อมูล 1 แห่ง สคริปต์บิลด์โปรเจ็กต์อยู่ในที่เก็บแพล็ตฟอร์ม มันทำให้กระบวนการสร้างทั้งหมดเป็นไปโดยอัตโนมัติ ปัญหาคือเมื่อฉันเพิ่มคุณสมบัติใหม่ที่มีผลต่อองค์ประกอบหลายอย่างฉันต้องสร้างสาขาสำหรับแต่ละ repo ที่ได้รับผลกระทบ ใช้งานคุณสมบัติ รวมมันกลับมา ความรู้สึกของฉันคือ "มีอะไรผิดปกติ" ดังนั้นฉันจึงควรสร้าง repo เดียวและวางองค์ประกอบทั้งหมดที่นั่น? ฉันคิดว่าการแตกกิ่งจะง่ายกว่าในกรณีนั้น หรือฉันเพิ่งจะทำสิ่งที่ฉันกำลังทำอยู่ตอนนี้ ในกรณีนั้นฉันจะแก้ปัญหานี้ในการสร้างสาขาในแต่ละที่เก็บได้อย่างไร

2
การออกแบบเว็บที่ตอบสนองกับการดมกลิ่นของตัวแทนผู้ใช้
mediaคุณลักษณะการสืบค้นCSS3 นำไปสู่ความเป็นไปได้ที่น่าสนใจมากมายในแง่ของการพัฒนาเว็บไซต์ซึ่งปรับขนาดหน้าจอและอุปกรณ์ต่าง ๆ มากมาย อย่างไรก็ตามในทางปฏิบัติฉันเริ่มเข้าใจแล้วว่าmediaคุณลักษณะการค้นหาCSS3 และการเคลื่อนไหว "Responsive Web Design" ทั้งหมดอาจไม่สอดคล้องกับคำสัญญา ปัญหาที่ฉันเห็นคือในตอนท้ายของวันนักพัฒนาเว็บสนใจว่าผู้ใช้ของพวกเขาดูเนื้อหาผ่านเดสก์ท็อปแท็บเล็ตหรืออุปกรณ์มือถือ แต่ CSS3 มีวิธีการในการตรวจสอบความละเอียดหน้าจอเท่านั้น ในทางทฤษฎีแล้วการตรวจจับความละเอียดหน้าจอดูเหมือนจะเป็นวิธีที่ดีในการปรับแต่งสำหรับอุปกรณ์ต่าง ๆ แต่ในทางปฏิบัติ ... สมมติว่าเรามีฟังก์ชั่น Javascript อย่างง่ายที่เพิ่งแสดงความกว้างของหน้าจอ: function foo() { alert(screen.width); } บน Blackberry Touch ของฉันผลลัพธ์นี้: 768 บน Samsung Galaxy ของฉันผลลัพธ์นี้: 800 ดังนั้น ... อืม ณ จุดนี้ความละเอียดของสมาร์ทโฟนหลักกำลังใกล้เคียงกับความละเอียดระดับเดสก์ท็อป ความสามารถในการตรวจสอบว่าผู้ใช้กำลังดูเว็บไซต์ของคุณผ่านทางสมาร์ทโฟนแท็บเล็ตหรือเดสก์ท็อปดูเหมือนว่าจะยากขึ้นหากทุกอย่างที่คุณทำคือความละเอียดหน้าจอ สิ่งนี้ทำให้ฉันได้ถามคำถามเกี่ยวกับภูมิปัญญาทั้งหมดที่อยู่เบื้องหลังการเคลื่อนไหว "Responsive Web Design" ของ CSS3 ทั้งหมดตามการสืบค้นสื่อ ดูเหมือนว่าmediaคุณสมบัติการค้นหาจะเหมาะกว่าสำหรับการปรับขนาดหน้าต่างเบราว์เซอร์บนหน้าจอเดสก์ท็อปแทนที่จะเป็นอุปกรณ์พกพาต่างๆ …

2
Jenkins เพื่อทำการปรับใช้แอพพลิเคชัน ASP.NET โดยอัตโนมัติ
มีความเป็นไปได้หรือไม่ที่จะทำการปรับใช้แบบอัตโนมัติ / กึ่งอัตโนมัติของเว็บแอปพลิเคชัน ASP.NET โดยใช้เจนกินส์ สามารถอยู่ภายใต้สภาพแวดล้อมที่มีการควบคุมหรือไม่สามารถควบคุมได้สำหรับผู้ใช้ที่ไม่สามารถควบคุมได้ต้องป้อนรหัสผู้ใช้และรหัสผ่าน ฉันกำลังมองหาวิธีการคัดลอกไฟล์จากเป้าหมายไปยังปลายทางและเรียกใช้สคริปต์ sql ในสถานการณ์ฟาร์มเว็บ แก้ไข ขณะนี้เรากำลังใช้ไฟล์ค้างคาวเพื่อ xcopy / กำหนดค่าแอพพูล / sql cmd ฯลฯ เพื่อปรับใช้แอปพลิเคชัน แต่เพื่อให้ทำงานได้ทีมสนับสนุนการผลิตจำเป็นต้องดาวน์โหลดซอร์สโค้ดสร้างโครงการและเรียกใช้ไฟล์แบ็ตเพื่อปรับใช้แอปพลิเคชัน ตอนนี้เราต้องการทำการปรับใช้โดยอัตโนมัติโดยไม่ต้องให้ผู้ใช้ดาวน์โหลดซอร์สโค้ดและผู้ใช้ปลายทางเพียงแค่ไปที่ URL และกรอกพารามิเตอร์ผู้ใช้และรหัสผ่านและเลือกแท็ก svn และควรได้รับการปรับใช้ แต่เจนกินส์กำลังทำงานภายใต้การลงชื่อเข้าใช้แบบไม่ระบุชื่อดังนั้นไฟล์ค้างคาวที่มีอยู่จะไม่ทำงานเนื่องจากไม่มีสิทธิ์ในการเรียกใช้สคริปต์ ดังนั้นฉันอยากรู้ว่ามีทางเลือกอื่นสำหรับสถานการณ์เช่นนี้หรือไม่ จะเป็นการดีถ้าบริบทผู้ใช้ถูกเลียนแบบโดยใช้หมายเลขผู้ใช้และรหัสผ่านที่ป้อนเพื่อให้ไฟล์แบตช์ที่มีอยู่สามารถรันได้โดยไม่ต้องมีการเปลี่ยนแปลงเพิ่มเติม หากเป็นไปไม่ได้เราต้องการสำรวจความคิดอื่น ๆ ด้วย แต่เราไม่มีความยืดหยุ่นในการเลือกเครื่องมืออัตโนมัติเช่นหุ่นเชิด ฯลฯ เราควรยึดติดกับไฟล์แบตช์เหล่านี้

1
จะเขียน Clojure Code ได้อย่างไร
ฉันใหม่กับ Clojure ฉันเข้าใจรหัสที่ฉันเขียนได้ แต่มันยากเกินไปที่จะเข้าใจในภายหลัง มันยากที่จะจับคู่วงเล็บ อะไรคือข้อตกลงทั่วไปที่ต้องติดตามเกี่ยวกับการตั้งชื่อและการเยื้องในสถานการณ์ต่าง ๆ ตัวอย่างเช่นฉันเขียนตัวอย่างการกำหนดโครงสร้างตัวอย่างเพื่อทำความเข้าใจ แต่มันดูไม่สามารถอ่านได้อย่างสมบูรณ์ในครั้งที่สอง (defn f [{x :x y :y z :z [a b c] :coll}] (print x " " y " " z " " a " " b " " c)) ในกรณีของการปรับโครงสร้างควรทำโดยตรงที่ระดับพารามิเตอร์หรือเริ่มฟอร์มให้แล้วดำเนินการต่อที่นั่น?

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