Skip to content
obsidian-mkdocs template
Import .sql.gz files into MySQL
Initializing search
obsidian-mkdocs template
Notes
AWS
AWS
API Gateway
API Gateway
API Gateway Integrations
API Gateway Security
API Gateway
AWS Serverless APIs
AWS Serverless APIs
Learning AWS Serverless
01 getting started
01 getting started
What is serverless?
AWS Signup and First serverless API
Why would I use AWS?
Course Structure
02 core serverless services
02 core serverless services
Overview over the Core Serverless Services
The "Compare Yourself" app
02 core serverless services 2
02 core serverless services 2
Overview over the Core Serverless Services
The "Compare Yourself" app
03 creating an API gateway and AWS lamda
03 creating an API gateway and AWS lamda
What is API Gateway
General API Gateway features
API-specific features and options
Request-Response cycle
Creating a new API
What is AWS lamda?
04 data storage with dynamodb
04 data storage with dynamodb
What is DynamoDB
How DynamoDB organizes data
Creating a table in DynamoDB
Creating and scanning items
Accessing DynamoDB from Lambda
Scanning data in DynamoDB from lambda
Deleting data in DynamoDB from lambda
Mapping responses
04 data storage with dynamodb 2
04 data storage with dynamodb 2
What is DynamoDB
How DynamoDB organizes data
Creating a table in DynamoDB
Creating and scanning items
Accessing DynamoDB from Lambda
Scanning data in DynamoDB from lambda
Deleting data in DynamoDB from lambda
Mapping responses
05 authenticating users with cognito and api gateway
05 authenticating users with cognito and api gateway
How to add authorization to API Gateway
Retrieving users from custom authorizers
Creating a cognito user pool
Using Cognito in Apps
Use Cognito to authorize endpoints
What is Cognito
06 hosting a serverless single page application
06 hosting a serverless single page application
What is S3
Creating an S3 bucket
Uploading the web app to S3
Turning s3 into a static web server
Setting up logging
Optimizing content delivery with CloudFront
Using a custom domain with route 53
07 beyond the basics
07 beyond the basics
Documenting the API
Other AWS triggers
non-API (MPA) serverless app
Serverless and security
Better development and deployment process
Serverless application model
Testing serverless apps with localstack
Other useful AWS services
Amazon MQ
Amazon MQ
Amazon MQ
AppSync
AppSync
AWS AppSync
Athena
Athena
Athena overview
Athena Hands on
Athena for Solutions Architect
CICD
CICD
CICD
Continuous Integration
CLI
CLI
[[AWS CLI]] Configuration
[[AWS CLI ]]Setup on [[Linux]]
[[AWS CLI]] Setup on [[MacOS]]
[[AWS CLI]] Setup on [[Windows]]
AWS CLI on [[AWS EC2]]
CloudFormation
CloudFormation
CloudFormation
CloudFront
CloudFront
AWS CloudFront Hands On
AWS CloudFront
CloudTrail
CloudTrail
AWS CloudTrail
CloudWatch
CloudWatch
AWS CLoudWatch EC2 Detailed monitoring
CloudWatch Alarms
CloudWatch Custom Metrics
CloudWatch Dashboards
CloudWatch Events
CloudWatch Logs
AWS CloudWatch Metrics
CloudWatch
Cognito
Cognito
AWS Cognito
Cognito Federated Identity Pool
Cognito Sync
Cognito User Pool
Custom Identity Broker Application
Identity Federation With SAML and Cognito
SAML Federation
What's Identity Federation
DynamoDB
DynamoDB
DynamoDB Accelerator (DAX)
DynamoDB Advanced Features
DynamoDB Basics
DynamoDB Provisioned Throughput
DynamoDB for Solutions Architect
DynamoDB
EC2
EC2
AWS EC2 Instance Metadata
EC2 Introduction
EC2 User Data
EC2 for Solutions Architects
Health Checks
Install Apache on EC2
Launching an EC2 Instance running Linux
AMI
AMI
AMI Pricing
AMI Storage
Cross Account AMI Copy
EC2 AMI Hands On
EC2 AMIs
Elastic LoadBalancer
Elastic LoadBalancer
Application Load Balancer (v2)
Auto Scaling Group (ASG) For Solution Architects
Auto Scaling Groups
High Availability and Scalability
Load Balancer stickiness
Load Balancing
Network Load Balancer (v2)
IP
IP
Elastic IP
Private IP
Private vs Public vs Elastic IP
Public IP
Placement
Placement
EC2 Cluster Placement Strategy
EC2 Partition Placement Strategy
EC2 Placement Groups
EC2 Spread Placement Strategy
SSH
SSH
EC2 SSH Instance Connect
EC2 SSH Troubleshooting
EC2 SSH Using Windows 10
EC2 SSH Using Windows
EC2 SSH from Linux or Mac
SSH Overview
Security Group
Security Group
Introduction to Security Groups
Security Groups Deep Dive
Storage
Storage
EFS - Elastic File System
EFS Hands on
GP2 (SSD)
Hybrid Cloud for Storage
IOI (SSD)
SCI (HDD)
STI (HDD)
EBS
EBS
EBS Hands on
EBS Migration
EBS Operations
EBS RAID Options
EBS Snapshot
EBS Volume Encryption
EBS Volume Types
What's an EBS volume?
EBS vs Instance Store
Types
Types
EC2 Dedicated Hosts
EC2 Dedicated Instances
EC2 Instance Launch Types Hands On
EC2 Instance Launch Types
EC2 On Demand Instances
EC2 Reserved Instances
EC2 Spot Instances
ECS
ECS
AWS ECS ALB Integration
AWS ECS ECR Integration
AWS ECS Setup and Config File
ECS - Elastic Container Service
ECS Config file
ECS IAM role
ECS cluster
ECS service
ECS task
EMR
EMR
Amazon Elastic MapReduce
ElastiCache
ElastiCache
ElastiCache for Solutions Architect
ElastiCache hands on
ElastiCache overview
Memcached
Redis
Pattern
Pattern
Lazy Loading Pattern
Session Store Pattern
Write through Pattern
Elastic Beanstalk
Elastic Beanstalk
Beanstalk hands on
Beanstalk overview
Install Elastic Beanstalk CLI
Time based scaling
Elastic Transcoder
Elastic Transcoder
AWS Elastic Transcoder
ElasticSearch
ElasticSearch
ElasticSearch for Solutions Architect
ElasticSearch
Exam
Exam
Solutions Architect Associate
Solutions Architect Associate
Exam Walkthrough and Signup
Exam tips
Get an extra 30 minutes on your AWS Exam - non native english speakers only
Save 50% on your AWS Exam cost
State of learning checkpoint
Fundamentals
Fundamentals
AWS Cheat sheet
AWS Region
AWS Regions and AZs
AWS Shared Responsibility Model
AWS Whitepapers
Availability Zone
Choosing the right database
Creating an AWS Account
High Availability
Horizontal scalability
Infrastructure as Code
Instantiating applications quickly
Introduction to Messaging
SQS vs SNS vs Kinesis
Serverless in AWS
Serverless
AWS Budget Setup
Vertical scalability
User cookies
Disaster Recovery
Disaster Recovery
Disaster Recovery All AWS Multi Region
Disaster Recovery Backup and Restore
Disaster Recovery Hot Site Multi Site Approach
Disaster Recovery Pilot Light
Disaster Recovery Warm Standby
Disaster Recovery Tips
Disaster Recovery
Encryption
Encryption
Client Side Encryption
Encryption at rest
Encryption in flight
Encryption
Well Architected Framework
Well Architected Framework
More Architecture Examples
Fifth Pillar: Cost Optimization
Well Architected Framework - Operational Excellence
Fourth Pillar - Performance Efficiency
Third Pillar - Reliability
Second Pillar - Security
Well Architected Framework
Well Architected Tool
Glue
Glue
AWS Glue
IAM
IAM
Access Advisor
Credential Report
IAM Best Practices
IAM Federation
IAM Hands on
IAM Policy
IAM Security Tools Hands On
IAM group
IAM user
IAM Introduction
Inline policy
Root account
IAM introduction: Users, Groups, Policies
Least privilege principle
KMS
KMS
AWS KMS (Key Management Service)
Encryption in AWS Services
KMS 101
KMS API
Kinesis
Kinesis
AWS Kinesis Consumers
AWS Kinesis API Exceptions
AWS Kinesis API Put Records
Kinesis Data Analytics
Kinesis Firehose
Kinesis Hands On
Kinesis Security
Kinesis Streams Shards
Kinesis
Lambda
Lambda
AWS Lambda
Benefits of AWS Lambda
KMS And Lambda practice
Lambda Configuration
Lambda Example Serverless Thumbnail creation
Lambda Integrations
Lambda Language Support
Lambda Limits
Lambda use cases
Lambda@Edge
Why AWS Lambda
Neptune
Neptune
Neptune for Solutions Architect
Neptune
OpsWorks
OpsWorks
AWS OpsWorks
Organizations
Organizations
AWS Organizations
Organizational Unit
Service Control Policies
RDS
RDS
AWS RDS Overview
RDS Backups
RDS Encryption
RDS Hands on
RDS Multi AZ (Disaster Recovery)
RDS Read replicas for read scalability
RDS Security for SysOps
RDS Security
RDS for Solutions Architect
RDS vs Aurora
RDS vs DB on EC2
Aurora
Aurora
Aurora overview
Aurora DB Cluster
Aurora Features
Aurora For Solutions Architects
Aurora High Availability and Read Scaling
Aurora Security
Aurora Serverless
Aurora hands on
Redshift
Redshift
Redshift for Solutions Architect
Redshift
Route 53
Route 53
AWS Route 53 Overview
CNAME vs ALIAS
Route53 hands on
Route 53 Health Checks
Route 53 as Registrar
TTL
Routing Policy
Routing Policy
Route 53 - Routing Policies - Failover (Active - Passive)
Route 53 - Routing Policies - Geolocation
Route 53 - Routing Policies - Latency based
Route 53 - Routing Policies - Multi-Value
[[AWS Route 53]] - Routing Policies
Simple Routing Policy
[[AWS Route 53]] - Routing Policies - Weighted
S3
S3
AWS S3 - Consistency model
AWS S3 Overview - Buckets
AWS S3 CORS
AWS S3 Objects
AWS S3 Websites
Amazon S3
S3 Access logs
S3 Cross region replication
S3 Default encryption
S3 For Solutions Architect
S3 MFA Delete
S3 Pre-signed URLs
S3 Security
S3 Versioning
S3 Versioning
Encryption
Encryption
Encryption in transit
S3 Client Side Encryption
S3 Encryption for objects
SSE C
SSE KMS
SSE S3
Snowball
Snowball
Snowball Overview
Snowball Hands On
Storage Gateway
Storage Gateway
AWS Storage Gateway
File Gateway
Storage Gateway Hands On
Tape Gateway
Volume Gateway
Tiers
Tiers
Amazon S3 Reduced Redundancy Storage (deprecated)
Amazon Glacier
S3 Intelligent Tiering (new)
S3 Lifecycle rules
S3 One Zone Infrequent Access (IA) Tier
S3 Standard Tier (General Purpose)
S3 Standard Infrequent Access (IA) Tier
S3 Storage Tiers
SDK
SDK
AWS SDK Overview
SNS
SNS
AWS SNS
SNS How To Publish
SNS Direct Publish
SNS Topic Publish
SQS
SQS
AWS SQS
SQS FIFO Queue
SQS Consuming Messages
SQS Dead Letter Queue
SQS Delay Queue
SQS Hands On
SQS Long Polling
SQS Message Consumption flow diagram
SQS Producting messages
SQS Standard Queue
SQS Visibility Timeout
SSM
SSM
Parameter Store
Parameter Store
AWS Parameter Store Hierarchy
SSM Parameter Store Hands On Lambda
SSM Parameter Store hands on CLI
SSM Parameter Store
SSO
SSO
AWS Single Sign ON (SSO)
STS
STS
AWS STS - Security Token Service
Cross Account Access
Simple Workflow Service
Simple Workflow Service
Simple Workflow Service
Solution Architecture Decisions
Solution Architecture Decisions
Big Data Ingestion Pipeline
Distributing Paid Content
Micro Services architecture
Serverless Mobile Application: MyTodoList
Serverless hosted website: MyBlog.com
Software updates offloading
Stateful Web App: MyClothes.com
Stateful Web App: MyWordpress.com
Stateless Web App: WhatIsTheTime.com
Step Functions
Step Functions
AWS Step Functions
Step functions & SWF
Trusted Advisor
Trusted Advisor
Trusted Advisor
VPC
VPC
Bastion Hosts
CIDR
Customer Gateway
DNS Resolution Options
Default VPC overview
Direct Connect Gateway
Direct Connect
Egress Only Internet Gateway
Internet Gateways & Route tables
Internet Gateway
NAT Gateway
NAT Instances - Network Address Translation (outdated)
Network ACLs & Security Groups
Route Table
Site to Site VPN
Subnet overview hands on
VPC Flow Logs + Athena
VPC Flow Logs
VPC Peering
VPC Summary
VPC endpoint
VPC in AWS - IPv4
Virtual Private Gateway
WorkSpaces
WorkSpaces
AWS WorkSpaces
Aws lambda and the serverless framework
Aws lambda and the serverless framework
AWS Lambda and the Serverless Framework
01 getting started
01 getting started
AWS Lambda Overview
AWS Lambda Console
02 aws lambda and serverless
02 aws lambda and serverless
The Serverless Framwork
Deploying Hello World Function Using Serverless
Running the function from the CLI
Updating the function from the CLI
Fetching function logs from the CLI
Removing the funciton
Section summary
03 aws lambda and the serverless in depth
03 aws lambda and the serverless in depth
AWS Functions Timeout and Memory
IAM Permissions for Lambda Functions
Environment Variables in AWS Lambda
VPC for lambda functions
AWS Lambda Pricing
04 real world example s3 thumbnails
04 real world example s3 thumbnails
Overview of S3 Thumbnail Generator Service
Thumbnail service implementation
Ideas to make our service better
05 real world example rest api
05 real world example rest api
Overview of the REST API service
Building the REST API
Deploying the REST API
Testing the REST API
REST API next step ideas
06 real world example aws automation ec2 start stop
06 real world example aws automation ec2 start stop
Overview of EC2 start & stop service
Deploying the EC2 start and stop lambda functions
Next steps and ideas
Developer associate
Developer associate
Learning AWS Certified Developer Associate Course
02 getting started with aws
02 getting started with aws
AWS Cloud Overview - Regions & AZ
03 iam and aws cli
03 iam and aws cli
IAM Policies Hands On
IAM MFA overview
AWS Access keys, CLI and SDK
AWS Setup
AWS CLI Hands on
IAM Roles for Services
IAM Roles Hands On
IAM Summary
AWS CloudShell
04 ec2 fundamentals
04 ec2 fundamentals
AWS Budget Setup
EC2 Basics
Create an EC2 instance with EC2 user data to have a webiste hands on
Security Groups & Classic Ports Overview
Security Groups Hands On
SSH Overview
SSH troubleshooting
EC2 Instance Connect
EC2 Instance Roles Demo
EC2 Instance Launch Types
EC2 Instance Types Overview
05 ec2 instance storage
05 ec2 instance storage
EBS Hands On
EBS Snapsots
EBS Snapshots hands on
AMI Overview
AMI Hands on
EBS Volume Types
EBS Multi-Attach - io1/io2 family
EFS hands on
EBS vs EFS
EBS Overview
EC2 Instance Store
EFS Overview (Elastic File System)
Img
Img
High Availability and Scalability
06 elb asg
06 elb asg
Scalability & High Availability
Elastic Load Balancing (ELB) Overview
Classic Load Balancers (v1)
Application Load Balancer (v2)
Network Load Balancer (NLB)
Elastic Load Balancer - Sticky Sessions
Elastic Load Balancer - Cross Zone Load Balancing
Elastic Load Balancer - SSL Certificates
Elastic Load Balancer - Connection Draining
Auto Scaling Groups Overview
Auto Scaling Groups - Scaling Policies
07 rds aurora elasticache
07 rds aurora elasticache
AWS RDS Overview
RDS Read Replicas vs Multi AZ
Amazon RDS Hands On
RDS Encryption & Security
Amazon Aurora
Aurora Hands On
Amazon ElastiCache Overview
ElastiCache Hands On
ElastiCache Strategies
ElastiCache Redis Cluster Modes
08 route 53
08 route 53
What is DNS?
Route 53 Overview
Registering a domain
Creating our first records
EC2 Setup
Route 53 - Records TTL (Time to Live)
Route 53 - CNAME vs Alias
Route 53 - Health Checks
Health Checks Hands On
Route 53 - Routing Policies - Geoproximity
Route 53 - Traffic Flow
Route 53 - 3rd Party Domains
09 vpc fundamentals
09 vpc fundamentals
VPC Fundamentals - Section Introduction
VPC, Subnets, IGW and NAT
Network ACL, Security Groups
VPC Peering
VPC CheatSheet
Three Tier Architecture
10 amazon s3 introduction
10 amazon s3 introduction
Section Introduction
S3 Buckets and Objects
S3 Buckets and Objects hands on
Amazon S3 - Versioning
AWS S3 Versioning
Amazon S3 - Encryption
S3 Encryption Hands On
S3 Security & Bucket Policies
S3 Bucket Policies Hands On
S3 Websites
S3 CORS
S3 CORS Hands On
Amazon S3 - Consistency Model
11 aws cli sdk iam roles policies
11 aws cli sdk iam roles policies
IAM Roles and Policies Hands On
AWS Policy Simulator
AWS CLI Dry Runs
AWS CLI STS Decode Errors
AWS EC2 Instance Metadata
AWS CLI Profiles
AWS CLI with MFA
AWS SDK Overview
Exponential Backoff & Service Limit Increase
AWS Credentials Provider & Chain
Signing AWS API requests
12 advanced s3 athena
12 advanced s3 athena
S3 MFA Delete
S3 MFA Delete Hands On
S3 Default Encryption vs Bucket Policies
S3 Access Logs
S3 Access Logs Hands On
S3 Replication (CRR & SRR)
S3 Replication Hands On
S3 Pre-signed URLs
S3 Pre-signed URLs hands on
S3 Storage Classess
S3 Storage Classes Hands On
S3 Lifecycle Rules
S3 Lifecycle Rules Hands On
S3 Performance
S3 & Glacier Select
S3 Event Notifications
S3 Event Notificaitons Hands On
Athena Overview
Athena Hands On
13 cloudfront
13 cloudfront
CloudFront Hands On
CloudFront Caching & Caching Invalidations
CloudFront Caching And Invalidations Hands On
CloudFront Security
CloudFront Signed URL / Cookies
CloudFront Signed URL - Key Groups + Hands On
CloudFront Advanced Concepts
AWS CloudFront
14 ecs ecr fargate docker in aws
14 ecs ecr fargate docker in aws
Dock Introduction
Amazon ECS
ECS Cluster - Hands On
Creating ECS Service - Hands On
ECS Service Auto Scaling
ECS Rolling Updates
ECS Solutions Architectures
Amazon ECS - Task Definitions
Task Definitions - Hands On
ECS Task Placements
Amazon ECR
Amazon ECR
Amazon EKS Overview
15 aws elastic beanstalk
15 aws elastic beanstalk
Elastic Beanstalk Overview
Beanstalk First Environment Hands On
Creating a second environment
Elastic Beanstalk Deployment Modes
Elastic Beanstalk CLI
Beanstalk lifecycle policy
Elastic Beanstalk Extensions
Beanstalk & CloudFormation
Elastic Beanstalk Cloning
Beanstalk Migrations
Beanstalk with Docker
Beanstalk Advanced Concepts
16 aws cicd
16 aws cicd
CICD - Introduction
CodeCommit Hands On Part 1
CodeCommit Hands On Part 2
CodePipeline Hands On
CodeBuild Hands On Part 1
CodeBuild Hands On Part 2
CodeDeploy Hands On
CodeDeploy for EC2 and ASG
CodeStar Overview
CodeStar Hands On
CodeArtifact Overview
CodeGuru Overview
CodeBuild Overview
CodeCommit Overview
CodeDeploy Overview
CodePipeline Overview
17 cloudformation
17 cloudformation
CloudFormation Overview
CloudFormation Create Stack Hands On
CloudFormation Update and Delete Stack Hands On
CloudFormation Resources
CloudFormation Parameters
CloudFormation Mappings
CloudFormation Outputs
CloudFormation Conditions
CloudFormation Intrinsic Functions
CloudFormation Rollbacks
CloudFormation ChangeSets, Nested Stacks, StackSet
CloudFormation Drift
18 monitoring audit cloudwatch xray cloudtrail
18 monitoring audit cloudwatch xray cloudtrail
Monitoring Overview in AWS
CloudWatch Metrics
CloudWatch Custom Metrics
CloudWatch Logs
CloudWatch Logs Hands On
CloudWatch Agent & CloudWatch Logs Agent
CloudWatch Logs Metric Filters
CloudWatch Alarms
CloudWatch Alarms Hands On
CloudWatch Events
Amazon EventBridge
Amazon EventBridge Hands On
X-Ray Hands On
X-Ray Instrumentation and Concepts
X-Ray Sampling Rules
X-Ray APIs
X-Ray with Beanstalk
X-Ray and ECS
CloudTrail Hands On
CloudTrail vs CloudWatch vs X-Ray
X-Ray Overview
CloudTrail
19 aws integration messaging sqs sns kinesis
19 aws integration messaging sqs sns kinesis
Introduction to Messaging
Amazon SQS Standard Queues Overview
SQS Standard Queue Hands On
SQS Queue Access Policy
SQS Message Visibility Timeout
SQS - Dead Letter Queues
SQS - Delay Queue
SQS - Certified Developer Concepts
Amazon SQS - FIFO Queue
SQS FIFO Queues Advanced
Amazon SNS
SNS + SQS: Fan Out
SNS Hands On
Kinesis Overview
Kinesis Data Streams
Kinesis Producers
Kinesis Data Streams Consumers
Kinesis Data Streams Hands On
Kinesis Client Library (KCL)
Kinesis Operations
Kinesis Data Firehose
Kinesis Data Firehose Hands On
Kinesis Data Analytics
Ordering data into Kinesis
20 aws serverless lambda
20 aws serverless lambda
Serverless introduction
AWS Lambda Overview
AWS Lambda - First Hands On
Lambda - Synchronous Invocations
Lambda Synchronous Invocations Hands On
Lambda Integration with ALB
Lambda & Application Load Balancer Hands On
Lambda@Edge Overview
Lambda Asynchronous Invocations & DLQ
Lambda Asynchronous Invocations Hands On
Lambda & CloudWatch Events / EventBridge
Lambda & CloudWatch Events / EventBridge Hands On
Lambda & S3 Event Notifications
Lambda & S3 Event Notifications - Hands On
Lambda Event Source Mapping
Lambda Event Source Mapping Hands On
Lambda - Destinations
Lambda Destinations Hands On
Lambda Permissions - IAM Roles & Resources Policies
Lambda Permissions - IAM Roles & Resource Policies - Hands On
Lambda Environment Variables
Lambda Environment Variables Hands On
Lambda Monitoring & X-Ray Tracing
Lambda Monitoring & X-Ray Tracing Hands On
Lambda in VPC
Lambda in VPC Hands On
Lambda Function Performance
Lambda Function Performance Hands On
Lambda Concurrency
Lambda Concurrency Hands On
Lambda External Dependencies
Lambda External Dependencies Hands On
Lambda and CloudFormation
Lambda and CloudFormation Hands On
Lambda Layers
Lambda Layers Hands On
Lambda Container Images
Lambda Versions and Aliases
Lambda Versions and Aliases Hands On
Lambda & CodeDeploy
Lambda Limits
Lambda Best Practices
21 aws serverless dynamodb
21 aws serverless dynamodb
DynamoDB Overview
DynamoDB Basics - Hands On
DynamoDB - Write Capacity Units & Read Capacity Units - Throughput
DynamoDB WCU & RCU - Hands On
DynamoDB - Basic APIs
DynamoDB Indexes (GSI + LSI)
DynamoDB Indexes (GSI + LSI) - Hands On
DynamoDB - PartiQL
DynamoDB - Optimistic Locking
DynamoDB Accelerator (DAX)
DynamoDB DAX - Hands On
DynamoDB Streams Hands On
DynamoDB - Time To Live (TTL)
DynamoDB - Good to Know
DynamoDB Transactions
DynamoDB as Session State Cache
DynamoDB Write Sharding
DynamoDB Conditional Writes, Concurrent Writes & Atomic Writes
DynamoDB - Patterns with S3
DynamoDB Operations
DynamoDB - Security & Other Features
DynamoDB Streams
Architecture
Architecture
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
Service Abstraction
Service Autonomy
Service Broker
Service Composability
Service Consumer
Service Contract
Service Discovery
Service Encapsulation
Service Granularity
Service Location Transparency
Service Longetivity
Service Normalization
Service Provider
Service Reference Autonomy
Service Reusability
Service Statelessness
Service Oriented Architecture (SOA)
Service
Business
Business
Idea generation
Idea generation
Idea Generation
01 jumpstart strategies
01 jumpstart strategies
Problem-based business ideas
Wouldn't it be great if
Imagine the future
Idea List Builder
02 laying the groundwork
02 laying the groundwork
The idea equation
Reverse imagination
Areas to isolate and target
Cater to power users
5 types of innovation
Disintermediation
03 making it fit
03 making it fit
The Fit Quadrant: Hobbies and Passions
The Fit Quadrant: Skills and Experience
Activity: Hobbies, Passions, Skills & Experience
Reposition Good / Fast / Cheap
Strategy: Adding technology to an offline industry
Activity: List out your goals
The 3 Business types: pick yours
Make it eco-friendly
How good does my idea have to be?
Strategy: The Fit generator
The Eureka Myth
04 ways of coming up with ideas
04 ways of coming up with ideas
Essential reading for those focusing on startups
Strategy: Bloated Margins
Strategy: Trends in outsourcing
Strategy: Robin Hooding
Strategy: Good idea, bad timing
Strategy: Information Asymmetry
Strategy: Hobby Lobbyist
Strategy: The Enabler
Strategy: Molding a user
Strategy: Economies of Service
Strategy: Sloppy Duct Tape
Strategy: Privacy and the blind eye
Strategy: Spotting market inefficiencies
Strategy: Vertical Integration
Strategy: One Step Strategy
05 business models
05 business models
A Comprehensive list of business models and who uses them
SaaS: Software as a Service
Subscriptions & Memberships
Pay what you want
The sharing economy
Marketplaces
On demand
Currated boxes
Direct to Consumer
Crowdsourced catalogs and inventory
06 evaluate and test
06 evaluate and test
Matching Fit
Pain to Payment
Sustainability
Path to validation
Unfair advantages
07 idea advice commentary
07 idea advice commentary
The value of ideas
Red oceans, blue oceans
Idea frameworks & unreasonable people
West coast, east coast
Avoid threshold ideas
Clean Code
Clean Code
3 Rules of TDD
Clean architecture
Kent Beck's game
TDD example
Uncle Bob Clean Code Checklist Architecture
Uncle Bob Clean Code Checklist Comments, Naming
Uncle Bob Clean Code Checklist Functions
Uncle Bob Clean Code Checklist Rules
Uncle Bob Clean Code Checklist Test Driven Development
Uncle Bob's clean code checklist
Design Pattern
Design Pattern
Adapter Design Pattern
Template Method Design Pattern
Visitor Design Pattern
Design Smell
Design Smell
Dependency Management
Design smells
Fragility
Immobility
Needless Complexity
Rigidity
Viscosity
Refactoring
Refactoring
How to refactor
What is refactoring?
Rule of Three
What is technical debt?
When to refactor
SOLID
SOLID
SOLID Principles
SOLID architecture and design
Software Design
Dependency Inversion Principle
Dependency Inversion Principle
Constructor Injection
Data Centric Model
Dependency Injection Techniques
Dependency Injection
Dependency Inversion Principle Common Smells and Violations
Dependency Inversion Principle Demo
Dependency Inversion Principle Refactorings Dependency Injection
Dependency Inversion Principle
Dependency Inversion Rules
Dependency Investion Principle Architectural implications
Dependency
Enlarged Domain Centric Model
Inversion Of Control (IoC)
IoC Container
Method injection
Property Injection
Pure Dependency Injection
Interface Segregation Principle
Interface Segregation Principle
Interface Segregation Principle Common smells and Related Design Patterns
Demo of the problem
Interface Segregation Principle Refactorings
Interface Segregation Principle
Liskov Substitution Principle
Liskov Substitution Principle
Contracts
Covariance
Liskov Substitution Principle Demo
Liskov Substitution Principle Rules
Liskov Substitution Principle Violations
Liskov Substitution Principle
Liskov Substitution Princple Common Smells
Metaprinciples
Metaprinciples
Command Query Separation Principle
DRY - Don't repeat yourself
Duplicate logic in multiple locations
Encapsulation
General principles building APIs
KISS - Keep it simple, stupid
Law of Demeter
Magic value (number, string, etc)
Open Closed Principle vs YAGNI
Principle of least astonishment
Reused Abstraction Principle
SOLID vs YAGNI
SoC - Separation Of Concerns
Simplicity
Single Responsiblility Principle vs Interface Segregation Principle
YAGNI You ain't gonna need it
Open Closed Principle
Open Closed Principle
Common smells of OCP violations
Demo of the problem
Open Closed Principle Refactorings
Open Closed Principle Related Patterns
Open Closed Principle
Open Closed Princple Rules
Protected Variation Pattern
Single Responsibility Principle
Single Responsibility Principle
Demo of the problem
Single Responsibility Principle Refactoring
Conclusion
More examples of SRP violations
SRP Definition. Problem Statement
SRP Related patterns
Data Science
Data Science
Recapping data science
01 introduction
01 introduction
Installing anaconda
02 statistics and probability refresher
02 statistics and probability refresher
Types of data
Mean, Median and Mode
Standard Deviation and Variance
Probability Density function
Percentiles and moments
Crash course into matplotlib
Advanced visualization with Seaborn
Covariance and correlation
Conditional Probability
Bayes' theorem
03 predictive models
03 predictive models
Linear regression
Polynomial regression
Multiple regression
Multi-level models
04 machine learning with python
04 machine learning with python
Supervised vs Unsupervised learning
Train/test split
Bayesian methods: Concepts
K-means clustering
Measuring Entropy
Installing graphviz
Decision trees
Ensemble learning
XGBoost
Support Vector Machines
05 recommender systems
05 recommender systems
User-based collaborative filtering
Item-Based Collaborative Filtering
06 more data mining and machine learning techniques
06 more data mining and machine learning techniques
K-nearest neighbors (KNN)
Dimensionality reduction. Principal Component Analysis. (PCA)
Data warehousing overview: ETL and ELT
Reinforcement Learning
Understanding a confusion matrix
Measuring Classifiers (Precision, Recall, F1, ROC, AUC)
07 dealing with real world data
07 dealing with real world data
Bias/Variance tradeoff
K-fold cross validation to avoid overfitting
Data cleaning and normalization
Normalizing numerical data
Detecting outliers
Feature Engineering and Curse of Dimensionality
Imputation techniques for missing data
Handling unbalanced data
Binning, Transforming, Encoding, Scaling and Shuffling
08 apache spark machine learning on big data
08 apache spark machine learning on big data
Installing Spark
Spark introduction
Spark and the Resilient Distributed Dataset (RDD)
MLLib introduction
Introduction to Decision Trees in Spark
K-means clustering in Spark
TF / IDF
Linear regression on Spark
09 experimental design ml in real world
09 experimental design ml in real world
Deploying models to Real-time systems
A/B Testiting concepts
T-Tests and P-Values
Determining how long to run an experiment
A/B test gotchas
10 deep learning and neural networks
10 deep learning and neural networks
Deep Learning Pre-Requisites
The history of artificial neural networks
Deep Learning Details
Introducing tensorflow
Using tensorflow
Introducting Keras
Other keras examples
Convolutional neural networks
Recurrent neural networks
Transfer learning
Tuning Neural Networks: Learning Rate and Batch Size hyperparameters
Regularization with Dropout and Early Stopping
Ethics of Deep Learning
Data Structures And Algorithms
Data Structures And Algorithms
Index
Big O Algorithm Complexity
01 introduction
01 introduction
Course Breakdown
What are Data Structures and Algorithms
Why companies ask for Data Structures
DS inf every day life
Types of DS
02 recursion
02 recursion
What is recursion?
Why learn recursion
Format of recursive functions
How Recursion works internally
Finding a factorial using recursion
Finding Fibonacci series using Recursion
Recursion vs iteration
When to use and avoid recursion
Practical uses of recursion
03 algorithm runtime analysis
03 algorithm runtime analysis
What is algorithm runtime analysis
Notations for Algorithm runtime analysis
Examples of runtime complexities
Finding Time Complexity of an iterative algorithm
Findint time complexity of a recursive algorithm
04 arrays
04 arrays
What is an array
Array types
How array is represented in memory
Creating an array
Insert and traverse in 1d array
Accessing cell, searching and deleting given value
Coding 1D arrays
Time complexity of 1D array
Create 2D array
2D array operations
Time complexity of 1D array
When to use / avoid arrays
Coding 2D arrays
Practical uses of arrays
05 linked lists
05 linked lists
What is a linked list
Linked list vs array
Components of a linked list
Types of linked lists
How is Linked List stored in memory
Single linked list
Circular single linked list
Double linked list
Circular double linked list
Time complexity (linked list vs array)
06 stack
06 stack
What and why of stack
Stack structure using arrays
Linked list stack
When to use and when to avoid stack
Time and Space complexity on array vs linked list
07 queue
07 queue
What is a queue and why use it
Linear queue on array
Circular queues
Linear queue implementation with LinkedList
Time and Space complexity on array vs linked list
08 binary tree
08 binary tree
What is a tree
How tree is represented in code
Implementing binary tree with a Linked List
Binary tree with array
Time and space complexity on array vs linked list
09 binary search tree
09 binary search tree
What is a binary search tree
Binary search tree operations
10 AVL tree
10 AVL tree
What is an AVL tree
AVL implementation
11 binary heap
11 binary heap
What is a binary heap
Binary heap operations
12 trie
12 trie
What is a Trie?
Implementation of Trie
13 hashing
13 hashing
What is Hashing
14 sorting
14 sorting
What is sorting?
Bubble sort
Selection sort
Insertion sort
Bucket sort
Merge sort
Quick sort
Heap Sort
Sorting algorithms compared
15 graphs
15 graphs
What is a graph
Graph representation in code
Graph traversal
Topological Sort
Single Source Shortest Path Problem (SSSP)
All Pair Shortest Path (APSP) Problem
Minimum Spanning Tree (MST)
16 magic framework
16 magic framework
What is a Magic Framework?
17 greedy algorithm
17 greedy algorithm
What is greedy algorithm
Already known algorithms
Activity Selection Problem
Coin change problem
Fractional Knapstack Problem
18 divide and conquer
18 divide and conquer
What is Divide and Conquer
Already known algorithms
Fibonacci series
Nubmer factor
House Thief Problem
Convert one string to another
Zero/One knapsack
Longest common subsequence
Longest palindromic subsequence
Longes palindromic substring
Min cost to reach last cell in 2d array
Number of paths to last cell with given cost
19 dynamic programming
19 dynamic programming
What is dynamic programming
Number factor problem
House Thief Problem
Convert one string to another
Zero/One knapsack problem
Longest Common Subsequence
Longest Palindromic subsequence
Longest palindromic substring
Min cost to reach last cell in 2D array
Number of paths to last cell given cost
Databases
Databases
MariaDB
MariaDB
JSONOBJECTAGG() alternative in MariaDB
MySQL
MySQL
Learning MySQL
Export all databases into separate .gz files
GROUP_CONCAT separator
Import .sql.gz files into MySQL
Performance boosts
MySQL functions
MySQL scaling
Rename MySQL database from bash
Advanced
Advanced
Index
Stored procedures
MySQL IF Statement
MySQL CASE statement
Choosing bethween IF and CASE statements
MySQL Lopp in stored procedures
MySQL Cursors
Listing Stored procedures in database
Handling errors in Stored Procedures
Raising Error condition with MySQL Signal / RESIGNAL statements
MySQL Stored Function
Database view
MySQL triggers
MySQL indexes
MySQL administration
MySQL Full-Text Search
Basics
Basics
Index
Query data
Filter data
Sorting data
Jointing tables
Grouping data
MySQL Subquery
Common table expression or CTE
Using set operators
Modifying data
Transactions
Managing databases and tables
Data types
Constraints
Character set and collation
Import CSV file into MySQL table
PostgreSQL
PostgreSQL
Sources:
Querying data - SELECT
What is PostgreSQL?
Docker & Kubernetes
Docker & Kubernetes
Learning Docker
Delete docker images & clear up space
Disable buildkit while building images
Docker command without sudo
ERR NETWORK CHANGED chrome
Kubernetes
Kill all instances
01 intoduction
01 intoduction
Using the docker client
How is docker running on your computer?
What's a container
OSX
Docker
02 manipulating containers with docker client
02 manipulating containers with docker client
Docker run in detail
Listing running containers
Container lifecycle
Restarting stopped containers
Removing stopped continers
Retrieving log outputs
Stopping containers
Execute commands in running containers
Container isolation
03 building custom images with docker server
03 building custom images with docker server
Creating docker images
Building a dockerfile
Dockerfile teardown
What is a base image?
Build process in detail
Rebuilds with cache
Tagging an image
Manual Image Generation with Docker commit
04 making real projects with docker
04 making real projects with docker
Project outline
Node server setup
Creating a dockerfile & few planned errors
Specifying working directory
Unnecessary rebuilds
05 docker compose with multiple local containers
05 docker compose with multiple local containers
Overview
Setting up Node app
Setting up dockerfile
Introducting docker compose
Docker compose files
Docker compose commands
06 creating a production grade workflow
06 creating a production grade workflow
Development workflow
We'll use React for this project
Creating Dev Dockerfile
Duplicating dependencies
Starting the container
Docker volumes
Shorthand with docker compose
Executing tests
Multistep docker builds
07 ci and deployments with aws
07 ci and deployments with aws
Service overview
Github setup
Travis CI integration
Automatic deployment to AWS
Workflow with GitHub
Environment cleanup
08 building a multicontainer application
08 building a multicontainer application
Single Container Deployment Issues
Application architecture
Worker process setup
Express API setup
Generating the React app
09 dockerizing multiple services
09 dockerizing multiple services
Dockerizing React app
Dockerizing generic node apps
Nginx routing
Docker compose config
Opening websocket connections
10 CI integration workflow for multiple images
10 CI integration workflow for multiple images
Production multi-container deployments
Production dockerfiles
Cleaning up tests
Github and travis CI
Travis CI Configuration
11 multi container deployments to AWS
11 multi container deployments to AWS
Multi-container definition files
Creating the EB environment
Managed Data Service providers
Overview of AWS VPC's and Security Groups
RDS Database creation
Elasticache redis creation
Creating a custom security group
Applying security groups to resources
Setting environment variables
IAM Keys for deployment
Travis Deploy script
Container memory allocations
Verify deployment
12 kubernetes
12 kubernetes
What is Kubernetes
Kubernetes development and production
Installation
Mapping existing knowledge
Adding configuration files
Object types and API versions
Running containers in pods
Service config files in depth
Connecting to running containers
The entire deployment flow
Imperative vs declarative deployments
13 maintaining sets of containers with deployments
13 maintaining sets of containers with deployments
Updating existing objects
Declarative updates in action
Limitations in config updates
Running containers with deployments
Deployment configuration files
Applying deployment
Why use services?
Scaling and changing deployments
Updating deployment images
Rebuilding the client image
Triggering deployment updates
Imperatively updating a deployment image
Multiple docker installations
Reconfiguring docker cli
Why mess with docker in the node?
14 a multi container app with kubernetes
14 a multi container app with kubernetes
The path to production
Quick checkpoint
Recreating the deployment
NodePort vs ClusterIP Services
Applying multiple files with Kubectl
Express API deployment config
Cluster IP for the Express API
Combining config into single files
The worker deployment
Reapplying a batch of config files
Creating and applying redis config
Postgres config
The need for volumes with databases
Kubernetes volumes
Volumes vs Persistent volumes
Persistent Volumes vs Persistent Volume Claims
Claim config files
Persistent VOlume Access Modes
Where does kubernetes allocate persistent volumes?
Designating a PVC in a Pod template
Applying a PVC
Defining environment variables
Adding environment variables to config
Creating an encoded secret
Passing secrets as environment variables
Environment variables as strings
15 handling traffic with ingress controllers
15 handling traffic with ingress controllers
Load balancer services
A quck note on ingresses
Behind the scenes of Ingress
Setting up ingress locally
Creating the ingress config
Testing ingress locally
The minikube dashboard
16 kubernetes production deployment
16 kubernetes production deployment
The deployment process
Google Cloud vs AWS for kubernetes
Creating Git repo
Linking the Github Repo to Travis CI
Free google cloud credits
Creating a Google Cloud project
Linking a Billing account
Kubernetes Engine init
Creating a cluster with Google Cloud
Kubernetes dashboard on Google Cloud
Travis deployment overview
Installing the Google Cloud SDK
Generating a service account
Running Travis CLI in a container
Encrypting a service account file
More Google Cloud CLI Config
Running tests with Travis
Unique tags for build images
Custom deployment providers
Unique deployment images
Configuring GCloud CLI on Cloud Console
Creating a secret on google cloud
Helm setup
Kubernetes security with RBAC
Assigning Tiller a Service account
Ingress-Nginx with Helm
The Result of ingress-nginx
Deployment
17 HTTPS with kubernetes
17 HTTPS with kubernetes
HTTPS setup overview
Domain setup
Cert Manager installation
Wire up Cert Manager
Certificate Config File
Deploy changes
Verifying the certificate
Ingress config for HTTPS
Vertify changes
18 kubernetes cleanup
18 kubernetes cleanup
Google Cloud cleanup
Local Environment Cleanup
Elixir
Elixir
Index
Installing elixir
Generating project
Modules and methods
Lists and strings
OOP vs functional programming
Method arguments
The Enum mode
Immutability in elixir
Searching a list
Comprehensions over lists
Importance of Index with Tuples
Pattern matching
Elixir's relation with erlang
Saving into filesystem
Loading from filesystem
The Pipe operator
Module documentation
Writing tests
Introduction to maps
Keyword lists
Identicon generation process
Installing phoenix
Phoenix
Server side templating
Phoenix's MVC model
View vs template
Phoenix Model Layer
Phoenix router
Phoenix controller
Forms in Phoenix
Oauth on Phoenix
Phoenix plugs
Adding relations
WebSockets in Phoenix
Run dockerized phoenix in interactive mode
Phoenix
Phoenix
Phoenix enable GZIP compression
Frontend
Frontend
React
React
Setting up for React development
Git
Git
GIT
Git Quickstart
Configure your editor to work with git
03 starting with a fresh project
04 init existing project
Starting by joining an existing project
06 basic workflow
07 tracked files
08 recursive add
09 discarding
10 renaming and moving files
11 deleting files
12 history
Git aliases
Ignoring unwanted files
Visual Diff / Merge Tool
Comparing working directory and staging area
Comparing working directory and repository (last commit)
Branching
Fast Forward merges
Disable fast forward merges
Automatic merges
Conflicting merge and resolution
Simple rebase
Rebasing conflict
Pull with rebase
Simple stash
Stashing untracked files and using pop
Managing multiple stashes
Stashing into a branch
Simple tag
Annotated tags
Comparing tags
Tagging a specific commit
Updating tags
Using tags with GithHub
Rebase and Reflog
Getting help
Cherrypicking
Submodules
Installing on windows
Golang
Golang
Golang
Introduction
Setting golang dev environment
Variables
Primitives
Constants
Arrays and slices
Maps and structs
If and Switch statements
Looping
Defer, Panic and Recover
Pointers
Functions
Interfaces
Goroutines
Channels
GraphQL
GraphQL
GraphQL
Introduction
Making frontend queries
Setting up express
Setting up GraphQL
Defining GraphQL Schema
Root Queries
Resolve Function
Type Relations
GraphQL lists
More on Root Queries
Connecting to mLab
Mongoose Models
Mutations
GrapGL NonNull
Adding frontend
Apollo Client Setup
Making queries from React
Add book component
Book Details component
Graphics
Graphics
Unity
Unity
2D
2D
2D graphics with Unity
01 introduction and setup
01 introduction and setup
Download Unity and Visual Studio
Your first code
Notes for mac users
02 number wizard
02 number wizard
Game description
Print To Console With Debug.Log
Introducting variables
Respond to player input
Using if, else if, else
Calculate guess variable
Functions and encapsulating
03 text101
03 text101
Game design
Creating sprites in Unity
UI canvas & text
Update text component
Game states
Scriptable objects
State Story Implementation
Creating an array
Manage states
Game State Story Design
Organize state files
Text Mest Pro and Polish
For loop
Publish game via WebGL
Javascript
Javascript
Bind click to document
Linux
Linux
Enable numlock on startup
Get current linux version
IPTables
Increase Battery Life
Increase swap
Learning cUrl
tmux cheatsheet
`xterm-termite`: unknown terminal type error fix
Archlinux
Archlinux
Arch linux installation
Arch post installation
Find which package contains command
Linux keymap
Dolphin
Dolphin
Fix mismatched background in Dolphin
Mint
Mint
Post Installation for Linux Mint
Networking
Networking
ERR NETWORK CHANGED
Scripts
Scripts
Pull script
Xen Server
Xen Server
Add new VM to Xen Server
OS X
OS X
Fresh install mac os
Patch PHPStorm to to use OSX case sensitive file system
PHP
PHP
Template IFs in string
Laravel
Laravel
PHPUnit and faker feature test escapes
Storage mocking on older laravel versions
Wordpress
Wordpress
Adding a custom field in Ninja Forms 3
Resources and tools
Resources and tools
Chrome extensions
Resources
Visual Studio Code extensions
Web testing tools
Rust
Rust
Index
Ownership in Rust
Installing rust
Mutability and intro into strings
Shadowing
Taking input in Rust
Branching in Rust
Tuples and arrays in Rust
Structures
Enums
Pattern matching
Collections
Generic types, traits, lifetimes
Closures
Cargo and Crates.IO
Smart pointers
Refcell and interior mutability
Using Join Handles
Message passing between threads
Sending multiple values
Sharing Mutex between multiple threads
Cargo Crate
Cargo
Comments in Rust
Concurrency
Controlling Visibility
Data types in Rust
Description of the Hello World program
Error handling in Rust
Functions in Rust
Heap
Iterators in Rust
Loops in Rust
Memory Allocation
Modules in Rust
Multiple Owners by combining Rc and RefCell
Multiple producers by cloning transmitter
Mutex in Rust
Operators in Rust
Parallelism
Passing channel to function
Pattern matching in Rust
Referring names to different modules
Running Rust Tests
Rust Test Organization
Rust language
Stack
Strings
Writing automated tests in Rust
Typecasting in Rust
Using Move Closure with Threads
Using threads in Rust
Terms
Terms
Stale data
Testing
Testing
Test Layers
Tools
Tools
Brandmark Logo Maker
Chrome
Chrome
Chrome save pinned tabs
Home
Home
MiTemperature2
Keyboard
Keyboard
Colemak
Microservices
Microservices
Tilt
Monitoring
Monitoring
Prometheus
Prometheus
MQTTGateway for Prometheus
Screenshot
Screenshot
Shutter
Testing
Testing
Httpie
Postman
Vim
Vim
Configuring VIM as IDE
Vim motions
Windows
Windows
Backup iOS devices from iTunes on Windows
Import .sql.gz files into MySQL
ΒΆ
zcat < filename.sql.gz | mysql -u root database