About 2hash & built-with

2022-07-22

About site name

2hash or to_h is a ruby built-in method that creates Hash (or dictionary) which is based on enumerable object.

Server

This application runs on a cheap server (0.71$ / month)

OS: Linux, RAM: 512MB, CPU: 1 core 2 GHz

Main components

Nginx - reverse proxy & blocking bots

Sinatra - lightweight library for web applications

Thin - simple web server

Rack::Protection - Sinatra vulnerability protection extension (e.g. HTTP Strict-Transport-Security, Content-Security-Policy, Referrer-Policy, form authenticity tokens and much more)

Sqlite & Sequel - database migrations & ORM

Capistrano - deployment tool

Rake - ruby tasks for various needs (e.g. generation of DB migration files templates or css compression)

Redcarpet - I edit and save blog posts in Markdown markup (it's simple and clear)

Сustom Rack middlewares

LoggerMiddleware - log maintenance

CompressorMiddleware - simple code to compress html on the fly

ThrottleMiddleware - self-written analogue of the ngx_http_limit_req_module (to limit the number of requests to pages with HTTP POST forms)

Other features

There are also a production/development environments, some session storage, 2-factor authorization for users, and a little more.