Skip to main content

Introduction

This repository contains my personal collection of notes, primarily focused on Computer Science, Software Engineering, and Backend Development. As I explore various topics in these areas, I document my learnings and publish them on this website.

If you come across any issues or errors in the notes, feel free to open an issue in the GitHub repository.

Content Table

Programming Fundamentals

  1. Programming Languages
    1. Python
      1. Introduction
      2. Python Basics
      3. Variable Scoping
      4. Common Data Structures in Python
      5. Loops, Control Structures, and Functions
      6. *args and **kwargs
      7. Standard Library
      8. Pythonic Code
      9. Object Oriented Programming (OOP)
      10. Exception Handling
      11. Context Manager
      12. File Handling
      13. Iterator and Generator
      14. Multithreading
      15. Multiprocessing, and Asyncio
      16. Asyncio
      17. Metaprogramming
      18. Decorator
      19. Unit Test
      20. Pytest
      21. Execution Flow
      22. Memory Management
      23. Reference Counting
      24. Generational Garbage Collection
      25. Package Managers
    2. JavaScript
      1. Introduction
      2. Variables
      3. Data Types
      4. Mutation
      5. Functions
      6. Conditions and Loops
      7. Asynchronous Programming
      8. Execution Context
      9. Call Stack
      10. Queues
      11. Event Loop
      12. Closures and Lexical Scoping
      13. Callbacks and Higher-Order Functions
      14. Currying and IIFE
      15. Prototypes and Inheritance
      16. Object Oriented Programming
      17. The this Keyword
      18. Type Coercion and Type Conversion
      19. use string
      20. Event Handling
      21. ES6 and Beyond
      22. Concurrency and Parallelism
    3. Go
      1. Introduction
      2. Packages and Modules
      3. Variable and Scope
      4. Mutation
      5. fmt Package
      6. Condition and Loops
      7. Functions
      8. Error Handling
      9. File Handling
      10. Pointers
      11. Structs and Custom Types
      12. Interfaces
      13. Array, Slices, and Maps
      14. Goroutines
        1. Introduction
        2. Wait Groups
        3. Mutex
        4. Channels
        5. Tips & Tricks

Framework and Libraries

  1. Frameworks and Libraries
    1. React
    2. Django
    3. Flask
    4. FastAPI

Data Structure and Algorithms

  1. Data Structure and Algorithms
    1. Algorithms
    2. Time and Space Complexity

Operating Systems

  1. Operating Systems

System Design and Databases

  1. Networking

    1. Protocols
    2. Communication Design Patterns
  2. Database

    1. SQL
      1. Introduction
      2. SELECT Queries
      3. Aggregations Queries
      4. GROUP BY Queries
      5. String, Date, and Time Operations
      6. Join Queries
      7. Subqueries and Nested Queries
      8. Common Table Expressions (CTEs)
      9. Window Functions
    2. Database Engineering
      1. Introduction
      2. Connection Pooling
      3. Transactions
      4. ACID
      5. Database Locking
      6. Indexes
      7. Query Optimization
      8. Partitioning
      9. Sharding
      10. Replication
      11. Cursors
    3. Database Systems
      1. Introduction
      2. Relational Algebra
      3. Database Storage
      4. Tuple Oriented Storage
      5. Index Organized Storage
      6. Log-Structured Merge Tree
      7. Hash Tables
      8. Buffer Pool Manager
      9. B-Trees
      10. Bloom Filter
      11. Skip List
      12. Trie and Radix Tree
      13. Inverted Indexes
      14. Vector Index

Sources

The notes are primarily created by me or with the assistance of ChatGPT. Occasionally, they include content adapted from other sources, though I typically rework the material rather than copying it verbatim.