My CS Learning Route

As of the time I am writing this post, I have been studying computer science for a year and a half. I have started to organize and share my own computer science related study materials and routes. The courses in this schedule are not a substitute for college courses, but they can help you further your studies in computer science, or build an initial understanding of the field. In some ways, this route can be more of a substitute for college courses outside of class, as a required course to become an industry technician.

Distributed Transaction

The Eight Fallacies of Distributed Computing by Peter Deutsch. Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences. The network is reliable Latency is zero Bandwidth is infinite The network is secure Topology doesn’t change There is one administrator Transport cost is zero The network is homogeneous

Network Security

1. Definition of security confidentiality: only sender, intended receiver should “understand” message contents sender encrypts message receiver decrypts message authentication: sender, receiver want to confirm identity of each other message integrity: sender, receiver want to ensure message not altered (in transit, or afterwards) without detection access and availability: services must be accessible and available to users. Access is the basis of availability.

AKF Availability Cube

AKF Availability Cube 随着业务规模增长,拆解单体应用(monolith),设计成为面向服务架构(Service-oriented architectutre)

Gorm Source Code

Gorm Source Code 1. sql.DB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 // driverConn wraps a driver.Conn with a mutex, to // be held during all calls into the Conn. (including any calls onto // interfaces returned via that Conn, such as calls on Tx, Stmt, // Result, Rows) type driverConn struct { db *DB createdAt

Concurrency Programming

1. Implements volatile:声明后所有线程看到的改变量的值是一样的。写操作时,会添加Lock前缀的汇编。 保证了1. 保证缓存行的数据写回内存;2. 写

CES Materials

SHU计算机学院资料整理 填完埋了很久的坑,补全了计算机学院相关的资料。 本文仅包含相关电子书,已公开的历年试卷等资源。 本文不含任何教师的个人课

Database Systems

Reference Book: Database System Concepts Seventh Edition 1. Relational Model Readings: Chapters 1-2, 6 Definition DataBase: Organized collection of inter-related data that models some aspect of the real-world. Databases are the core component of most computer applications. A database management system (DBMS) is software that allows applications to store and analyze information in a database. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases.