คำถามติดแท็ก desktop-application

13
เป็นการสัมภาษณ์ที่ไม่ดีหรือไม่ที่ให้ผู้สมัครเขียนการใช้ลิสต์ที่เชื่อมโยง [ปิด]
การอ่านเว็บไซต์นี้และดังนั้นฉันได้เห็นเรื่องราวการสัมภาษณ์และคำตอบมากมายที่บอกว่าผู้สมัครต้องใช้รายการที่เชื่อมโยงตั้งแต่เริ่มต้น โดยปกติแล้วนี่คือแบบฝึกหัด "gimme" สำหรับการเขียนโปรแกรมบทบาทผู้สมัครเช่นการเขียน FizzBuzz แนวคิดคือถ้าผู้สมัครไม่สามารถทำสิ่งนี้ได้พวกเขาไม่สามารถเขียนโปรแกรมและควรถูกปฏิเสธเกือบจะทันที อย่างไรก็ตามฉันไม่สามารถช่วยได้ แต่คิดว่านี่อาจเป็นวิธีปฏิบัติที่ไม่ดีด้วยเหตุผลดังต่อไปนี้: ภาษาระดับสูงที่ทันสมัยเช่น C # และ Python ใช้รายการอย่างกว้างขวาง การเขียนออบเจ็กต์ลิสต์ของคุณเองจะต้องใช้ภายใต้สถานการณ์ที่ผิดปกติเท่านั้นและอาจไม่เหมาะสม ภาษาระดับต่ำกว่าเช่น C ++ มีไลบรารีมาตรฐานพร้อมตัววนซ้ำ / รายการคอนเทนเนอร์และวัตถุ ในแง่ของสองประเด็นแรกนักเขียนโค้ดสามารถใช้เวลาหลายปีโดยไม่ต้องคิดถึงการใช้รายการ (เชื่อมโยงเชื่อมโยงซ้ำซ้อน ฯลฯ ) ด้วยตนเอง บางคนอาจไม่เห็นสิ่งเหล่านี้มาตั้งแต่สมัยเรียน พลังการคำนวณยังไม่ได้เป็นปัจจัยเมื่อหลายปีก่อนดังนั้นประสิทธิภาพผ่านพอยน์เตอร์จึงไม่ใช่ปัญหาที่เคยเป็น (โดยทั่วไป) การค้นหาเว็บอย่างง่ายของบางอย่างเช่น "รายการลิสต์ที่เชื่อมโยง" จะแสดงตัวอย่างโค้ดจำนวนมากที่เพิ่งถูกจดจำและทะเลาะวิวาทกันไม่ได้บ่งชี้ความสามารถที่แท้จริงของผู้สมัคร ฉันควรจะบอกว่าการใช้รายการที่เชื่อมโยงเพื่อนำไปสู่คำถาม / การอภิปรายปลายเปิดของผู้สมัครที่มีความสามารถในการแก้ปัญหา / การคิดเชิงวิพากษ์นั้นน่าจะเป็นการสัมภาษณ์ที่ดี ไม่ว่าผู้สัมภาษณ์คนใดจะเห็นว่าผู้สมัครเป็นอย่างไรและพวกเขาคิดว่ามีประโยชน์อย่างไร ฉันคิดว่าวิธีการแบบไบนารีนี้ของ "ไม่มีรหัสรายการที่เชื่อมโยงไม่มีงาน" สำหรับโปรแกรมเมอร์ที่ทำงานบนเดสก์ท็อปหรือโปรแกรมประยุกต์บนเว็บนั้นล้าสมัยไปแล้ว มันอาจเป็นอันตรายได้ ผู้สมัครที่จำไม่ได้ว่าจะทำงานร่วมกับหัวหน้ารายการอย่างถูกต้องได้อย่างไรอาจเป็น coder และเพื่อนร่วมงานที่ยอดเยี่ยมได้ คิด? แก้ไข : มีความคิดเห็นจำนวนมาก (ดี) …

5
ฉันจะจัดเก็บรหัสผู้ใช้และความลับ OAuth v1 สำหรับไคลเอนต์ Twitter บนเดสก์ท็อปโอเพนซอร์สได้อย่างไรโดยไม่เปิดเผยให้ผู้ใช้เห็น
ฉันต้องการสร้างไคลเอนต์หนาเดสก์ท็อปไคลเอนต์ทวิตเตอร์โอเพนซอร์ส ฉันเคยใช้. NET เป็นภาษาของฉันและTwitterizerเป็น wrapper OAuth / Twitter ของฉันและแอพของฉันน่าจะเปิดตัวเป็นโอเพ่นซอร์ส ในการรับโทเค็น OAuth ต้องมีข้อมูลสี่ชิ้น: เข้าสู่ Token (ชื่อผู้ใช้ตัวสั่นด้วยความตื่นเต้น) การเข้าถึงลับ (รหัสผ่าน Twitter) รหัสผู้ใช้ ความลับของผู้บริโภค ข้อมูลสองชิ้นที่สองจะไม่ถูกแชร์เช่นคีย์ส่วนตัวของ PGP อย่างไรก็ตามเนื่องจากวิธีการกำหนดขั้นตอนการอนุมัติ OAuth ทำให้ต้องมีแอพพลิเคชั่นนี้ แม้ว่าแอปพลิเคชันจะไม่เปิดแหล่งที่มาและรหัสผู้บริโภค / ความลับถูกเข้ารหัสลับผู้ใช้ที่มีเหตุผลสามารถเข้าถึงคู่ค้าของผู้บริโภค / คู่ความลับได้ ดังนั้นคำถามของฉันคือฉันจะแก้ไขปัญหานี้ได้อย่างไร กลยุทธ์ที่เหมาะสมสำหรับไคลเอนต์ Twitter บนเดสก์ท็อปคือการปกป้องรหัสผู้บริโภคและความลับ?

1
การจัดส่งแอปเดสก์ท็อป Clojure เป็นจริงหรือไม่
ฉันกำลังจัดส่งแอปพลิเคชัน Java บนเดสก์ท็อป มันเป็นแอพ Java 5 Java / Swing แบบธรรมดาและทุกอย่างทำงานได้ดี มีการกำหนดเป้าหมาย Java 5 เนื่องจากผู้ใช้บางรายอยู่ในรุ่น OS X / คอมพิวเตอร์ซึ่งจะไม่มี Java 6 (เราอาจยกเลิกข้อ จำกัด นี้ในไม่ช้าและสลับไปใช้ Java รุ่นใหม่และทิ้งผู้ใช้ของฉันที่ติดอยู่กับ Java 5) ฉันกำลังเร่งความเร็วอย่างรวดเร็วด้วย Clojure แต่ฉันยังไม่ได้ทำ Clojure-to-Java และ Java-to-Clojure จำนวนมากจริงๆและฉันสงสัยว่ามันเป็นเรื่องจริงหรือไม่ที่จะจัดส่งแอปพลิเคชัน Clojure เดสก์ท็อปแทนแอพพลิเคชัน Java ? แอปพลิเคชันที่ฉันกำลังจัดส่งอยู่ในขณะนี้ประมาณ 12 MB พร้อมด้วย. jarทั้งหมดดังนั้นการเพิ่ม Clojure ไม่พบปัญหามากเกินไป แผนของฉันคือการมี Clojure เรียก Java APIs: …

10
นักพัฒนาเว็บหรือวิศวกรซอฟต์แวร์? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ คำถามที่ฉันถามตัวเองและสับสนว่าต้องใช้เส้นทางไหน ดังนั้นฉันต้องการคนของคุณช่วยในเรื่องข้อดีและข้อเสียของ 2 อาชีพนี้ในโลกปัจจุบัน ฉันรักการพัฒนาเว็บแอปพลิเคชั่นเนื่องจากเว็บเป็นสิ่งที่ดีที่สุดที่จะเกิดขึ้นในยุคนี้และเกือบทุกคนจะได้รับจากเวิลด์ไวด์เว็บ และยังมีแนวโน้มที่จะเรียนรู้เกี่ยวกับเทคโนโลยีใหม่ ๆ และบริการเว็บต่อไป ในทางกลับกันฉันชอบวิศวกรรมซอฟต์แวร์สำหรับแอปพลิเคชันเดสก์ท็อปเนื่องจากฉันเคยมีประสบการณ์กับการพัฒนาซอฟต์แวร์ขนาดเล็กใน VB.Net, Java, C ++ เป็นต้น เส้นทางใดที่มีขอบเขตและอนาคตที่ดีกว่า มุมมองของคุณคืออะไร?

6
ฉันจะหาแรงบันดาลใจสำหรับอินเทอร์เฟซผู้ใช้ที่ดีได้ที่ไหน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันมีบล็อกที่เกี่ยวกับการกำหนดอินเทอร์เฟซหน้าจอหลักสำหรับแอปพลิเคชันเดสก์ท็อปที่ฉันกำลังอัปเกรดอยู่ เมื่อฉันพัฒนาโปรแกรมนี้ครั้งแรกความละเอียดหน้าจอคือ 640 X 480 วันนี้มีความละเอียดหน้าจอหลายอย่าง ฉันจะหาแนวคิดสำหรับเค้าโครงหน้าจอหลักที่ดีสำหรับแอปพลิเคชันเดสก์ท็อปได้ที่ไหน

10
เราสามารถสันนิษฐานได้ว่าผู้ใช้ทุกคนในวันนี้มีการเข้าถึงอินเทอร์เน็ตได้หรือไม่?
ในฐานะที่เป็นอินเทอร์เน็ตค่อนข้างแพร่หลายเราในฐานะนักพัฒนาสามารถสันนิษฐานได้ว่าผู้ใช้ทุกคนสามารถเข้าถึงอินเทอร์เน็ตได้หรือไม่? ตอนนี้ฉันไม่ได้หมายความว่ารหัสนั้นเขียนในลักษณะที่ว่าหากไม่มีการเชื่อมต่อโปรแกรมทั้งหมดจึงขัดข้องเนื่องจากไม่มีรหัสข้อผิดพลาด สิ่งที่ฉันหมายถึงคือวันนี้สามารถพัฒนาโปรแกรมภายใต้สมมติฐานที่ว่าผู้ใช้จะสามารถเข้าถึงอินเทอร์เน็ตได้ตลอดเวลาหรือไม่ คุณอาจถามว่า "เราจะได้อะไรจากการสมมติว่า" เหตุผลที่ฉันถามเพราะในมหาวิทยาลัยเราใช้โปรแกรมไม่กี่โปรแกรมที่ต้องใช้อินเทอร์เน็ตเนื่องจากวิธีการตรวจสอบใบอนุญาต (ตรวจสอบที่อยู่ IP ของคุณ - ถ้าไม่ใช่ที่อยู่ในมหาวิทยาลัย ไม่อนุญาตให้ใช้) โปรดทราบว่าโปรแกรมควรทำงานได้ดีโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต มันจำเป็นสำหรับการตรวจสอบใบอนุญาตเท่านั้น แก้ไข: ฉันกำลังพูดถึงแอปพลิเคชันเดสก์ท็อปที่นี่ EDIT2: จากคำตอบบางคำตอบฉันรู้สึกว่าถูกกล่าวหาว่าใช้ประโยชน์จากผู้ใช้ในทางที่ผิดจรรยาบรรณ ฉันไม่รับรองสิ่งที่ฉันได้อธิบายไว้ในคำถามนี้ - ฉันแค่ถามเรื่องนี้เพราะนักพัฒนาบางโปรแกรมที่เราใช้ที่ uni ทำสิ่งนี้ โดยส่วนตัวแล้วฉันคิดว่าการทำเช่นนี้เป็นเรื่องธรรมดาที่โง่และผิด

7
เหตุใดจึงไม่ใช้ HTML, CSS และ JavaScript สำหรับแอปเดสก์ท็อป [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา HTML, CSS และ JavaScript สามารถใช้เพื่อสร้าง UI ที่สวยงาม (และมีประโยชน์) ของ UI (โดยเฉพาะตอนนี้เรามี HTML5 และ CSS3) และผู้คนจำนวนมากรู้จักพวกเขาอยู่แล้ว แม้ว่ามันจะยังไกลเกินเอื้อมของฉันมันเป็นเรื่องยากที่จะนำแอปพลิเคชันเว็บทั้งหมดไปยังแอปเดสก์ท็อป เราได้ทดสอบแอปบนเซิร์ฟเวอร์ในพื้นที่ของเราก่อนที่จะโฮสต์ ในความคิดของฉันมันเป็นความคิดที่ดีและเรียบง่ายซึ่งจะสร้างความเจริญในแอพเดสก์ท็อป นอกจากนี้แอพเหล่านี้จะใช้รหัสร่วมกันมากกับเว็บแอพพวกเขาอาจสามารถเชื่อมต่อได้ดีกว่า ทำไมมันไม่เสร็จ?

8
แอปพลิเคชั่นปรับปรุงตนเอง - ปรัชญา
นี่เป็นคำถามเชิงปรัชญา ให้แอปพลิเคชันบนเดสก์ท็อปสมมุติและมีความปรารถนาที่จะให้การอัปเดตอัตโนมัติ (แทนที่จะบังคับให้ผู้คนไปที่เว็บไซต์ตรวจสอบการอัปเดตดาวน์โหลดอัปเดตติดตั้ง) ซึ่งสองวิธีนี้เป็นแนวปฏิบัติที่ดีที่สุด? เช่นเดียวกับiTunesจะตรวจสอบว่ามีเวอร์ชันใหม่และแจ้งให้ผู้ใช้ดาวน์โหลดเวอร์ชั่นใหม่หรือไม่ ถ้าเป็นเช่นนั้นจะดาวน์โหลดไฟล์ปฏิบัติการแบบเต็ม (ในกรณีนี้คือไฟล์Windows Installer (.msi)) ที่ติดตั้งเวอร์ชันเต็ม (ไม่ใช่แค่การอัพเกรดเป็นเวอร์ชั่นก่อนหน้า - มากเกินกว่าจะจัดการได้หากมีหลายรุ่น) . สมมุติว่าเป็นรุ่น 10.1.1 - ไม่ว่าคุณจะติดตั้งใหม่หรืออัพเกรดคุณใช้ไฟล์เดียวกัน หลังจากดาวน์โหลดแล้วผู้ใช้จะต้องปิดแอปพลิเคชันและเรียกใช้ไฟล์ติดตั้งด้วยตนเอง คล้ายกับอีกรุ่นหนึ่งจะตรวจสอบรุ่นใหม่และแจ้งให้ผู้ใช้ดาวน์โหลด แต่แทนที่จะดาวน์โหลดเพียงไฟล์ปฏิบัติการและแจ้งให้ผู้ใช้เรียกใช้มันจะเปิดใช้งานจริงสำหรับพวกเขา - ปิดโปรแกรมที่เปิดอยู่ ความปลอดภัยที่จำเป็นสำหรับการติดตั้งไฟล์ ปัญหาเกี่ยวกับ # 2: ปัญหามากมายเกี่ยวกับโปรแกรมปิดตัวลงเนื่องจากโปรแกรมสามารถเปิดโปรแกรมอื่น ๆ ( OutlookและExcel ) หรือจะเกิดอะไรขึ้นถ้าผู้ใช้อยู่ตรงกลางของบางสิ่ง นอกจากนี้ในด้านความปลอดภัยคุณต้องมีสิทธิ์ของผู้ดูแลระบบในการติดตั้งหากคุณไม่มี ใน Windows รุ่นที่ใหม่กว่าคุณไม่สามารถแทนที่ความปลอดภัยของบุคคลนั้นได้ ปัญหาของ # 1: บางคนเชื่อว่าสิ่งนี้จะยากเกินไปความพยายามมากเกินไปสำหรับผู้ใช้ปลายทาง ฉันอยากจะไปกับ # 1 อย่างยิ่งเพราะมันจะประหยัดเวลา 80-120 ชั่วโมงในโครงการของฉันและง่ายต่อการติดตั้งและบำรุงรักษา อย่างไรก็ตามเรามีคนที่รู้สึกอย่างแรงกล้าในทุกด้าน การปฏิบัติที่ดีที่สุดสำหรับสิ่งนี้คืออะไร?

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

5
ทำไม JavaScript ไม่ใช้สำหรับการพัฒนาแอพพลิเคชั่นแบบคลาสสิก (ซอฟต์แวร์ที่รวบรวม) [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ในช่วงหลายปีที่ผ่านการพัฒนาเว็บไซต์ด้วย JavaScript ฉันได้ข้อสรุปว่าเป็นภาษาที่ทรงพลังอย่างเหลือเชื่อและคุณสามารถทำสิ่งที่น่าอัศจรรย์ได้ มันมีชุดคุณสมบัติมากมายเช่น: การพิมพ์แบบไดนามิก ฟังก์ชั่นชั้นหนึ่ง ฟังก์ชั่นที่ซ้อนกัน ปิด ทำหน้าที่เป็นวิธีการ ทำหน้าที่เป็นตัวสร้างวัตถุ ต้นแบบตาม ตามวัตถุ (เกือบทุกอย่างเป็นวัตถุ) regex ตัวอักษร Array และ Object สำหรับฉันแล้วดูเหมือนว่าเกือบทุกอย่างสามารถทำได้ด้วยภาษาแบบนี้คุณยังสามารถเลียนแบบการเขียนโปรแกรม OO เนื่องจากมันให้อิสระที่ดีและรูปแบบการเข้ารหัสที่หลากหลาย ด้วยฟังก์ชั่นที่กำหนดเองที่เน้นซอฟต์แวร์มากขึ้น (I / O, FileSystem, อุปกรณ์อินพุต ฯลฯ ) ฉันคิดว่ามันจะยอดเยี่ยมในการพัฒนาแอปพลิเคชันด้วย แม้ว่าเท่าที่ฉันรู้จะใช้เฉพาะในการพัฒนาเว็บหรือในซอฟต์แวร์ที่มีอยู่เป็นภาษาสคริปต์เท่านั้น เมื่อไม่นานมานี้อาจต้องขอบคุณ V8 Engine ซึ่งถูกใช้มากขึ้นสำหรับงานประเภทอื่น ๆ (ดูตัวอย่าง node.js) ทำไมจนถึงตอนนี้จะได้รับการลดชั้นเพื่อการพัฒนาเว็บไซต์เท่านั้น? สิ่งที่ทำให้มันแตกต่างจากการพัฒนาซอฟต์แวร์?

3
เราสามารถสร้างแอพพลิเคชันบนเดสก์ท็อปด้วย Ruby ได้หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันรู้ว่ากรอบ Ruby on Rails นั้นใช้สำหรับการพัฒนาเว็บไซต์เท่านั้นและไม่เหมาะสำหรับการพัฒนาแอปพลิเคชันบนเดสก์ท็อป แต่ถ้าโปรแกรมเมอร์ทับทิมต้องการพัฒนาแอปพลิเคชันเดสก์ท็อปมันเหมาะสมและดีกว่าที่จะใช้กับ Ruby เท่านั้น (ไม่ใช่ jRuby เนื่องจากบทเรียนส่วนใหญ่มีไว้สำหรับ jRuby) หรือไม่ ถ้าใช่โปรดให้บทเรียนที่ดี ฉันต้องการใช้ linux เป็นระบบปฏิบัติการเพื่อการพัฒนา โปรดแนะนำบางสิ่งบางอย่างเนื่องจากฉันเป็นนักพัฒนาทับทิมและต้องการพัฒนาแอปพลิเคชันเดสก์ท็อป

7
วิธีที่ดีที่สุดในการพิจารณาว่าเมื่อใดที่เหมาะสมที่จะใช้ฐานข้อมูล
ฉันเริ่มอาชีพการเขียนโปรแกรมในการพัฒนาเว็บไซต์โดยใช้ PHP และ MySQL ฉันค่อนข้างคุ้นเคยกับการใช้ฐานข้อมูลสำหรับการจัดเก็บข้อมูลแบบไดนามิกส่วนใหญ่เช่นเดียวกับข้อมูลการตั้งค่า / พารามิเตอร์บางอย่าง บางครั้งจะมีข้อมูลจำนวนมากในขณะที่เวลาอื่น ๆ รายการในตารางจะน้อย สำหรับฉันนี่ดูเหมือนเป็นเรื่องธรรมดาและเท่าที่ฉันรู้ว่านี่เป็นวิธีที่ได้รับการยอมรับมากในการพัฒนาเว็บ (โปรดแก้ไขฉันหากฉันผิด ... ) ฉันกำลังขุดเข้าไปในแอปพลิเคชันบนเดสก์ท็อปในขณะนี้และความชอบตามธรรมชาติของฉันคือการใช้ฐานข้อมูลอีกครั้งเพื่อจัดเก็บข้อมูลจำนวนมากที่จะถูกสร้างขึ้นผ่านการใช้งานแอปพลิเคชัน อย่างไรก็ตามเท่าที่ฉันสามารถบอกได้ว่าฉันไม่เห็นแอปพลิเคชัน (ที่ฉันใช้) ใช้งานฐานข้อมูลบ่อยครั้งมาก [แก้ไข: ตั้งแต่มีการชี้ให้เห็นว่านี่เป็นข้อสันนิษฐานที่ผิดพลาดในการใช้งานจำนวนมากที่ใช้น้ำหนักเบา dbs ฝังตัวอยู่ในโปรแกรมของตัวเอง] เหตุผลสำหรับสิ่งนี้คืออะไร? จุดไหนที่เหมาะสมที่จะใช้ db? มีมาตรฐานใด ๆ ในเรื่องนี้หรือไม่? นอกจากนี้ยังมีเหตุผลอะไรที่จะไม่ใช้ฐานข้อมูลเพื่อพัฒนาแอปพลิเคชันเดสก์ทอป

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

4
มีข้อ จำกัด ใด ๆ ของเว็บแอปพลิเคชัน HTML5 ในอุดมคติหรือไม่
สมมติว่าสมมุติฐานสองข้อต่อไปนี้เป็นจริง ฐานผู้ใช้ทั้งหมดของคุณสามารถเข้าถึงบรอดแบนด์ได้ทุกที่ มีจินตภาพเบราว์เซอร์ X ที่ใช้ร่างข้อมูลจำเพาะทั้งหมดของกลุ่ม HTML5 และ WHATWG อย่างสม่ำเสมอและผู้ใช้ทั้งหมดใช้เบราว์เซอร์ X อะไรคือข้อ จำกัด ที่แท้จริงของเว็บแอปพลิเคชันสาธารณะ HTML5 เชิงพาณิชย์ที่เราต้องการสำหรับแอปพลิเคชันสาธารณะเชิงพาณิชย์ ฉันสนใจข้อ จำกัด ของเว็บปลั๊กอินที่ไม่ต้องพึ่งพาสะพาน / Java / SilverLight / etc บริดจ์สำหรับคุณสมบัติพิเศษหรือพึ่งพาปลั๊กอินของเบราว์เซอร์สำหรับคุณสมบัติพิเศษ ข้อ จำกัด ที่เป็นไปได้ที่ไม่มีผล: ฐานข้อมูล? เรามี WebSQL และ indexedDB ไฟล์ IO เรามี HTML5 File API ซึ่งทำทั้งการอ่านและการเขียน ความเร็ว? ด้วยการแข่งขันเอ็นจิ้น JavaScript ล่าสุดเบราว์เซอร์จะไม่ช้าอีกต่อไป Native C ++ เร็วขึ้นเพียง 3 เท่าจากนั้นเป็นเครื่องยนต์ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.