Skip to content
Robin Dhole Blog
Networking in Self-Hosting
Initializing search
Robin Dhole Blog
Home
Developement
Developement
OPP
OPP
Introduction to Object oriented programming
Inheritance, constructors and access modifiers
Polymorphism
Interfaces, Abstract Classes, and Static Methods
SOLID principles 1
SOLID principles 2
Networking
Networking
Computer Networks and the OSI model
Application layer and HTTP
Cookies, DNS and TCP
Socket programming with Python
OS
OS
OS Basic
Round Robin scheduling algorithm and threads
Threads and Multithreading
Threads and Synchronisation
Synchronisation
Producer Consumer Problems
Deadlocks and memory management
Beginner Language
Beginner Language
Introduction to Beginner Module
Output & Basic Data Types
Data Types
Data Types 2 + Reading Inputs
Operators
If-Else 1
If-Else 2
Loop - 1
Loop - 2
Patterns 1
Patterns 2 & Introduction to Strings
Functions - 1
Functions - 2
Maths Basics & Calculate Iterations
1D Array - 1
1D Array - 2
2D Array - 1
2D Array - 2
Problems on Arrays
String Implementation
Java Refesher
Java Refesher
Introduction to Java Input and Output + Data Types + Operators
If-Else
Functions
For Loop
While Loop
Patterns
Strings
1D Arrays
2D Arrays
Arraylists
HashMap & HashSet
MCQs
MCQs
Interview Questions
interview questions and answers
Advanced Concepts - Questions and Answers
Python Refesher
Python Refesher
Introduction
Operators Control Statements
Functions
Iteration 1
Iteration 2
List 1
List 2
List 3
Sets Dictionaries
Tuples Strings 1
Strings 2
DSA
DSA
Full
Full
OOPS 1 Introduction
OOPS 2 Constuctors, Inheritance & Polymorphism
Collections
Time Complexity
Bit Manipulation
Bit Manipulation
Introduction
Problems
Arrays
Arrays
One Dimensional
Two Dimensional
Interview Problems
Backtracking
Prefix Sum
Carry Forward
Subarrays
Two Pointers
Greedy Algorithm
Math
Math
Modular Arithmetic & GCD
Combinatorics Basics
Prime Numbers
Stacks
Stacks
Implementation & Basic Problems
Nearest Smaller or Greater Element
Sorting
Sorting
Count Sort & Merge Sort
Quick Sort & Comparator Problems
Searching
Searching
Binary Search on Array
Binary Search Problems
Binary Search on Answer
Recursion
Recursion
Intro
Example
Linked List
Linked List
Introduction
Sorting and Detecting Loop
Problems & Doubly Linked List
Queues
Heaps
Heaps
Introduction
Problems
Trees
Trees
Structure & Traversal
Views & Types
BST
LCA + Morris Inorder Traversal
Problems on Trees
Hashing
Hashing
Introduction
Problems
Internal Implementation & Problems
Graphs
Graphs
DFS & Cycle Detection
BFS Matrix Questions & Topological Sort
MST & Dijkstra Algorithm
Dynamic Programing
Dynamic Programing
One Dimentional
Two Dimentional
Knapsack
Applications of Knapsack
Interview Problems
Intermediate
Intermediate
Introduction to Problem Solving
Time Complexity
Introduction to Arrays
Prefix Sum
Carry Forward
Subarrays
Memory Management
2D Matrices
Sorting Basics
Introduction
Strings Basics
Bit Manipulation Basics
Interview Problems
Advance
Advance
Dynamic Programing
Dynamic Programing
One Dimentional
Two Dimentional
Knapsack
Applications of Knapsack
Graphs
Graphs
DFS & Cycle Detection
BFS Matrix Questions & Topological Sort
MST & Dijkstra Algorithm
Greedy Algorithm
Heaps
Heaps
Introduction
Problems
SQL
SQL
Intro to DBMS and Relational Model
Keys
CURD 1
CURD 2
Joins 1
Joins 2
Aggregate Queries
Subqueries and Views
Indexing
Transactions 1
Transactions 2
Schema Design 1
Schema Design 2
Database
Database
Database and the relational model
Data Integrity and ER Diagrams
Schema Design- A case study
Data normalisation and ACID properties
Normalisation and SQL CRUD operations
Transactions and Indexes
SQL Primer
CURD Worksheet
CURD Worksheet Answers
SQL Joins and Aggregation
Joins Worksheet
Joins Worksheet Answers
Group by and built-in functions
Group by and built-in functions Worksheet
Group by and built-in functions Worksheet Answers
Sub-queries and Views
Sub-queries and Views Worksheet
Sub-queries and Views Worksheet Answers
Window Functions and Indexes
Window functions, query optimisation and stored procedures
Window Functions, query optimisation and stored procedures Worksheet
Window Functions, query optimisation and stored procedures Worksheet Answers
Sub-queries, views and query optimization
Sub-queries, views and query optimization Worksheet
Sub-queries, views and query optimization Worksheet Answers
MCQs
MCQs
Database Fundamentals
Integrity ER-Diagram
Normalisation ACID
Low Level Design
Low Level Design
Full Stack
Full Stack
HTML
HTML
Web Fundamentals and Introduction to HTML
HTML (Lists , Tables and Forms)
Introduction to CSS
CSS Display , Box model and Positioning
Flexbox and Media Queries
CSS Grid
CSS (specificity , inheritance , rendering)
DOM
DOM
Introduction to DOM
Event and Event Handling
Dynamic DOM
Kanban Board-1 (Design and Structure of the App)
Kanban Board-2 (DOM Manipulation)
Kanban Board-3 (Bussiness Logics & Local Storage)
Kanban Board-4 (local storage)
UI Case Studies-1
UI Case Studies-2
Debouncing and Throttling
Java Script
Java Script
Introduction to JavaScript
Code Execution and ES6
Functional Programming
OOPS-1
OOPS-2
OOPS-3
Asynchronous Programming-1
Asynchronous Programming-2
React
React
Introduction and Setup
State and Props
Components Lists and Froms
IMDB Project- HTTP and useEffect
IMDB Client side Routing and React Router
IMDB Pagination Sorting, Searching, filtering
IMDB Adding Features to WatchList
Prop drilling and State management
Asynchronous Redux and Thunk 1
Asynchronous Redux and Thunk 2
React Redux Interview Question 1
React Redux Interview Question 2
MERN
MERN
Intro to Backend Dev with Node.js & Express
Introduction to Express
Intro to MongoDB and Mongoose
MVC Architecture and CRUD
Authentication & Authorization
Creating User's & Admins Route
Implementing Theatre API
Implementing Shows API
Listing Data from DataBase
Book a Show
Payment API and Deployment
Java
Java
Level 1
Level 1
OOPS
OOPS
Introduction to Object Oriented Programming
Access Modifiers & Constructors
Inheritance & Polymorphism
Abstract Classes & Interfaces
Advanced
Advanced
Generics
Collections
Lambdas & Streams
Exception Handling
Concurrency
Concurrency
Processes & Threads
Executors & Callables
Synchronisation, Mutex, Atomic Data Types
Synchronisation using Semaphores, Deadlocks
Miscellaneous Topics
Miscellaneous Topics
Java Architecture - JDK,JRE,JVM,JIT
Java Static and Final
Volatile
Java Thread Lifecycle
Garbage Collection in Java
Hashmap, TreeMap, Linked Hashmap
Java Streams, Parallel Streams and Collectors
Java Strings - String Pool, Immutablility, String Builder
Asynchronous Programming vs Multithreading
Concurrent Hashmap
Functional programming in Java
Level 2
Level 2
SOLID principles 1
SOLID principles 2
Creational design patterns
Creational design patterns
Singleton and Builder
Factory design pattern
Prototype and Factory design patterns
Abstract Factory and Adapter
Structural design patterns
Structural design patterns
Adapter and Flyweight
Decorator and Facade
Behavioural design patterns
Behavioural design patterns
Observer and Strategy
Facade Design Patterns
UML - Use case and class diagrams
Level 3
Level 3
Design Tic-Tac-Toe
Design a parking lot
Design Splitwise
Design BookMyShow
Backend Project
Backend Project
Module Overview , Intro to Backend
Intro to Version Control and Git_ Commits, Merge, Rebase
Working with Git Remotes, Forks, Pull requests
Create Working with Git remotes, forks , pull requests-2
Intro to Springboot, Dependency, Injection, Ioc, Mvc
Rest Api , Https
Calling third party Api and exception handling
Calling third party API continued
Implementing API how request works in spring, handling exception
Spring Data JPA, ORM, Hibernate, JDBC, and the Repository Pattern
Coding Models, Representing Cardinalities, and Starting with JPA
JPA Queries
Inheritance, JPA Custom Queries, and Projection
Introduction to AWS EC2, RDS
AWS Elastic Beanstalk (EBS), Amazon RDS, Environment Variables, and Product Service Deployment
AWS EBS, VPC, Security Groups, Route 53, Checking Metrics
How Payment Flow Works Callbacks, Webhooks
Reconciliation, Crons, Integrating Stripe Payment Gateway
Implementing Search - Paging, Sorting, ElasticSearch
Authentication & Authorization
JWT, OAuth 2.0 and Implementing a User Service
Implementing User Service
Implementing Authentication & Authorization with Spring Security
Implementing Authorization with Spring Security and JWT
Intro to Unit Testing
Testing Good Practices, Mocking, and Types of Doubles
Unit Testing Implementation
Spring Cloud
Spring Cloud API GW, LB, Logging, Monitoring
Introduction to Docker and Kubernetes
Containerization - Kubernetes
Integrating messaging queue (Kafka)
High Level Desing/System Design
High Level Desing/System Design
101 & Consistent Hashing
Caching 1
Caching 2
CAP Theorem & Master Slave
SQL vs NoSQL
NoSQL
Case study 2 (Typeahead)
NoSQL Internals
Case study 3 (Messaging)
Zookeeper + Kafka
Case Study 4 (Elastic Search)
S3 Quad trees nearest neighbors
Case Study 5 (Design Uber)
Case Study 6 (Design Hotstar)
Case study 7 (Design IRCTC)
Microservices
Popular interview questions
Docker Containers
Docker Containers
Overview
Security & Authentication
Security & Authentication
2FAuth
Adguard
Authentik
Headscale
Safeline
WG-Easy
Wireguard
File Management
File Management
Chibisafe
Filebrowser
Matrix
Nextcloud
Syncthing
Pingvin
Backup & Sync
Backup & Sync
Duplicati
Pairdrop
Productivity
Productivity
Docmost
Excalidraw
Firefly III
Focalboard
Hoarder
Joplin
Mealie
Memos
Media
Media
Jellyfin
Logitech Media Server
Photoprism
Tools & Utilities
Tools & Utilities
Glance
Homepage
IT Tools
Linkstack
Paperless
PrivateBin
Tududi
MkDocs
FreshRSS
Wallos
Monitoring & Management
Monitoring & Management
Beszel
cAdvisor
Grafana
Loki & Promtail
Nexterm
Nginx Proxy Manager
Ntfy
Prometheus
Speedtest Tracker
Traefik
Uptime Kuma
Watchtower
Docker Management
Docker Management
Cosmos Cloud
Dockge
Networking
Networking
Overview
GlusterFS
Logging
Logging
Overview
Node Exporter
General Guides
General Guides
Overview
Access Pihole via NPM
Resources
Resources
Donate / Get Support
Merch
About
Donate / Get Support
Networking in Self-Hosting
¶
Welcome to the Networking section of our self-hosting documentation.