Large-Scale C++ (Workshop): Applied Hierarchical Reuse Using Bloomberg's Foundation Libraries

Course Description

In this video training, John Lakos surveys problems associated with very large scale C++ development, and the cohesive techniques to address those problems, culminating in a proven component-based methodology refined through his practical experience at Bloomberg. The real-world application of this methodologyincluding three levels of aggregation, acyclic dependencies, nominal cohesion, fine-grained factoring, class categories, narrow contracts, and thorough component-level testingwill be demonstrated using the recently released open-source distribution of Bloomberg’s foundation libraries. After watching the video, viewers will be in an excellent position to selectively delve deeper into the various separate aspects of this comprehensive development methodology.

Learn How To

  • This course will provide step-by-step guidance about ethical hacking, penetration testing, and security posture assessment.
  • Provides an easy to use and cost effective means to learn the various concepts associated with many different leading-edge offensive security skills in the industry.
  • Provides multimedia tutorials that users can apply to real world scenarios.

Who Should Take This Course

Enterprise Architects, Team Leads, and Senior Software Developers looking to better understand how to organize and package their software to achieve more efficient, firm-wide (hierarchical) reuse.

Course Requirements

Some familiarity with developing fairly large software systems. A good (but not necessarily expert) understanding of the C/C++ family of programming languages.

About Pearson Video Training

Pearson’s expert-led video tutorials teach you the technology skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT certification, programming, web and mobile development, networking, security, and more. Learn more about Pearson Video training at http://www.informit.com/video

Lesson 1: Goals

In the first part of this talk, John distinguishes between fine-grained, hierarchical software reuse with the software reuse that is typical of our industry. He also compares the cost of creating highly reusable software (which hasveryhigh standards of design, implementation, documentation, and verification) to the benefits of that investment.

Lesson 2: Process and Architecture

In the second part of this talk, John differentiates between thelogicaldesign of software (in brief, the partitioning of software into classes and functions) and thephysicaldesign of software (the partitioning of software into files and libraries). He explains the pitfalls of ignoring the relationship between these two dimensions of software engineering and presents a set of principles and specific rules for the creation of components, packages (of components), and package groups (organization that supports the creation of highly reusable software).

Lesson 3: Design & Implementation

In the third part of this talk, John explores many aspects of implementing high quality software.He describes categorization of classes that enable users to solve application problems in terms of well-understood, standard types (a form of design pattern). Chief among these well-known types is thevalue-semantictype. The author’s exploration of design-by-contract shows how definingnarrowcontracts for our interfaces (i.e., contracts that allow for undefined behavior in some circumstances) make possible defensive programing techniques that help achieve correctness during development while avoiding needless checks in production. Finally, he shows documentation rules that have been applied rigorously and effectively over a very large and diverse set of libraries.

Lesson 4: Verification & Testing

The fourth part of this talk shows how organization of software into components that have no cyclic dependencies, all written to very clearly defined contracts, provides us with software units that are amenable to extremely comprehensive, scalable testing. Moreover, levelization reappears as a way to organize the testing of the many methods of individual classes.

Lesson 5: The Bloomberg Development (BDE)

The final part of this talk shows that the principles and rules presented in the first parts are not mere philosophical ideals but have been used to create the BDE libraries, foundation software for a major commercial enterprise. A portion of BDE is now available as open source, so this part provides a brief introduction to facilities that are available for reuse and study.

Omar Santos

Omar Santos is an active member of the cyber security community, where he leads several industry-wide initiatives and standards bodies. His active role helps businesses, academic institutions, state and local law enforcement agencies, and other participants dedicated to increasing the security of their critical infrastructures. Omar is the author of more than a dozen books and video courses, as well as numerous white papers, articles, and security configuration guidelines and best practices. Omar is a principal engineer of the Cisco Product Security Incident Response Team (PSIRT), where he mentors and leads engineers and incident managers during the investigation and resolution of cyber security vulnerabilities. Additional information about Omar’s current projects can be found at omarsantos.io, and you can follow Omar on Twitter: @santosomar.

When does the course start and finish?

The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.

How long do I have access to the course?

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.

What if I am unhappy with the course?

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

INR 5700

Buy Now

Share via

Ready to Begin?
Find subjects you're passionate about by browsing our online course categories. Start learning with top courses Built With Industry Experts.