Common Design Patterns in TypeScript
TypeScript examples of the singleton, factory, proxy, observer, and strategy patterns, with notes on when each pattern is useful.
Historical archive
These older notes remain available for existing links and historical reference. Framework versions and deployment instructions may be obsolete, so the archive is excluded from search indexing.
TypeScript examples of the singleton, factory, proxy, observer, and strategy patterns, with notes on when each pattern is useful.
A practical Docker command reference covering containers, images, bind mounts, Nginx, Dockerfiles, and the historical Ubuntu installation workflow.

A small learning project that combines a Vue 3 client, an Egg.js server, TypeScript, and Socket.IO for real-time game communication.
How Object.defineProperty powers basic interception, why Vue 2 had reactivity limitations, and how Proxy and Reflect support Vue 3's object-level reactivity.
A concise guide to Vue Router 4 installation, history modes, dynamic routes, Composition API helpers, navigation guards, and useLink().
A detailed set of notes on migrating from Vue 2 to Vue 3, including the Composition API, application instances, tree shaking, v-model, async components, slots, and directives.
Introductory TypeScript notes covering primitive types, arrays, tuples, enums, interfaces, classes, access control, inheritance, and function types.
A practical explanation of JavaScript value types, typeof, null versus undefined, constructor prototypes, property lookup, and Object.getPrototypeOf().
The difference between copying references and cloning values, the limits of JSON serialization, and recursive ES5 and ES6 deep-clone implementations.
Condensed front-end interview notes covering JavaScript Promises, same-origin security, performance optimization, responsive design, rem units, and this binding.

A historical walkthrough of setting up Hover and go-flutter, resolving Go module download problems, adding desktop plugins, and building a macOS app.
Two small Flutter configuration examples for locking device orientation and hiding the debug banner.
A singleton Flutter WebSocket utility that manages connection state, sends messages, and distributes server events to registered listeners.
A small Flutter example that wraps sqflite database operations and uses a stored launch counter to choose between welcome and waiting screens.
How browser freshness caching and conditional requests interact, including the precedence of Cache-Control, Expires, ETag, and Last-Modified.
A practical overview of the five HTTP response status classes and frequently encountered codes such as 200, 301, 404, 500, and 503.
Why JavaScript sorts array elements as strings by default and how a comparator produces the expected numeric order.
Notes from rebuilding a personal blog as a Hexo static site, deploying it through a bare Git repository, and serving it over HTTPS with Nginx.