Curated Video
Multi-Paradigm Programming with Modern C++ - Managing Memory
Classes in a hierarchy are almost always allocated on the heap. Managing memory manually is error prone. STL provides a set of smart pointers that make the task easier. • About RAII design pattern • Why prefer smart pointers to raw...
Curated Video
Multi-Paradigm Programming with Modern C++ - What Makes a Good Interface
Application programming interfaces are to programmer what UI is to the end user. Creating good interfaces improves modularity and promotes code reuse. • What is an API and why we need it? • What makes a good API? • How to design a good...
Programming Electronics Academy
Using tabs to organize code with the Arduino IDE
Did you know in the Arduino IDE that you can organize your code using different tabs? In this lesson, you’re gonna learn how to add these tabs, how they get organized in the Arduino sketch folder and how to use them in order to better...
Curated Video
Multi-Paradigm Programming with Modern C++ - Instantiating the Template
When we use a template, we instantiate it. Let’s create a type that performs fixed-point arithmetic, parameterized with templates. Then let’s support that type in our math library • Developing a fixed-point math class • Adding arithmetic...
Curated Video
Multi-Paradigm Programming with Modern C++ - Arguments and Return Values
How many arguments should a function have, and how to pass them properly? There are simple ways for making the functions even better. • How many arguments? • Passing by value, by reference and by pointer • Return values and other tips...
Curated Video
Creational Design Patterns in Modern C++ - Memory Management
This video demonstrates how to modify your implementation to use smart pointers to avoid the manual memory management. This clip is from the chapter "Prototype" of the series "Creational Design Patterns in Modern C++".This video provides...
Curated Video
Multi-Paradigm Programming with Modern C++ - Parallel STL
C++17 has introduced parallel STL. Many of the existing algorithms can now be executed in parallel. Parallelism can be enabled by specifying execution policies. In this video we will learn how existing algorithms can be parallelized with...
Curated Video
Multi-Paradigm Programming with Modern C++ - In Search of a Perfect Container
STL provides many containers, many of them similar. When to use std::vector, and when std::list? This video provides some answers. • Contiguous storage: array and vector • Details of std::vector, and why prefer vectors over lists •...
Curated Video
Multi-Paradigm Programming with Modern C++ - Designing Class Hierarchies
Inheritance is one of the cornerstone features of object-oriented design. We use it to represent a set of hierarchically organized concepts. How to design a good hierarchy? • Drawing a hierarchy • When to use inheritance and when to...
Curated Video
Multi-Paradigm Programming with Modern C++ - Writing Our First Coroutine
Writing a coroutine framework is not as simple as writing a function. In this video, we will try to create the simplest coroutine possible. This coroutine will do nothing useful, but we will implement all the required elements. • Writing...
Curated Video
Multi-Paradigm Programming with Modern C++ - On Programming Paradigms
C++ is a multi-paradigm programming language. We learn about different paradigms (styles), and how C++ supports them. • Programming styles supported by C++ • Criticism of C++ • Your C++ knowledge as a toolbox This clip is from the...
Curated Video
Multi-Paradigm Programming with Modern C++ - Specializing the Template
Our “equal” function uses an epsilon to compare values. This works well with floating point types, but it’s inefficient for fixed point. We can try to specialize the function template, but how to do this in a generic way? • The problem...
Curated Video
Multi-Paradigm Programming with Modern C++ - Shared Pointer
Shared_ptr is a reference-counting smart pointer. It’s less efficient than unique_ptr, but lets us forget about complexities of memory management, and helps avoid double delete bugs. • How shared_ptr works • Using shared_ptr and...
Curated Video
Multi-Paradigm Programming with Modern C++ - Putting It All Together
In this video we will see how useful the new coroutine framework is. We will take the example from Section 9, where we first calculate the average value, then use that value to find standard deviation and items above average in parallel....
Packt
Using Object.create
Object Oriented JavaScript - ES5 & ES2015: Using Object.create This clip is from the chapter "Object Oriented JavaScript - ES5 & ES2015" of the series "Modern JavaScript from the Beginning".In this section, you will learn the object...
Curated Video
Multi-Paradigm Programming with Modern C++ - Manipulating Data
Real-world programs manipulate data in numerous ways. You will need filtering, conversions, transformations, and so on. There is always a temptation to write a loop, but STL algorithms are preferable. • How many ways are there to write a...
Curated Video
Multi-Paradigm Programming with Modern C++ - Data Access Modes
It’s easy to use multiple threads in modern C++. Writing safe multi-threaded code, on the other hand, is not easy. The difficult part is accessing data. • Four modes of concurrent data access • Example of race condition • About...
Curated Video
Multi-Paradigm Programming with Modern C++ - What Makes a Good Function
A function should perform a single logical operation. Small functions are easy to maintain and promote code reuse. The most common anti-pattern is a function that does too many things. • Why small functions are good? • How small should a...
Curated Video
Multi-Paradigm Programming with Modern C++ - Constructors and Destructors
Constructors, destructors, and assignment operators are all about object’s lifetime. Sometimes they are automatically generated, sometimes not. This video, provides instructions on how to deal with them. • The rule of zero: Stick to the...
Curated Video
Creational Design Patterns in Modern C++ - Prototype Manager - Part I
This video is the first part of the two-part video that demonstrates how to implement the prototype manager. This clip is from the chapter "Prototype" of the series "Creational Design Patterns in Modern C++".This video provides an...
Curated Video
Multi-Paradigm Programming with Modern C++ - Entering Concepts
Templates make poor interfaces: typename is a wildcard. Concepts let us set requirements for template parameters. Template writer can easily describe what’s expected of the user. Concepts make template interface good. • About concepts:...
Curated Video
Multi-Paradigm Programming with Modern C++ - Using Lambdas
In this coding demo, we use lambda expressions to implement callbacks, for adding logger capability to the server, without increasing coupling. • About callbacks • Std::function • Using callbacks to implement logging in the server...
Curated Video
Multi-Paradigm Programming with Modern C++ - Dual Hierarchy Example
In this video we implement a dual hierarchy for server applications supporting multiple protocols • Overview of what we will implement • Implementing a hierarchy of servers • What we learned by implementing the hierarchy? This clip is...
Brainwaves Video Anthology
Alejandra Cabrera - Teaching in the Global Pandemic - Mexico
Alejandra Cabrera is a professor at Paccioli Xalapa University in Mérida, Yucatán, Mexico.