Skip to content

C/C++, Data structure, Algorithm, Design Pattern, Linux, Architecture, Distributed Systems, MicroService...

Notifications You must be signed in to change notification settings

AntonAtSpark/software-engineer

 
 

Repository files navigation

Table of Contents

  1. Formal Entry
  2. Programmer Cultivation
    1. Coding Cultivation
    2. Code Review
    3. Safety Precaution
    4. Testing
    5. Publishing
  3. Computer Science
    1. Operating System
    2. Network
    3. Data Structure
    4. Database
  4. Programming Language
  5. System Design
  6. Linux
    1. Kernel
    2. Memory Management
    3. Linux Network
    4. AIO
    5. Lock-free
    6. Memory Order
    7. CPU Cache
  7. Distributed Architecture
    1. Distributed Messages System
    2. Logs & Data
    3. Distributed monitoring and tracking
    4. Data Analysis
    5. Distributed Architecture Engineering Design
    6. Design Pattern
    7. Failure testing of distributed systems
    8. Scalability
    9. Consistent Hashing
    10. Cache
    11. Message Queue
    12. Log
    13. Performance
    14. Search
    15. Architecture Practices by Companies
  8. Microservice
    1. API Gatway
    2. Microservice VS SOA, IaaS, Paas, Monolithic
    3. Practice
    4. Authentication & Authorization
    5. Design Pattern
  9. Thanks

Formal Entry

Programmer Cultivation

Coding Cultivation

  • 📙 Refactoring: Improving the Design of Existing Code
  • 📙 Working Effectively with Legacy Code
  • 📙 Clean Code: A Handbook of Agile Software Craftsmanship ✏️ Book Notes
  • 📙 The Clean Coder:A Code of Conduct for Professional Programmers

Code Review

Safety Precaution

Testing

  • 📙 Perfect Software: And Other Illusions about Testing
  • 📙 How Google Tests Software

Publishing

Computer Science

Operating System

  • 📙 Computer Systems A Programmer’s Perspective ✏️ Book Notes
  • 📙 Modern Operating Systems ✏️ Book Notes
  • 📙 Advanced Programming in the UNIX Environment

Network

  • ARP

    • RFC 826 - An Ethernet Address Resolution Protocol
  • Tunnel

    • RFC 1853 - IP in IP Tunneling
    • RFC 2784 - Generic Routing Encapsulation (GRE)
    • RFC 2661 - Layer Two Tunneling Protocol “L2TP”
    • RFC 2637 - Point-to-Point Tunneling Protocol (PPTP)
  • TCP

    • RFC 793 - Transmission Control Protocol
    • RFC 813 - Window and Acknowledgement Strategy in TCP
    • RFC 879 - The TCP Maximum Segment Size and Related Topics
    • RFC 896 - Congestion Control in IP/TCP Internetworks
    • RFC 2581 - TCP Congestion Control
      • RFC 5681 - TCP Congestion Control
      • RFC 6582 - The NewReno Modification to TCP’s Fast Recovery Algorithm
    • RFC 2018 - TCP Selective Acknowledgment Options
      • RFC 2883 - An Extension to the Selective Acknowledgement (SACK) Option for TCP
    • RFC 2988 - Computing TCP’s Retransmission Timer
    • RFC 6298 - Computing TCP’s Retransmission Timer
  • HTTP

    • RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
    • RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
    • RFC 7232 - Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
    • RFC 7233 - Hypertext Transfer Protocol (HTTP/1.1): Range Requests
    • RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching
    • RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication
    • RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2)
    • RFC 7541 - HPACK: Header Compression for HTTP/2

Database

Data Structure

  • 📙 Data Structures and Algorithm Analysis in C:Second Edition

Algorithm

  • 📙 Algorithms,Fouth Edition
  • 📙 Grokking Algorithms: An illustrated guide for programmers and other curious people
  • 📙 Programming Pearls (2/e)
  • 📙 Data Structures and Algorithm Analysis in C:Second Edition

Programming Language

C/C++

Open/Close

System Design

Linux

Kernel

Memory Management

Linux Network

AIO

Lock-free

Memory Order

CPU Cache

Distributed Architecture

Distributed Messages System

Logs & Data

Distributed monitoring and tracking

Data Analysis

Distributed Architecture Engineering Design

Design Pattern

Failure testing of distributed systems

Scalability

Consistent Hashing

Distributed Database

Cache

Message Queue

Log

Performance

Search

Architecture Practices by Companies

Microservice

API Gatway

Microservice VS SOA, IaaS, Paas, Monolithic

Practice

Authentication & Authorization

Design Pattern

Thanks

This roadmap is highly inspired by course: https://time.geekbang.org/column/intro/48. Thanks Hao Chen.

About

C/C++, Data structure, Algorithm, Design Pattern, Linux, Architecture, Distributed Systems, MicroService...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%