Monolithic VS Microservices Architecture
In the realm of software architecture, the choice between Monolithic and Microservices can shape the destiny of your application. Let's break down the key differences in a nutshell! ๐งฉ
1. Monolithic Architecture ๐ฐ
- One Big Castle: Monoliths are like a majestic castle, where all components (database, server, user interface) are tightly knit into a single structure.
- Unified & Simple: Easy to develop and deploy due to its unified structure. Changes are made in one place, making coordination a breeze.
- Scaling Challenges: Scaling can be a challenge. When one aspect needs upgrading, the entire application must be scaled, even if only a small part requires more resources.
2. Microservices Architecture ๐
- City of Specialized Buildings: Microservices resemble a bustling city, with each service as a specialized building handling a distinct function.
- Scalability & Flexibility: Offers scalability on a per-service basis. If one part of the application needs more resources, you can scale just that service.
- Increased Complexity: As the number of services grows, managing the communication between them can become complex. Decentralization brings its own set of challenges.
โฌ๏ธWrite below in the comments which one you are using๐ค
In the realm of software architecture, the choice between Monolithic and Microservices can shape the destiny of your application. Let's break down the key differences in a nutshell! ๐งฉ
1. Monolithic Architecture ๐ฐ
- One Big Castle: Monoliths are like a majestic castle, where all components (database, server, user interface) are tightly knit into a single structure.
- Unified & Simple: Easy to develop and deploy due to its unified structure. Changes are made in one place, making coordination a breeze.
- Scaling Challenges: Scaling can be a challenge. When one aspect needs upgrading, the entire application must be scaled, even if only a small part requires more resources.
2. Microservices Architecture ๐
- City of Specialized Buildings: Microservices resemble a bustling city, with each service as a specialized building handling a distinct function.
- Scalability & Flexibility: Offers scalability on a per-service basis. If one part of the application needs more resources, you can scale just that service.
- Increased Complexity: As the number of services grows, managing the communication between them can become complex. Decentralization brings its own set of challenges.
โฌ๏ธWrite below in the comments which one you are using๐ค
#recruitment
Hello, friends!๐
Andersen announces recruitment for the QA MANUAL Trainee.
Locations*:
- Krakow, Wroclaw ๐ต๐ฑ
- Budapest๐ญ๐บ
- Batumi๐ฌ๐ช
- Almaty ๐ฐ๐ฟ
- Cherkasy, Chernihiv, Dnipro ๐บ๐ฆ
- Baku ๐ฆ๐ฟ
Requirements:
๐ENGLISH level Intermediate or higher (spoken communication);
๐good knowledge of testing theory;
๐understanding of SQL;
๐understanding of WEB / Mobile apps;
๐work experience is not required;
Will be a plus:
๐technical background, any experience in programming, completed courses in testing area;
๐GERMAN level Intermediate or higher (spoken communication). area.
โญ๏ธGuaranteed employment upon successful completion of training.
โ๏ธIf you are interested in an internship at the international company Andersen, we kindly ask you to fill in the FORM and follow the directions that will be sent to your email specified in the form.
Andersen is a great opportunity for your start and growth in IT๐
Hello, friends!๐
Andersen announces recruitment for the QA MANUAL Trainee.
Locations*:
- Krakow, Wroclaw ๐ต๐ฑ
- Budapest๐ญ๐บ
- Batumi๐ฌ๐ช
- Almaty ๐ฐ๐ฟ
- Cherkasy, Chernihiv, Dnipro ๐บ๐ฆ
- Baku ๐ฆ๐ฟ
Requirements:
๐ENGLISH level Intermediate or higher (spoken communication);
๐good knowledge of testing theory;
๐understanding of SQL;
๐understanding of WEB / Mobile apps;
๐work experience is not required;
Will be a plus:
๐technical background, any experience in programming, completed courses in testing area;
๐GERMAN level Intermediate or higher (spoken communication). area.
โญ๏ธGuaranteed employment upon successful completion of training.
โ๏ธIf you are interested in an internship at the international company Andersen, we kindly ask you to fill in the FORM and follow the directions that will be sent to your email specified in the form.
Andersen is a great opportunity for your start and growth in IT๐
๐จโ๐Awesome Learning๐จโ๐
ะ curated lists of awesome learning resources for a Software Test Automation Engineer
I have been into Software Testing role since last 14+ years, however I must tell you that my most of the time was spent in manual testing the applications. When I got into this role, specifically it was the time when there used to be a lot of desktop applications. I started my career in 2008, being a Commerce graduate and not knowing the basic alphabets of engineering, initially it was very difficult to understand what programming, testing, releases was all about! Thanks to all my mentors and guides, they helped me a lot to understand those basic concepts about testing and how the actual process works.
I have been asked by many about my career transformation journey from Manual Testing to a Test Automation Engineer, hence I thought of creating this repository which has the learning path I followed to become a Test Automation Engineer.
๐ Start studying ๐
ะ curated lists of awesome learning resources for a Software Test Automation Engineer
I have been into Software Testing role since last 14+ years, however I must tell you that my most of the time was spent in manual testing the applications. When I got into this role, specifically it was the time when there used to be a lot of desktop applications. I started my career in 2008, being a Commerce graduate and not knowing the basic alphabets of engineering, initially it was very difficult to understand what programming, testing, releases was all about! Thanks to all my mentors and guides, they helped me a lot to understand those basic concepts about testing and how the actual process works.
I have been asked by many about my career transformation journey from Manual Testing to a Test Automation Engineer, hence I thought of creating this repository which has the learning path I followed to become a Test Automation Engineer.
๐ Start studying ๐
Ever wondered how your computer securely communicates with a remote server? ๐ค
Let's dive into the magic behind SSH and unravel its secrets. ๐๐ป
1. What is SSH? ๐คทโโ๏ธ
SSH, or Secure Shell, is a cryptographic network protocol that enables secure communication between two devices over an unsecured network. It's like a secure tunnel for your data! ๐๐
2. Key Players: Public and Private Keys ๐
SSH uses a pair of cryptographic keys โ a public key (shared with the world) and a private key (kept super-secret). ๐คซ When you connect, these keys perform a digital handshake to ensure a secure connection. ๐ค๐
3. The Handshake Dance: Authentication ๐
The handshake involves your computer proving its identity using the private key, and the server verifying it using the corresponding public key. Think of it as a secret password exchange, but way cooler! ๐๐ต๏ธ
4. Encryption Enchantment: Securing the Chat ๐ก
Once the handshake is complete, SSH wraps your data in layers of encryption, ensuring that even if someone intercepts it, they'll find nothing but gibberish. ๐ค๐ก
5. Port Perfection: Default Port 22 ๐ช
SSH communicates through port 22 by default. It's like the entrance to your secure data party! ๐๐ช But beware, changing ports adds an extra layer of security. ๐ต๏ธโโ๏ธ๐
SSH is the superhero of secure communication, ensuring your data remains confidential, and the connection is trustworthy. ๐ฆธโโ๏ธ๐ผ Next time you SSH, remember the cryptographic dance happening in the background, making it all possible! ๐บ๐
Let's dive into the magic behind SSH and unravel its secrets. ๐๐ป
1. What is SSH? ๐คทโโ๏ธ
SSH, or Secure Shell, is a cryptographic network protocol that enables secure communication between two devices over an unsecured network. It's like a secure tunnel for your data! ๐๐
2. Key Players: Public and Private Keys ๐
SSH uses a pair of cryptographic keys โ a public key (shared with the world) and a private key (kept super-secret). ๐คซ When you connect, these keys perform a digital handshake to ensure a secure connection. ๐ค๐
3. The Handshake Dance: Authentication ๐
The handshake involves your computer proving its identity using the private key, and the server verifying it using the corresponding public key. Think of it as a secret password exchange, but way cooler! ๐๐ต๏ธ
4. Encryption Enchantment: Securing the Chat ๐ก
Once the handshake is complete, SSH wraps your data in layers of encryption, ensuring that even if someone intercepts it, they'll find nothing but gibberish. ๐ค๐ก
5. Port Perfection: Default Port 22 ๐ช
SSH communicates through port 22 by default. It's like the entrance to your secure data party! ๐๐ช But beware, changing ports adds an extra layer of security. ๐ต๏ธโโ๏ธ๐
SSH is the superhero of secure communication, ensuring your data remains confidential, and the connection is trustworthy. ๐ฆธโโ๏ธ๐ผ Next time you SSH, remember the cryptographic dance happening in the background, making it all possible! ๐บ๐
๐ป Lenovo unveils transparent laptop concept ๐ป
Lenovo showcased a transparent laptop concept at the recent Mobile World Congress (MWC) in Barcelona. This concept device, which has attracted significant attention, features a transparent display panel and a detachable, transparent keyboard.
The transparent display functions by overlaying graphics on the user's surroundings, effectively creating a form of augmented reality. While aesthetically pleasing and embodying futuristic design elements, the device's practical applications remain unclear.
Challenges and Considerations:
Limited Use Cases: The transparent display offers minimal benefit in typical laptop usage scenarios, where users often face walls or windows.
Sunlight Readability
Privacy Concerns: The rear of the device reflects the display, potentially revealing information viewed by the user.
Keyboard Functionality: The capacitive touch keyboard likely cannot compete with the feel and tactility of traditional keyboards.
Lenovo showcased a transparent laptop concept at the recent Mobile World Congress (MWC) in Barcelona. This concept device, which has attracted significant attention, features a transparent display panel and a detachable, transparent keyboard.
The transparent display functions by overlaying graphics on the user's surroundings, effectively creating a form of augmented reality. While aesthetically pleasing and embodying futuristic design elements, the device's practical applications remain unclear.
Challenges and Considerations:
Limited Use Cases: The transparent display offers minimal benefit in typical laptop usage scenarios, where users often face walls or windows.
Sunlight Readability
Privacy Concerns: The rear of the device reflects the display, potentially revealing information viewed by the user.
Keyboard Functionality: The capacitive touch keyboard likely cannot compete with the feel and tactility of traditional keyboards.
Key Browser Statistics: Picking Test-Worthy Browsers in 2024 ๐ป๐
Customer satisfaction is crucial for the success of your business, ะตspะตcially when you are in thะต highly compะตtitivะต digital world. And this competition will only continue to rise. Therefore, to outshinะต your competitors, itโs crucial to dะตvะตlop mind-blowing wะตb applications for your softwarะต products.
Whether itโs revamping an ะตxisting wะตbsitะต or building it from scratch, itโs important to ะตnsurะต it dะตlivะตrs a uniform ะตxpะตriะตncะต across various browsะตrs and opะตrating systะตms. Howะตvะตr, browsะตrs display wะตbsitะตs diffะตrะตntly due to varying browser engines. So, how can you dะตtะตrminะต if your wะตb app is compatiblะต with multiple browsะตrs? By conducting cross browsะตr compatibility tะตsting. This tะตsting ะตnsurะตs that your wะตbsitะต works sะตamlะตssly on both latest and legacy browsะตrs.
๐Read full article ๐
Customer satisfaction is crucial for the success of your business, ะตspะตcially when you are in thะต highly compะตtitivะต digital world. And this competition will only continue to rise. Therefore, to outshinะต your competitors, itโs crucial to dะตvะตlop mind-blowing wะตb applications for your softwarะต products.
Whether itโs revamping an ะตxisting wะตbsitะต or building it from scratch, itโs important to ะตnsurะต it dะตlivะตrs a uniform ะตxpะตriะตncะต across various browsะตrs and opะตrating systะตms. Howะตvะตr, browsะตrs display wะตbsitะตs diffะตrะตntly due to varying browser engines. So, how can you dะตtะตrminะต if your wะตb app is compatiblะต with multiple browsะตrs? By conducting cross browsะตr compatibility tะตsting. This tะตsting ะตnsurะตs that your wะตbsitะต works sะตamlะตssly on both latest and legacy browsะตrs.
๐Read full article ๐
Forwarded from ANDERSEN TRAINEE
#recruitment
Hello!
Andersen announces recruitment for the AQA Trainee (C#, JS, Python, Java) followed by employment.
Locations* :
AQA JS - Krakow, Gdansk, Wroclaw, Budapest, Batumi, Tbilisi, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
AQA Python - Krakow, Gdansk, Wroclaw, Budapest.
AQA C# - Krakow, Gdansk, Wroclaw, Budapest, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
AQA Java -Krakow, Gdansk, Wroclaw, Batumi, Tbilisi, Almaty, Budapest, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
*Including relocatees.
Requirements:
๐English level Intermediate or higher;
๐QA Manual experience and/or successfully completed courses in Software Manual Testing;
๐knowledge of the basics of autotesting tools;
๐any programming experience (C#, JS, Python, Java).
โญ๏ธGuaranteed employment upon successful completion of training.
โ๏ธIf you are interested in an internship at the international company Andersen, we kindly ask you to fill in the FORM and follow the directions that will be sent to your email specified in the form.
Andersen is a great opportunity for your start and growth in IT๐
Hello!
Andersen announces recruitment for the AQA Trainee (C#, JS, Python, Java) followed by employment.
Locations* :
AQA JS - Krakow, Gdansk, Wroclaw, Budapest, Batumi, Tbilisi, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
AQA Python - Krakow, Gdansk, Wroclaw, Budapest.
AQA C# - Krakow, Gdansk, Wroclaw, Budapest, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
AQA Java -Krakow, Gdansk, Wroclaw, Batumi, Tbilisi, Almaty, Budapest, Cherkasy, Dnipro, Odesa, Lviv, Chernihiv.
*Including relocatees.
Requirements:
๐English level Intermediate or higher;
๐QA Manual experience and/or successfully completed courses in Software Manual Testing;
๐knowledge of the basics of autotesting tools;
๐any programming experience (C#, JS, Python, Java).
โญ๏ธGuaranteed employment upon successful completion of training.
โ๏ธIf you are interested in an internship at the international company Andersen, we kindly ask you to fill in the FORM and follow the directions that will be sent to your email specified in the form.
Andersen is a great opportunity for your start and growth in IT๐
Media is too big
VIEW IN TELEGRAM
๐ถ Re-Inventing the API Client Bruno ๐ถ
Bruno is a Fast and Git-Friendly Opensource API client, aimed at revolutionizing the status quo represented by Postman, Insomnia and similar tools out there.
Bruno stores your collections directly in a folder on your filesystem. We use a plain text markup language, Bru, to save information about API requests.
You can use git or any version control of your choice to collaborate over your API collections.
Bruno is offline-only. There are no plans to add cloud-sync to Bruno, ever. We value your data privacy and believe it should stay on your device. Read our long-term vision here.
๐ Watch it on YouTube ๐
Bruno is a Fast and Git-Friendly Opensource API client, aimed at revolutionizing the status quo represented by Postman, Insomnia and similar tools out there.
Bruno stores your collections directly in a folder on your filesystem. We use a plain text markup language, Bru, to save information about API requests.
You can use git or any version control of your choice to collaborate over your API collections.
Bruno is offline-only. There are no plans to add cloud-sync to Bruno, ever. We value your data privacy and believe it should stay on your device. Read our long-term vision here.
๐ Watch it on YouTube ๐
Media is too big
VIEW IN TELEGRAM
CI/CD Systems - Information Software tester must know๐จโ๐๐
Continuous Integration/Continuous Deployment (CI/CD) systems revolutionize software development by automating the process of code integration, testing, and deployment. CI ensures that code changes are regularly merged into a shared repository, promoting collaboration and early detection of errors. CD extends this pipeline to automatically deploy code to production environments, minimizing manual intervention and reducing deployment risks.
CI/CD systems enhance development speed, quality, and reliability. Automated testing within the pipeline ensures that new code meets predefined standards and does not introduce regressions. This leads to faster feedback loops, enabling developers to address issues promptly. By automating repetitive tasks, developers can focus on innovation and code improvement rather than spending time on manual integration and deployment processes.
๐ Watch it on YouTube ๐
Continuous Integration/Continuous Deployment (CI/CD) systems revolutionize software development by automating the process of code integration, testing, and deployment. CI ensures that code changes are regularly merged into a shared repository, promoting collaboration and early detection of errors. CD extends this pipeline to automatically deploy code to production environments, minimizing manual intervention and reducing deployment risks.
CI/CD systems enhance development speed, quality, and reliability. Automated testing within the pipeline ensures that new code meets predefined standards and does not introduce regressions. This leads to faster feedback loops, enabling developers to address issues promptly. By automating repetitive tasks, developers can focus on innovation and code improvement rather than spending time on manual integration and deployment processes.
๐ Watch it on YouTube ๐
This media is not supported in your browser
VIEW IN TELEGRAM
18 most used Linux commands YOU MUST KNOW๐ง
- ls
- mv
- ssh
- cd
- cat
- sudo
- pwd
- grep
- top
-mkdir
- find
- wget
- rm
- chmod
- tar
- cp
- chwon
- gzip
- ls
- mv
- ssh
- cd
- cat
- sudo
- pwd
- grep
- top
-mkdir
- find
- wget
- rm
- chmod
- tar
- cp
- chwon
- gzip
Building a Load Testing Framework using K6.io
A series of useful articles on how to build a load testing framework using the K6 tool recently acquired by Grafana Labs.
๐ The Intro (Part 1)
๐ Using Configs and Environments (Part 2)
๐ Uploading Files (Part 3)
๐ Adding Assertions and Custom Metrics (Part 4)
A series of useful articles on how to build a load testing framework using the K6 tool recently acquired by Grafana Labs.
๐ The Intro (Part 1)
๐ Using Configs and Environments (Part 2)
๐ Uploading Files (Part 3)
๐ Adding Assertions and Custom Metrics (Part 4)
20 Usability Testing Tools & User Testing Software 2024
Choosing the right usability testing tool can be overwhelming. To save you time, money, and sanity we created our list of the 20 best remote usability testing tools. Find the perfect match for you!
6 factors we evaluated for each usability testing software:
Features
Best for use cases
Recruitment options
Cost
Offered support
User reviews
20 remote usability testing tools & user testing platforms:
1. UXtweak
2. UserZoom
3. Lookback
4. Hotjar
5. UserTesting
6. UsabilityHub
7. Optimal Workshop
8. Userlytics
9. Useberry
10. Userfeel
11. Userbrain
12. Loop 11
13. PlaybookUX
14. UXarmy
15. Maze
16. TryMyUI
17. Proven by Users
18. Crazy Egg
19. Userpeek
20. Ballpark
๐ See more information about this tools
Choosing the right usability testing tool can be overwhelming. To save you time, money, and sanity we created our list of the 20 best remote usability testing tools. Find the perfect match for you!
6 factors we evaluated for each usability testing software:
Features
Best for use cases
Recruitment options
Cost
Offered support
User reviews
20 remote usability testing tools & user testing platforms:
1. UXtweak
2. UserZoom
3. Lookback
4. Hotjar
5. UserTesting
6. UsabilityHub
7. Optimal Workshop
8. Userlytics
9. Useberry
10. Userfeel
11. Userbrain
12. Loop 11
13. PlaybookUX
14. UXarmy
15. Maze
16. TryMyUI
17. Proven by Users
18. Crazy Egg
19. Userpeek
20. Ballpark
๐ See more information about this tools
Hello, friends!๐
Our QA community also appeared on LinkedIn:
โ Real cases: how to market yourself to an IT company?
โ QA news, research, and statistics โน
โ Unique content! ๐
โ Workshops๐ค
โ Meetups ๐ข
โ Case studies and expert opinions ๐จโ๐ซ
โ Manuals, checklists, and guides โ
โ Info about internship programs ๐ผ
โ Sparkling professional humor ๐
โ Answers to FAQs โ
โ Tips and life hacks ๐จโ๐ป
Follow us on ๐LinkedIn ๐
Our QA community also appeared on LinkedIn:
โ Real cases: how to market yourself to an IT company?
โ QA news, research, and statistics โน
โ Unique content! ๐
โ Workshops๐ค
โ Meetups ๐ข
โ Case studies and expert opinions ๐จโ๐ซ
โ Manuals, checklists, and guides โ
โ Info about internship programs ๐ผ
โ Sparkling professional humor ๐
โ Answers to FAQs โ
โ Tips and life hacks ๐จโ๐ป
Follow us on ๐LinkedIn ๐
๐๐ถ๐ ๐ ๐ฒ๐ฟ๐ด๐ฒ ๐๐ ๐ฅ๐ฒ๐ฏ๐ฎ๐๐ฒ
One of the most powerful Git features is branching. Yet, while working with it, we must integrate changes from one branch into another. The way how to do this can be different.
We have two ways to do it:
๐ญ. ๐ ๐ฒ๐ฟ๐ด๐ฒ
When you merge Branch A into Branch B (with ๐๐๐ ๐๐๐๐๐), Git creates a new merge commit. This commit has two parents, one from each branch, symbolizing the confluence of histories. It's a non-destructive operation, preserving the exact history of your project, warts, and all. Merges are particularly useful in collaborative environments where maintaining the integrity and chronological order of changes is essential. Yet, merge commits can clutter the history, making it harder to follow specific lines of development.
๐ฎ. ๐ฅ๐ฒ๐ฏ๐ฎ๐๐ฒ
When you rebase Branch A onto Branch B (with ๐๐๐ ๐๐๐๐๐๐), you're essentially saying, "Let's pretend these changes from Branch A were made on top of the latest changes in Branch B." Rebase rewrites the project history by creating new commits for each commit in the original branch. This results in a much cleaner, straight-line history. Yet, it could be problematic if multiple people work on the same branch, as rebasing rewrites history, which can be challenging if others have pulled or pushed the original branch.
So, when to use them:
๐น ๐จ๐๐ฒ ๐บ๐ฒ๐ฟ๐ด๐ถ๐ป๐ด ๐๐ผ ๐ฝ๐ฟ๐ฒ๐๐ฒ๐ฟ๐๐ฒ ๐๐ต๐ฒ ๐ฐ๐ผ๐บ๐ฝ๐น๐ฒ๐๐ฒ ๐ต๐ถ๐๐๐ผ๐ฟ๐, especially on shared branches or for collaborative work. It's ideal for feature branches to merge into a main or develop branch.
๐น ๐จ๐๐ฒ ๐ฟ๐ฒ๐ฏ๐ฎ๐๐ถ๐ป๐ด ๐ณ๐ผ๐ฟ ๐ฝ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น ๐ฏ๐ฟ๐ฎ๐ป๐ฐ๐ต๐ฒ๐ or when you want a clean, linear history for easier tracking of changes. Remember to rebase locally and avoid pushing rebased branches to shared repositories. Also, be aware ๐ป๐ผ๐ ๐๐ผ ๐ฟ๐ฒ๐ฏ๐ฎ๐๐ฒ ๐ฝ๐๐ฏ๐น๐ถ๐ฐ ๐ต๐ถ๐๐๐ผ๐ฟ๐. If your branch is shared with others, rebasing can rewrite history in a way that is disruptive and confusing to your collaborators.
One of the most powerful Git features is branching. Yet, while working with it, we must integrate changes from one branch into another. The way how to do this can be different.
We have two ways to do it:
๐ญ. ๐ ๐ฒ๐ฟ๐ด๐ฒ
When you merge Branch A into Branch B (with ๐๐๐ ๐๐๐๐๐), Git creates a new merge commit. This commit has two parents, one from each branch, symbolizing the confluence of histories. It's a non-destructive operation, preserving the exact history of your project, warts, and all. Merges are particularly useful in collaborative environments where maintaining the integrity and chronological order of changes is essential. Yet, merge commits can clutter the history, making it harder to follow specific lines of development.
๐ฎ. ๐ฅ๐ฒ๐ฏ๐ฎ๐๐ฒ
When you rebase Branch A onto Branch B (with ๐๐๐ ๐๐๐๐๐๐), you're essentially saying, "Let's pretend these changes from Branch A were made on top of the latest changes in Branch B." Rebase rewrites the project history by creating new commits for each commit in the original branch. This results in a much cleaner, straight-line history. Yet, it could be problematic if multiple people work on the same branch, as rebasing rewrites history, which can be challenging if others have pulled or pushed the original branch.
So, when to use them:
๐น ๐จ๐๐ฒ ๐บ๐ฒ๐ฟ๐ด๐ถ๐ป๐ด ๐๐ผ ๐ฝ๐ฟ๐ฒ๐๐ฒ๐ฟ๐๐ฒ ๐๐ต๐ฒ ๐ฐ๐ผ๐บ๐ฝ๐น๐ฒ๐๐ฒ ๐ต๐ถ๐๐๐ผ๐ฟ๐, especially on shared branches or for collaborative work. It's ideal for feature branches to merge into a main or develop branch.
๐น ๐จ๐๐ฒ ๐ฟ๐ฒ๐ฏ๐ฎ๐๐ถ๐ป๐ด ๐ณ๐ผ๐ฟ ๐ฝ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น ๐ฏ๐ฟ๐ฎ๐ป๐ฐ๐ต๐ฒ๐ or when you want a clean, linear history for easier tracking of changes. Remember to rebase locally and avoid pushing rebased branches to shared repositories. Also, be aware ๐ป๐ผ๐ ๐๐ผ ๐ฟ๐ฒ๐ฏ๐ฎ๐๐ฒ ๐ฝ๐๐ฏ๐น๐ถ๐ฐ ๐ต๐ถ๐๐๐ผ๐ฟ๐. If your branch is shared with others, rebasing can rewrite history in a way that is disruptive and confusing to your collaborators.