backend
backend copied to clipboard
My notes from sessions w/ Alexander Simovic (https://aws.amazon.com/developer/community/heroes/aleksandar-simovic/)
My Todo List
- [x] NodeJS
- [x] Testing
- [x] Compute (Lambda)
- [x] Network communication (API Gateway + GraphQL)
- [x] Severless patterns
- [x] Authentication & Authorization
- [x] Cloudformation
- [x] Messaging Layer (SNS + SQS)
- [x] Storage Layer
- [x] Relational Databases
- [x] NoSQL Databases (document storage)
- [x] Migration from NoSQL to MySQL/Postgres
- [x] File storage (S3)
- [x] Deployments
- [x] CodeStar
- [x] CodePipeline
- [x] CodeDeploy
- [x] Architecture (how do you start building a system - which topics come first)
- [x] Data flow diagram
- [x] AWS Architecture
- [ ] UML Diagrams (not required)
- [ ] Structured analysis and design technique (SADT)
- [ ] AWS Certificates (finish 5 of 5)
- [ ] AWS Certified Solutions Architect Associate
- [ ] AWS Certified Developer Associate
- [ ] AWS Certified SysOps Administrator Associate
- [ ] AWS Certified Solutions Architect Professional
- [ ] AWS Certified DevOps Engineer
- [x] Migration from Monolith to Serverless
- [ ] Computer Science 101
- [x] Data Structures
- [ ] Algorithms
- [ ] Network (Buffers/Streaming/TCP/UDP)
- [ ] Engineering
- [x] Serverless Software Patterns
- [x] Frontend (React.js)
Serverless Design Patterns
Additional Information: Sources &Links
-
[ ] Deployments & Going Live
- [ ] Cloudformation (production deployment / partial deployment)
- [ ] an AWS CodePipeline, AWS CodeBuild, AWS APIGateway & AWS Lambda CI
- [ ] CodeDeploy, CodeBuild, CodePipeline
- [ ] CI/CD (github push, automation etc.)
- [ ] Here is an example how to CI/CD on AWS Check this presentation
-
[ ] Storage Layer - Databases
- [ ] Storage Layer -Databases RDS, NoSQL, Warehousing (when to use aurora, dynamodb or redshift)
- [ ] Database Design and Relational Theory
- [ ] Database Design for Mere Mortals
- [ ] Six-Step Relational Database Design (https://medium.com/theburningmonk-com/all-my-posts-on-serverless-aws-lambda-43c17a147f91)
-
[ ] Software Architecture
-
[ ] Migration from Monolith to Serverless
-
[ ] Computer Science Basics
- [ ] Teach Yourself Computer Science
- [ ] Open Source Society University
- [ ] Systems analysis and design
- [ ] Base CS - Exploring the basics of computer science, every Monday, for a year.
- [ ] Algorithms and Data Structures
- [ ] Algorithms and data structures implemented in JavaScript
- [ ] Discrete Mathematics
- [ ] Arsdigita 02 (Discrete Mathematics) Lecture 1/20
- [ ] Lec 1 | MIT 6.042J Mathematics for Computer Science
- [ ] Algorithms and Data Structures in JavaScript
- [ ] Introduction to Computer Science and Programming in Python (MIT Open Course)
- [ ] Introduction to Algorithms (MIT Open Course)
- [ ] Introduction to Computer Science and Programming (MIT Open Course)
- [ ] Introduction to Computer Science and Programming (MIT Open Course)
- [ ] Computer System Engineering (MIT Open Course)
- [ ] Text Book to the course above
- [ ] Design and Analysis of Algorithms (MIT Open Course)
- [ ] Computer Networks and the Internet
- [ ] Algorithms & Data Structure
-
[ ] Coding & Patterns
- [ ] Read code of open source projects such as React, Vue.js, Express - code quality of such a projects should be very good (many reviewers and clean code). Also Spectrum was recommended
- [ ] Design Patterns: Elements of Reusable Object-Oriented Software
- SOLID need to find some good resources
- [x] Hexagon
- [ ] Writing portable serverless applications
-
[ ] Book Collection & Recommendations
- [ ] Why do I need to read this book? If I want to understand how to think in terms of underlying technology vs. abstractions (Cloudformation vs. AWS SAM) Code Complete: A Practical Handbook of Software Construction
- [ ] Why do I need to read this book? I need to learn to think like a real programmer Clean Code: A Handbook of Agile Software Craftsmanship
- [ ] Why do I need to read this book? Get some basic understanding about OS The Unix Programming Environment
- [ ] Why do I need to read this book? see above The Art of Unix Programming