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

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

2
เนื่องจากการรวบรวมขยะไม่ได้กำหนดไว้แล้วทำไมจึงไม่ใช้ในการสร้างหมายเลขสุ่มที่ปลอดภัย
ฉันได้รับ / dev / random เป็นแหล่งข้อมูลที่ดีของเอนโทรปีและเป็นสิ่งที่ใช้กันทั่วไป - มันก็เหมือนกับที่ฉันอ่านบน GC อย่างน้อยใน Java ดูเหมือนว่าเป็นที่ยอมรับว่า daemon การรวบรวมขยะเรียกใช้งานแบบไม่กำหนดค่า . ถ้าเป็นจริงทำไมเราไม่ใช้เวลาของการรวบรวมขยะเป็นแหล่งของเอนโทรปีแทนที่จะเป็นตัวแปร / dev / random?

6
ฟีเจอร์ของฟังก์ชั่นอะไรที่คุ้มค่ากับความสับสน OOP เล็กน้อยเพื่อประโยชน์ที่พวกเขานำมา?
หลังจากเรียนรู้การเขียนโปรแกรมที่ใช้งานได้ใน Haskell และ F # กระบวนทัศน์ OOP ดูเหมือนว่าจะย้อนกลับไปพร้อมกับคลาสอินเทอร์เฟซวัตถุ FP ด้านใดที่ฉันสามารถนำไปใช้ในการทำงานที่เพื่อนร่วมงานของฉันสามารถเข้าใจได้ สไตล์ FP ใด ๆ ที่ควรค่าแก่การพูดคุยกับเจ้านายของฉันเกี่ยวกับการฝึกสอนทีมของฉันใหม่ ลักษณะที่เป็นไปได้ของ FP: การเปลี่ยนไม่ได้ การประยุกต์ใช้บางส่วนและการแกง ฟังก์ชั่นชั้นหนึ่ง (ตัวชี้ฟังก์ชั่น / วัตถุการทำงาน / รูปแบบกลยุทธ์) การประเมินผลขี้เกียจ (และ Monads) ฟังก์ชั่นบริสุทธิ์ (ไม่มีผลข้างเคียง) นิพจน์ (เทียบกับข้อความ - แต่ละบรรทัดของโค้ดจะสร้างค่าแทนหรือนอกเหนือจากการทำให้เกิดผลข้างเคียง) recursion การจับคู่รูปแบบ มันเป็นฟรีสำหรับทุกสิ่งที่เราสามารถทำอะไรก็ได้ที่ภาษาโปรแกรมรองรับจนถึงขีด จำกัด ที่ภาษานั้นรองรับหรือไม่ หรือมีแนวทางที่ดีกว่า

4
linq มีประสิทธิภาพมากกว่าที่ปรากฏบนพื้นผิวหรือไม่?
ถ้าฉันเขียนอะไรแบบนี้: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) นี่เป็นเช่นเดียวกับ: var results1 = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue) results1.Add(t); var results2 = new List<Thing>(); foreach(var t in results1) if(t.IsSomeOtherValue) results2.Add(t); หรือมีเวทมนตร์ใต้ฝาครอบที่ใช้งานได้มากกว่านี้: var results = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue && t.IsSomeOtherValue) results.Add(t); หรือเป็นสิ่งที่แตกต่างอย่างสิ้นเชิงโดยสิ้นเชิง?
13 c#  linq 

3
เราเข้าคิวและจัดลำดับซีเรียลอย่างถูกต้องหรือไม่?
เราประมวลผลข้อความผ่านบริการที่หลากหลาย (หนึ่งข้อความจะสัมผัสถึง 9 บริการก่อนที่จะเสร็จสิ้นแต่ละคนทำหน้าที่เฉพาะที่เกี่ยวข้องกับ IO) ตอนนี้เรามีการรวมกันของกรณีที่เลวร้ายที่สุด (อนุกรมข้อมูลสัญญา XML) และกรณีที่ดีที่สุด (MSMQ ในหน่วยความจำ) สำหรับประสิทธิภาพ ลักษณะของข้อความหมายถึงข้อมูลที่ต่อเนื่องของเราสิ้นสุดลงประมาณ 12-15 กิโลไบต์และเราประมวลผลข้อความประมาณ 4 ล้านข้อความต่อสัปดาห์ ข้อความถาวรใน MSMQ นั้นช้าเกินไปสำหรับเราและเมื่อข้อมูลเติบโตขึ้นเราก็รู้สึกกดดันจากไฟล์ที่แม็พหน่วยความจำของ MSMQ เซิร์ฟเวอร์อยู่ที่ 16GB ของการใช้หน่วยความจำและเพิ่มขึ้นเพียงเพื่อรอคิว ประสิทธิภาพยังลดลงเมื่อการใช้หน่วยความจำสูงเนื่องจากเครื่องเริ่มทำการแลกเปลี่ยน เรากำลังทำพฤติกรรมการล้างข้อมูลด้วยตนเองด้วย MSMQ ฉันรู้สึกว่ามีส่วนหนึ่งที่เราทำผิดที่นี่ ฉันพยายามใช้ RavenDB เพื่อคงข้อความไว้และเพียงรอคิวตัวระบุ แต่ประสิทธิภาพการทำงานนั้นช้ามาก (ดีที่สุด 1,000 ข้อความต่อนาทีอย่างดีที่สุด) ฉันไม่แน่ใจว่าเป็นผลมาจากการใช้รุ่นพัฒนาหรืออะไร แต่เราต้องการปริมาณงานที่สูงขึ้น [1] แนวคิดนี้ทำงานได้ดีในทางทฤษฎี แต่ประสิทธิภาพไม่ได้ขึ้นอยู่กับภารกิจ รูปแบบการใช้มีบริการหนึ่งที่ทำหน้าที่เป็นเราเตอร์ซึ่งจะอ่านทั้งหมด บริการอื่น ๆ จะแนบข้อมูลตามเบ็ดของบุคคลที่สามและส่งต่อกลับไปที่เราเตอร์ วัตถุส่วนใหญ่จะถูกสัมผัส 9-12 ครั้งแม้ว่าประมาณ 10% จะถูกบังคับให้วนรอบในระบบนี้สักครู่จนกว่าบุคคลที่สามจะตอบสนองอย่างเหมาะสม ขณะนี้บริการนี้มีบัญชีและมีพฤติกรรมการนอนหลับที่เหมาะสมเนื่องจากเราใช้ฟิลด์ลำดับความสำคัญของข้อความด้วยเหตุนี้ …

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

4
Rails: กฎแห่งความสับสนของ Demeter
ฉันกำลังอ่านหนังสือชื่อ Rails AntiPatterns และพวกเขาคุยกันเรื่องการใช้การมอบหมายเพื่อหลีกเลี่ยงการทำผิดกฎของ Demeter นี่คือตัวอย่างสำคัญของพวกเขา: พวกเขาเชื่อว่าการโทรแบบนี้ในคอนโทรลเลอร์ไม่ดี (และฉันเห็นด้วย) @street = @invoice.customer.address.street ทางออกที่เสนอของพวกเขาคือทำสิ่งต่อไปนี้: class Customer has_one :address belongs_to :invoice def street address.street end end class Invoice has_one :customer def customer_street customer.street end end @street = @invoice.customer_street พวกเขากำลังระบุว่าเนื่องจากคุณใช้เพียงจุดเดียวคุณจะไม่ละเมิดกฎของ Demeter ที่นี่ ฉันคิดว่านี่ไม่ถูกต้องเพราะคุณยังคงต้องผ่านลูกค้าเพื่อผ่านที่อยู่เพื่อรับถนนใบแจ้งหนี้ ฉันได้รับแนวคิดนี้จากโพสต์บล็อกที่ฉันอ่านเป็นหลัก: http://www.dan-manges.com/blog/37 ในบล็อกโพสต์ตัวอย่างสำคัญคือ class Wallet attr_accessor :cash end class Customer has_one …

5
สามารถใช้งานโปรแกรมใด ๆ ของ * ที่ไม่มีสถานะได้หรือไม่?
นี่เป็นคำถามเชิงทฤษฎี แต่หลังจากหลายปีของการเขียนโปรแกรมในสิ่งที่ฉันรู้ตอนนี้คือเทคนิค "ปกติ" ที่จำเป็นโดยใช้ C ++ ส่วนใหญ่ฉันได้ค้นพบโลกแห่งการเขียนโปรแกรมเชิงปฏิบัติการอีกครั้งซึ่งฉันบังเอิญบังเอิญเรียนรู้ JavaScript นี่ทำให้ฉันสงสัยว่าคุณสามารถแทนที่โปรแกรมเชิงรัฐที่สมบูรณ์ด้วยการใช้งานที่แตกต่างกันซึ่งใช้งานได้จริงและไม่มีรัฐหรือไม่? มันเป็นความคิดที่น่าสนใจและฉันต้องยอมรับว่ามีความชัดเจนและความสง่างามในการเขียนโปรแกรมฟังก์ชั่นที่ทำให้ใจของฉันแย่จริงๆ

2
RESTful API ควรให้ข้อมูลสำหรับทั้งฟอร์มหรือไม่
สมมติว่าฉันมีเว็บแอปพลิเคชัน JavaScript ซึ่งใช้ RESTful API สำหรับข้อมูลทั้งหมด สมมติว่าแอปพลิเคชันนี้มีฟอร์มข้อมูลและสมมติว่าฉันกำลังแก้ไขระเบียนที่ / product / 12345 เมื่อสร้างแบบฟอร์มฉันขอ RESTful ให้กับ / product / 12345 และรับข้อมูล JSON: { "id": 12345, "name": "Some Product", "active": true, "sales_user_id": 27 } ดังนั้นแบบฟอร์มของฉันอาจมีรายการแบบเลื่อนลงสำหรับการเลือกพนักงานขาย ฉันต้องการเติมรายการนี้ ข้อมูลควรมาจากไหน วิธีที่พบมากที่สุดคืออะไร มันจะสมเหตุสมผลไหมที่จะทำให้มันเป็นส่วนหนึ่งของการตอบสนองคำขอ / product / 12345 { "id": 12345, "name": "Some Product", "active": true, "sales_user_id": 27, …
13 api  rest  forms 

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

2
จะสร้างไฟล์อัพเดต“ git push” บนเว็บโฮสต์ของคุณได้อย่างไร?
ฉันมีเว็บไซต์ไม่กี่แห่งที่โฮสต์อยู่ในบริการเว็บโฮสติ้งเดียวกันภายใต้การแชร์โฮสติ้ง ผู้ให้บริการพื้นที่เว็บของฉันรองรับ Git และฉันสามารถใช้ SSH ได้และฉันยังมีการตั้งค่า Git บนแล็ปท็อปของฉันเช่นกัน ฉันต้องการให้มันเป็นแบบนั้นเมื่อฉันทำ "git push master origin" มันจะทำการอัปเดตไฟล์บนเว็บเซิร์ฟเวอร์ของฉันโดยอัตโนมัติและยังบันทึกการสำรองข้อมูลของไฟล์ที่คอมมิทไว้ก่อนหน้าด้วยดังนั้นฉันสามารถย้อนกลับได้อย่างง่ายดาย เป็นไปได้ไหม
13 git  web 

2
ต้องการคำตอบทางเทคนิคเพิ่มเติมสำหรับคำถามสัมภาษณ์เกี่ยวกับการใช้งานอินเทอร์เน็ตตั้งแต่ต้นจนจบ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันได้สัมภาษณ์กับผู้คน 5 คนในช่วงสองสัปดาห์ที่ผ่านมาและสามในห้านั้นได้ถามคำถามนี้กับฉัน: อธิบายว่าเกิดอะไรขึ้นระหว่างการกดปุ่ม "Google.com" กับหน้าเว็บที่กำลังปรากฏบนหน้าจอ โดยพื้นฐานแล้วอินเทอร์เน็ตทำงานอย่างไร ฉันคิดหลังจากสามครั้งว่าฉันควรเตรียมพร้อมถ้าฉันได้รับคำถามนี้อีกครั้ง ฉันรู้บางสิ่งบางอย่าง แต่ฉันไม่มั่นใจอย่างเต็มที่ว่าคำตอบของฉันดีพอ โดยพื้นฐานแล้วฉันพูดถึงว่าเซิร์ฟเวอร์ DNS แปล "google.com" เป็นที่อยู่ IP ฉันชอบที่ TCP / IP แล้วพูดถึงเว็บเซิร์ฟเวอร์ที่ให้บริการหน้าที่ร้องขอที่ถูกส่งกลับไปยังเบราว์เซอร์ซึ่งเบราว์เซอร์จะตีความและแสดงผล อย่างที่ฉันพูดไปก่อนหน้านี้ฉันไม่มั่นใจว่าคำตอบของฉันนั้นเป็นเทคนิคเพียงพอ ขั้นตอนใดที่ฉันจะออกไป สำหรับสิ่งที่คุ้มค่าสองในสามครั้งนั้นอยู่กับ บริษัท เดียวกันและฉันถูกเรียกตัวกลับไปสัมภาษณ์ครั้งที่สามกับพวกเขาดังนั้นฉันจึงไม่สามารถวางระเบิดมันแรงเกินไป

4
วัตถุประสงค์ของการยืนขึ้นและระยะเวลาในวิธีการแบบเปรียวคืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเคยทำงานในวิธีการน้ำตกและตอนนี้ฉันอยู่ในทีมที่ทำตามวิธีการแบบเปรียว ดูเหมือนว่าพวกเขาทำผิด ตัวอย่างเช่นเรามีสแตนด์อะโลนที่ใช้เวลามากกว่า 25 นาทีต่อวันซึ่งน่ารำคาญจริงๆ นอกจากนี้ฉันรู้สึกเหมือนฉันกำลังจ่ายเงินเดือนให้กับการจัดการมากกว่าสิ่งอื่นใด ฉันผิดที่รู้สึกอย่างนี้หรือไม่? นี่เป็นวิธีการที่ใช้สแตนอัพบ่อยไหม?

1
เหตุใดจึงต้องมีการเขียนโปรแกรมที่จำเป็นมากกว่าการเขียนโปรแกรมที่ใช้งานได้? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ความเป็นมา:ฉันเป็นผู้สนับสนุนการเขียนโปรแกรมฟังก์ชั่นที่ทำงานที่ร้าน VB.NET ซึ่งรูปแบบจิตที่แพร่หลายคือการเขียนโปรแกรมที่จำเป็น การเป็นรากฐานของระบบของเราคือ WinForms ฉันสามารถเข้าใจได้ว่าเราจะไม่หนีจากการเขียนโปรแกรมที่จำเป็นทั้งหมด แต่ฉันก็ยังพยายามใช้ FP (หลัก ๆ ผ่าน Linq) ทุกที่ที่ทำได้เพราะฉันเชื่อในข้อดีของมัน อาร์กิวเมนต์ & การโต้แย้งแย้งกับ FP บางคนอาจสังเกตเห็นว่าความคล่องแคล่วของ Linq นั้นมีประสิทธิภาพน้อยกว่าคู่ที่จำเป็นในลักษณะนี้จะประมวลผลลำดับลงไปที่ลำดับอื่นและทำซ้ำนั้น โดยทั่วไปมันจะใช้เวลาอีกสองสามครั้งกว่าวิธีการที่จำเป็นซึ่งสามารถปรับให้เหมาะสมได้ดีกว่าเพื่อหลีกเลี่ยงการทำซ้ำซ้ำในลำดับ ด้วยเหตุนี้ผู้นำจึงไม่เข้าใจว่าทำไมฉันจึงเลือกวิธีการใช้งานที่ชัดเจนว่า "มีประสิทธิภาพน้อยลง" การโต้แย้ง : ฉันแย้งว่าในขณะที่บางครั้งมันมีประสิทธิภาพน้อยกว่าในแง่ของรอบการทำงานของ CPU แต่ฉันรู้สึกว่ามันเป็นสิ่งที่เข้าใจง่ายและเป็นมนุษย์มากกว่าเพราะแต่ละบรรทัดทำสิ่งเดียวที่ผ่านไปตามลำดับ สำหรับฉันนี้รู้สึกเหมือนมีสายการประกอบที่แต่ละคนที่สถานีของเขามีเพียงงานเดียวที่จะทำ ฉันรู้สึกว่าการแลกเปลี่ยนที่มีประสิทธิภาพน้อยมากได้รับการตอบแทนด้วยรหัสที่มีข้อกังวลแยกออกจากกันอย่างเรียบร้อย ข้อโต้แย้งต่อไปกับ FP ที่ฉันได้ยินในร้านค้าของฉันคือการ debug ยากขึ้นซึ่งเป็นเรื่องจริง ไม่ใช่เรื่องง่ายที่จะเหยียบรหัส Linq และบางครั้งฉันก็ต้องคลี่คลายห่วงโซ่วิธีการเพื่อติดตามและแยกแยะปัญหาที่ฉันไม่สามารถมองเห็นได้ทันที _Counter-argument: ส่วนใหญ่แม้ว่าฉันจะไม่ได้มีปัญหากับเรื่องนี้เพราะฉันคิดว่ารูปแบบการทำงานนั้นมีความชัดเจนในการอ่านและเมื่อมีข้อผิดพลาดเกิดขึ้นในห่วงโซ่การทำงานฉันมักจะเห็นปัญหาทันที คำถามของฉัน ฉันพยายามโปรโมตสไตล์การใช้งานในร้านของเราและฉันไม่รู้สึกว่ากำลังทำอะไรอยู่ ฉันทำทั้งสองรูปแบบของการเขียนโปรแกรมและเพิ่งขลุกอยู่ใน …

2
อะไรคือความแตกต่างระหว่างข้อกำหนดด้านการใช้งานการปฏิบัติงานและด้านเทคนิค?
ฉันทำงานต่าง ๆ ตาม Java แต่ผู้อาวุโสของฉันมอบหมายให้ฉันรวบรวมข้อกำหนดสำหรับการสร้างเครื่องมือติดตามบั๊กที่เป็นสากล ฉันได้อ่านความต้องการหลายประเภทจาก Wikipedia และเว็บไซต์ mindtoolsแต่มันสับสนมาก อะไรคือความแตกต่างที่แน่นอนระหว่างข้อกำหนดการใช้งานข้อกำหนดการปฏิบัติงานและข้อกำหนดทางเทคนิค

5
เมื่อใดควรใช้ฐานข้อมูลมากกว่าการแยกวิเคราะห์ข้อมูลจากไฟล์ข้อความ
ผมทำโปรแกรมหลามในการวัดการเจริญเติบโตของcodereview.SE วิธีการของฉันคือการได้รับ "สถิติเว็บไซต์" ที่แสดงในหน้าแรกและเก็บไว้ในฮาร์ดไดรฟ์ของฉัน ฉันวางแผนที่จะทำสิ่งนี้ทุกวัน จนถึงตอนนี้ฉันได้ทำพอที่จะรับสถิติและผนวกเข้ากับไฟล์ข้อความ สคริปต์หลามสามารถดูได้บนGitHub รูปแบบที่ฉันใช้มีดังต่อไปนี้ 22-08-2013 questions 9073 answers 15326 answered 88 users 26102 visitors/day 7407 22-08-2013 questions 9073 answers 15326 answered 88 users 26102 visitors/day 7407 ฉันเพิ่งรันสคริปต์สองครั้งเพื่อให้ได้รูปแบบที่ฉันต้องการใช้ในไฟล์ ตอนแรกมันดูดีสำหรับฉันเพราะฉันจะเก็บมันเองและรูปแบบจะเหมือนกันดังนั้นจึงสามารถแยกวิเคราะห์ได้ง่าย แต่ฉันไม่แน่ใจ ดูเหมือนว่าการใช้ฐานข้อมูลควรจะดีกว่าที่นี่เพราะวิธีการดึงข้อมูลควรง่ายกว่า แค่ทราบว่าฉันไม่เคยใช้ฐานข้อมูลใด ๆ และไม่มีความรู้เกี่ยวกับ SQL, MySQL หรือตัวแปรอื่น ๆ ของ RDBMS ดังนั้นสิ่งนี้นำมาสู่คำถาม เมื่อใดที่ฐานข้อมูลควรเป็นที่ต้องการสำหรับการจัดเก็บข้อมูลมากกว่าการจัดเก็บข้อมูลในไฟล์ข้อความ? มีตัวชี้บางอย่างที่ฉันสามารถค้นหาได้เมื่อตัดสินใจว่าต้องใช้ฐานข้อมูลหรือไฟล์ข้อความธรรมดาหรือไม่? PS: ถ้าสามารถเพิ่มแท็กที่ดีกว่าได้โปรดทำเช่นนั้น ฉันมีข้อสงสัยเกี่ยวกับแท็กที่สามารถเพิ่มได้

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