Ravi Gyani

God is also a programmer, see the bugs around!

- RAVI GYANI

Currently dabbling in AWS, Cloud, BigData, Hadoop, Kafka, Spark, NoSQL DBs, Godot

  • Ravi Gyani
  • January 15, 1981
  • Munich, Germany
  • rgyani at yahoo dot com

my notes

AWS

AWS Notes
In this post, I will share few of my notes that might be useful if you are preparing to get the AWS Solution Architect Certification.

AWS News
AWS has over 200+ services, and is continuously releasing/updating existing service, it sometimes becomes difficult to track the updates. Here I am keeping some notes on some services I use and track

AWS Services Comparison
My notes from around the web on comparison between various AWS services

AWS Lambda Function URLs
AWS Introduced Lambda function URLs, but needs SigV4 to be able to invoke them securely

AWS Session Manager port forwarding
Use Systems Manager Session Manager port forwarding to connect to EC2 instance through RDP

AWS DynamoDB
My notes on DynamoDB

AWS IAM: Fine-Grained Authorization
AWS IAM uses Fine-Grained Authorization. Also explore whats the difference between RBAC, ABAC

AWS EBS notes
My notes on AWS EBS, provisioning, performance and credits

Atomic Counters in AWS
How to implement Atomic Counters using AWS Services

Serverless website using S3
How to replace traditional LAMP stack with Serverless

EC2 Spot instances
My notes on EC2 spot instances

VPC Endpoints
VPC Gateway Endpoints vs VPC Interface Endpoints

Security in VPC
Security Group, NACL, Route Tables

AWS Cognito
AWS Cognito notes

AWS Neptune
AWS Neptune notes

API Gateway Direct Integration with DynamoDB
Lessons learnt while integrating API g/w directly with DynamoDB

AWS KMS Notes
My Notes while understanding the AWS KMS.

AWS Incident Response
My Notes while studying for AWS Certified Security Specialty

AWS STS
Never put AWS temporary credentials in the credentials file (or env vars) — use AWS STS

AWS Lambda Error Handling
Exploring the best practices for error handling in AWS Lambda

Machine-to-Machine communication over AWS Network
Exploring system designs for Chat, Video Stream, Sensor Data collection

AWS Migration Services
My notes on the various AWS services for migration from on-prem to AWS cloud

Terraform Notes
My notes on terraform

Microservices

Microservices Design Patterns
How, When and Which Microservices Design Patterns to use.

API Gateways vs Service Mesh
API Gateways for North-South traffic and Service Mesh for East-West traffic. Really?

Evolution of backend architectures
Backend architectures (N-layered, DDD, Hexagon, Onion) evolution

System Design Examples
My notes and approches to System Design.

Deployment Strategies
Consider the various Deployment strategies to upgrade a running instance of an application.

Docker - Notes
My notes about docker images.

Observability
keep track of system and application health and performance using traces, metrics and logging

Big Data

Kafka vs Kinesis
Analyze the internals and differences between the Apache Kafka vs Amazon Kinesis. And also, Redis pub/sub

Big Data Write Path
Analyze the read-write path of HDFS, HBase, Kafka, Zookeeper, Cassandra.

Big Data Streaming Options
Lets consider the various streaming options available in Big Data

Fraud Detection with Kafka
Lambda vs Kappa Architecture and Fraud Detection with Apache Kafka, KSQL

Hadoop, Hbase, YARN notes
My notes collected over the years on Hadoop, Hbase and YARN

Data Lake vs Data Warehouse
Understanding when to use a database, data lake, or data warehouse.

Kubernetes Notes
Understanding the Kubernetes Terminology

Checking Elements in Big Data
HashMaps, Bloom Filters, Count-Min sketch etc

Interesting Concepts in Big Data
Consistent Hashing, GeoHashes, Consensus Protocols (Paxos, Raft, Gossip), B-tree and LSM-tree

Postgres vs MySQL
A Shallow Dive into the internals of MySQL vs Postgres

Java Notes

Java Versions
Lets evaluate the various Java versions and the differences between them

Java Threading
Lets overview java threading concepts

Java 19 - Virtual Threads- Project Loom
Virtual threads are a lightweight implementation of Java threads, delivered as a preview feature in Java 19

Java Memory Management
Java memory management notes

Python Notes

Python Threading
Demystifying Python Multiprocessing and Multithreading and the Global Interpreter Lock

Python Memory Management
Reference Counting and Generational Garbage Collection

Python Decorators
Python Decorators, Generators and Context Managers

HTTP

What happens when you type a URL into your browser?
Lets discuss DNS, SSL, HTTP v1, v1.1, v2, v3, CORS, HTTPS etc

How does real time bidding for Ads work?
When you access a website, the display ads you see, how are they chosen?

TCP vs UDP?
lossless or lossy?

User Identity Management
Session, cookie, JWT, token, SSO, OAuth 2.0, SAML

SQL operations
Leetcode SQL interview questions

Algorithms

Expressions Evaluator
How to calculate '-1 + (2 + 3)' programmatically

Regular Expression Evaluator
How to match 'a*b.*c' to 'basic' programmatically

Sudoku Solver
How to solve a Sudoku programmatically using backtracking

Nonogram Solver
How to solve nonogram puzzles programmatically using backtracking

Mobile Number Keypad problem
Solve the popular interview question in which for a given N, and the mobile numeric keypad, we have to find the number of possible numbers

Equal Subset Sum Partition
Given a set of positive numbers, find if we can partition it into two subsets such that the sum of elements in both the subsets is equal.

Open the Lock
Given a lock with N circular wheels, containing slots from '0' to '9'. Find the minimum turns required to open the lock.

Graph Traversal
Graph Traversal (also known as Graph Search) refers to the process of visiting (checking and/or updating) each vertex in a graph.

Find cycles in a directed graph
Daily Coding Problem 1206, Find cycles in a directed graph

Find the length of the longest palindromic subsequence in a string
Dynamic Programming approach