Skip to the content.

Programming

Testing

keyword: Unit Tests, Benchmark Tests, Integration Tests, Test Coverage, Test-Driven Development (TDD),

Automatic testcases make life easer for developers. After adding a new feature, the programmer shall add new cases to the pool of the existing testcases. And then run related cases to avoid any new bugs.

Automated Docs

The libary (or package) document helps its users quickly get its usage. And the docs should be generated automatically from the source code.

Golang and Rust have their own commands to extract docs from the doc comment inside the source code. doxygen is a tool that can generate docs from kinds of source files: c, c++, c#, object-c, python and so on.

Security

topic contents
Concepts Confidentiality, Integrity, and Authentication
Tools ssh, https

Basics

topic contents
Standards Unicode
Language Integer Overflow, Sign Extention
Concepts Async, Functional, RAII
Networks socket
Algorithms Data Structure and Algorithms
Compliants FFI - Foreign Function Interface,
ABI - Application Binary Interface,
Development BDD, TDD, CDD, CI/CD
Other Panicking, Compile-time checks

Performance

Benchmark Testing measures the performance by running a series of standardized tests
Profiling helps to analyze run-time performance of a program
Atomic helps to avoid contention issue with a “lock” in CPU instruction level
Deferment helps to avoid unnecessary expense
Allocation
Multicore

Others