The Roles of Symmetry And Orthogonality In DesignSystem-specific adapters may require custom handling • Exceptional events may require special processing • Custom or adaptive behavior may invoke novel execution paths Guarantee • Inviolate principle may require special processing • Custom or adaptive behavior may invoke novel execution paths • Examples: • Prefer generalized solution, but plugin API allows for custom processing (such as hardware offloading) may require special processing • Custom or adaptive behavior may invoke novel execution paths • Examples: • Prefer generalized solution, but plugin API allows for custom processing (such as hardware offloading)0 码力 | 151 页 | 3.20 MB | 6 月前3
Boosting Software Efficiencyhave a remote access. ❑ I had an event mechanism (RAM). 107PROBLEMS & SOLUTIONS ❑ I had standard application logs. ❑ I didn’t have a remote access. ❑ I had an event mechanism (RAM). 108PROBLEMS & SOLUTIONS remote access. ❑ I had an event mechanism (RAM). 109PROBLEMS & SOLUTIONS 110 When the unit wakes up, send the last 100 lines from the application log to the backend using the event service.PROBLEMS & SOLUTIONS When the unit wakes up, send the last 100 lines from the application log to the backend using the event service.Good example to good enough solution 112 80% result / 20% effortPROBLEMS 113 ⊡ Unexplained0 码力 | 180 页 | 1.65 MB | 6 月前3
Continuous Regression Testing for Safer and Faster Refactoringinherent complexity of the real world and the continuous change of requirements result in large and complex software systems that are costly and dif�cult to maintain.” “In a suf�ciently long time horizon captured data Reports test progress Handles any errors32 Aurora Innovation Writing tests Test your complex software work�ows for any number of inputs by capturing values of variables and runtime of functions root_type Messages;52 Aurora Innovation Data ingestion w/ async processing53 Aurora Innovation Data ingestion w/ on-demand processing54 Aurora Innovation Data Retention Local Filesystem Backup Con�gurable0 码力 | 85 页 | 11.66 MB | 6 月前3
Quickly Testing Qt Desktop Applications With Approval Testsui->quitButton, &QPushButton::clicked, this, &SampleMainWindow::quit );55 Pitfall: Event processing in tests • Normally, Qt’s event loop processes events automatically – QCoreApplication::processEvents() • #define APPROVALS_CATCH_QT #include "ApprovalTestsQt.hpp"62 Checking Table Contents • Inherited complex code to set up a table • Want to add at least a first test – of the text in the cells63 [Demo]660 码力 | 77 页 | 6.96 MB | 6 月前3
Back to Basics: ConcurrencySeymour Cray pioneers pipelining ○ 1972 - CDC 8600 Multiprocessor ○ 1975 - Cray-1 pioneered vector processing (i.e. SIMD)Now for code...(almost) Let’s see our first mechanism for concurrent programming 37 advantage of your graphics hardware) ○ You may need to use a series of threads to otherwise resolve complex computations on your CPU where decisions may need to be made. ● Using threads to separate work exception, or a programmer updates to the following So this code will also deadlock! Consider the more complex case where some ‘exception’ is thrown and we ‘forget’ to also release the lock in catch. You could0 码力 | 141 页 | 6.02 MB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the Flythe modification of the auto keyword semantics gives us more confidence in manipulating extremely complex template types. At the same time, a lot of enhancements have been made to the language runtime. which does not help us to quickly encode, especially when we are faced with a large number of complex template types, we must indicate the type of variables to proceed. Subsequent coding, which not unpacked. So far there is no simple way to process the parameter package, but there are two classic processing methods: 1. Recursive template function Recursion is a very easy way to think of and the most0 码力 | 92 页 | 1.79 MB | 1 年前3
Conan 2.3 Documentationlibraries, binaries) from the build and source folder to a predetermined place and maybe do some post-processing of those artifacts. This will work without changes in your CMakeLists.txt because Conan will set feedback from users was gathered, and it became evident than in C++ the versioning scheme is often more complex, and users were demanding more flexibility, allowing versions like 1.2.3.a.8 if necessary. Conan multiple conditions with the OR operator, like requires = "pkg/[>1 <2.0 || ^3.2]" but this kind of complex expressions is not recommended in practice and should only be used in very extreme cases. Finally0 码力 | 748 页 | 4.65 MB | 1 年前3
Conan 2.5 Documentationlibraries, binaries) from the build and source folder to a predetermined place and maybe do some post-processing of those artifacts. This will work without changes in your CMakeLists.txt because Conan will set feedback from users was gathered, and it became evident than in C++ the versioning scheme is often more complex, and users were demanding more flexibility, allowing versions like 1.2.3.a.8 if necessary. Conan multiple conditions with the OR operator, like requires = "pkg/[>1 <2.0 || ^3.2]" but this kind of complex expressions is not recommended in practice and should only be used in very extreme cases. Finally0 码力 | 769 页 | 4.70 MB | 1 年前3
Conan 2.2 Documentationlibraries, binaries) from the build and source folder to a predetermined place and maybe do some post-processing of those artifacts. This will work without changes in your CMakeLists.txt because Conan will set feedback from users was gathered, and it became evident than in C++ the versioning scheme is often more complex, and users were demanding more flexibility, allowing versions like 1.2.3.a.8 if necessary. Conan multiple conditions with the OR operator, like requires = "pkg/[>1 <2.0 || ^3.2]" but this kind of complex expressions is not recommended in practice and should only be used in very extreme cases. Finally0 码力 | 718 页 | 4.46 MB | 1 年前3
Conan 2.4 Documentationlibraries, binaries) from the build and source folder to a predetermined place and maybe do some post-processing of those artifacts. This will work without changes in your CMakeLists.txt because Conan will set feedback from users was gathered, and it became evident than in C++ the versioning scheme is often more complex, and users were demanding more flexibility, allowing versions like 1.2.3.a.8 if necessary. Conan multiple conditions with the OR operator, like requires = "pkg/[>1 <2.0 || ^3.2]" but this kind of complex expressions is not recommended in practice and should only be used in very extreme cases. Finally0 码力 | 769 页 | 4.69 MB | 1 年前3
共 216 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22













