Learning In Public
Come and Join Me on Curiosity Consortium. Let's learn together.
Engineering
Javascript
- How Javascript works & Execution Context
- Hoisting
- Functions in JS
- The Scope Chain
- Variables
- Block Scope & Shadowing in JS
- Closures
- First Class Functions & Callbacks
- Asynchronus Javascript
- Event Loop
- JS Engine
- Map, filter & Reduce
- High Order Functions
- Callback Hell
- Promises
- Async Await
- this Keyword
Go
- Variables
- Constants
- Basic Data Types
- Composite Data Types
- Protocols and Formats
- Functions & Organization
- Object Oriented Programming in GO
- Interfaces & Abstraction
- Concurrency in GO
- Goroutines
- Channels
- Select
- Timeouts
- Tickers
- Worker Pools
- WaitGroups
- Atomic Counters
- Mutex
- Panic
- Defer
- Recover
- Strings
- Regular Expression
- JSON/XML
- Files and Directories
- Testing and benchmarking
- Command Line arguments
- Loggin
- Context
- HTTP
Ruby & RubyOnRails
- Active Record
- Active Model
- Action Dispatch
- Action Mailbox
- Action Mailer
- Action Text
- Active Support
- Action View
- Action Controller
- Active Job
- Active Storage
- Rails Assets Pipeline
- Rails Engine
- Sidekiq
- Zeitwerk
- Puma with Rails
- Action Cable Overview
- Minitest
- Rails CI/CD
- System and Integration Test
- Railties
React
- JSX
- Class vs functional components
- State vs props
- Lifecycle Methods
- Hooks
- Context
- Redux
Backend Engineering
- Request/Response
- Synchronous vs Asynchronous workloads
- Push Design Pattern
- Pooling
- Pub/Sub
- Multiplexing vs Demultiplexing
- Stateful vs Stateless
- OSI Model
- Internet Protocol
- UDP
- TCP
- TLS
- HTTP
- WebSockets
- WebSockets
- gRPC
- WebRTC
Database Engineering
- ACID
- Phantom, Serializable and Repeatable Read
- Eventual Consistency
- Row-Based vs Column-Based Databases
- Database Indexing
- B-Tree and B+Tree in Database
- Database Partitioning
- Database Sharding
- Shared & Exclusive Locks
- Dead locks
- Database connection pooling
- Database Replication
Tools / Frameworks
- CLI
- Git
- Docker
- AWS
- Chef Client
- K8s
- Jira
- WebRTC
- 100ms
- Msg91
- Redis
- Yarn & NPM
- Postgres
- MySql
- Newrelic
- Sentry
Algorithms & Data Structures
- Arrays & Vectors
- Strings
- Bit-manipulation Techniques
- Sliding Window ALgorithm
- Sorting & Searching
- Binary Search
- Recursion
- Linked List
- Stack
- Queue
- Binary Trees
- BST
- Hash Tables
- Heap
- Tries & Pattern Matching
- Graph
- Union Find
- Complexity (Big O Notation)
- Time & Size Complexity
- Dynamic Programming
- BFS
- DFS
- Dijkshthra's Algorithm
Research Papers
Technology
- Maglev: A Fast and Reliable Software Network Load Balancer by Google Inc.
- Dynamo: Amazon’s Highly Available Key-value Store
- C-Store: A Column-oriented DBMS
Books
Technical
- Don't make me think
- Learn Web Development with Rails by Michael Hartl
- Introductions to Algorithms By Thomas Cormen
- The Pragmatic Programmer
- Infinite Jumper in Phaser 3 with Modern JavaScript
- WebRTC For The Curious
- Practical OBJECT-ORIENTED DESIGN by Sandi Metz
- Ruby Under a Microscope by Pat Shaughnessy
Growth & Success
- Eat that Frog!
- How to win friends and influence people
- Outliers: The Story of Success
- Steve Jobs: The Man Who Thought Different
- Start With Why
- The 7 Habits of Highly Effective People
- Atomic Habits
- Memory Power
- Thinking, fast and slow
Finance
- Rich Dad Poor Dad
- DO EPIC SHIT
- The Psychology of Money
Guidance
- Bhagwat Geeta