This is the multi-page printable view of this section. Click here to print.
Software Engineering
1 - API Design
Restful API
2 - ELK Stack
Elasticsearch
How data processing before building Index
- Operation of
Text field
andAnalyzer
- Behind the full-text search mechanism, how text processing through
Lucene
- Behind the full-text search mechanism, how text processing through
- Dynamic Mapping practical tips
- Uniform naming convention ->
dynamic_templates
- carefully setting
dynamic templates
- Turn off dynamic fields mapping
- X
dynamic: false
- V
dynamic: strick
- X
- Turn off
date
ornumber
automatic judgment
- Uniform naming convention ->
- Index Template Recommendation
- Index Alias
keyword type vs. text datatype
When to use the keyword type vs. text datatype in Elasticsearch | ObjectRocket
Ref
Kibana
Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. Do anything from tracking query load to understanding how requests flow through your apps.
- UI Dashboard
- Widgets / Visualization
Logstash
- Input / Transform /stash
Application Architecture Reference
\( \uparrow \) image ref: Building a real-time elastic search engine using Python, Easticsearch, React, Redux, and K8
\( \uparrow \) image ref: Using Amazon ElasticSearch to Improve Performance when Querying Data in MySQL
3 - Linux Useful Command
Convert linefeeds for all files in a folder | Bravehartk2’s Blog"
find . -type f -print0 | xargs -P 4 -0 -n 1 dos2unix
How to remove duplicates and sort entries in zsh history - Quora
cat -n .zsh_history | sort -t ';' -uk2 | sort -nk1 | cut -f2- > .zsh_short_history
# remove all file sudo rm -rf /run/log/journal/* # or sudo journalctl --vacuum-time=1seconds sudo journalctl --vacuum-size=0M
4 - Linux Useful Tools
System tools
• Boot-Repair
https://help.ubuntu.com/community/Boot-Repair
A simple tool to repair frequent boot issues you may encounter in Ubuntu
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt update
sudo apt install -y boot-repair && boot-repair
• TLP
https://linrunner.de/tlp/index.html
Optimize Linux Laptop Battery Life
sudo apt install tlp tlp-rdw
sudo apt-get install smartmontools
sudo systemctl start tlp
sudo tlp-stat | less
GUI tools
• Angry IP scanner
Fast and friendly network scanner
• Crow Translate
https://crow-translate.github.io/
A simple and lightweight translator
• Drawio Desktop
https://github.com/jgraph/drawio-desktop
A diagramming and whiteboarding desktop app based on Electron that wraps the core draw.io editor.
• Fcitx 5
https://fcitx-im.org/wiki/Install_Fcitx_5
Input method framework with extension support
sudo apt-get install -y fcitx fcitx-table-boshiamy fcitx-chewing
• Free File Sync
Open Source File Synchronization & Backup Software
• Open Broadcaster Software Studio (OBS)
Free and open source software for video recording and live streaming
• QDirStat
https://github.com/shundhammer/qdirstat
Qt-based directory statistics (KDirStat without any KDE - from the original KDirStat author)
sudo apt-get install -y qdirstat
• Rclone
A command-line program to manage files on cloud storage. It is a feature-rich alternative to cloud vendors’ web storage interfaces. Over 40 cloud storage products support rclone including S3 object stores, business & consumer file storage services, as well as standard transfer protocols.
• Remmina
Remote access screen and file sharing to your desktop
• linux-wifi-hotspot
https://github.com/lakinduakash/linux-wifi-hotspot
Feature-rich wifi hotspot creator for Linux, which provides both GUI and command-line interface.
Terminal Tools
• aria2
aria2 is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.
sudo apt-get install -y aria2
• bat
https://github.com/sharkdp/bat
A cat(1) clone with wings.
sudo apt install -y bat
• dua
https://github.com/Byron/dua-cli
View disk space usage and delete unwanted data, fast.
curl -LSfs https://raw.githubusercontent.com/Byron/dua-cli/master/ci/install.sh |
sh -s -- --git Byron/dua-cli --target x86_64-unknown-linux-musl --crate dua --tag v2.17.4
• exa
A modern replacement for ls.
exa
is a modern replacement for ls
. It supports colours, Git integration, and other niceties.
sudo apt-get install -y exa
• fd
A simple, fast and user-friendly alternative to ‘find’
sudo apt-get install -y fd-find
• fzf
https://github.com/junegunn/fzf
A command-line fuzzy finder
sudo apt-get install fzf
• fzf-tab
https://github.com/Aloxaf/fzf-tab
Replace zsh’s default completion selection menu with fzf!
• locate
https://linuxhint.com/linux-locate-command/
the quickest and simplest way to search for files and directories by their names.
sudo apt install mlocate
• mosh
Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.
sudo apt-get install mosh
• process monitor
BPYTOP Linux/OSX/FreeBSD resource monitor
sudo apt install bpytop
nvitop An interactive NVIDIA-GPU process viewer, the one-stop solution for GPU process management.
pip3 install --upgrade nvitop
• ripgrep
https://github.com/BurntSushi/ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
sudo apt-get install -y ripgrep
• the Silver Searcher
https://github.com/ggreer/the_silver_searcher
A code-searching tool similar to ack, but faster.
sudo apt-get install silversearcher-ag
• xclip
https://github.com/astrand/xclip
Command line interface to the X11 clipboard
sudo apt-get install -y xclip
• xxh
Bring your favorite shell wherever you go through the ssh.
pip3 install xxh-xxh
• zoxide
https://github.com/ajeetdsouza/zoxide
zoxide is a smarter cd command, inspired by z and autojump.
• zsh
Zsh is a shell designed for interactive use, although it is also a powerful scripting language
sudo apt-get install -y zsh
5 - Program Design
Program Design
PHP
6 - Website System
CORS
CDN
Database
- Choosing the right database
How to choose the right storage solution for your requirements - PostgreSQL vs MySQL
- 「技術選型」比較MongoDB和PostgreSQL:誰才是王者?