My plan is to pass the Practitioner Certification by March 31, 2022. If you like to combine video, text resources to learn and labs for essential practice. I settled on the following resources:
Image by @isaacmsmith
What is Chaos Engineering?
Chaos Engineering is about testing & increasing your system resilience.
- Resilience Definitions on merriam-webster.com
- the capability of a strained body to recover its size and shape after deformation caused especially by compressive stress
- an ability to recover from or adjust easily to misfortune or change
We test our system by intentionally causing failure in parts, such as saturating the host's CPU. During the failure, we measure the time to recovery and other metrics you would want to collect.
Image by @helloitsammiel
What are Tuples?
A Tuple is a container to hold multiple values which provide readable syntax when used appropriately. Tuples are available from C# 7 and later versions. There are two types of Tuples:
- Value Type
- Reference Type
Naturally, you might ask, what is the difference between Value Type and Reference Type?
The .NET runtime manages the memory for your application. It uses two distinct places to store data in memory, known as Stack and Heap. Any Value or Reference Type can end up either on Heap or Stack purely depending upon its usage.
Mental Model : Draw two different shapes in your head. One is fast & small, and the other is big & efficiently managed. Value Types are for small & superfast (Stack), and Reference Types for big & efficient (Heap).
I will not use Stack or Heap in rest of the post. Instead, I want you build a mental model based on two distinct memory regions.
Image by @kellysikkema
What is Agile?
Agile is being flexible in delivering Value to the customer. It is The Team sport. You must read Principles behind the Agile to deepen your understanding.
What is Value?
Solving customer problem is Value. Discussion on Value is always a great sign of a good team. But sometimes, Value is relative, depending upon the context.
Best Practices in Agile
The most important practice is experimenting with your approach to efficiently deliver the Most Value to the customer.
Image by @abrizgalov
Consider developing an application that requires you to store and retrieve data and display it on UI. You will likely need two things:
- Relational Data Management System (RDBMS) allows you to store and retrieve data permanently on disk(s) with specific promises.
- .NET is cross-platform, which allows you to develop different types of applications (web, console, mobile) using multiple languages (C#, F#).
Data Access in this context means making these two things (.NET & RDBMS) talk with each other. Users will interact with UI which is built using the .NET platform, which is going to learn how to talk with the database in its language (SQL).
.NET offers two different approaches to achieve data access?
- EF Core - An OR/M.
- .NET Native abstractions - without an OR/M
Image by @isaacmsmith
Query Store allows you to monitor and troubleshoot queries. It also provides stats about runtime such as CPU, IO and Memory.
Enable Query Store with default configuration using below SQL. It is enabled at database level.
SQL Server Enterprise offers scalable memory optimized relational tables. Yes, all data inside table will be loaded in memory. In-Memory tables has two flavors.
- Durable - Offers ACID
Ideas Matter Continuous Learning Culture
Adil Najam (Dean, Pardee School of Global Studies, Boston University) gave a talk on topic "Ideas Matter: A reading list for ideas wallahs". He passionately talked about his top 10 books everyone should read, especially folks who are in position of power and ability to influence masses. Focus of his talk was everyone should read books to be the catalyst of real social change & better policy maker.
I would like thank him for bringing immensely valuable topic to the light. My thoughts which are heavily influenced by my recent reading(s) & professionally working as software developer in small to large tech companies in different countries.
Knowledge and problems are two fundamental sources of how human(s) brain emulate idea(s), I guess other species do the same. This raises a fundamental question of how to gain knowledge, since books are an efficient way to store, and communicate knowledge among other modern & innovative ways like audible books, blogs, video and learning from each other etc.