Recently Updated Pages
RDS Configuration Notes
Warning: auto-generated passwords When creating an RDS instance, if you choose "auto-generate a...
See Also
Media Transcoding The Media Transcoding book of this guide has a lot of useful information about...
Common items to cache client-side
Naturally, what you will want to cache in a client's browser depends a lot on your use case, but ...
Introduction to client-side caching
Differences vs. server-side caching Client-side caching is not secure, no matter what you do. ...
Caching Pitfalls
The nature of caching anything is that it is a tradeoff: in return for having quick access to som...
Implementing Rolling Rate Limits
Redis sorted sets are different from other collection types, in that they are a collection of uni...
Using Redis
Redis is a well-known, popular open-source caching software, built for simplicity and efficiency ...
Implementing a thumbnail generator
Prerequisites Make sure you've read the previous page on implementing video transcoding with ser...
Setting up Lambda for image resizing
Compiling sharp for x86_64 architecture To use Sharp for Node.js properly, we need to compile it...
Web Application Firewall (WAF)
A Web Application Firewall (WAF) is basically like a normal firewall you'd have on your own PC, b...
Apache configuration
Configuring Apache properly is essential for website security. Generally, pre-packaged webserver ...
User Input: Sanitization and Validation
To protect your website from malicious attacks (and also simply to prevent weird errors for users...
Preventing Bot Activity
Other than user-submitted content, the other type of content that you will have to deal with is b...
User Content Moderation
If your website has any form of user-submitted content, then you are going to need some form of m...
Using a Content Delivery Network (CDN)
Once you start having more than one webserver (and thus need a load balancer), or even before tha...
Storing User Sessions
In most websites, user "sessions" are stored to keep users logged in, among other things. There a...
The purpose of this guide
There is one main reason I have written this guide: Understanding the difficulty of website deve...
Rate Limits
For user actions that have a rate limit, like reblogging a given artwork, a rolling rate limit is...
Tippy Themes and Theme Presets
To customise the functionality of Tippy.js a bit more, Deserted Chateau also uses its own themePr...
Shell Tooltips
The format for shell tooltips is as follows: Backend Code (in PHP template file) <?php DynamicC...