Avatar
Gao
  • C
  • C#

see more about me on my Github profile.


Testable Design

Guidelines for Testable Design Testability issues A programmer struggling to write a test is facing off against one of a few common show-stoppers....


SOLID Design Principles

SOLID Design Principles In object-oriented computer programming, SOLID is acronym and stands for a set of five design principles documented by...


Test Case Design Techniques

| Approach/Implementation | White Box | Black Box | | | |-------------------------|---------------------------|-------------------|---|---| |...


Build Simple Bootstrap Linux System Image

Kernel Image for Emulation We will create a tiny Linux system with absolute minimum additional software. We reuse host kernel image vmlinuz to...


Java Stream

Streams A stream represents a sequence of elements and can perform a series of operations on them strings.stream() .filter(s -> !s.equals(""))...


MongoDB

Scalability NoSQL is intented to offer more scalability. A balance between the scalability and the consistency. Vertical Functional decomposition ...


Matrices in Computer Graphics

Matrix Transformations The matrices are used frequently in computer graphics and the matrix transformations are one of the core mechanics of any 3D...


Tree Diameter

Definition The diameter of a tree is the distance of the longest path between two end nodes $\arg\max_{(u, v) \in G}d(u, v)$, where $d(u, v)$ is the...


Google Foobar Decrypt Final Message

After i have finished Google Foobar challenge I get a encrypted message. The ciphertext was xored with my username and then encode with base64, just...


Google Foobar Dodge The Lasers

Beatty sequence This problem require to calculate $\sum_{i=1}^{n} \lfloor i\sqrt{2} \rfloor$. We must take into consideration the precision and the...