Skip to content
thesarfo
Home
Docs
Search
Ctrl
·
K
GitHub
Menu
Search docs
Menu
Home
Docs
GitHub
Browse docs
Languages
Docs
/
Languages
/
Haskell
Note
Haskell
A learning resource for getting started with Haskell.
views
0
Learning material
Learn Haskell by Building a Blog Generator
Previous
JWT Auth with Identity
Next
Variables
Browse docs
00
Overview
01
Languages
Overview
C#
C# Essentials
Akka & the Actor Model
Service Lifetimes
JWT Auth with Identity
Haskell
C
Variables
Operators
Statements
Functions
Function Prototypes
Variable Scopes
Storage Classes
Pointers
Pointer Types
Dereferencing
Pointers as Parameters
Structures
Pointers to Struct
Struct Pointers to Functions
C, Resources
Kotlin
Variables
Type Checks & Casts
Android/Compose Essentials
JavaScript/TypeScript
Express Generator
Node with TypeScript
Compiler Basics
Handlebars Templating
Testing with Jest
02
Java Essentials
Overview
Java Fundamentals
Code Structure
Variables
Data Types
Operators
Strings
User Input
Conditional Statements
Arrays
Loops
ArrayLists
HashMaps
Object-Oriented Programming
Math Class
Formatting Numbers
Interfaces
Exception Handling
Abstract Classes
Inner Classes
Static Members
final Keyword
Singleton Class
Lambda Expressions
Method References
Streams & I/O
Codecademy
Spring Beans & IoC
REST Controller Annotations
Collections
Set
HashSet
Map
Queue
Persistence
Intro: ORM, JPA & Hibernate
The Context
Working with the Context
Primary Keys
One-to-One Relationships
One-to-Many Relationships
Many-to-Many Relationships
Reactive (WebFlux)
Intro
The Need for WebFlux
WebClient
Spring Academy
Implementing REST
Spring Security Fundamentals
JWT Sign-in & Sign-up
Spring Start Here
Keywords
Implementing a Web App with MVC
The MVC Flow
Bean Scopes
Common Annotations
Spring Fundamentals
Wiring & Dependency Injection
Bean Scopes
Transactions
Spring Security
CORS
Architecture
Unit Testing with Mockito
JWT (Bezkoder-style)
OAuth2 Authorization Server
JWT from Scratch
Setup Checklist
Testing
Repository Layer
Service Layer
Controller Layer
Integration Tests
Concurrency
Threads: Introduction
OO Design Basics
DTOs, Controllers, Services & Mappers
Connecting to H2
Connecting to a Real DB
Varargs
Best Practices to Explore
Aspect-Oriented Programming
Java: Curated Links
03
Python Essentials
Overview
Python Fundamentals
Big O Notation
Exception Handling
File Handling
Consuming APIs
OOP Basics
map() and filter()
Recursion Basics
String Reversal
Flask
App Context
Database Models
User Registration & Login
Error Handlers
Blueprints
URL Building
Forms
Form Validation
Pagination
Template Inheritance
Django
Creating an App
Views
Mapping URLs to Views
Using Templates
Planning Models
Creating Models
One-to-One Relationships
One-to-Many Relationships
Many-to-Many Relationships
Generic Relationships
Migrations
Customizing DB Schema
Using MySQL
Running Custom SQL
Managers & QuerySets
Retrieving Objects
Filtering Objects
Q Objects
F Objects
Sorting Data
Limiting Results
Selecting Fields
Aggregating Data
Annotating Objects
Creating Objects
Updating Objects
Deleting Objects
Transactions
Admin Site
Registering Models
Customizing the List Page
Django REST Framework
Getting Started
Creating API Views
Creating Serializers
Custom Serializer Fields
Serializing Relationships
Model Serializers
Deserializing
Saving Objects
Updating Objects
Deleting Objects
Class-Based Views
Mixins
Generic Views
Customizing Generic Views
ViewSets
Routers
Nested Routers
Filtering
Generic Filtering
Searching
Sorting Fields
Pagination
Extending the User Model
Authentication with Djoser
Registering New Users
Building the Profile API
Logging In
Getting the Current User
Permissions
Serving Images
Adding Images to Products
File Validation
Sending Emails
04
Cloud & DevOps
Overview
AWS
Docker
Building Docker Images
Container Basics Glossary
Command Cheatsheet
GCP
DevOps & SRE
Kubernetes
Container Orchestration
Concepts & Capabilities
Overview
Architecture
Nodes
Namespaces
Pods
ReplicaSets
Deployments
DaemonSets
Summary
kubectl CLI Cheatsheet
GitHub Actions Workflow
05
Data & Messaging
Overview
Kafka
ElasticSearch
Redis
06
Testing & Quality
Overview
SonarQube
Karate: API Testing
07
Algorithms & Data Structures
Overview
Pattern Recognition Cheatsheet
Core Concepts
Design Paradigms
Backtracking
Karatsuba Algorithm
Recursion
Recursion Basics
Practice Problems
Reversing an Array
Palindrome Check
Fibonacci Number
Two Pointers
Two-Pointer Technique
Find the Duplicate Number
Middle of the Linked List
Linked List Cycle II
Linked List Cycle
Length of Loop
Sorting
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Heap Sort
Bit Manipulation
Binary/Decimal Conversion
Bitwise Operators
Hashing
Prefix Sum
OOP in Python
Classes & Objects
Inheritance
Polymorphism
Encapsulation
Abstraction
Operator Overloading
Linked List Problems
Reverse Linked List
Palindrome Linked List
Odd-Even Linked List
Deleting Nodes
Remove Nth From End
Intersection of Two Lists
Reverse Nodes in K-Group
Math Problems
Counting Digits
Extracting Digits
Reversing a Number
Armstrong Numbers
Printing All Divisors
Checking for Primality
GCD / HCF
Adding Digits
Counting Odd Numbers in a Range
String Problems
Merge Strings Alternately
Reverse Words in a String
Ransom Note
Remove Outermost Parentheses
Maximum Nesting Depth
Roman to Integer
String to Integer (atoi)
Palindrome & Anagram
Prefix of a Word
Binary Search
Lower Bound
Upper Bound
Search Insert Position
First and Last Position
Search in Rotated Array
Search in Rotated Array II
Minimum in Rotated Array
Minimum in Rotated Array II
Rotation Count
Peak Index in Mountain Array
Find Peak Element
Single Element in Sorted Array
Square Root
Nth Root
Koko Eating Bananas
Kth Missing Positive Number
Minimum Days for M Bouquets
Smallest Divisor
Ship Capacity Within D Days
Aggressive Cows
Allocate Books
Split Array Largest Sum
Search a 2D Matrix
Search a 2D Matrix II
Row with Max Ones
Find Peak Element (2D)
Median of Row-Wise Sorted Matrix
Kth Element of Two Arrays
Median of Two Sorted Arrays
Arrays
Second Largest Element
Check if Sorted
Remove Duplicates
Rotate Array by K Places
Move Zeros to End
Union of Two Sorted Arrays
Intersection of Two Sorted Arrays
Missing Number
Maximum Consecutive Ones
Single Number
Longest Subarray with Sum K
Two Sum
Sort 0s, 1s, 2s
Majority Element
Kadane's Algorithm
Best Time to Buy & Sell Stock
Rearrange by Sign
Next Permutation
Longest Consecutive Sequence
Set Matrix Zeroes
Rotate Matrix 90°
Find the Peaks (1D)
Spiral Traversal
Jump Game
Count Subarrays with Sum K
Pascal's Triangle
Three Sum
Three Sum Closest
Four Sum
Largest Subarray with Sum 0
Merge Overlapping Intervals
Merge Without Extra Space
Repeating and Missing Numbers
Count Reverse Pairs
Maximum Product Subarray
Kids With Greatest Candies
Can Place Flowers
Two Events Conflict
Container With Most Water
Core Data Structures
Nodes
Array Methods
List Methods
Dictionary
Set
Stack Basics
String Methods
Linked List
Singly Linked List
Doubly Linked List
LL Operations (Pseudocode)
Queue
Queue Basics
Circular Queue
Priority Queue
Deque
08
Software Design
Overview
Design Patterns
Catalog
Observer Pattern
Factory Method
Interview Prep
DSA Questions
Spring Framework Basics
Java Core Concepts
Database Design
Java Backend Guide
API Design
Practice Question Bank
Microservices
Overview
Design Patterns
Monitoring & Enablers
System Design
Problem-Solving Steps
HTTP & Networking
09
Book Notes
Overview
Designing Data-Intensive Applications
Ch1: Reliable, Scalable & Maintainable
Ch2: Data Models & Query Languages
Ch3: Storage & Retrieval
Ch4: Encoding & Evolution
Ch5: Replication
Ch6: Partitioning
10
Resources
Overview
Courses to Complete
Good to Read & Know
Curated Resources
Esc
Type to search…