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

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

5
การเรียนรู้การเขียนโปรแกรมบนบัตรคำศัพท์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันต้องการลองเขียนโปรแกรมด้วยบัตรเจาะหนึ่งครั้งในชีวิตของฉัน ฉันจะทำสิ่งนี้ได้อย่างไร ฉันมีอายุ 30 ปีและเติบโตขึ้นอย่างสมบูรณ์ในยุคพีซีการเขียนโปรแกรมบนคอมพิวเตอร์ที่มีหน้าจอและคีย์บอร์ด ฉันต้องการสัมผัสวิธีที่พ่อและปู่ของฉันเคยทำงาน ฉันนึกภาพฮาร์ดแวร์ (และอาจเป็นบัตรด้วยตัวเอง) ไม่ได้ผลิตอีกต่อไป มีมหาวิทยาลัยหรือพิพิธภัณฑ์ที่มีเครื่องอ่านบัตรทำงานอีกต่อไปหรือไม่? ฉันอยู่ในบอสตัน แต่ฉันยินดีที่จะเดินทางไปทำสิ่งนี้ ฉันถาม MetaFilterและฉันได้คำตอบที่หลากหลาย (พร้อมด้วยคำว่า "ไม่อย่าทำอย่างนั้น") ฉันได้รับตัวชี้ไปยังสังคมแห่งการคำนวณย้อนยุคของเกาะโรดไอแลนด์แต่ฉันยังไม่ได้รับอีเมลตอบกลับถึงพวกเขา
9 learning 

5
บริษัท ต่าง ๆ จะซ่อนเว็บไซต์เมื่ออยู่ในการพัฒนาอย่างไร
ฉันยังใหม่กับสิ่งนี้และยังเป็นนักพัฒนา PHP อายุ 19 ปีที่เพิ่งได้รับการว่าจ้างดังนั้นฉันไม่แน่ใจว่ามันทำงานอย่างไร บริษัท จำนวนมากเมื่อพัฒนาเว็บไซต์ทำให้เว็บไซต์ของพวกเขาถูกซ่อนไว้ไม่ให้ถูกจัดทำดัชนี html5 / css มีวิธีใดบ้างและ php / mysql ทำงานถูกซ่อนจากเครื่องมือค้นหา หากฉันไม่ผิดนี่เป็นเทคนิค: การพัฒนาแบบออฟไลน์: ใช้ที่จัดเก็บในตัวเครื่องเพื่อแสดงผล html / css; ไม่แน่ใจว่า PHP / mysql จะทำงานอย่างไร ใช้. htaccess เพื่อป้องกันการเข้าถึง ใช้ VPN เพื่อป้องกันการเข้าถึง

3
การเชื่อมต่อระหว่างการเขียนโปรแกรมความรู้และเว็บความหมายคืออะไร?
ผมเป็น (อย่างไม่เป็นทางการ) การค้นคว้าความหมาย / อภิปรัชญาวิธีการที่ใช้ในการเอกสารทางเทคนิคเมื่อฉัน stumbled เมื่อนี้อัญมณี : การเขียนโปรแกรมความรู้และเว็บแบบ Semantic เป็นแนวคิดจากเวลาที่ต่างกันซึ่งมีการเชื่อมต่อ กระดาษที่เชื่อมโยง, Literate Programming ใน XMLโดย Norman Walsh, กล่าวถึงเทคโนโลยี XML ที่เป็นศูนย์กลางของ semantic web แต่ฉันล้มเหลวในการเห็นการเชื่อมต่อเชิงความคิดระหว่างการเขียนโปรแกรมเชิงความรู้กับเอกสารทางเว็บเกี่ยวกับความหมายหรือ ontology ช่วยด้วย?

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

3
เหตุใดโมดูล. NET จึงแยกชื่อไฟล์โมดูลออกจากเนมสเปซ
ในการปรับใช้ภาษาการเขียนโปรแกรม Scheme (มาตรฐาน R6RS) ฉันสามารถนำเข้าโมดูลดังต่อไปนี้: (import (abc def xyz)) ระบบจะพยายามค้นหาไฟล์$DIR/abc/def/xyz.slsที่$DIRมีไดเรกทอรีซึ่งคุณเก็บโมดูล Scheme ของคุณไว้ xyz.slsเป็นซอร์สโค้ดสำหรับโมดูลและถูกคอมไพล์อย่างรวดเร็วหากจำเป็น ระบบโมดูล Ruby, Python และ Perl นั้นคล้ายกันในส่วนนี้ ในทางกลับกัน C # นั้นเกี่ยวข้องกับอีกเล็กน้อย ก่อนอื่นคุณมีไฟล์ dll ที่คุณต้องอ้างอิงตามโปรเจ็กต์ คุณต้องอ้างอิงแต่ละอย่างชัดเจน สิ่งนี้เกี่ยวข้องมากกว่าการพูดวางไฟล์ dll ในไดเรกทอรีและให้ C # เลือกพวกเขาตามชื่อ ประการที่สองไม่มีการตั้งชื่อการติดต่อแบบหนึ่งต่อหนึ่งระหว่างชื่อไฟล์ dll และเนมสเปซที่นำเสนอโดย dll ฉันสามารถชื่นชมความยืดหยุ่นนี้ แต่ก็สามารถออกไปจากมือ (และมี) เพื่อให้เป็นรูปธรรมมันจะดีถ้าเมื่อฉันพูดแบบนี้using abc.def.xyz;C # จะพยายามค้นหาไฟล์abc/def/xyz.dllในบางไดเรกทอรีที่ C # รู้ที่จะดู (กำหนดค่าได้ตามโครงการ) ฉันพบว่า Ruby, …

2
การเว้นวรรคแบบนี้น่าอึดอัดใจไหม
ในการอ่านรหัสโปรแกรมเมอร์อื่นเขาใช้รูปแบบที่ฉันไม่เคยเห็นมาก่อน เช่น namespace MyNs.HereWeAre {//tab here for some reason public class SomeClass {//here's another tab public string Method() {//yet another tab string _variable = "";//no tab implementation return _variable; } }//eof - class (Yes these eof comments are on every file) }//eof - namespace // eof - file ฉันจะยอมรับ ... …

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

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

1
แนวทางปฏิบัติที่ดีสำหรับโปรแกรม Python ในการทำแพ็คเกจ
ฉันใช้ Python มาระยะหนึ่งแล้วทั้งในบริบทของโครงการส่วนตัวและโครงการระดับมืออาชีพ สิ่งหนึ่งที่เกิดขึ้นกับฉันเมื่อเร็ว ๆ นี้คือฉันไม่เคยคิดถึงวิธีที่ดีในการปรับใช้โปรแกรม Python โดยทั่วไปเนื่องจากส่วนใหญ่เป็นสคริปต์ผมมักจะคัดลอกไปยังเครื่องที่ฉันต้องการให้ใช้งานและvoila ! แต่ฉันเชื่อว่าควรมีแนวทางปฏิบัติที่ดีเกี่ยวกับวิธีการปรับใช้โครงการ Python ฉันเคยได้ยินเกี่ยวกับ Python Eggs แต่ไม่คุ้นเคยพอที่จะดูว่าเป็นตัวเลือกที่ดีหรือไม่ หรือtarballเก่าธรรมดาที่มีเชลล์สคริปต์จำนวนมากเพื่อรันสคริปต์โมดูลหลัก? โดยทั่วไปฉันต้องการทำการปรับใช้ที่ดีงามสง่าและมีในตัวเองไม่ใช่แค่คัดลอกไฟล์ที่นี่และที่นั่นเพราะมันไม่อนุญาตให้มีการติดตามเวอร์ชันได้อย่างง่ายดายและค่อนข้างยุ่ง

3
Agile - Spikes และ Timeline โดยรวม
ทีมกำลังเริ่มโครงการทุนแรกของพวกเขา - A Agile และโครงการดูเหมือนว่าจะสอดคล้องกับระเบียบวิธี (เช่นเราอาจเพิ่งคว้าหนังสือเปรียวและทำตามสูตร) ​​ด้วยความสับสนเล็กน้อย: โครงการเกี่ยวข้องกับสามสิ่งที่ไม่มีใครในทีมมีประสบการณ์ด้วย: รวมเข้ากับระบบ Foo Payroll สามารถจัดการไฟล์ประเภท XYZ89 (โดยที่ "XYZ89" = ไฟล์บางประเภทที่คุณไม่เคยได้ยิน) และแปลงบางส่วน ไฟล์อื่น ๆ เพื่อให้สามารถจัดการได้โดย Frobnobdicator ตามที่ฉันเข้าใจแล้วการฝึกแบบ Agile แบบมาตรฐานนั้นคือการกำหนดตารางเวลาสำหรับแต่ละสิ่งเหล่านี้หลังจากนั้นเราสามารถกำหนดได้ว่าจะต้องใช้เวลานานเท่าใด (ฉันไม่แน่ใจว่ามีโอกาสมากที่ลูกค้าจะตัดสินใจไม่ทำ พวกเขาเนื่องจากพวกเขาค่อนข้างแข็งแกร่งข้อกำหนดของโครงการ) ดังนั้นคำถามของฉันคือ: เราทำเดือยทั้งหมดขึ้นด้านหน้าในการคำนวณซ้ำครั้งแรกเพื่อให้ได้ประมาณเวลาที่ดีขึ้นในการทำมันและ / หรือทำให้ "โครงกระดูกเดิน" เดินต่อไป ถ้าไม่ตารางเวลาโครงการโดยรวมจะไม่อยู่ในความเมตตาของหนึ่งในหนามเหล่านี้ที่กลับมาพร้อมกับข้อมูลที่เรื่องราวเฉพาะนี้จะใช้เวลานานกว่าที่เราจัดแสดง วิธีปฏิบัติที่ดีที่สุดในการจัดการ spikes หลายอย่างเมื่อพวกเขาโดยทั่วไปจะไม่สามารถเจรจาต่อรองความต้องการของโครงการ?
9 agile 

8
ฉันมีบ่ายวันหนึ่งเพื่อยกย่องผลประโยชน์ของ. NET ผ่าน VB6 …ฉันจะพูดอะไรดี [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา บริษัท ของฉันเป็น บริษัท วิศวกรรมขนาดเล็กยี่สิบคน การเขียนโปรแกรมแอปพลิเคชันทั้งหมดที่นี่ทำใน VB6 โดยคนสองคนที่สอนตัวเอง VB6 จากพื้นหลังการประกอบในขณะที่ทำงานที่นี่มากกว่า 25 ปีที่ผ่านมาและตัวฉันเอง ด้วยเหตุนี้โค้ด VB6 จึงเต็มไปด้วยกลิ่นโค้ดที่น่ากลัวเช่นตัวแปรที่พิมพ์จำนวนมากฟังก์ชันที่ยาวมากตัวแปรสาธารณะทั่วโลกหลายร้อยตัวแปร ชั้น การปรับโครงสร้างใหม่นั้นเป็นไปไม่ได้และการเปลี่ยนแปลงใด ๆ จำเป็นต้องมีการขุดผ่านโค้ดมากเกินไปและเมื่อทำครั้งเดียว เจ้านายของฉันรู้ว่า VB6 เป็นเทคโนโลยีที่ตายแล้วและยินดีที่จะรับฟังคำอ้อนวอนของฉันที่จะย้ายไป. NET เพื่อการพัฒนาใหม่ เรากำลังก้าวไปข้างหน้าเพื่อ. NET แต่เขาเห็นว่ามันเป็นวิธีในการติดตามความเข้ากันได้กับระบบปฏิบัติการ Windows รุ่นใหม่ไม่ได้เป็นวิธีการเขียนรหัสที่ดีกว่า ฉันจะอธิบายประโยชน์ของภาษา. NET ผ่าน VB6 ได้ดีที่สุดเกินกว่าจะเป็นปัจจุบันได้อย่างไร สิ่งที่ฉันสามารถพูดได้ดีที่สุดเน้นว่าย้ายไป. NET เป็นย้ายที่ดีแต่ก็หมายความว่ากระบวนทัศน์การเขียนโปรแกรมปัจจุบันของเราควรเริ่มเปลี่ยน ทันทีที่เจ้านายของฉันได้ยินว่า Visual Basic .NET ดูเหมือน VB6 …

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

4
แอปแบบโอเพ่นซอร์สแบบเสียเงิน
คำถามที่รบกวนจิตใจฉันคือเป็นไปได้ / เป็นไปได้ / สมเหตุสมผลที่จะคาดหวังให้แอปโอเพ่นซอร์สขายดีในตลาดมือถือหรือไม่? ฉันควรเชื่อหรือไม่ว่าผู้ใช้ของฉันจะใช้แอพของฉันแทนที่จะสร้างเวอร์ชันที่เช็คเอาต์และที่สำคัญกว่านั้นฉันจะจัดการกับการแข่งขันได้อย่างไรหากฉันทำให้แอปของฉันพร้อมใช้งานภายใต้ใบอนุญาต OSS จนถึงตอนนี้ลิงก์เดียวในหัวเรื่องที่ฉันพบคือhttp://blog.zachwaugh.com/post/17554643060/selling-open-source-appsอย่างไรก็ตามมันเกี่ยวข้องกับแอป Mac OS X ฉันควรพูดถึงคำถามของฉันไม่ได้มุ่งเน้นไปที่ iOS, Android หรือระบบปฏิบัติการอื่นมันเกี่ยวกับแอปพลิเคชันมือถือโดยทั่วไป แก้ไข: คำถามที่สมเหตุสมผลมากว่าผู้ใช้ของฉันเป็นโปรแกรมเมอร์หรือไม่ ฉันไม่คาดหวังว่าผู้ใช้ส่วนใหญ่ของฉันจะคุ้นเคยกับการเขียนโปรแกรมจากระยะไกล

6
วิธีที่ดีที่สุดในการแยกวิเคราะห์ไฟล์
ฉันพยายามที่จะหาทางออกที่ดีสำหรับการทำ parser ให้บางส่วนของรูปแบบไฟล์ที่มีชื่อเสียงออกมีเช่น: EDIFACTและTRADACOMS หากคุณไม่คุ้นเคยกับมาตรฐานเหล่านี้ลองดูตัวอย่างนี้จาก Wikipedia: ดูตัวอย่างข้อความ EDIFACT ด้านล่างที่ใช้เพื่อตอบคำขอความพร้อมใช้งานของผลิตภัณฑ์: - UNA:+.? ' UNB+IATB:1+6XPPC+LHPPC+940101:0950+1' UNH+1+PAORES:93:1:IA' MSG+1:45' IFT+3+XYZCOMPANY AVAILABILITY' ERC+A7V:1:AMD' IFT+3+NO MORE FLIGHTS' ODI' TVL+240493:1000::1220+FRA+JFK+DL+400+C' PDI++C:3+Y::3+F::1' APD+714C:0:::6++++++6X' TVL+240493:1740::2030+JFK+MIA+DL+081+C' PDI++C:4' APD+EM2:0:130::6+++++++DA' UNT+13+1' UNZ+1+1' เซ็กเมนต์ UNA เป็นทางเลือก หากมีจะระบุอักขระพิเศษที่จะใช้ในการตีความส่วนที่เหลือของข้อความ มีหกตัวอักษรตาม UNA ในลำดับนี้: องค์ประกอบตัวแยกองค์ประกอบข้อมูล (: ในตัวอย่างนี้) ตัวแยกองค์ประกอบข้อมูล (+ ในตัวอย่างนี้) การแจ้งเตือนทศนิยม (. ในตัวอย่างนี้) ตัวละครที่วางจำหน่าย (ในตัวอย่างนี้) สงวนต้องเป็นพื้นที่ ตัวยุติเซ็กเมนต์ …

3
ฉันจะตรวจสอบหน่วยความจำ JVM ในวิธีที่เหมาะสมได้อย่างไร
ฉันกำลังคิดว่าเราจะตรวจสอบหน่วยความจำ JVM ด้วยค่าโสหุ้ยต่ำในสภาพแวดล้อมการผลิตได้อย่างไรภายใต้ชั่วโมงที่ยุ่ง สมมติว่าฉันมีเซิร์ฟเวอร์แอพ Tomcat สองตัวในการผลิตโหลดบาลานซ์ตั้งค่าไว้ด้านหลัง หากฉันเห็นสถิติหน่วยความจำ jvm ฉันสามารถบอก load balance ให้หยุดส่งคำขอไปยังเซิร์ฟเวอร์ซึ่งจะพบปัญหา OOM ทำให้เหมาะสมหรือไม่ Jconsole หรือ VisualVM กินการเพิ่มประสิทธิภาพมากขึ้นไม่ใช่ตัวเลือกของฉัน

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