Skip to content

Commit

Permalink
software development comprehensive guide
Browse files Browse the repository at this point in the history
  • Loading branch information
santhalakshminarayana committed Nov 14, 2024
1 parent adbd706 commit cfbedf2
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
6 changes: 3 additions & 3 deletions posts/software-development-comprehensive-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ HLD includes defining components like services, databases, types of interfaces,
### SOLID
- **Single Responsibility Principle (SRP)**: A component must serve one functionality to reduce coupling and increase cohesion.
- **Open-Closed Principle**: Closed for modification but open for extension. Modifying the code makes other parts change. Code should not be altered for new changes and design should be preserved.
- **Liskov Substitution Principle**: Componenets interacts through contract.
- **Liskov Substitution Principle**: Components interacts through contract.
- **Interface Segregation Principle**: A set of small pieces contribute to a much larger component. Break down the large interfaces into small ones if they are used by multiple classes. This means clients do not need to use unnecessary methods that they don't have.
- **Dependency Inversion Principle**: Dependency between low and high-level modules should be based on abstraction. If Class A depends on Class B, then create an interface I that Class B should satisfy and make Class A depend on the interface rather than the concrete class.

Expand Down Expand Up @@ -332,7 +332,7 @@ Architectural patterns are high-level reusable solutions for common software des
## Distributed systems
Distributed systems are multiple systems running independently that aim to solve a common business problem.

#### Characteristics and Advantages
**Characteristics and Advantages**
- Easy Scalability
- Separation of functionality
- Fault-tolerant by minimizing the failures
Expand Down Expand Up @@ -728,7 +728,7 @@ Microservices are full cohesive small autonomous components that provide indepen
- Replicate data by processing the transactional logs committed to the DB.
- Real-time data consistency with minimal delay and requires less network bandwidth and resources.
- Entirely depends on the source database type (MySQL, PgSQL) for generating logs and format which is not suitable for polyglot databases (SQL to NoSQL syncing) or requires special processing.
- Compared to *Transactional* syncing, the syncing steps and complexity are less with low latency.
- Compared to **Transactional** syncing, the syncing steps and complexity are less with low latency.
- **Multi Merge**:
- Merge data updates from multiple sources to each replica by effectively resolving merge conflicts.
- Multi-leader environments need this type of replication as multiple nodes handle parallel updates.
Expand Down
42 changes: 21 additions & 21 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url><loc>https://santhalakshminarayana.github.io</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/about</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/advanced-golang-memory-model-concurrency</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/build-blog-with-nextjs-mdx-and-deploy-to-github-pages</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/chromatic-adaptation</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/color-science</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/color-theory</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/concurrency-patterns-python</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/create-a-notes-app-with-flutter</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/doppalf-rag-powered-ai-chatbot</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/go-gotchas-and-good-practices</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/mysql-performance-optimization-techniques</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/retinex-image-enhancement</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/retinex-theory-of-color-vision</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/software-development-comprehensive-guide</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-cython</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-good-practices</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-multi-processing</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-numba</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-why-python-slow</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/whiteboard-image-enhancement-opencv-python</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-12T11:02:38.118Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/about</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/advanced-golang-memory-model-concurrency</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/build-blog-with-nextjs-mdx-and-deploy-to-github-pages</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/chromatic-adaptation</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/color-science</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/color-theory</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/concurrency-patterns-python</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/create-a-notes-app-with-flutter</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/doppalf-rag-powered-ai-chatbot</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/go-gotchas-and-good-practices</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/mysql-performance-optimization-techniques</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/retinex-image-enhancement</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/retinex-theory-of-color-vision</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/software-development-comprehensive-guide</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-cython</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-good-practices</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-multi-processing</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-numba</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/super-fast-python-why-python-slow</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
<url><loc>https://santhalakshminarayana.github.io/blog/whiteboard-image-enhancement-opencv-python</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2024-11-14T17:10:32.616Z</lastmod></url>
</urlset>

0 comments on commit cfbedf2

Please sign in to comment.