คำถามติดแท็ก linux

Linux เป็นเคอร์เนลระบบปฏิบัติการโอเพ่นซอร์สที่ได้รับความนิยม Linus Torvalds เริ่มพัฒนาเคอร์เนลในปี 1991


19
มีเหตุผลใดที่จะใช้ C ++ แทน C, Perl, Python และอื่น ๆ ? [ปิด]
ในฐานะนักพัฒนา Linux (ฝั่งเซิร์ฟเวอร์) ฉันไม่รู้ว่าที่ไหนและเพราะเหตุใดฉันจึงควรใช้ C ++ เมื่อฉันจะไปแสดงตัวเลือกแรกและสุดท้ายคือ C เมื่อ "ประสิทธิภาพ" ไม่ใช่ปัญหาหลักภาษาการเขียนโปรแกรมเช่น Perl และ Python จะเป็นตัวเลือกที่ดี เกือบทุกแอพพลิเคชั่นโอเพนซอร์ซที่ฉันรู้จักในพื้นที่นี้เขียนด้วยภาษา C, Perl, Python, Bash script, AWKหรือแม้แต่ PHP แต่ไม่มีใครใช้ C ++ ฉันไม่ได้พูดถึงเรื่องอื่น ๆ เช่น GUI หรือเว็บแอปพลิเคชันฉันแค่พูดถึง Linux, CLI และ daemons มีเหตุผลที่น่าพอใจในการใช้ C ++ หรือไม่?

10
แฮ็คคอมไพเลอร์ของ Ken Thompson ยังคงเป็นภัยคุกคามหรือไม่?
แฮ็คทอม ธ อมป์สัน (1984) Ken Thompson ได้สรุปวิธีการที่จะคอมไพล์ไบนารีคอมไพเลอร์ (และซอฟต์แวร์ที่คอมไพล์อื่น ๆ เช่นสคริปต์การเข้าสู่ระบบในระบบ * nix) ในปี 1984 ฉันอยากรู้ว่าการคอมไพล์สมัยใหม่ได้แก้ไขข้อบกพร่องด้านความปลอดภัยนี้หรือไม่ คำอธิบายสั้น: เขียนรหัสคอมไพเลอร์ใหม่เพื่อให้มีข้อบกพร่อง 2 ข้อ: เมื่อรวบรวมไบนารีของตัวเองคอมไพเลอร์จะต้องรวบรวมข้อบกพร่องเหล่านี้ เมื่อรวบรวมรหัสที่เลือกล่วงหน้าอื่น ๆ (ฟังก์ชั่นเข้าสู่ระบบ) จะต้องรวบรวมลับๆโดยพลการ ดังนั้นคอมไพเลอร์ก็ทำงานได้ตามปกติ - เมื่อคอมไพล์สคริปต์ล็อกอินหรือคล้ายกันมันสามารถสร้างแบ็คดอร์ความปลอดภัยและเมื่อคอมไพล์เวอร์ชั่นใหม่ของตัวเองในอนาคตมันจะเก็บข้อบกพร่องก่อนหน้า - และข้อบกพร่องจะมีอยู่ในคอมไพเลอร์เท่านั้น ไบนารีดังนั้นจึงเป็นเรื่องยากมากที่จะตรวจจับ คำถาม: ฉันไม่สามารถหาคำตอบสำหรับสิ่งเหล่านี้บนเว็บ: สิ่งนี้เกี่ยวข้องกับการรวบรวมแบบทันเวลาได้อย่างไร ฟังก์ชั่นเหมือนกับการเข้าสู่ระบบการจัดการโปรแกรมบนระบบ * nix ถูกคอมไพล์เมื่อรันหรือไม่? สิ่งนี้ยังคงเป็นภัยคุกคามที่ถูกต้องหรือมีการพัฒนาด้านความปลอดภัยในการรวบรวมตั้งแต่ปี 1984 ที่ป้องกันไม่ให้เกิดปัญหาร้ายแรง สิ่งนี้มีผลกระทบต่อทุกภาษาหรือไม่ ทำไมฉันถึงอยากรู้? ฉันเจอสิ่งนี้ขณะทำการบ้านและมันก็น่าสนใจ แต่ฉันก็ขาดภูมิหลังที่จะเข้าใจอย่างเป็นรูปธรรมไม่ว่าจะเป็นปัญหาปัจจุบันหรือปัญหาที่แก้ไขแล้ว วัสดุอ้างอิง ภาพรวม บางรหัส
156 linux  unix  compiler  hacking 

20
ทำเงินกับ Open Source ในฐานะนักพัฒนาหรือไม่?
ปัจจุบันฉันเป็นนักเรียน (เทคโนโลยีสารสนเทศประยุกต์) และเราทำการเขียนโปรแกรมส่วนใหญ่ใน C # และ Java ฉันสงสัยว่าฉันจะเป็นนักพัฒนาสร้างรายได้ด้วยโอเพ่นซอร์สได้อย่างไร ฉันรู้ว่ามีเรื่องราวของการให้การสนับสนุนหรือให้บริการ แต่ฉันไม่ได้ดูแลระบบและฉันไม่ชอบงานดูแลระบบ ที่จริงแล้วฉันอยากจะลอง C และ C ++ ต่อไปในอนาคตและทำการพัฒนาในระดับต่ำ ดังนั้นคำถามที่แท้จริงของฉันคือมีเงินที่ต้องพัฒนาซอฟต์แวร์โอเพ่นซอร์สหรือไม่? แก้ไข: เพิ่งชี้ให้เห็นว่าการเริ่มต้นโครงการโอเพนซอร์สของตัวเองนั้นไม่ได้เป็นข้อกำหนด

8
ความแตกต่างระหว่าง '\ n' และ '\ r \ n'
ใช่ใช่ผมทราบว่า'\n'เขียนขึ้นบรรทัดใหม่ในระบบปฏิบัติการยูนิกซ์ในขณะที่สำหรับ Windows '\r\n'มีลำดับสองตัวอักษร: ทั้งหมดนี้เป็นสิ่งที่ดีมากในทฤษฎี แต่คำถามของฉันคือทำไม ? เหตุใดอักขระการคืนตลับหมึกจึงมีความพิเศษใน Windows หาก UNIX สามารถทำได้ในกรณีที่\nใช้ Windows สองตัวเพื่อทำสิ่งนี้ ฉันกำลังอ่านหนังสือ Python ของ David Beazley และเขาพูดว่า: ตัวอย่างเช่นบน Windows การเขียนตัวอักษร '\ n' จริง ๆ แล้วจะส่งออกลำดับสองตัวอักษร '\ r \ n' (และเมื่ออ่านไฟล์กลับมา '\ r \ n' จะถูกแปลกลับเป็น '\ n' เดียว ตัวอักษร) ทำไมต้องใช้ความพยายามพิเศษ ฉันจะซื่อสัตย์ ฉันรู้จักความแตกต่างมาเป็นเวลานาน แต่ไม่เคยใส่ใจที่จะถามว่าทำไม ฉันหวังว่าจะได้รับคำตอบในวันนี้ ขอบคุณที่สละเวลา.

24
ทำไมโปรแกรมเมอร์ใช้หรือแนะนำ Mac OS X [ปิด]
ฉันทำงานทั้งบน Mac และ Windows มาระยะหนึ่งแล้ว อย่างไรก็ตามฉันยังคงมีเวลายากที่จะเข้าใจว่าเหตุใดโปรแกรมเมอร์จึงเลือก Mac OS X บน Windows และ Linux อย่างกระตือรือร้น ฉันรู้ว่ามีโปรแกรมเมอร์ที่ชอบ Windows และ Linux แต่ฉันขอให้โปรแกรมเมอร์ที่ใช้ Mac OS X และไม่มีอะไรอื่นเพราะพวกเขาคิดว่า Mac OS X เหมาะสมที่สุดสำหรับโปรแกรมเมอร์ บางคนอาจแย้งว่า Mac OS X นั้นมี UI ที่สวยงามและมีระบบปฏิบัติการที่ดี แต่ Linux ก็สามารถทำได้ ถึงแม้ว่า Windows จะไม่ได้เป็น nix แต่คุณสามารถพัฒนาบนแพลตฟอร์มหรือภาษาใด ๆ ยกเว้น Cocoa / Objective-C เป็นแอพพลิเคชั่นที่มีเฉพาะใน Mac OS …

16
ย้ายจาก Windows เป็น Linux [ปิด]
ฉันต้องตรวจสอบข้อเท็จจริง 2 ข้อต่อไปนี้: ฉันรู้สึกไม่สะดวกใจที่จะทำงานกับ Linux ฉันต้องการพัฒนาซอฟต์แวร์สำหรับ Linux พื้นหลังบางอย่าง: ฉันมีประสบการณ์การเขียนโปรแกรม 10 ปีขึ้นไปบน Windows (เกือบจะเฉพาะ C / C ++ แต่บางอย่างเช่น. NET) ฉันเป็นผู้ใช้ FreeBSD ที่บ้านประมาณ 3 ปีหรือมากกว่านั้น (ต้องกลับไปที่ Windows) และฉันไม่เคยโชคดีกับ Linux มาก่อน และตอนนี้ฉันต้องพัฒนาซอฟต์แวร์สำหรับ Linux ฉันต้องการแผน ใน Windows คุณสามารถรู้ได้ด้วยภาษาการเขียนโปรแกรม API ที่คุณเข้ารหัส IDE (VisualStudio) และเครื่องมือพื้นฐานบางอย่างสำหรับการแก้ไขปัญหา (ขึ้นอยู่กับ ProcessExplorer, DebugView, WinDbg) ทุกอย่างมาจากธรรมชาติ บน Linux มันเป็นเรื่องที่แตกต่างกันมาก ฉันจะรู้ได้อย่างไรว่า DLL …

9
การเปรียบเทียบ IDEs สำหรับการพัฒนา C ++ และ C บน Linux: KDevelop, Eclipse, NetBeans, CodeBlocks และ Anjuta [ปิด]
ฉันต้องการบันทึกประสบการณ์การใช้งาน IDE แบบเต็มรูปแบบบน Linux โดยส่วนตัวแล้วฉันมักทำงานด้วยvimกัน แต่โปรแกรมเมอร์คนอื่น ๆ ต้องการเห็น IDE จริง ๆ ดังนั้นฉันต้องการฟังความเห็นส่วนตัวของคุณเกี่ยวกับ IDE ที่แตกต่างกันและการเปรียบเทียบระหว่างพวกเขาในบริบทต่อไปนี้: C ++ และบางทีการพัฒนา C (ไม่ใช่ Java, Python และอื่น ๆ ) การเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ (ไม่จำเป็นสำหรับการพัฒนา GUI) ทำงานบน Linux ไม่ใช่การพัฒนา "ข้ามแพลตฟอร์ม" ความเห็นจำเป็นต้องคำนึงถึง: มันเสถียรแค่ไหน? ถ้า IDE ขัดข้องฉันไม่ต้องการมัน สะดวกสบายในการใช้ มีประสิทธิภาพสำหรับการแก้ไขข้อบกพร่อง บูรณาการกับระบบการสร้างต่างๆ ความสามารถปรับขยายได้สำหรับโครงการขนาดใหญ่ (โครงการที่มีโค้ดหลายแสนบรรทัด) ฉันเคยทำงานกับ KDevelop และเป็น IDE ที่ดีมากและดูเหมือนว่า KDevelop 4 เป็นความก้าวหน้าที่ยิ่งใหญ่ ดูเหมือนว่าหลายคนใช้ …
49 c++  ide  linux 

2
จะเป็นโปรแกรมเมอร์ไดรเวอร์ Kernel / Systems / Device อย่างไร [ปิด]
ปัจจุบันฉันทำงานอย่างมืออาชีพในฐานะวิศวกรซอฟต์แวร์ที่ทำงานกับ Android OS เราทำงานที่รวมแพลตฟอร์มของเราเป็นดีมอนพื้นเมืองในแง่มุมอื่น ๆ ของโครงการ ฉันทำงานเป็นหลักใน Java การพัฒนาแอปพลิเคชัน SDK และ Android แต่รับความช่วยเหลือเกี่ยวกับแพลตฟอร์มใน C / C ++ อะไรก็ตามฉันมีความสนใจที่ดีในการทำงานอย่างมืออาชีพในการพัฒนาระดับต่ำสำหรับลินุกซ์ ฉันไม่พอใจในตำแหน่งปัจจุบันของฉันและจะไปเที่ยวตราบใดที่ บริษัท ให้ฉัน (อันที่จริงฉันค่อนข้างสนุกกับการทำงานที่นั่น!) แต่ฉันอยากทำงานในทิศทางนั้น ฉันทำงานผ่านการพัฒนาเคอร์เนล Linux (Robert Love) และ The Linux Programming Interface (Michael Kerrisk) (นอกเหนือจากการเสริมสร้างทักษะ C ของฉันในทุกโอกาสที่ฉันได้รับ) และการท่องเว็บสัตว์ประหลาดและเว็บไซต์ที่คล้ายคลึงกันโดยไม่ตั้งใจ ปัญหาที่ฉันเห็นคือไม่มีตำแหน่งระดับรายการ หนึ่งจะบุกเข้าไปในสนามนี้ได้อย่างไร เมื่อใดก็ตามที่ฉันเห็น "Linux Systems Programmer" หรือ "Linux Device Driver Programmer" พวกเขาจำเป็นต้องมีประสบการณ์ที่เกี่ยวข้องอย่างน้อย …
40 c  linux  linux-kernel 

6
รูปแบบสเปรดชีตที่เป็นมิตรกับ Git? [ปิด]
เรากำลังพยายามย้ายกระบวนการเอกสารโครงการของเราจาก Google เอกสารไปยังชุดของที่เก็บ Git ที่โฮสต์ด้วยตนเอง เอกสารข้อความนั้นง่ายต่อการคอมไพล์เนื่องจากเรามักไม่ต้องการการจัดรูปแบบแฟนซีเราจะแปลงทุกอย่างเป็นพูดคำสั่งย่อยด้วยตัวเลือกเพื่อฝัง LaTeX สำหรับกรณีที่ซับซ้อน แต่สเปรดชีตเป็นเรื่องที่แตกต่างกันมาก ... มีรูปแบบสเปรดชีต (- เหมือน) ที่เป็นมิตรกับระบบควบคุมเวอร์ชัน (และยิ่งกว่านั้นคือมนุษย์สามารถอ่านได้เหมือนกับ Markdown)? "รูปแบบที่เป็นมิตร": Git ทำงานได้ดีกับรูปแบบ ( ไม่ใช้ XML) และสร้างความแตกต่างที่มนุษย์สามารถอ่านได้ ( การกำหนดค่าเพิ่มเติมที่เกี่ยวข้องกับเครื่องมือภายนอกนั้นใช้ได้) เห็นได้ชัดว่ารสชาติ Markdown อนุญาตให้สร้างตารางแบบคงที่ แต่ฉันต้องการที่จะใช้สิ่งต่าง ๆ เช่นSUM()ฯลฯ ... (โปรดทราบว่า CSV มีปัญหาเดียวกัน) ไม่มี WYSIWYG เป็นไร แต่การสนับสนุนเครื่องมือแก้ไข / เครื่องมือที่ดีจะเป็น ดี โปรดอัพเดท: คำตอบที่เป็นมิตรกับ Linux เท่านั้น ไม่มี MS Office

8
ทำไมนักพัฒนาไม่สร้างตัวช่วยติดตั้งบน linux? [ปิด]
ฉันแน่ใจว่ามันไม่ได้เกี่ยวกับความเกียจคร้านหรืออะไรแบบนั้น แต่ฉันไม่เข้าใจว่าทำไมนักพัฒนาของแอพที่ผู้บริโภคส่วนใหญ่หันหน้าไปทางแอปไม่ได้สร้างวิซาร์ดการติดตั้งใด ๆ แอพเดียวกันมักมีตัวติดตั้งสำหรับ Windows และ Mac OS ดังนั้นทำไมไม่ใช้ Linux มีเหตุผลทางเทคนิคสำหรับแนวโน้มนี้หรือเป็นเพียงแค่การประชุม? แก้ไข (23-09-2557): คำถามนี้ไม่ได้รับการขอให้เริ่มสงครามเปลวไฟ Windows กับ Linux ฉันใช้ระบบปฏิบัติการหลักทั้ง 3 ระบบและนอกเหนือจาก Linux แล้วอีกสองระบบ (Windows และ Mac OS) ทั้งคู่มีตัวติดตั้ง ฉันยังไม่ได้ติดตั้ง Oracle แต่สิ่งที่ฉันต้องการติดตั้งฉันไม่เคยเห็นเครื่องมือติดตั้ง GUI สำหรับ Linux ใช่ฉันรู้ว่า Linux มีผู้จัดการแพ็คเกจดังนั้นนักพัฒนาซอฟต์แวร์จึงไม่จำเป็นต้องติดตั้ง แต่ยังมีซอฟต์แวร์จำนวนมากที่ล้าสมัยในตัวจัดการแพ็คเกจเริ่มต้นหรือไม่สามารถใช้งานได้ นอกจากนี้เนื่องจาก Linux ขายเป็นทางเลือกให้ Windows สำหรับผู้ใช้ทั่วไป (Ubuntu พยายามอย่างหนักในโดเมนนี้) ดังนั้นจึงเหมาะสมกว่าที่จะให้ผู้ใช้ที่พวกเขาคุ้นเคย ยกตัวอย่างเช่นการตั้งค่า LAMP stack นี่เป็นซอฟต์แวร์โอเพ่นซอร์สทั้งหมดในที่เก็บเริ่มต้น แต่คุณสามารถตั้งค่าทุกอย่างในครั้งเดียวโดยไม่ต้องใช้สคริปต์ได้หรือไม่? …

5
ทำไม Windows / Linux ไม่ใช้ฐานข้อมูลเชิงสัมพันธ์ (RDBMS)
ทำไม Windows / Linux ไม่ใช้ฐานข้อมูลเชิงสัมพันธ์ ( RDBMS ) ฉันรู้ว่าพวกเขาใช้ระบบไฟล์เพื่อจัดเก็บข้อมูลทั้งหมด แต่คุณไม่คิดว่ามันจะมีประสิทธิภาพมากกว่าในการใช้ฐานข้อมูลเหมือนที่เราใช้ในเว็บไซต์ / เว็บแอพ โปรดอธิบายอย่างละเอียดเกี่ยวกับการใช้ระบบไฟล์ผ่านฐานข้อมูลเพื่อการจัดเก็บ สิ่งนี้ไม่เหมือนกันเมื่อต้องการใช้ฐานข้อมูลมากกว่าการแยกข้อมูลจากไฟล์ข้อความหรือไม่ ฉันกำลังพูดถึงในแง่ของบริบทของระบบปฏิบัติการเท่านั้นและคำถามนั้นเป็นเรื่องทั่วไป

10
มันคุ้มค่าที่จะย้ายจากเทคโนโลยีของไมโครซอฟท์ไปเป็น Linux, NodeJS และกรอบโอเพนซอร์สอื่น ๆ เพื่อประหยัดเงินสำหรับการเริ่มต้นธุรกิจหรือไม่? [ปิด]
ฉันกำลังมีส่วนร่วมในการเริ่มต้นฉันเป็นนักพัฒนาเพียงคนเดียวที่เกี่ยวข้องในขณะนี้และคนอื่น ๆ กำลังทิ้งการตัดสินใจทางเทคโนโลยีทั้งหมดให้ฉันในขณะนี้ สำหรับงานประจำวันของฉันฉันทำงานที่บ้านซอฟต์แวร์ที่ใช้เทคโนโลยีของ Microsoft เป็นประจำทุกวันเราใช้. NET, SqlServer, Windows Server ฯลฯ อย่างไรก็ตามฉันตระหนักดีว่าการเริ่มต้นเราจำเป็นต้องลดต้นทุนลงและหลังจากมี ดูค่าใช้จ่ายในการโฮสต์สำหรับ Windows โดยย่อฉันรู้สึกตกใจเมื่อเห็นราคาของเซิร์ฟเวอร์เฉพาะ ที่ถูกที่สุดที่ฉันพบคือ£ 100 ต่อเดือน หากธุรกิจจำเป็นต้องขยายในอนาคตและท้ายที่สุดเราต้องการเซิร์ฟเวอร์หลายตัวเราสามารถลงเอยด้วยการจ่าย 10,000 ปอนด์ต่อปีในการออกใบอนุญาต SQL Server / Windows Server เป็นต้น จากนั้นฉันก็ดูราคาของ Linux โฮสติ้งสำหรับเซิร์ฟเวอร์เฉพาะและเห็นว่าราคาถูก waaaaaay ต่ำกว่า windows hosting ที่แห่งหนึ่งเสนอเครื่องที่มี 2 คอร์น้อยกว่า 20 ปอนด์ต่อเดือน นี่ทำให้ฉันคิดว่าวิธีที่จะไปคือโอเพ่นซอร์สบน Linux ขณะที่ฉันเขียน Javascript จำนวนมากในที่ทำงาน (ฉันกำลังทำงานในแอพแบ็คโบนหน้าเดียวในขณะนี้) ฉันคิดว่าบางที NodeJS และเว็บเฟรมอย่าง Express จะน่าใช้ …

14
คุณสมบัติใดของเชลล์สคริปต์ที่เกี่ยวข้องกับการพัฒนา PHP / Python [ปิด]
ฉันเป็นโปรแกรมเมอร์ PHP / Python ที่เรียนรู้ Java และ C # (. NET) ระบบปฏิบัติการหลักของฉันคือ windows 7 แต่ฉันใช้ Linux และตอนนี้ฉันใช้ดูอัลบูตด้วย Ubuntu ความรู้เกี่ยวกับ Linux ของฉันนั้นค่อนข้าง จำกัด ฉันสามารถทำงานกับบรรทัดคำสั่งในงานง่าย ๆ แต่มันก็สวยมาก ฉันไม่ได้ทำเชลล์สคริปต์ใด ๆ และฉันไม่ทราบคำสั่งที่สำคัญมากมาย ความสนใจของฉันคือการพัฒนาเว็บแอปมือถือและอาจมีบางอย่างฝังตัวอยู่ในอนาคต ทักษะการเขียนสคริปต์ของ shell จะมีประโยชน์สำหรับความสนใจเหล่านี้หรือไม่และอย่างไร?

8
ความแตกต่างพื้นฐานระหว่าง Unix และ Linux ในการออกแบบและด้านอื่น ๆ คืออะไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันอ่านประโยคนี้ต่อไป: Linux เป็นระบบที่คล้าย Unix แต่ไม่ใช่ Unix ฉันไม่รู้ว่าอะไรคือความแตกต่างที่แท้จริงระหว่างสองสิ่งนี้ ฉันรู้ว่า Linux มีแนวคิดมากมายจาก Unix และลิขสิทธิ์ของทั้งสองนั้นแตกต่างกัน นอกเหนือจากนั้นเนื่องจากฉันไม่ใช่ผู้เชี่ยวชาญในหนึ่งในนั้นฉันต้องการทราบว่ามีความแตกต่างพื้นฐานระหว่างพวกเขาในการออกแบบหรือด้านที่สำคัญอื่น ๆ

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