Front-End System Design Links

Web resources

YouTube channels

Books

  • Designing Data-Intensive Applications (Martin Kleppmann)
  • Clean Architecture: A Craftsman’s Guide to Software Structure and Design (Robert C. Martin Series)

Useful Services

Serial (COM port) to USB cable for old APC UPS

Firstly find and buy cable on aliexpress by keywords «APC Smart UPS DB9, CP2102, USB RS232, serial 9 D-Sub, cable 940-0024C, Windows 7/8/10, Mac, Linux».

Continue reading

Infrastructure Plan For Small Developers Team

Software

  • Base for virtualization on bare-metal server (KVM + web): Proxmox
  • Linux for VM: Debian or Ubuntu
  • Password manager (Docker + web): Passbolt
  • Git & Team (Docker + web): GitLab
  • Task manager (Docker + web): Taiga
  • NAS: OpenMediaVault
  • An open-source & self-hostable Heroku / Netlify alternative: Coolify (Self hosting in 2023)

Minimal Hardware Requirements

  • CPU: 4 core (AMD Athlon 3000G, Intel i3 — all CPU with little TDP).
  • Disk: 500 Gb SSD/NVMe 1 disk for proxmox and VMs + 1 Tb HDD/SSD 1 disk for backup.
  • Memory: 32 Gb

WordPress Free Themes

GPLDL Premium WordPress Themes Repository

The GPLDL Premium WordPress Themes Repository currently counts 604 downloads.

GPLDL provides free downloads of Premium WordPress Themes from all leading WordPress Developers like AppThemes, CSSIgniter, Dessign, Cyberchimps, Elegant Themes, Elmastudio, Envato/Themeforest, Graph Paper Press, Obox, PanKogut, BuddyPress Team, ThemeZilla, Themify, WooThemes, WPMUDEV including regular updates when they become available.

All WordPress Themes at GPLDL are true originals (no modifications, not nulled, no malware) obtained from the respective developers and are redistributed legally under the terms of the GNU General Public License.

Download themes

Debug Angular application in VSCode and Chromium

If you want debug Angular application in VSCode and Chromium in Linux that you should’t install extensions for that! You need add only one file launch.json in your project with this configuration:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch Chrome",
      "request": "launch",
      "type": "chrome",
      "url": "http://localhost:4200/#",
      "webRoot": "${workspaceFolder}",
      "runtimeExecutable": "/usr/bin/chromium",
      "runtimeArgs": [
        "http://localhost:4200",
        "--new-window",
        "-user-data-dir=${workspaceFolder}/DevProfile",
        "--remote-debugging-port=9222",
        "--disable-background-networking"
      ]
    }
  ]
}

Important notes

  1. check path to chromium binary file, for me it’s «/usr/bin/chromium».
  2. maybe you don’t need create user-data-dir for debug action.
  3. if you see error «unverified breakpoint» in VSCode that meen you need check path url and webRoot fields in your launch.json.

Static Site Generator, SSR And Other Framework For Site Generation

Based on Vue.js

VuePress

VuePress is composed of two parts: a minimalistic static site generator (opens new window) with a Vue-powered theming system and Plugin API, and a default theme optimized for writing technical documentation. It was created to support the documentation needs of Vue’s own sub projects.

Each page generated by VuePress has its own pre-rendered static HTML, providing great loading performance and is SEO-friendly. Yet, once the page is loaded, Vue takes over the static content and turns it into a full Single-Page Application (SPA). Extra pages are fetched on demand as the user navigates around the site.

Read more about VuePress.

Base on Go

Hugo

Hugo is a fast and modern static site generator written in Go, and designed to make website creation fun again.

Hugo is a general-purpose website framework. Technically speaking, Hugo is a static site generator. Unlike systems that dynamically build a page with each visitor request, Hugo builds pages when you create or update your content. Since websites are viewed far more often than they are edited, Hugo is designed to provide an optimal viewing experience for your website’s end users and an ideal writing experience for website authors.

Websites built with Hugo are extremely fast and secure. Hugo sites can be hosted anywhere, including Netlify, Heroku, GoDaddy, DreamHost, GitHub Pages, GitLab Pages, Surge, Firebase, Google Cloud Storage, Amazon S3, Rackspace, Azure, and CloudFront and work well with CDNs. Hugo sites run without the need for a database or dependencies on expensive runtimes like Ruby, Python, or PHP.

Read more about Hugo.

Bash scripts with NodeJS

Use Google’s package ZX for bash scripts on NodeJS: github and npm package.

Example:

#!/usr/bin/env zx

await $`cat package.json | grep name`

let branch = await $`git branch --show-current`
await $`dep deploy --branch=${branch}`

await Promise.all([
  $`sleep 1; echo 1`,
  $`sleep 2; echo 2`,
  $`sleep 3; echo 3`,
])

let name = 'foo bar'
await $`mkdir /tmp/${name}`