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

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

1
รูปแบบกล่อง: Internet Explorer เทียบกับ W3C
วันนี้ปัญหาของInternet Explorer Box Modelส่วนใหญ่ไม่ใช่ปัญหา นักพัฒนาเว็บส่วนใหญ่วาง<!DOCTYPE>แท็กเพื่อบังคับใช้การปฏิบัติตามมาตรฐานและไม่มีใครสนใจเรื่องการสนับสนุน Internet Explorer 5.5 อีกต่อไป อย่างไรก็ตามนักพัฒนาซอฟต์แวร์บางรายเกิดข้อโต้แย้งเชิงแนวคิดในการป้องกันโมเดลกล่อง IE พวกเขาอ้างว่าโมเดลกล่อง IE นั้น "ใช้งานง่าย" มากกว่ารุ่น W3C เนื่องจากรุ่น W3C วัดเนื้อหาของกล่องในขณะที่รุ่น IE วัดขนาดกล่องเอง: ฉันสามารถเห็นมุมมองของพวกเขา แต่โดยพื้นฐานแล้วมันเป็นข้อโต้แย้งส่วนตัวและสิ่งที่สำคัญที่สุดคือการปฏิบัติตามมาตรฐาน อย่างไรก็ตามเมื่อเร็ว ๆ นี้ผมได้มาชอบรูปแบบกล่อง IE ที่จริงจังในทางปฏิบัติด้วยเหตุผล รูปแบบกล่อง W3C ทำให้ยากต่อการปรับขนาดองค์ประกอบให้มีความกว้างพิกเซลบนหน้าจอที่แน่นอนขององค์ประกอบอื่น เหตุผลก็คือstyle.widthคุณสมบัติขององค์ประกอบไม่ได้คำนึงถึงขนาดบนหน้าจอทั้งหมดขององค์ประกอบ: คุณต้องคำนึงถึงเส้นขอบและช่องว่างภายในเพิ่มเติมด้วย นี่ไม่ใช่ปัญหาหากองค์ประกอบทั้งสองใช้คลาส CSS เดียวกัน แต่ถ้ามีคลาส CSS ที่แตกต่างกันสิ่งนี้อาจท้าทายอย่างไม่น่าเชื่อ สมมติว่าเรามีสอง divs: A และ B A นั้นเป็นรหัสที่ยากใน html เป็น 400px …

5
เข้าถึงฐานข้อมูลหลายตัวหรือเข้าถึงได้หนึ่งครั้งหรือไม่
เป็นวิธีที่ดีกว่าเมื่อมันมาถึงประสิทธิภาพและการใช้ทรัพยากรที่ดีที่สุดคือ: การเข้าถึงฐานข้อมูลหลายครั้งผ่าน AJAX เพื่อรับข้อมูลที่แน่นอนที่จำเป็นเมื่อมีความจำเป็นหรือทำการเข้าถึงเพียงครั้งเดียวเพื่อดึงวัตถุที่เก็บข้อมูลทั้งหมดที่อาจจำเป็น ด้วยความน่าจะเป็นสูงที่ไม่จำเป็นต้องใช้ทั้งหมดจริง ๆ ? ฉันรู้วิธีการเปรียบเทียบข้อความค้นหาจริง แต่ฉันไม่รู้วิธีทดสอบสิ่งที่ดีที่สุดเมื่อพูดถึงประสิทธิภาพของฐานข้อมูลเมื่อผู้ใช้หลายพันรายกำลังเข้าถึงฐานข้อมูลพร้อมกันและวิธีการรวมการเชื่อมต่อเข้ามาเล่น
25 performance  sql 

6
ฉีดพึ่งพา; แนวทางปฏิบัติที่ดีในการลดรหัสสำเร็จรูป
ฉันมีคำถามง่าย ๆ และฉันก็ไม่แน่ใจด้วยซ้ำว่ามีคำตอบลองทำดู ฉันกำลังเขียนโปรแกรมใน C ++ และใช้การฉีดพึ่งพาเพื่อหลีกเลี่ยงสถานะทั่วโลก มันใช้งานได้ค่อนข้างดีและฉันไม่ได้ทำงานในพฤติกรรมที่ไม่คาดคิด / ไม่ได้กำหนดบ่อยมาก อย่างไรก็ตามฉันตระหนักว่าเมื่อโครงการของฉันเติบโตขึ้นฉันกำลังเขียนโค้ดจำนวนมากซึ่งฉันคิดว่าสำเร็จรูป เลวร้ายยิ่งกว่าความจริงที่ว่ามีรหัสสำเร็จรูปมากกว่ารหัสจริงทำให้บางครั้งก็ยากที่จะเข้าใจ ไม่มีอะไรที่จะเป็นตัวอย่างที่ดีได้ดังนั้นลองทำกัน: ฉันมีคลาสที่ชื่อว่า TimeFactory ซึ่งสร้าง Time object สำหรับรายละเอียดเพิ่มเติม (ไม่แน่ใจว่าเกี่ยวข้องหรือไม่): วัตถุเวลาค่อนข้างซับซ้อนเนื่องจากเวลาสามารถมีรูปแบบที่แตกต่างกันและการแปลงระหว่างวัตถุเหล่านั้นไม่ใช่เชิงเส้นหรือตรงไปตรงมา "เวลา" แต่ละครั้งมีซิงโครไนเซอร์เพื่อจัดการกับการแปลงและเพื่อให้แน่ใจว่าพวกเขามีซิงโครไนซ์เดียวกันเริ่มต้นได้อย่างถูกต้องฉันใช้ TimeFactory TimeFactory มีเพียงหนึ่งอินสแตนซ์และเป็นแอพพลิเคชั่นที่กว้างดังนั้นมันจึงมีคุณสมบัติสำหรับซิงเกิลตัน แต่เนื่องจากมันไม่แน่นอนฉันไม่ต้องการทำให้มันเป็นซิงเกิลตัน ในแอพของฉันมีคลาสจำนวนมากที่ต้องสร้างวัตถุเวลา บางครั้งคลาสเหล่านั้นซ้อนกันอย่างล้ำลึก สมมติว่าฉันมีคลาส A ซึ่งมีอินสแตนซ์ของคลาส B และอื่น ๆ จนถึงคลาส D คลาส D จำเป็นต้องสร้างวัตถุเวลา ในการปฏิบัติที่ไร้เดียงสาของฉันฉันส่ง TimeFactory ไปยังตัวสร้างของคลาส A ซึ่งส่งผ่านไปยังตัวสร้างของคลาส B และต่อไปจนถึงคลาส D ตอนนี้ลองนึกภาพว่าฉันมีคลาสสองชั้นเช่น TimeFactory …

8
รหัสแหล่ง C ++ ที่ดีที่สุดในการอ่านสำหรับผู้เริ่มต้นคืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังพยายามปรับปรุงเทคนิคการเข้ารหัส c ++ โดยการอ่านซอร์สโค้ด c ++ คุณจะแนะนำโครงการโอเพ่นซอร์สใด รหัสของBoost C ++ Librariesเป็นโค้ดที่ดีหรือไม่?
25 c++  open-source 

3
รูปแบบที่แนะนำสำหรับการวางแผนจุดปลาย REST สำหรับการเปลี่ยนแปลงที่คาดการณ์ไว้คืออะไร
การพยายามออกแบบ API สำหรับแอปพลิเคชันภายนอกที่มีการคาดการณ์ล่วงหน้าสำหรับการเปลี่ยนแปลงนั้นไม่ใช่เรื่องง่าย แต่การคิดล่วงหน้าเล็กน้อยจะทำให้ชีวิตง่ายขึ้นในภายหลัง ฉันกำลังพยายามสร้างโครงร่างที่จะรองรับการเปลี่ยนแปลงในอนาคตในขณะที่ยังคงเข้ากันได้แบบย้อนกลับโดยปล่อยให้ตัวจัดการเวอร์ชันก่อนหน้าเข้าแทนที่ ข้อกังวลหลักของบทความนี้คือรูปแบบใดที่ควรปฏิบัติตามสำหรับจุดสิ้นสุดที่กำหนดไว้ทั้งหมดสำหรับผลิตภัณฑ์ / บริษัท ที่กำหนด โครงการฐาน ได้รับเทมเพลต URL ฐานของhttps://rest.product.com/ผมได้วางแผนว่าบริการทั้งหมดอาศัยอยู่ภายใต้/apiพร้อมกับ/authและปลายทางที่ไม่ใช่ส่วนที่เหลืออื่น ๆ /docเช่น ดังนั้นฉันสามารถสร้างจุดปลายพื้นฐานดังนี้: https://rest.product.com/api/... https://rest.product.com/auth/login https://rest.product.com/auth/logout https://rest.product.com/doc/... จุดบริการ ตอนนี้สำหรับปลายทางเอง ความกังวลเกี่ยวกับPOST, GET, DELETEไม่ได้เป็นวัตถุประสงค์หลักของบทความนี้และเป็นกังวลกับการกระทำเหล่านั้นเอง จุดปลายสามารถแบ่งออกเป็นเนมสเปซและการกระทำได้ แต่ละการกระทำจะต้องนำเสนอตัวเองในวิธีที่จะสนับสนุนการเปลี่ยนแปลงขั้นพื้นฐานในประเภทผลตอบแทนหรือพารามิเตอร์ที่จำเป็น การใช้บริการแชทสมมุติที่ผู้ใช้ที่ลงทะเบียนสามารถส่งข้อความเราอาจมีจุดสิ้นสุดดังต่อไปนี้: https://rest.product.com/api/messages/list/{user} https://rest.product.com/api/messages/send ตอนนี้เพื่อเพิ่มการรองรับเวอร์ชันสำหรับการเปลี่ยนแปลง API ในอนาคตซึ่งอาจแตกหัก เราสามารถเพิ่มลายเซ็นเวอร์ชันหลังจาก/api/หรือหลังจาก/messages/นั้น เมื่อกำหนดsendจุดสิ้นสุดเราจะได้สิ่งต่อไปนี้สำหรับ v1 https://rest.product.com/api/v1/messages/send https://rest.product.com/api/messages/v1/send ดังนั้นคำถามแรกของฉันคือสถานที่ที่แนะนำสำหรับตัวระบุรุ่นคืออะไร ผู้จัดการรหัสควบคุม ดังนั้นตอนนี้เราได้สร้างขึ้นแล้วเราจำเป็นต้องสนับสนุนเวอร์ชันก่อนหน้าดังนั้นเราจึงต้องจัดการกับรหัสสำหรับเวอร์ชั่นใหม่แต่ละเวอร์ชั่นซึ่งอาจเลิกใช้ไปตามกาลเวลา สมมติว่าเรากำลังเขียนจุดปลายใน Java เราสามารถจัดการสิ่งนี้ผ่านแพ็คเกจ package com.product.messages.v1; public interface MessageController { …

6
วิธีแก้ไขโครงการที่ไม่มีโครงสร้างโดยทั่วไป
ฉันทำงานเกี่ยวกับโปรเจคซอฟต์แวร์เป็นส่วนใหญ่มานานกว่า 5 ปีแล้ว มันเป็นความยุ่งเหยิงที่จะเริ่มต้นด้วย (ฉันเป็นนักพัฒนาที่สามหรือสี่ที่จะทำงานกับมัน) และแม้ว่ามันจะเป็นระเบียบน้อยกว่าตอนนี้มันยังคงไม่เป็นระเบียบ อัตราความคืบหน้าในการควบคุมมันเป็นน้ำแข็งและฉันเริ่มรู้สึกท้อแท้กับสถานะที่มันเข้ามาฉันจะเริ่มแก้ไขได้อย่างไร ข้อมูลเฉพาะของโครงการ: เป็นโปรแกรมการขายที่เขียนขึ้นเกือบทั้งหมดใน Visual Basic Classic (VB6) ที่มีแบ็คเอนด์ MySQL และเครื่องมือการรายงานที่เขียนใน C # โมดูลการรายงาน C # นั้นมีความสุขที่ได้ทำงานมันเป็นเพียงการเขียนในช่วงสองสามปีที่ผ่านมาและก่อนหน้านั้นรายงานทั้งหมดได้ทำใน Crystal Reports 9 (ใช่เรายังมีรายงานบางส่วนที่ต้องใช้) อย่างไรก็ตามโปรแกรมจริงนั้นเป็นหายนะที่สมบูรณ์ มีทั้งหมด LOC ค่อนข้างไม่เกิน 90k และความคิดเห็นประมาณ 10k บรรทัด (ส่วนใหญ่ไม่ใช่เอกสาร แต่เป็นรหัสเก่าที่แสดงความคิดเห็น) 158 ไฟล์ฟอร์มและ 80 ไฟล์โมดูล ฉันไม่ทราบเลยว่ามีการใช้งานจริงกี่รายการเพราะคุณสมบัติบางอย่างของโปรแกรมนั้นถูกคัดค้านและ (เอ่อบางครั้ง) ตั้งข้อสังเกตเช่นนี้โดยไม่ต้องลบรหัสที่เกี่ยวข้องออกจากโปรแกรม ฉันเดาว่ารหัส 50% เท่านั้นที่ใช้งานได้จริง ฉันกลัวที่จะสัมผัสรหัสจำนวนมากเพียงเพราะฉันไม่แน่ใจว่าฉันทำลายสิ่งที่ลูกค้าที่ไม่ชัดเจนคนใดคนหนึ่งต้องพึ่งพามันเกิดขึ้นในหลายครั้งเกินกว่าที่ฉันจะนับได้ มันเหมือนกับว่ามีทุ่นระเบิดเกลื่อนกลาดอยู่ทั่วทั้งรหัส ไม่มีโครงสร้างใด ๆ …

4
ฉันจะเพิ่มฟังก์ชันการทำงานให้กับวัตถุที่มีอยู่แล้วได้อย่างไร
ฉันมีอินเทอร์เฟซที่มีฟังก์ชันการทำงานที่กำหนดไว้จำนวนหนึ่ง สมมติว่า: interface BakeryInterface { public function createCookies(); public function createIceCream(); } สิ่งนี้ทำงานได้ดีสำหรับการนำไปใช้งานส่วนใหญ่ของอินเทอร์เฟซ แต่ในบางกรณีฉันต้องเพิ่มฟังก์ชันใหม่บางอย่าง (เช่นอาจรีดเป็นวิธีใหม่createBrownies()) วิธีการที่ชัดเจน / ไร้เดียงสาในการทำเช่นนี้คือการขยายส่วนต่อประสาน: interface BrownieBakeryInterface extends BakeryInterface { public function createBrownies(); } แต่มีข้อเสียใหญ่ที่ฉันไม่สามารถเพิ่มฟังก์ชั่นใหม่โดยไม่ต้องปรับเปลี่ยน API ที่มีอยู่ (เช่นการเปลี่ยนคลาสเพื่อใช้อินเทอร์เฟซใหม่) ฉันกำลังคิดเกี่ยวกับการใช้อะแดปเตอร์เพื่อเพิ่มฟังก์ชันการทำงานหลังจาก instantiation: class BrownieAdapter { private brownieBakery; public function construct(BakeryInterface bakery) { this->brownieBakery = bakery; } public function createBrownies() …

5
การพิจารณาว่าอัลกอริทึมเป็น O (บันทึก n)
ฉันรีเฟรช CS Theory ของฉันและฉันต้องการทราบวิธีระบุความซับซ้อนของอัลกอริทึม O (log n) โดยเฉพาะมีวิธีง่าย ๆ ในการระบุหรือไม่ ฉันรู้ด้วย O (n) คุณมักจะมีวงเดียว; O (n ^ 2) เป็นวงคู่ O (n ^ 3) เป็นสามวงเป็นต้นแล้ว O (log n) เป็นอย่างไร

5
ฉันจะใช้แนวคิด OOP เพื่อสร้างแอปพลิเคชันเว็บที่เรียบง่าย แต่มีอยู่จริงได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการ4 ปีที่แล้ว ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันพยายามมาเป็นเวลานานแล้วที่จะปิดหัว OOP ฉันเห็นข้อดีของมัน ฉันได้อ่านแบบฝึกหัดจำนวนมากและดูวิดีโอในหัวข้อที่เท่ากัน ฉันได้ตัวอย่างสัตว์ / แมว / สุนัขฉันได้รับตัวอย่างรถยนต์ / ไดรฟ์ สิ่งที่ฉันกำลังดิ้นรนคือจะใช้แนวคิดเหล่านี้ในแอปพลิเคชันที่ใช้งานจริง ดังนั้นฉันได้กำหนดให้สร้างโดยใช้ OOP ฉันไม่ได้ขอความช่วยเหลือเกี่ยวกับไวยากรณ์หรือการเขียนรหัสเฉพาะ - ฉันสามารถพบว่าตัวเองในเอกสารและโดยการค้นหาฟอรั่ม ฯลฯ สิ่งที่ฉันต้องการจริงๆคือแนวทางและการผลักดันในทิศทางที่ถูกต้องทุกครั้ง มีโปรแกรมเมอร์โปรแกรมเมอร์คนใดที่เต็มใจให้คำปรึกษากับฉันหรือไม่? ในฐานะที่เป็นโครงการเรียนรู้ของฉันฉันต้องการที่จะสร้างคลาสสิฟายด์ "app เว็บ" สิ่งที่คล้ายกับ Craigslist แต่มีวิธีการลดลงในแง่ของขอบเขต ฉันต้องการใช้ PHP5 และ MySQL เพราะฉันคุ้นเคยกับพวกเขา สมมติว่ามีเพียง 2 กรณีใช้งาน: โพสต์บางสิ่งเพื่อขาย การสืบค้น / ค้นหาสิ่งที่จะซื้อ สิ่งที่ …

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

2
อะไรคือ“ การกระจาย” สำหรับ LGPL v3
ฉันกำลังพิจารณาซอฟต์แวร์ใหม่บางตัวในแอปพลิเคชันเว็บ LGPL ฉันต้องการใช้ซอฟต์แวร์ใหม่นี้เพื่อสร้างเว็บไซต์หนึ่งแห่งสำหรับนายจ้างของฉันและเราไม่ต้องการขายหรือแจกจ่ายซอฟต์แวร์เองให้ใคร การเผยแพร่หน้าเว็บจากซอฟต์แวร์ LGPL ถือเป็นการ "แจกจ่าย" ในใบอนุญาตดังนั้นฉันจะต้องเผยแพร่การเปลี่ยนแปลงของเราในรหัส LGPL ด้วยหรือไม่ ฉันเข้าใจว่าไม่มีคุณเป็นทนายดังนั้น IANAL จึงบอกเป็นนัย ฉันเข้าใจด้วยว่าฉันสามารถติดต่อผู้พัฒนาซอฟต์แวร์ LGPL และขอใบอนุญาตอื่นได้

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

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

4
Crossfade ที่สมบูรณ์แบบ
ฉันพบว่ามันยากที่จะอธิบายปัญหานี้ด้วยคำพูดซึ่งเป็นสาเหตุที่ฉันสร้างวิดีโอ (45 วินาที) เพื่ออธิบาย นี่คือตัวอย่างของคำถามโปรดดูได้ที่ Vimeo: http://vimeo.com/epologee/perfect-crossfade ปัญหาของการสร้าง crossfade ที่ไร้ที่ติหรือละลายสองภาพหรือรูปร่างได้เกิดขึ้นกับฉันในหลายสาขาในช่วงทศวรรษที่ผ่านมา ที่หนึ่งในการตัดต่อวิดีโอจากนั้นใน Flash animation และตอนนี้ในการเขียนโปรแกรม iOS เมื่อคุณเริ่ม googling มีหลายวิธีแก้ไข แต่ฉันต้องการแก้ปัญหานี้โดยไม่แฮ็คในครั้งนี้ สรุป: อะไรคือชื่อของเทคนิคหรือเส้นโค้งที่จะนำไปใช้ในการผสมบิตแมปบิตแมปกึ่งโปร่งใสสองสีหากคุณต้องการความโปร่งใสที่เกิดขึ้นให้ตรงกับต้นฉบับของทั้งสอง มีฟังก์ชั่น (ทางคณิตศาสตร์) ในการคำนวณค่าความโปร่งใส / ค่าอัลฟาบางส่วนที่จำเป็นในระหว่างการจางหรือไม่? จะมีภาษาโปรแกรมที่มีฟังก์ชั่นเหล่านี้เป็นที่ตั้งไว้คล้ายกับease in, ease outหรือease in outฟังก์ชั่นที่พบใน ActionScript หรือโกโก้? อัปเดต:นอกเหนือจากวิดีโอฉันได้ทำโครงการตัวอย่าง (ต้องใช้ Xcode และ iOS SDK) และโพสต์ลงบน GitHub มันแสดงภาพเคลื่อนไหวเดียวกับวิดีโอ แต่คราวนี้มีสี่เหลี่ยม: https://github.com/epologee/StackOverflow-Example-Code

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

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