Cloud Album
A private cloud photo album for overseas users, focused on backup, organization, and subscription-ready experiences.
A real product journey covering the iOS client, MinIO storage, overseas payments, and growth experiments.
Products
Small, useful products backed by the engineering notes on this site.
A private cloud photo album for overseas users, focused on backup, organization, and subscription-ready experiences.
A real product journey covering the iOS client, MinIO storage, overseas payments, and growth experiments.
Blog
A Java web server can inspect HTTP headers such as User-Agent to estimate the browser, operating system, and device category. The result is heuristic, not a trustworthy device identity.
An <audio> element can play a normal HTTP resource, but seeking and reliable playback depend on correct response headers and byte-range support.
A basic image CAPTCHA generates a random challenge, stores its expected value on the server, draws the characters into an image, and returns the image with no-cache headers.
UEditor consists of a browser editor and a server-side action endpoint used for configuration, uploads, image listing, and related operations.
“Reading a JSON value” usually involves two operations: parse a JSON string into a JavaScript object, then access properties on that object.
A dynamically generated form is useful when a page must perform a normal browser navigation with a POST request, such as exporting a file with parameters. This avoids keeping a hidden form in the page markup.
Use DOM APIs to assign field values. Do not concatenate untrusted data into HTML strings, because that can break the markup or introduce an injection vulnerability.
This early C exercise demonstrates how a program can open a Windows physical drive and overwrite its first sector.
Warning: the original code can corrupt critical disk structures, make the operating system unbootable, and cause permanent data loss. Do not run it on a real machine or any disk containing valuable data. It is retained here only as a security-education example. A safe exercise should replace the physical-drive path with an ordinary test file inside an isolated virtual machine.
Java's standard library supports conversions between bases 2 and 36. Digits 0–9 represent values zero through nine, while letters a–z represent values ten through thirty-five.
A multiplication table is a simple exercise for understanding nested loops.
This article reviews the 2012 Lanqiao Cup Java vocational-group problems and the programming techniques commonly required to solve them.