/2 When we ๐ฆ๐๐ซ๐ ๐ ๐๐ก๐๐ง๐ ๐๐ฌ from one Git branch to another, we can use โgit mergeโ or โgit rebaseโ. The diagram below shows how the two commands work.
/3 ๐๐ข๐ญ ๐๐๐ซ๐ ๐
This creates a new commit Gโ in the main branch. Gโ ties the histories of both main and feature branches.
Git merge is ๐ง๐จ๐ง-๐๐๐ฌ๐ญ๐ซ๐ฎ๐๐ญ๐ข๐ฏ๐. Neither the main nor the feature branch is changed.
/4 ๐๐ข๐ญ ๐๐๐๐๐ฌ๐
Git rebase moves the feature branch histories to the head of the main branch. It creates new commits Eโ, Fโ, and Gโ for each commit in the feature branch.
The benefit of rebase is that it has ๐ฅ๐ข๐ง๐๐๐ซ ๐๐จ๐ฆ๐ฆ๐ข๐ญ ๐ก๐ข๐ฌ๐ญ๐จ๐ซ๐ฒ.
/5 Rebase can be dangerous if โthe golden rule of git rebaseโ is not followed.
๐๐ก๐ ๐๐จ๐ฅ๐๐๐ง ๐๐ฎ๐ฅ๐ ๐จ๐ ๐๐ข๐ญ ๐๐๐๐๐ฌ๐
Never use it on public branches!
/6 ๐ Over to you: When do you usually use git rebase?
/7 I will provide a more in-depth analysis of this topic. Subscribe to our newsletter to get the latest update: bit.ly/3whEH2D
/1 8 Data Structures That Power Your Databases. Which one should we pick?
/2 The answer will vary depending on your use case. Data can be indexed in memory or on disk. Similarly, data formats vary, such as numbers, strings, geographic coordinates, etc. The system might be write-heavy or read-heavy.
/3 All of these factors affect your choice of database index format.
The following are some of the most popular data structures used for indexing data:
๐นSkiplist: a common in-memory index type. Used in Redis
/1 How do Visa ๐๐ข๐ฌ๐ฉ๐ฎ๐ญ๐ and ๐๐ก๐๐ซ๐ ๐๐๐๐๐ค work?
A dispute happens when a cardholder disagrees with a merchantโs charge. A chargeback is a process of reversing the charge. Sometimes, the two terms are used interchangeably.
/2 A dispute is ๐๐ฑ๐ฉ๐๐ง๐ฌ๐ข๐ฏ๐: for every dollar in disputed transactions, an additional $1.50 is spent on fees and expenses.
The diagram below shows why. ๐
/3 ๐น Steps 1-3: The cardholder Bob raises a dispute with the card issuer. Details are reviewed by the issuing bank. In cases of legitimate disputes, the issuing bank submits a chargeback request to the card network.
Big Bang Deployment is quite straightforward, where we roll out a new version in one go with service downtime. We roll back to the previous version if the deployment fails.
1/ Is it possible to run C, C++, or Rust on a web browser?
2/ What is ๐ฐ๐๐ ๐๐ฌ๐ฌ๐๐ฆ๐๐ฅ๐ฒ (WASM)? Why does it attract so much attention?
The diagram shows how we can run native C/C++/Rust code inside a web browser with WASM.
3/ Traditionally, we can only work with Javascript in the web browser, and the performance cannot compare with native code like C/C++ because it is interpreted.
The diagram below shows why ๐ซ๐๐๐ฅ-๐ญ๐ข๐ฆ๐ ๐ ๐๐ฆ๐ข๐ง๐ and ๐ฅ๐จ๐ฐ-๐ฅ๐๐ญ๐๐ง๐๐ฒ ๐ญ๐ซ๐๐๐ข๐ง๐ applications should not use microservice architecture.
/2 There are some common features of these applications, which make them choose monolithic architecture:
/3 ๐นThese applications are very ๐ฅ๐๐ญ๐๐ง๐๐ฒ-๐ฌ๐๐ง๐ฌ๐ข๐ญ๐ข๐ฏ๐. For real-time gaming, the latency should be at the milli-second level; for low-latency trading, the latency should be at the micro-second level.