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

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

2
ใช้อย่างอื่นหลังจากข้อยกเว้น (หรือไม่)
พิจารณารหัสนี้หน่อย: if (x == 1) { throw "no good; aborting" ; } [... more code ...] พิจารณารหัสนี้: if (x == 1) { throw "no good; aborting" ; } else { [... more code ...] } ทั้งสองกรณีทำงานในลักษณะเดียวกัน กรณีแรกที่มีประโยชน์ที่คุณจะได้ไม่ต้อง "ห่อ" elseส่วนที่เหลือของรหัสในนั้น ประการที่สองมีความได้เปรียบดังต่อไปนี้การปฏิบัติของอย่างชัดเจนมีที่สำหรับทุกคนelseif ทุกคนสามารถให้ข้อโต้แย้งที่มั่นคงในความโปรดปรานของหนึ่งมากกว่าอีก?

5
คลาสที่ซ้อนกันต่ำกว่าระดับหรือไม่
ฉันไม่ได้พยายามที่จะบอกว่าฉันรู้ว่าสิ่งที่คนอื่นไม่ได้ทำ แต่ฉันได้แก้ไขการออกแบบมากขึ้นด้วยการใช้คลาสที่ซ้อนกันดังนั้นฉันอยากรู้อยากเห็นความรู้สึกของการยอมรับการใช้สิ่งนี้ดูเหมือนไม่ค่อยได้ใช้ กลไกการออกแบบ สิ่งนี้ทำให้ฉันมีคำถาม: ฉันจะลงเส้นทางที่ไม่ดีโดยเนื้อแท้ด้วยเหตุผลที่ฉันจะค้นพบเมื่อพวกเขากลับมากัดฉันหรือเรียนซ้อนกันอาจเป็นสิ่งที่ underrated? นี่คือตัวอย่างสองตัวอย่างที่ฉันเพิ่งใช้เพื่อ: https://gist.github.com/3975581 - สิ่งแรกที่ช่วยให้ฉันเก็บรักษาสิ่งที่สืบทอดมาได้อย่างแน่นหนาด้วยกันครั้งที่สองให้ฉันเข้าถึงสมาชิกที่ได้รับความคุ้มครองจากพนักงาน ...
9 c#  design 

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

1
สิ่งที่ควรทำกับชื่อคลาสที่ขัดแย้งกัน (ชื่อสามัญ) ชื่อกรอบงาน
สิ่งที่ควรทำอย่างแน่นอนเมื่อชื่อคลาสที่ชัดเจนที่สุดสำหรับส่วนประกอบถูกนำมาใช้โดยกรอบ? ในกรณีของฉันฉันต้องสร้างคลาสที่อธิบายการร้องขอ HTTP แน่นอนชื่อที่พบบ่อยที่สุดคือ "ถ่าย" เป็น System.Web.HttpRequest ฉันควรทำอย่างไรดี? โปรเจ็กต์นี้จะใช้ในบริบทเว็บดังนั้นฉันจึงไม่อยากบังคับให้คนไม่นำเข้าเนมสเปซ System.Web หรือพิมพ์ชื่อคลาสทั้งหมดของฉันด้วยตนเอง อะไรคือวิธีจัดการกับสิ่งนี้ตามปกติ? ฉันสามารถมากับสิ่งนี้: ชื่อคลาสคำนำหน้าด้วยชื่อย่อโครงการ ลองคิดชื่ออื่นที่มีความหมายเหมือนกัน (ฉันลองแล้วไม่สามารถคิดอะไรใหม่ ๆ ได้) บังคับให้ผู้ใช้เลือกระหว่างเนมสเปซ
9 c#  .net  naming  namespace 

4
มีความแตกต่างระหว่าง return n และ exit (n) ใน C หรือไม่?
มีความแตกต่างระหว่างreturn n(ในmainฟังก์ชั่น) และexit(n)ใน C หรือไม่? มันถูกกำหนดโดยมาตรฐาน C หรือ POSIX หรือขึ้นอยู่กับระบบปฏิบัติการหรือคอมไพเลอร์?
9 c  standards 

4
PHP file_put_contents การล็อคไฟล์
Senario: คุณมีไฟล์ที่มีสตริง (ค่าเฉลี่ยประโยค) ในแต่ละบรรทัด เพื่อประโยชน์ในการโต้แย้งสมมติว่าไฟล์นี้มีขนาด 1Mb (หลายพันบรรทัด) คุณมีสคริปต์ที่อ่านไฟล์เปลี่ยนแปลงสตริงบางส่วนภายในเอกสาร (ไม่เพียง แต่ต่อท้าย แต่ยังลบและแก้ไขบางบรรทัด) แล้วเขียนทับข้อมูลทั้งหมดด้วยข้อมูลใหม่ คำถาม: 'เซิร์ฟเวอร์' PHP, OS หรือ httpd ฯลฯ มีระบบในสถานที่ที่จะหยุดปัญหาเช่นนี้ (อ่าน / เขียนครึ่งทางผ่านการเขียน) หรือไม่? ถ้าเป็นเช่นนั้นโปรดอธิบายวิธีการทำงานและให้ตัวอย่างหรือลิงก์ไปยังเอกสารที่เกี่ยวข้อง ถ้าไม่มีสิ่งที่ฉันสามารถเปิดใช้งานหรือตั้งค่าเช่นการล็อคไฟล์จนกว่าการเขียนจะเสร็จสมบูรณ์และทำให้การอ่านและ / หรือการเขียนอื่น ๆ ทั้งหมดล้มเหลวจนกว่าสคริปต์ก่อนหน้าจะเขียนเสร็จแล้วหรือไม่ ข้อสมมติฐานและข้อมูลอื่น ๆ ของฉัน: เซิร์ฟเวอร์ที่สงสัยกำลังเรียกใช้ PHP และ Apache หรือ Lighttpd หากสคริปต์ถูกเรียกใช้โดยผู้ใช้รายหนึ่งและอยู่กึ่งกลางผ่านการเขียนไปยังไฟล์และผู้ใช้รายอื่นอ่านไฟล์ในช่วงเวลาที่แน่นอน ผู้ใช้ที่อ่านมันจะไม่ได้รับเอกสารเต็มเนื่องจากยังไม่ได้เขียน (หากสมมติฐานนี้ผิดโปรดแก้ไขฉัน) ฉันกังวลเฉพาะการเขียน PHP และการอ่านไฟล์ข้อความและโดยเฉพาะอย่างยิ่งฟังก์ชั่น "fopen" / "fwrite" และส่วนใหญ่ "file_put_contents" …

1
หลีกเลี่ยงการรายงานข้อผิดพลาดที่ซ้ำกัน
ฉันใช้ Linux และซอฟต์แวร์โอเพนซอร์ซอื่น ๆ ในบ้านของฉัน เนื่องจากฉันไม่ใช่นักเขียนโค้ดมืออาชีพฉันมักจะรายงานข้อผิดพลาดกับผู้พัฒนาเนื่องจากทักษะของฉันไม่เพียงพอที่จะแก้ปัญหาด้วยตัวเอง คุณต้องการให้ฉันตรวจสอบอะไรก่อนที่ฉันจะส่งรายงานข้อผิดพลาด ฉันหมายถึงเมื่อฉันคิดว่าฉันพบข้อผิดพลาดใน Gedit และฉันไม่พบข้อผิดพลาดที่คล้ายกันใน Bugzilla แต่หลังจากที่ฉันส่งรายงานนักพัฒนาบางคนบอกว่าข้อผิดพลาดนั้นอยู่ใน Bugzilla แล้วเนื่องจากข้อผิดพลาดนั้นอยู่ใน GTK + ไม่ใช่ใน Gedit บางครั้งมันอาจเป็นเรื่องยากสำหรับมือสมัครเล่นที่จะเดาว่ามีข้อบกพร่องที่รู้จักกันก่อนหน้านี้จะแก้ปัญหาที่ฉันพบ

7
แอพ iPhone ที่เรียบง่ายดึงดูดผู้ใช้มากกว่าเว็บไซต์มือถือหรือไม่
ลูกค้าของฉันต้องการทำแอพ iPhone เพราะเธอพบว่าผู้คนมีแนวโน้มที่จะใช้แอพ iPhone มากกว่าไซต์ที่ปรับให้เหมาะกับมือถือ แอพของ iPhone นั้นง่ายมาก - เพียงแค่แสดงสองสามภาพและข้อความบางส่วน ในฐานะโปรแกรมเมอร์ฉันต้องการทำเว็บไซต์สำหรับมือถือให้มีเนื้อหาที่เรียบง่าย จากมุมมองทางเทคนิคฉันรู้สึกว่าเกินความจริงที่จะใช้แอพ iPhone ในสถานการณ์เช่นนี้ มันเหมาะสมหรือไม่ที่จะสร้างแอพ iPhone เมื่อเว็บไซต์มือถือพอเพียงเพราะผู้ใช้ของคุณอยากจะเป็นแอพ iPhone? มีวิธีที่จะโน้มน้าวใจผู้ใช้หรือไม่ว่าเว็บไซต์สำหรับมือถือนั้นใช้งานง่ายเหมือนกันหรือไม่?
9 iphone  mobile 

4
การสร้างต้นแบบอย่างรวดเร็วและการปรับโครงสร้างใหม่
บางครั้งเมื่อฉันเริ่มต้นโครงการขนาดเล็ก (เช่นแอพ Android) ฉันไม่รู้ว่าวิธีการใดที่จะได้ผลในตอนท้ายและฉันก็ลองวิธีหนึ่งแล้วลองดู แต่ถ้าฉันไม่เคยใช้วิธีนี้มาก่อน (สำหรับแอพพลิเคชั่นที่ฉันไม่เคยตั้งโปรแกรมมาก่อน) มันเหมือนกับก้าวเข้าสู่ภูมิประเทศที่ไม่รู้จัก ฉันไม่รู้ว่าจะใช้ไลบรารีใด (บางทีฉันต้องลองหลายไลบรารี) และมี unkonwns มากมาย (เช่น: วิธีรับข้อมูลเสียงดิบใน Android) ดังนั้นกระบวนการพัฒนาของฉันจะเป็นดังนี้: เขียนรหัสเพื่อดูว่าวิธีการนั้นมีโอกาสหรือไม่ (ยิ่งมีความไม่แน่นอนในวิธีการมากเท่าไรรหัสก็ยิ่งแย่ลงเท่านั้น) หากใช้งานได้ให้ทำการปรับปรุงซ้ำจนกว่าจะสวยงาม ฉันคิดว่ามันอาจเสียเวลาถ้าฉันวางแผนการออกแบบซอฟต์แวร์โดยละเอียด ณ จุดนี้มันจะเหมือนกับการวางแผนการเดินทางโดยไม่มีแผนที่ นี่เป็นส่วนหนึ่งของการพัฒนาที่สนุกสนาน คุณจัดการกับภูมิประเทศที่ไม่รู้จักในการพัฒนาซอฟต์แวร์ได้อย่างไร

2
อะไรคือเหตุผลสำหรับผู้ประกอบการผลิตพลังงานของงูใหญ่ที่เชื่อมโยงกับด้านขวา?
ฉันกำลังเขียนโค้ดเพื่อแยกสตริงการแสดงออกทางคณิตศาสตร์และสังเกตว่าลำดับที่ตัวดำเนินการพลังงานถูกล่ามโซ่ถูกประเมินใน Python แตกต่างจากลำดับใน Excel จากhttp://docs.python.org/reference/expressions.html : "ดังนั้นในลำดับพลังงานและตัวดำเนินการ unaryhesized ตัวดำเนินการจะถูกประเมินจากขวาไปซ้าย (สิ่งนี้ไม่ได้ จำกัด ลำดับการประเมินสำหรับตัวถูกดำเนินการ): -1 * 2 ผลลัพธ์เป็น -1" * ซึ่งหมายความว่าใน Python: 2**2**3ถูกประเมินเป็น2**(2**3) = 2**8 = 256 ใน Excel มันทำงานในลักษณะอื่น ๆ : 2^2^3ถูกประเมินเป็น(2^2)^3 = 4^3 = 64 ตอนนี้ฉันต้องเลือกการดำเนินการสำหรับตัวแยกวิเคราะห์ของฉันเอง คำสั่งซื้อของ Excel นั้นง่ายต่อการติดตั้งเพราะมันจะสะท้อนลำดับการประเมินผลของการคูณ ฉันถามผู้คนรอบ ๆ สำนักงานว่าพวกเขารู้สึกอย่างไรกับการประเมิน2^2^3และได้รับคำตอบที่หลากหลาย มีใครรู้บ้างเกี่ยวกับเหตุผลที่ดีหรือข้อเสนอแนะที่เป็นประโยชน์ต่อการใช้งาน Python หรือไม่? และถ้าคุณไม่มีคำตอบโปรดแสดงความคิดเห็นกับผลลัพธ์ที่คุณได้รับจากความรู้สึกลำไส้ - 64หรือ256?

1
ทำความเข้าใจกับระดับของการคำนวณ
ขออภัยสำหรับคำถามที่สับสนของฉัน ฉันกำลังมองหาตัวชี้บางอย่าง ถึงตอนนี้ฉันทำงานกับ Java และ Python เป็นส่วนใหญ่บนเลเยอร์แอปพลิเคชันและฉันมีความเข้าใจที่ไม่ชัดเจนเกี่ยวกับระบบปฏิบัติการและฮาร์ดแวร์ ฉันต้องการที่จะเข้าใจมากขึ้นเกี่ยวกับการใช้คอมพิวเตอร์ในระดับที่ต่ำกว่า แต่มันก็ท่วมท้นไปมาก ที่มหาวิทยาลัยฉันเข้าเรียนเกี่ยวกับ microprogramming นั่นคือวิธีที่ตัวประมวลผลมีสายแบบยากที่จะใช้รหัส ASM ถึงตอนนี้ฉันคิดอยู่เสมอว่าฉันจะไม่ทำอะไรให้สำเร็จถ้าเรียนรู้เพิ่มเติมเกี่ยวกับ "ระดับต่ำ" คำถามหนึ่งที่ฉันมีคือ: เป็นไปได้อย่างไรที่ฮาร์ดแวร์จะถูกซ่อนไว้เกือบทั้งหมดจากผู้พัฒนา มันถูกต้องหรือไม่ที่จะบอกว่าระบบปฏิบัติการเป็นเลเยอร์ซอฟต์แวร์สำหรับฮาร์ดแวร์? ตัวอย่างเล็ก ๆ น้อยหนึ่ง: ในการเขียนโปรแกรมฉันไม่เคยเจอความต้องการที่จะเข้าใจ L2 หรือ L3 Cache คืออะไร สำหรับสภาพแวดล้อมของแอปพลิเคชันทางธุรกิจทั่วไปเราแทบไม่จำเป็นต้องเข้าใจแอสเซมเบลอร์และการคำนวณในระดับที่ต่ำกว่าเพราะในปัจจุบันมีเทคโนโลยีสแต็คสำหรับเกือบทุกอย่าง ฉันเดาว่าจุดรวมของระดับล่างเหล่านี้คือการให้ส่วนต่อประสานกับระดับที่สูงขึ้น ในทางกลับกันฉันสงสัยว่าจะมีอิทธิพลต่อระดับล่างได้มากน้อยเพียงใดตัวอย่างเช่นการประมวลผลกราฟิกทั้งหมด ในทางกลับกันมีสาขาวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีนี้ซึ่งทำงานในรูปแบบการคำนวณเชิงนามธรรม อย่างไรก็ตามฉันยังพบกับสถานการณ์ที่ไม่ค่อยพบซึ่งฉันคิดว่ามันเป็นประโยชน์ในการคิดประเภทของแบบจำลองความซับซ้อนการตรวจสอบหลักฐาน ฯลฯ ฉันรู้ว่ามีคลาสความซับซ้อนที่เรียกว่า NP และพวกเขาไม่สามารถแก้ปัญหาได้ สิ่งที่ฉันขาดไปมากคือการอ้างอิงสำหรับกรอบการคิดเกี่ยวกับสิ่งเหล่านี้ สำหรับฉันดูเหมือนว่ามีค่ายต่าง ๆ ทุกประเภทที่ไม่ค่อยมีปฏิสัมพันธ์ ไม่กี่สัปดาห์ที่ผ่านมาฉันได้อ่านเกี่ยวกับปัญหาด้านความปลอดภัย ที่นี่อย่างใดชั้นที่แตกต่างกันมากมารวมกัน การโจมตีและการหาประโยชน์มักเกิดขึ้นในระดับที่ต่ำกว่าดังนั้นในกรณีนี้จำเป็นต้องเรียนรู้เกี่ยวกับรายละเอียดของเลเยอร์ OSI, การทำงานภายในของ OS ฯลฯ

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

1
API การกำหนดเวอร์ชัน
สมมติว่าคุณมีโครงการขนาดใหญ่ที่สนับสนุนโดย API พื้นฐาน โครงการนี้ยังจัดส่ง API สาธารณะที่ผู้ใช้สามารถใช้ (สิ้นสุด) บางครั้งคุณต้องทำการเปลี่ยนแปลงฐาน API ที่สนับสนุนโครงการของคุณ ตัวอย่างเช่นคุณต้องเพิ่มคุณสมบัติที่ต้องมีการเปลี่ยนแปลง API วิธีการใหม่หรือต้องการแก้ไขวัตถุใดวัตถุหนึ่งหรือรูปแบบของวัตถุเหล่านั้นอย่างใดอย่างหนึ่งผ่านไปหรือกลับจาก API สมมติว่าคุณกำลังใช้วัตถุเหล่านี้ใน API สาธารณะของคุณวัตถุสาธารณะก็จะเปลี่ยนทุกครั้งที่คุณทำเช่นนี้ซึ่งไม่พึงประสงค์เนื่องจากลูกค้าของคุณอาจพึ่งพาวัตถุ API ที่เหลือเหมือนกันสำหรับรหัสการแยกวิเคราะห์เพื่อทำงาน (ไคลเอนต์ C ++ WSDL สำหรับไอ ... ) ดังนั้นทางออกที่เป็นไปได้หนึ่งอย่างก็คือการเวอร์ชั่น API แต่เมื่อเราพูดว่า "version" API ดูเหมือนว่านี่จะต้องหมายถึงวัตถุรุ่น API เช่นเดียวกับการให้การเรียกใช้วิธีที่ซ้ำกันสำหรับลายเซ็นวิธีการที่เปลี่ยนไปแต่ละอัน ดังนั้นฉันจะมีวัตถุ clr แบบธรรมดาสำหรับ api ของฉันแต่ละรุ่นซึ่งดูเหมือนจะไม่พึงประสงค์อีกครั้ง และแม้ว่าฉันจะทำสิ่งนี้ฉันก็จะไม่สร้างแต่ละวัตถุตั้งแต่เริ่มต้นเพราะจะจบลงด้วยการทำซ้ำรหัสจำนวนมหาศาล แต่ API มีแนวโน้มที่จะขยายออบเจ็กต์ส่วนตัวที่เราใช้สำหรับ API พื้นฐานของเรา แต่จากนั้นเราพบปัญหาเดียวกันเนื่องจากคุณสมบัติที่เพิ่มเข้ามาจะมีให้บริการใน API สาธารณะเมื่อไม่ควรจะเป็นเช่นนั้น ดังนั้นสติบางอย่างที่มักใช้กับสถานการณ์นี้คืออะไร? ฉันรู้ว่าบริการสาธารณะจำนวนมากเช่น …

3
การพัฒนาแอพมือถือแบบเนทีฟ - ฉันจะจัดโครงสร้างเรื่องราวผู้ใช้ของฉันได้อย่างไร
ฉันกำลังจะเริ่มโครงการที่จะเกี่ยวข้องกับการพัฒนาต้นแบบแอปมือถือดั้งเดิม (iOS และ Android ในตอนแรก) รวมถึงส่วนติดต่อผู้ดูแลระบบบนเว็บและ API สำหรับแอปเหล่านี้เพื่อสื่อสารกับ เรามีรายการเรื่องราวที่ร่างขึ้นแล้ว แต่มีหลายเรื่องที่อยู่ในรูปแบบ: As a mobile user I want to be able to view a login screen so that I can sign into the app หากนี่เป็นเป้าหมายสำหรับแพลตฟอร์มเดียวฉันจะไม่เห็นปัญหา อย่างไรก็ตามเนื่องจากเรากำหนดเป้าหมายหลายแพลตฟอร์มฉันไม่แน่ใจว่าสิ่งเหล่านี้ควรทำซ้ำเช่น "ในฐานะผู้ใช้ Android" หรือคล้ายกัน ดูเหมือนว่าจะซ้ำกัน แต่มันเป็นงานที่จะต้องทำให้เสร็จสิ้นแยกต่างหากสำหรับแต่ละแพลตฟอร์ม นี่เป็นโครงการมือถือครั้งแรกที่เราให้กำเนิดก่อนหน้านี้คือ Phonegap และเรารวบรวมเรื่องราวทั้งหมดใน "เป็นผู้ใช้มือถือ" เนื่องจากโดยพื้นฐานแล้วนี่เป็นแอปบนเว็บที่มีโค้ดเนมซึ่งไม่ได้มีปัญหามากนัก แต่ฉันก็ทราบว่าแอพที่เป็นภาษาพื้นเมืองทั้งหมดเป็น ballgame ที่แตกต่างกัน!

3
โปรแกรมซิงค์ส่วนใหญ่ตรวจสอบการเปลี่ยนแปลงไฟล์ได้อย่างไร
โปรแกรมซิงค์เช่น Dropbox มักจะติดตามการเปลี่ยนแปลงไฟล์โดยทำการเปรียบเทียบแบบไบต์ต่อไบต์หรือใช้แฮชหรือการใช้diff/ การเก็บบันทึกการกระทำในท้องถิ่นเช่นการควบคุมเวอร์ชันหรืออะไร

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