Getting geeky with Git #7. Cherry Pick with Reflog

This entry is part 7 of 8 in the Getting geeky with Git

So far, we’ve covered a few different tools useful when rewriting the Git history, such as merging and rebasing. In this article, we go more in-depth and try cherry-picking. While doing so, we also learn how the reflog functionality works. Git Cherry Pick When we rebase or merge, we usually get all of the content of […]

JavaScript NestJS TypeScript

API with NestJS #12. Introduction to Elasticsearch

This entry is part 12 of 19 in the API with NestJS

We can find some searching functionalities in a lot of web applications. While we might be fine when iterating through a small data set, the performance for more extensive databases can become an issue. Relational databases might prove to be relatively slow when searching through a lot of data. A solution to the above problem […]

AWS JavaScript

Introduction to AWS Lambda. Managing a contact form with Simple Email Service

The serverless approach to building applications is getting more and more popular. It might be appealing to write and deploy code without worrying about the infrastructure underneath. Serverless computing still involves servers. The provider takes care of their maintenance entirely, though. We write event-driven functions that contain business logic. The provider charges us solely based […]


Getting geeky with Git #6. Interactive Rebase

This entry is part 6 of 8 in the Getting geeky with Git

In the previous part of this series, we’ve looked into how rebase can improve our merges. It is a lot more powerful, though, and can come in handy in other situations. In this article, we explore how to perform interactive rebasing. Introduction to the interactive rebase tool When doing an interactive rebase, we can modify existing […]

Git JavaScript

Generating changelog automatically with Standard Version

The creation of software usually takes place across multiple iterations, and our code changes often. Because of that, we need a way to describe this process with the use of versions. There are quite a few ways to do that. Recently the most widely adopted approach seems to be semantic versioning. It involves a sequence of […]


Getting geeky with Git #5. Improving merge workflow with rebase

This entry is part 5 of 8 in the Getting geeky with Git

Merging is not the only utility that can integrate changes from one branch onto another. In this article, we look into rebasing and learn how we can use it as an alternative to merging. The basics of rebasing In the previous part of this series, we’ve learned that merging can result in an additional merge commit. This […]


Getting geeky with Git #4. Fast-forward merge and merge strategies

This entry is part 4 of 8 in the Getting geeky with Git

When working with branches, we often need to synchronize our changes. When doing so, we can implement different approaches. In this article, we explain how merging works and discuss various situations. During that, we will touch on the subject of the fast-forward merging and different merge strategies. The basics of merging The job of the   command […]

Express JavaScript NestJS Testing TypeScript

API with NestJS #9. Testing services and controllers with integration tests

This entry is part 9 of 19 in the API with NestJS

In the previous part of this series, we’ve focused on unit tests. This time, we look into integration tests. In this article, we explain their principles and how they differ from unit tests. We write a few of them using Jest to test our services. We also look into the SuperTest library to test our controllers. […]