back-end
https://www.alexhyett.com/backend-developer-roadmap/
See: Modern Backend Developer in 2018
Mình đang có:
-
Step 1: Language:
- Script : Python, PHP (thời gian dài chưa động đến)
- Multiparadigm: Golang
-
Step 3: Package Manager:
- Python: Pip
- Golang: godep, glide
-
Step 4: Relational Databases
- MySQL
-
St
https://aman-jain24.medium.com/rate-limiter-9a8e8b94c7b6
software architecture là những pattern (mẫu) hoặc rule (luật), principle (nguyên tắc) giúp tối đa hóa sản phẩm (app) và thuận lợi cho phát triển sản phẩm (facilitates development)
The strategy behind that facilitation is to leave as many options open as possible, for as long as possible.
Một Good architecture khác với Poor architecture ở phần sau của quá trình phát triển sản phẩm:
- tức là các giai đoạn: deployment, maintenance & expansion.
- Code đúng chức năng thì dù Good hay Poor thì app vẫn chạy.
Code chỉ chiếm 1 phần nhỏ quan trọng trong 1 ứng dụng (app).
3. What is Object Oriented Programming (OOP)
https://medium.com/interviewnoodle/dropbox-google-drive-system-architecture-a5cc7652a57c
[Ref.1] và [Ref.2]
http://www.ijtrd.com/papers/IJTRD4088.pdf
[Ref.1] https://www.atoha.com/blogs/kien-thuc/quan-ly-rui-ro-du-an-project-risk-management
[Ref.2] https://123docz.net/document/4252594-quan-ly-rui-ro-phan-mem-software-risk-management.htm
[Ref.3] Software Architecture Risk Analysis (SARA): A Methodology to Assess Security Risks in Software Architectures, and an Application
[Ref.3] Neal Ford; Mark Richards, Fundamentals of Software Architecture, Chapter 20. Analyzing Architecture Risk
- SA.1: 4 truths from a Software Architecture guru
- SA.2: 5 Design Principles from a Software Architecture guru
- SA.3: 23 Basic Principles in Software Architecture
https://dataengineering.wiki/Index
- Data Pipeline Design Patterns
- Smart Data Pipelines: Tools, Techniques, and Key Concepts
- Data Pipeline Design Patterns
- Data Pipeline Architecture: Building Blocks, Diagrams, and Patterns
- Data Pipeline Design Patterns
- Data pipeline design patterns
- Data Pipeline Architecture: A Comprehensive Guide 101
- A Complete Guide to Data Pipelines
[db.1] hướng dẫn cách scale DB/Data để phục vụ cho lượng người dùng lớn, cách này cũng là cách để thiết kế kiến trúc theo mô hình DB CQRS pattern.
-
Một cách dẫn nhập về sự hình thành kiến trúc EDA trong ứng dụng thực tế: Link
-
Phần tiếng Việt: https://edwardthienhoang.wordpress.com/2018/08/20/event-driven-architecture/
-
https://thuongnn.medium.com/event-driven-architecture-cc68c4dcb023
https://kislayverma.medium.com/architecture-patterns-caching-part-1-d0382e2de6c6
https://kislayverma.medium.com/architeture-patterns-cacing-part-2-9411b6adf001
- Foundation:
- Super Important:
- Good To Know System Design Questions:
- Advanced Distributed System Fundamental Questions
System Design Architecture - I
System Design Architecture - II
System Design Architecture - III
System design fundamentals: What is the CAP theorem?
Web Distributed Systems Design
System Designing basics- Designing a Distributed Storage Service in Cloud
System Design — Distributed Job Scheduler
System Design: Designing a Distributed Job Scheduler
Design a Distributed Delayed Job Queueing System
Latency and throughput: What you should know before designing your system
System design for failures series
Building Scalable Systems using Queues
System Design for Distributed Cache | Redis System Design
System design: Debouncing and Throttling
System Design Basics: WebSockets
System Design — Design a Monitoring System
System Design — Nearby Places Recommender System
System Design Interview Prep: Real-Time Chat Application
System Design: Useful concepts for building services at scale!-Part 2
System Design Series — Introduction
System Design Series — Network Protocols
System Design Series — Latency and Throughput
System Design Series — Storage
System design part 1: General Terms used in System design
System Design part 3 continued: Reverse Proxy
System design for dummies:
System design for dummies — part 0
System design for dummies — part 1
System design for dummies — part 2
System design for dummies — part 3 (Design a donation app)
Tác giả: Sakshi Chhabra - sakshi8699
System Design — Key Concepts and Terms Interview Notes
System Design — Buzzwords to revise before going for an Interview — Part 1
System Design — Buzzwords to Revise Before Going for an Interview — Part 2
System Design — Buzzwords to Revise Before Going for an Interview — Part 3
System Design Interview — Study Notes I
System Design Interview [Part 2] — Problem Exploration
Recap of System Design Interview Concepts
How to Succeed in Your System Design Interview
Level up your System Design Interview: Drive the Conversation
Cracking the system design interview
How to prepare for System Design Interviews — Part 1
How to prepare for System Design Interviews — Part 2
Anatomy of a System Design Interview
System Design Interview Question: Designing a URL Shortening Service
System Design — Backend for Google Photos
Design: Image Hosting Application
System Design — Twitter Search
Design Uber Ride-Hailing System
System Design Netflix — A Complete Architecture
Design Netflix — System design High Level
System Design Architecture StackOverflow
System Design — Instagram/LinkedIn/Twitter
Design Amazon E-Commerce System
Designing Tinder’s Server Side
How to Build Messaging capability for live video streams at scale! System design part 4: Relational Database Management System
Designing Resilient Microservices - Part 1
System Design — Top K Trending Hashtags
System Design Interview: Distributed Top K Frequent Elements in Stream
Design a real time dashboard showing the most played songs?
Design a most popular/trending profiles page
Design a system which can report frequently occurring exceptions on a dashboard
Design top shared post system in 5mins/1 hour/1 day/1 week
How I Would Design… YouTube or Netflix!
How I would design… a Web Crawler!
How I Would Design… Uber’s Backend!
How I Would Design… Suggested Search!
How I Would Design… TicketMaster!
How I Would Design… Yelp or Nearby Friends
System Scaling là một hạng mục bên trong việc thiết kế một hệ thống How to Scale Application to support Millions User
Design Patterns and Principles That Support Large Scale Systems