Aditya Chatterjee's Blog, page 99
April 5, 2022
typedef vs using in C++
typedef and using in C++: Two ways to a cleaner code
Table of contents:
IntroductionDeclaring AliasesKey DifferencesConclusionIntroductionIn this article, we will explore the differences between the two type aliases in C++ - typedef and using.
In a nutshell, you rename an existing type, such as int, to Photo.They assist you with writing code that is clear, concise, and easy to understand.
Consider the following example,
While working in a library, two functions are created
April 4, 2022
Simulated Annealing
In this article, we will understand what simulated annealing is and get to know its uses in Probability and Data Science.
Table of contentsWhat is simulated annealing?AlgorithmAdvantages and disadvantagesWhat is simulated annealing?
In a situation like shown above, the gradient descent gets stuck at the local minima if it started at the indicated point. It wouldn't further be able to reach the global minima. In cases like these, simulated annealing proves useful.
Simulated annealing is a...
Monte Carlo Sampling Techniques
In this article, we will explore the various Monte Carlo sampling techniques used in Probability and Data Science.
Table of contentsWhat are Monte Carlo techniques?Different Monte Carlo techniques for sampling* Importance Sampling
* Rejection Sampling
* Markov chain Monte Carlo (MCMC) sampling
What are Monte Carlo techniques?
Monte Carlo techniques are a group of computational algorithms for sampling probability distributions in a random manner. These were first used to solve the complicat...
Dapper in System Design
In this article, we have explored what is Dapper, key concepts in Dapper and how Dapper is used in System Design.
Table of contents:
Introduction to DapperDesign PrinciplesDistributed tracing in DapperTrace collection processGeneral purpose Dapper toolsUsage of DapperIntroduction to DapperDapper is a distribution tracing solutions developed by Google to provide their developers with more information about the behavior of complex distributed systems. Distributed systems are difficult to ...
Gated check in
A gated check-in is a software integration pattern used to avoid breaking a build. It triggers an automated build before code is checked in, if the build fails, it is not checked in until all issues are fixed, otherwise, it is merged to the main branch.
Table of contents.Introduction.How it works.Reasons for gated check-ins.Issues with gated check-ins.Summary.References.Introduction.A gated check-in also referred to as gated commit or pre-tested commit is a commit with a condition. It ...
April 3, 2022
Types of System Testing
System testing is the third phase of software testing in the software testing hierarchy, other phases are unit testing, integration testing and acceptance testing. In this article, we learn about system testing, the process of system testing, the different types of system testing, and the reasons to perform system testing.
Table of contents.Introduction.Test plan.System testing process.Types of system testing.Reasons for system testing.Summary.References.Introduction.System testing is...
Nightly / Daily build
A nightly build is an automatic build that takes place when nobody is around, usually at night or during lunch hour. It is automated by a script that ensures no bugs were introduced and all dependencies are available.
Table of contents.Introduction.When we might need nightly builds.How to perform a nightly build.Advantages of nightly builds.Summary.References.Introduction.A nightly build is an automatic build that takes place when nobody is around, usually at night. This build comprise...
virtualenvwrapper in Python
April 2, 2022
Functional testing
In functional testing, we test software to ensure that it fulfills all functional requirements as specified in the business document. In this article, we learn about functional testing, why we should test the functionality of an application, the process of testing, types of testing, and some of the tools used for functional testing.
Table of contents.Introduction.Why test?Functional testing process.Types of functional testing.Functional testing tools.Summary.References.Introduction.Fu...
Black box vs White box testing
Testing software is the fifth phase in the Software Development Life Cycle(SDLC). We test software to ensure safety, security, product quality, no bugs are present, usability, etc. In this article, we learn about black box and white box testing.
In black-box testing, we perform tests without any knowledge of the internal functioning of the applic...