Boosting Software Efficiency12 INTRO ❑ The talk today is about software development. ❑ I worked on a product for two years, and during this time, I drastically improved its capabilities. ❑ I wanted to share with you the journey Everything – Avoid Assumptions (Remember – my first impression)TAKE HOME MESSAGES Write Robust Software 174 Unexpected inputs are unavoidable, but don’t let your system crash – have safeguards in Proactive. 178 Don't Wait for Customer ComplaintsTAKE HOME MESSAGES Create Simple Software 179 Creating simple software is more challenging than making it complex.180 Thanks! Any questions? You can0 码力 | 180 页 | 1.65 MB | 6 月前3
Plug-in Based Software Architecture for RoboticsPickNik Robotics •I work with robotic arms •MoveIt Maintainer 3What is plugin architecture? Software Design Pattern that allows for developers to add functionality to a larger system without having application restart 8Some popular C++ projects that use plugins 9 ● Audio editing software ● Game Engines ● Image editing software ● Text Editors and IDEDesigning the components of the plugin architecture // Call the plan function return motion_planner->plan(start, goal); } } On construction of ClassLoader object, a dlopen system call will be made to load the plugin into memory0 码力 | 75 页 | 2.40 MB | 6 月前3
Powered by AI: A Cambrian Explosion for C++ Software Development Tools`University of Massachusetts Amherst Powered by AI: A Cambrian Explosion for C++ Software Development Tools Emery BergerCretaceous–Paleogene (K-Pg) extinction eventCretaceous–Paleogene (K-Pg) extinction0 码力 | 128 页 | 23.40 MB | 6 月前3
A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++iZotope Inc.Roth Michaels Principal Software Engineer, Architect Music Production Software iZotope Inc.iZotope real-time audio plug-ins | music, film, television, and radio iZotope Inc.iZotope real-time - Put all information together - Typesafe, compile time errors - Only create properties on construction Confidential property of iZotope Inc. Canvas Properties Simplify!m4? C macros? iZotope Inc0 码力 | 138 页 | 2.75 MB | 6 月前3
Peering Forward: C++'s Next Decade“cybersecurity” or similar) making software able to protect its assets from a malicious attacker examples: securing power grids, hospitals, banks, personal data, secrets, … Software safety (or “life safety” or or similar) making software free from unacceptable risk of causing unintended harm to humans, property, or the environment examples: hospital equipment, autonomous vehicles/weapons Programming language partially_ordered copyable A type that has copy/move construction/assignment basic_value A copyable type that has public default construction and destruction (generated if not user-written) and no0 码力 | 84 页 | 6.21 MB | 6 月前3
C++ Under the HoodMember Data Pointers, • Member Function Pointers, • * Stack Frame / Base Pointer mechanics • * Construction/Destruction order, • * Running code before and after main(), 3About Me: Chris Ryan, Bellevue com/in/chrisr98008 (No blind invites! Tell me how we know each other) • Classically trained in Hardware and Software Engineering, • Well experienced in Modern C++ (& Classic ‘C’ ***), • ISO C++ Standards Committee Under the Hood – Inheritance vs. Aggregation / Composite 9C++ Under the Hood – Inheritance & Construction 10C++ Under the Hood – Inheritance Hierarchy 11C++ Under the Hood – __v_table_ptr 1213 C++0 码力 | 168 页 | 13.55 MB | 6 月前3
Back to Basics: The Factory PatternAdd cover slide 1Please do not redistribute slides without prior permission. 2Software Design: Factory Pattern Mike Shah, Ph.D. @MichaelShah | mshah.io | www.youtube.com/c/MikeShah 2:00 pm MDT, My research in program analysis is related to performance building static/dynamic analysis and software visualization tools. ● I do consulting and technical training on modern C++, Concurrency, OpenGL My research in program analysis is related to performance building static/dynamic analysis and software visualization tools. ● I do consulting and technical training on modern C++, Concurrency, OpenGL0 码力 | 93 页 | 3.92 MB | 6 月前3
generic graph librariesAbout Us “Andrew Lumsdaine *。Principal Software Engineen TileDB, Inc and Affiliate Professon Paul G Allen School of Computer Science and Engineering, University of Washington *。 Andrew has worked in many computing, including systems, programming languages, software [tile] DB libraries, and large-scale graph analytics. Open-source software projects resulting from his work include the Matrix Template the Boost Graph Library and Open MPI. 。Phil Ratzloff *。Distinguished Software Developen SAS Institute *。Philis a Distinguished Software Developer and C++ advocate at SAS Institute. He has used C++ for 260 码力 | 76 页 | 6.59 MB | 6 月前3
Dependency Injection in C++• 21 years as a consultant • Bloomberg Ticker Plant Engineering Lead • Talks focus on practical Software Engineering • Based in the real world • Demonstrate applied principles • Take something away and stance->getProcessor(proc_tag); // ... return proc.apply(...); } Class Handler { }; Object construction isolated inside functionsBloomberg 53 Dependency Injection Hazards bool processA(Data& data Factory->getProcessor(proc_tag); // ... return proc.apply(...); } Class Handler { }; Object construction isolated inside functionsBloomberg 54 Applied Dependency Injection Dependency Injection roadblocks0 码力 | 106 页 | 1.76 MB | 6 月前3
Back to Basics: Classic 9STLalgorithms that can be combined with different data representations to produce a wide variety of useful software. — David Musser, Alexander Stepanov Generic Programming (1988) [emphasis mine] 11CppCon 2021 iterators – const_iterators permit only reading 39 Expression Action/Result Iter q(p) Copy construction q = p Copy assignment *p Write to position one time ++p Step forward, return new position capabilities of input iterators; usually, they provide more 40 Expression Action/Result Iter q(p) Copy construction q = p Copy assignment *p Read access to element one time p->mem Read access member of element0 码力 | 75 页 | 603.36 KB | 6 月前3
共 267 条
- 1
- 2
- 3
- 4
- 5
- 6
- 27













