คำถามติดแท็ก web-applications

เว็บแอปพลิเคชันคือแอปพลิเคชันที่เข้าถึงได้ผ่าน "เว็บ" ซึ่งอาจหมายถึงอินเทอร์เน็ตหรือเครือข่ายภายใน (อินทราเน็ต)

14
คุณควรเวอร์ชั่นเว็บแอปพลิเคชัน?
เมื่อเร็ว ๆ นี้ฉันได้พูดคุยกับเพื่อนร่วมงานเกี่ยวกับการใช้งานเว็บเวอร์ชัน ฉันไม่คิดว่าคุณต้องการมันเลยและถ้าคุณแค่ต้องการให้มีสติตรวจสอบเพื่อยืนยันการเปิดตัวล่าสุดของคุณคือการถ่ายทอดสดฉันคิดว่าวันที่ (YYMMDD) น่าจะดีพอ ฉันอยู่นอกฐานหรือไม่ ฉันไม่มีจุดหรือไม่ ฉันควรใช้หมายเลขรุ่นของแอปพลิเคชันบนเว็บ

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

4
MVC / REST ควรส่งคืน 403 หรือ 404 สำหรับทรัพยากรที่เป็นของผู้ใช้รายอื่นหรือไม่
เมื่อทำงานกับไซต์ที่ใช้ทรัพยากร (เช่นแอปพลิเคชัน MVC หรือบริการ REST) ​​เรามีสองตัวเลือกหลักเมื่อไคลเอ็นต์พยายามเข้าถึงGETทรัพยากรที่พวกเขาไม่สามารถเข้าถึง: 403ซึ่งบอกว่าลูกค้าไม่ได้รับอนุญาต ; หรือ 404ซึ่งบอกว่าไม่มีทรัพยากร(หรือไม่สามารถหาได้) ภูมิปัญญาทั่วไปและการปฏิบัติทั่วไปดูเหมือนว่าจะตอบสนองกับความจริง - นั่นคือ 403 แต่ฉันสงสัยว่านี่เป็นสิ่งที่ถูกต้องหรือไม่ ระบบการเข้าสู่ระบบที่ปลอดภัยไม่เคยบอกเหตุผลที่ทำให้การล็อกอินล้มเหลว กล่าวคือตราบใดที่ลูกค้ามีความกังวลไม่มีความแตกต่างที่ตรวจพบได้ระหว่างชื่อผู้ใช้ที่ไม่มีอยู่และรหัสผ่านที่ไม่ถูกต้อง วัตถุประสงค์คือเพื่อไม่ให้ ID ผู้ใช้ - หรือที่แย่กว่านั้นคือที่อยู่อีเมล - ค้นพบได้ จากมุมมองความเป็นส่วนตัวดูเหมือนว่าปลอดภัยกว่าที่จะคืนค่า 404 ฉันนึกถึงเหตุการณ์ที่มีคนรายงานว่ามีผู้ชนะรายการเรียลลิตี้โชว์ (ผู้รอดชีวิตฉันคิดว่า) โดยดูว่าทรัพยากรใดไม่มีอยู่ใน ไซต์กับสิ่งที่ทำ ฉันกังวลเกี่ยวกับ 403 ที่อาจให้ข้อมูลที่ละเอียดอ่อนเช่นหมายเลขผลิตภัณฑ์หรือหมายเลขบัญชี มีเหตุผลที่น่าสนใจที่จะไม่ส่งคืน 404 หรือไม่? นโยบาย 404 อาจมีผลข้างเคียงเชิงลบหรือไม่ ถ้าไม่เป็นเช่นนั้นทำไมการปฏิบัติจึงไม่เป็นเรื่องปกติ

6
เหตุใดผู้คนจึงใช้ REST API แทน DBAL
ในอดีตที่ผ่านมาทั้งสอง บริษัท ฉันเคยอยู่ที่ REST API มีอยู่สำหรับการสืบค้นข้อมูลผ่านเว็บแอป กล่าวคือ แทนที่จะมีเว็บแอปทำ SQL โดยตรงจะเรียกใช้ REST API และนั่นคือ SQL และส่งคืนผลลัพธ์ คำถามของฉันคือ ... ทำไมจึงทำเช่นนี้? ถ้ามันจะถูกเปิดเผยต่อบุคคลที่สามฉันสามารถเข้าใจได้ ดีกว่าที่จะเปิดเผย REST API ที่ จำกัด กว่า DB แบบเต็ม แต่ในทั้งสอง บริษัท นี้ไม่ได้เป็นเช่นนั้น มีคนแนะนำฉันว่า REST API เหล่านี้ทำให้การสลับระหว่าง DBMS ง่ายขึ้น แต่นั่นไม่ใช่จุดของ abstraction layer ของฐานข้อมูล (DBAL) ใช่ไหม บางทีคุณอาจใช้ ORM เป็น DBAL ของคุณหรือคุณอาจเขียน SQL ดิบและให้ DBAL …

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

4
วิธีป้องกันสภาวะการแข่งขันในเว็บแอปพลิเคชัน
พิจารณาเว็บไซต์อีคอมเมิร์ซที่ทั้ง Alice และ Bob กำลังแก้ไขรายการผลิตภัณฑ์ อลิซกำลังปรับปรุงคำอธิบายขณะที่ Bob กำลังอัพเดทราคา พวกเขาเริ่มแก้ไข Acme Wonder Widget ในเวลาเดียวกัน บ๊อบเสร็จสิ้นก่อนและบันทึกผลิตภัณฑ์ด้วยราคาใหม่ อลิซใช้เวลาในการอัปเดตคำอธิบายนานขึ้นและเมื่อเธอทำเสร็จเธอจะบันทึกผลิตภัณฑ์ด้วยคำอธิบายใหม่ของเธอ น่าเสียดายที่เธอเขียนทับราคาด้วยราคาเดิมซึ่งไม่ได้มีเจตนา จากประสบการณ์ของฉันปัญหาเหล่านี้พบได้ทั่วไปในเว็บแอป ซอฟต์แวร์บางตัว (เช่นซอฟต์แวร์ wiki) มีการป้องกันสิ่งนี้ - โดยปกติการบันทึกครั้งที่สองจะล้มเหลวด้วย "หน้าได้รับการปรับปรุงในขณะที่คุณกำลังแก้ไข" แต่เว็บไซต์ส่วนใหญ่ไม่มีการป้องกันนี้ เป็นที่น่าสังเกตว่าวิธีการควบคุมนั้นมีความปลอดภัยในเธรด โดยปกติแล้วพวกเขาจะใช้ธุรกรรมฐานข้อมูลซึ่งทำให้ปลอดภัยในแง่ที่ว่าถ้า Alice และ Bob พยายามที่จะบันทึกในเวลาเดียวกันแม่นยำมันจะไม่ทำให้เกิดความเสียหาย สภาพการแข่งขันเกิดขึ้นจาก Alice หรือ Bob ที่มีข้อมูลเก่าในเบราว์เซอร์ เราจะป้องกันสภาพการแข่งขันดังกล่าวได้อย่างไร? โดยเฉพาะอย่างยิ่งฉันต้องการทราบ: เทคนิคใดบ้างที่สามารถใช้ได้ เช่นการติดตามเวลาของการเปลี่ยนแปลงครั้งล่าสุด อะไรคือข้อดีข้อเสียของแต่ละคน ประสบการณ์การใช้งานที่เป็นประโยชน์คืออะไร? กรอบการป้องกันนี้มีอะไรในตัว?

7
เป็นไปได้หรือไม่ที่ตรรกะทางธุรกิจจะไม่คืบคลานเข้ามาในมุมมอง?
ฉันได้พัฒนาโครงการเว็บแอพพลิเคชั่นหลายโครงการในช่วง 3 ปีที่ผ่านมาทั้งที่ทำงานส่วนตัวและที่ทำงานและฉันไม่สามารถคิดออกได้ว่าเป็นไปได้อย่างน้อยตรรกะทางธุรกิจบางอย่างที่ไม่สิ้นสุดในมุมมองของแอปพลิเคชัน ในกรณีส่วนใหญ่จะมีปัญหาเช่น "ถ้าผู้ใช้เลือกตัวเลือก x ดังนั้นแอปพลิเคชันจะต้องเปิดใช้งานเขาสามารถให้ข้อมูลสำหรับ y ถ้าไม่เช่นนั้น s / เขาควรจะให้ข้อมูล z" หรือดำเนินการ AJAX ซึ่งควรใช้การเปลี่ยนแปลงบางอย่างกับโมเดล แต่ไม่ยอมรับจนกว่าผู้ใช้จะร้องขออย่างชัดเจน นี่เป็นปัญหาที่ง่ายที่สุดที่ฉันพบและฉันไม่สามารถเข้าใจได้ว่าจะหลีกเลี่ยงตรรกะที่ซับซ้อนในมุมมองได้อย่างไร หนังสือส่วนใหญ่ที่ฉันได้อ่านอธิบาย MVC มักจะแสดงตัวอย่างเล็ก ๆ น้อย ๆ อย่างเช่นการดำเนินการ CRUD ที่เพิ่งอัปเดตข้อมูลบนเซิร์ฟเวอร์และแสดง แต่ CRUD ไม่ใช่กรณีของแอปพลิเคชันที่ร่ำรวยที่สุด เป็นไปได้ไหมที่จะมีมุมมองโดยไม่มีเหตุผลทางธุรกิจเลย?

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

7
มีเหตุผลที่ดีที่จะหลีกเลี่ยง node.js สำหรับเว็บแอปที่ไม่ใช่เรียลไทม์หรือไม่?
ฉันได้เห็นการพูดคุยมากมายเกี่ยวกับ Node.js ที่ยอดเยี่ยมสำหรับเว็บแอปแบบเรียลไทม์ - สิ่งที่ต้องการซ็อกเก็ต, Comet, การสื่อสาร AJAX ที่หนักหน่วงและอื่น ๆ ฉันรู้ว่าโมเดลที่ทำงานโดยอิงเหตุการณ์แบบอะซิงโครนัสและเป็นเธรดนั้นดีสำหรับการทำงานพร้อมกันที่มีค่าใช้จ่ายต่ำ ฉันยังได้เห็นแบบฝึกหัด Node.js สำหรับแอปที่ 'ดั้งเดิม' ที่ไม่ใช่เรียลไทม์ (เช่นตัวอย่างบล็อกมาตรฐานซึ่งดูเหมือนจะเป็นมาตรฐาน 'Hello World' สำหรับผู้ที่เรียนรู้การพัฒนาแอป) และฉันก็รู้ว่าโหนดคงที่ช่วยให้คุณให้บริการสินทรัพย์คงที่ คำถามของฉันคือมีเหตุผลที่ดีที่จะหลีกเลี่ยง Node.js สำหรับเว็บแอปแบบดั้งเดิมเช่นคลาสสิฟายด์ฟอรัมตัวอย่างบล็อกดังกล่าวหรือแอพ CRUD ที่คุณสร้างขึ้นสำหรับแอปพลิเคชันธุรกิจภายในหรือไม่ เพียงเพราะมันเก่งในทุกเวลาที่เป็นเรื่องขี้ขลาดมันห้ามใช้มันเพื่อการใช้ที่มีพลังมากกว่าหรือไม่? สิ่งเดียวที่ฉันนึกได้ก็คือการขาดห้องสมุดผู้ใหญ่ (แม้ว่ามันจะเปลี่ยนไป) (เหตุผลที่ฉันถามคือฉันกำลังพิจารณาการทิ้ง PHP สำหรับ Node.js ส่วนใหญ่เพื่อให้เกินความต้านทานไม่ตรงกันของการสลับระหว่างภาษา แต่ยังเพื่อให้ฉันสามารถนำมาใช้รหัสตรวจสอบและ whatnot superego ของฉัน admonishes ให้ฉันเลือก เครื่องมือที่ดีที่สุดสำหรับงานนี้ แต่ฉันไม่มีเวลามากพอที่จะเรียนรู้ภาษาต่าง ๆ สิบห้าภาษาและห้องสมุด userland ทั้งหมดของพวกเขาเพื่อให้มีคลังแสงที่ครอบคลุมนอกจากนี้ยังให้ความมั่นใจว่า Node.js อาจมอบเส้นทางการเพิ่มประสิทธิภาพที่ง่ายกว่า PHP / …

3
การจัดการกับแคชเบราว์เซอร์ในแอพหน้าเดียว
ฉันกำลังพยายามหาวิธีจัดการแคชของเว็บเบราว์เซอร์สำหรับแอปหน้าเดียวอย่างถูกต้อง ฉันมีการออกแบบที่ค่อนข้างธรรมดา: ไฟล์ HTML, JS และ CSS หลายตัวที่ใช้งานสปาและมีข้อมูล JSON มากมายที่สปาใช้ ปัญหาเกิดขึ้นเมื่อฉันต้องการผลักดันการอัปเดต: ฉันอัปเดตส่วนคงที่ของเว็บไซต์และรหัสที่สร้าง JSON ในเวลาเดียวกัน แต่เบราว์เซอร์ไคลเอนต์มักจะมีส่วนคงที่แคชดังนั้นรหัสเก่าพยายามประมวลผลข้อมูลใหม่และ อาจ (ขึ้นอยู่กับการเปลี่ยนแปลงที่ทำ) อาจมีปัญหา (โดยเฉพาะอย่างยิ่งดูเหมือนว่า IE จะก้าวร้าวมากกว่า Chrome หรือ Firefox เกี่ยวกับการใช้แคช JS โดยไม่ต้องทำการตรวจสอบซ้ำ) วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้คืออะไร? ตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลง JSON ของฉันเข้ากันได้ย้อนหลังและถือว่าแคชของเบราว์เซอร์จะหมดอายุในระยะเวลาที่เหมาะสม ฝังหมายเลขรุ่นบางส่วนในทั้ง JS แบบคงที่และ JSON จากนั้นเรียกใช้งานwindow.location.reload(true);หากไม่ตรงกัน ค้นหาชุดค่าผสมที่เหมาะสมของส่วนหัว ( must-revalidateหรือno-cacheอะไรก็ตามแหล่งที่มา แตกต่างกันไปตามวิธีการทำ) เพื่อให้แน่ใจว่าเบราว์เซอร์จะตรวจสอบความถูกต้องของทรัพยากรทั้งหมดในทุก ๆ ครั้งที่โหลดซ้ำแม้ว่ามันจะหมายถึง จัดการการควบคุมแคชของฉันและหมดอายุส่วนหัวเพื่อให้เนื้อหาแบบคงที่หมดอายุเมื่อฉันต้องการผลักดันการอัปเดต อื่น ๆ อีก?

3
ฉันควรใช้ WADL เพื่ออธิบาย RESTful API ของฉันหรือไม่
ฉันกำลังจะเริ่มดำเนินการในโครงการที่ใช้วิธีการ RESTful อย่างถูกต้อง นั่นคือมันใช้HATEOASและให้บริการทรัพยากรในลักษณะที่อนุญาตให้สำรวจโดยลูกค้าทั่วไป ฉันต้องการตรวจสอบให้แน่ใจว่าฉันได้ให้คำอธิบายของจุดสิ้นสุดของฉันในลักษณะที่จะอนุญาตให้แอปพลิเคชันไคลเอนต์ถูกสร้างขึ้นโดยอัตโนมัติในภาษาที่หลากหลาย ฉันเข้าใจว่าสำหรับบริการบนเว็บของ SOAP ฉันสามารถใช้ WSDL และเห็นได้ชัดว่ามี WSDL2 ที่ให้คำจำกัดความของคำกริยา HTTP ที่ใช้กับ REST ได้ดีขึ้น อย่างไรก็ตามฉันเห็นหลายบทความที่แกว่งไปมาเป็นประโยชน์ ดังนั้นฉันควรใช้WADLเพื่ออนุญาตให้ผู้สร้างรหัสภายนอกสร้างไคลเอนต์สำหรับเว็บแอปพลิเคชันของฉันได้อย่างรวดเร็วหรือมีมาตรฐานที่ดีกว่าที่คาดไว้หรือไม่

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

4
คุณจะจัดการกับผู้ใช้หลายคนในการแก้ไขข้อมูลชิ้นเดียวกันใน webapp ได้อย่างไร?
มีโครงการที่ฉันกำลังทำอยู่ที่ต้องการผลิตเว็บแอปพลิเคชันที่จะจัดการรายการงานระหว่างผู้ใช้หลายคน นี่คือรายการงานหลักที่มีรายการงานกระจายโดยผู้ใช้ที่ได้รับอนุญาต ผู้ใช้แต่ละคนมีบัญชีของตนเองเพื่อเข้าสู่ระบบและดูงานที่ได้รับมอบหมาย เป็นไปได้ที่ผู้ใช้หลายคนจะมีภารกิจเดียวที่เหมือนกัน ฉันกำลังพยายามที่จะออกรายละเอียดของโครงการออกมาจากสิ่งนี้ในขณะที่ฉันกำลังดิ้นรนมากขึ้นด้วยแนวคิดโดยรวมของวิธีการจัดการกับสถานการณ์ต่อไปนี้ แต่ถ้ามันช่วยฉันใช้ Java, EclipseLink และ GWT กับ RequestFactory ฐานข้อมูลคือ PostgreSQL ดังนั้นปัญหาเกี่ยวกับความคิดที่ฉันพยายามจะกระทบยอดคือ: หากงานเดียวที่เกิดขึ้นกับผู้ใช้หลายคนเปลี่ยนแปลงในทางใด ๆ เช่นงานที่ทำเสร็จแล้วถูกลบ ฯลฯ รายการงานของผู้ใช้ทั้งหมดที่มีงานนี้จะได้รับการอัปเดต รูปแบบการออกแบบใดที่ช่วยในการนำฟังก์ชั่นนี้ไปใช้? รูปแบบบางอย่างที่ฉันดูเป็นผู้สังเกตการณ์และผู้ไกล่เกลี่ย - มีรูปแบบอื่น ๆ ที่ควรพิจารณาในสิ่งเหล่านี้หรือไม่? สมมติว่ามีผู้ใช้สองคนเปลี่ยนงานเดียวกันในเวลาเดียวกัน ก่อนอื่นฉันควรอนุญาตให้สถานการณ์นั้นเกิดขึ้นหรือฉันควรล็อคไว้จนกว่าจะมีคนหนึ่งหรืออีกคนหนึ่งทำการเปลี่ยนแปลง? ประการที่สองถ้าฉันไม่ใส่กุญแจฉันจะกระทบยอดการเปลี่ยนแปลงที่จะยอมรับได้อย่างไร สิ่งนี้เกี่ยวข้องกับสถานการณ์ใน 1 เนื่องจากผู้ใช้ 1 สามารถส่งข้อมูลและก่อนที่ผู้ใช้ 2 จะได้รับข้อมูลที่อัปเดตเขา / เธออาจดำเนินการต่อไปและส่งการเปลี่ยนแปลงของเขา / เธอ ฉันกำลังมองหาจุดชี้แนะคำแนะนำหรือเคล็ดลับใด ๆ ที่คุณสามารถให้ในการซิงค์ข้อมูลระหว่างอินสแตนซ์ต่าง ๆ ของเว็บแอพนี้อย่างถูกต้อง ฉันจะขอบคุณมันมาก!

4
เมื่อสร้าง api ฉันควรติดกับฟังก์ชั่นขนาดเล็กและการโทรจำนวนมากหรือไม่กี่สายและฟังก์ชั่นขนาดใหญ่?
ฉันมีแพลตฟอร์มรางที่ฉันบำรุงรักษา มันมีเว็บแอปพลิเคชั่นที่แตกต่างกันมากมาย อย่างไรก็ตามตอนนี้ลูกค้ากำลังขอ API เพื่อให้พวกเขาสามารถเก็บผู้ใช้ในเว็บไซต์ของพวกเขา แต่ใช้ประโยชน์จากงานอัตโนมัติบางอย่างที่เรามี แพลตฟอร์มดังกล่าวใช้เพื่อสร้างแอปพลิเคชั่นประกันภัยและอนุญาตให้ซื้อสินค้าทางออนไลน์รวมถึงวิธีการดาวน์โหลดเอกสารที่เกี่ยวข้องกับนโยบายของคุณ ดังนั้นคำถามของฉันเมื่อสร้าง API คือ: เมื่อฉันต้องทำสิ่งต่างๆมากมายเช่นการvalidateสร้างuser, user profileและpolicyสวยมากในเวลาเดียวกัน ฉันควรทำการโทรแบบแยก 4 ครั้งและให้ลูกค้าสร้างการโทร 4 ครั้งที่ด้านข้าง หรือฉันควรจะมีหนึ่งสายที่ยกเว้นพารามิเตอร์จำนวนมากที่ตรวจสอบลูกค้าและสร้างทั้ง 3 สิ่งในเวลาเดียวกันทำให้สิ่งต่าง ๆ ง่ายขึ้นสำหรับลูกค้า? ในกรณีนี้ลูกค้าจะได้รับข้อมูลที่จำเป็นทั้งหมดในเวลาเดียวกันดังนั้นจึงไม่เหมือนกับว่ามีการไหลตามธรรมชาติในแอปพลิเคชันของพวกเขาที่หยุดชั่วคราวและพวกเขาสามารถเรียก API ไปยังแพลตฟอร์มของฉันได้ ก่อนหน้านี้ลูกค้าเคยใช้ API หลายตัวมาแล้วความกล้าของฉันคือทำให้มันง่ายสำหรับลูกค้าเท่าที่จะทำได้และให้พวกเขาทำการโทรเพียงครั้งเดียว อย่างไรก็ตามสิ่งนี้นำไปสู่ค่อนข้างใหญ่functionsใน API ซึ่งฉันไม่ได้เป็นแฟนของทั้ง คุณจะแนะนำให้ฉันแก้ไขปัญหานี้ได้อย่างไร ตามที่ทราบมาฉันไม่มั่นใจในความสามารถของลูกค้าในการนำ API ที่ซับซ้อนมาใช้

4
การเลือกภาษาโปรแกรมอย่างเป็นระบบ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังมองหาวิธีการในการเลือกภาษา ฉันไม่ได้ขอความคิดเห็นเกี่ยวกับภาษา ฉันได้รับมอบหมายให้ดำเนินการเปรียบเทียบภาษาปัจจุบันของร้านค้ากับผู้อื่นที่มีให้ เราเป็นร้านพัฒนาเว็บไซต์ CEO ของเราต้องการเอกสารทางเทคนิคฉบับเต็มเกี่ยวกับภาษาบนเว็บทั้งหมดที่มีอยู่ภาษาแม่ที่เป็นอนุพันธ์ของ (เช่น jsp มาจาก java ซึ่งมาจาก c / c ++) ฉันจำเป็นต้องสร้างเมทริกซ์ที่มีปัจจัยสำคัญทั้งหมดของภาษาเฉพาะเช่นกันและการมาสั้น ๆ ของภาษานั้น ภาษาถูก จำกัด โดยแพลตฟอร์มหรือไม่มันถูกออกแบบมาสำหรับการเขียนโปรแกรมการทำงานขั้นตอนหรือ OO หรือสามารถใช้กับกระบวนทัศน์การเขียนโปรแกรมใด ๆ ได้หรือไม่? ฉันต้องมีข้อมูลทางเทคนิคน้อยลงเช่นขนาดของกลุ่มคนที่มีความสามารถสำหรับภาษาที่กำหนดและเงินเดือนเฉลี่ยในกลุ่มนั้น ตลาดจะดูทางเลือกของเราอย่างไร เราเริ่มมองหาที่ปรึกษาเพื่อช่วยให้เราเข้าใจทุกสิ่งเหล่านี้ แต่สิ่งที่เราได้พบว่าที่ปรึกษาส่วนใหญ่มาจากพื้นหลังการพัฒนาและบ่อยครั้งที่ดูเหมือนว่าคำตอบคือ " xxxเป็นภาษาที่ดีที่สุดเพราะเป็นสิ่งที่ฉัน ใช้มากที่สุดในช่วงnปีที่ผ่านมาและไม่เคยทำให้ฉันผิดหวังคุณสามารถเสริมด้วยyyyสำหรับส่วนหน้าและใช้ห้องสมุดzzz " ฉันรู้สึกหนักใจกับงานนี้และฉันรู้สึกว่าหลักสูตรที่ดีที่สุดของการดำเนินการตามที่ซีอีโอของเรากำลังมองหาคือการมองเข้าไปในโลกของสถาบันการศึกษาและจ้างอาจารย์ที่ไม่มีประสบการณ์การพัฒนาที่แท้จริงที่จะเข้ามา เกี่ยวกับภาษาที่เป็นไปได้ทั้งหมด มีใครอีกบ้างที่ต้องผ่านการฝึกนี้? หากคุณมีคุณสามารถแบ่งปันขั้นตอนและ / หรือวิธีการที่คุณใช้ในกระบวนการ?

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