Logo Ricky
  • Home
  • About
  • More
    Skills Experiences Education Projects
  • Posts
  • Notes
  • Activities
  • Transform
  • English
    English Chinese
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • Tags
  • A10
  • ACME
  • AD
  • Ada
  • AES
  • AI
  • Aliyun
  • Ansible
  • APP
  • Application Delivery Controller
  • Arceus
  • Argo CD
  • ASCII
  • Authentication
  • Authorization
  • AWS
  • BASH
  • Bastion
  • Bayonet
  • Benchmark
  • BGP
  • BIRD
  • Board Game
  • Browser
  • Byte
  • Cache
  • CDN
  • Channel
  • Chart
  • Checklist
  • Chrome
  • Chrome OS
  • Chrony
  • CI
  • Cilium
  • Cisco
  • Claude
  • Claude Code
  • CLI
  • Cloud-Native
  • Cloudflare
  • Cluster
  • Command Line
  • Completion
  • Config
  • Container
  • Context
  • CPU
  • CURL
  • Data
  • Database
  • Debug
  • Dehydrated
  • Design
  • DevSecOps
  • Diagrams
  • DirtyFrag
  • Dmg
  • DNS
  • DNS-01
  • Docker
  • EFF
  • ElasticSearch
  • ELK
  • Emoji
  • EMQX
  • Encode
  • Encrypt
  • ESXi
  • Extension
  • Firewall
  • Fortigate
  • Fortinet
  • FortiOS
  • Game
  • GeoIP
  • GIN
  • Git
  • GitBook
  • Github
  • Gitlab
  • GitOps
  • Gluetun
  • Go
  • Go-Mysql-Elasticsearch
  • Golang
  • Google
  • GPG
  • GraphQL
  • HA
  • HAProxy
  • Hash
  • HomeLab
  • Htop
  • HTTP
  • Infra
  • Infrastructure
  • Input Method
  • Interview
  • Introduction
  • IPhone
  • Iptables
  • Iso
  • Issue
  • ITerm2
  • Jenkins
  • Jsoniter
  • Juniper
  • JWT
  • Kafka
  • Kibana
  • Kubernetes
  • LDAP
  • Leetcode
  • Lightweight
  • Linkerd
  • Links
  • Linux
  • Llamafile
  • LLM
  • Log
  • Lua
  • Lullaby
  • LVM
  • Machinelearning
  • MacOS
  • Markdown
  • Mattermost
  • Meilisearch
  • Mermaid
  • MinIO
  • Module
  • MQTT
  • MSS
  • MTU
  • Music
  • MyDumper
  • MySQL
  • NAS
  • Netcat
  • Network
  • Nftables
  • Nginx
  • OAuth
  • OIDC
  • Ollama
  • OpenResty
  • Parquet
  • Percona
  • Pinyin
  • Pip
  • Plugin
  • Pokemon
  • Postgres
  • PostgreSQL
  • PowerDNS
  • PowerShell
  • Pprof
  • Principle
  • Privacy
  • Prometheus
  • Protobuf
  • Proxy
  • Push
  • Python
  • QRCode
  • R
  • RAID
  • RDP
  • Redis
  • Regex
  • Ringtone
  • Route
  • Rust
  • S3
  • ScreenShot
  • Security
  • Selenium
  • Sentry
  • Service Mesh
  • SFTP
  • SHELL
  • Skill
  • Slides
  • Snow
  • Software
  • SonarQube
  • SQL
  • SSH
  • SSL
  • String
  • Switch
  • Sync
  • Synology
  • System
  • Taiwan
  • Tcpdump
  • Telegram
  • Terminal
  • Terraform
  • Test
  • Testing
  • Time
  • Timeout
  • TLS
  • Tools
  • Tor
  • Trace
  • Traefik
  • Travel
  • Tunnel
  • Typora
  • Ubuntu
  • UNIX
  • URL
  • UserAgent
  • V2Ray
  • Vagrant
  • Video
  • Vim
  • Virtual Machine
  • Virtualization
  • Visualization
  • VNC
  • VPN
  • VSCode
  • WAF
  • WASM
  • Web
  • WebAssembly
  • Webp
  • Windows
  • WSL
  • YAML
  • Youtube
  • Zabbix
  • Zero Trust
  • Zim
  • ZSH
  • 台語
Hero Image
SQL queries don't start with SELECT

SQL queries don’t start with SELECT SQL queries happen in this order FROM/JOIN and all the ON conditions WHERE GROUP BY HAVING SELECT (including window functions) ORDER BY LIMIT

Wednesday, July 14, 2021 Read
Hero Image
6 YAML Features most programmers don't know

6 YAML Features most programmers don’t know There are more examples that are similarly dangerous as Tom Ritchford pointed out 013 is mapped to 11 as the leading zero triggers the octal notation 4:30 is mapped to 270. Max Werner Kaul-Gothe and Niklas Baumstark informed me that this is automatically converted to minutes (or seconds?) as it is interpreted as a duration: 4*60 + 30 = 270 . Interestingly, this pattern still “works” with 1:1:1:1:1:1:1:1:4:30 . Multi-Line String mail_signature: | Martin Thoma Tel. +49 123 4567 { "mail_signature": "Martin Thoma\nTel. +49 123 4567" } Anchor The & defined a variable emailAddress with the value "info@example.de". The * then indicated that the name of a variable follows.

Wednesday, July 7, 2021 Read
Hero Image
Draw Diagrams With Markdown

Draw Diagrams With Markdown

Tuesday, June 29, 2021 Read
Hero Image
ansible.builtin.slurp - read file content

ansible.builtin.slurp - read file content --- - name: Use HTTP POST to upload file hosts: all tasks: - name: Read binary file content slurp: path: "/bin/ls" register: bin_file - name: Send HTTP POST Request uri: url: "https://your_server/upload.php" headers: Accept: "application/json" Content-Type: "application/octet-stream" method: POST validate_certs: false body: "{{ bin_file.content }}" status_code: - 200 - 201 register: upload_result - name: Display upload_result debug: var: upload_result Using slurp avoids the limitations of lookup(‘file’). You can read files on managed hosts, or use delegate_to: localhost to read files on the controller. You can read binary files for further processing, such as base64 encoding.

Monday, May 31, 2021 Read
Hero Image
Nginx request_time and upstream_response_time explained

Nginx request_time and upstream_response_time explained Time definitions request_time Time from the first byte of the client request to the completion of response data being sent. $request_time includes time to receive the request, time for the upstream to respond, and time to send the response (excluding log write time). upstream_response_time Time from Nginx establishing a connection to the upstream until all data is received and the connection is closed. upstream_connect_time Time to connect to the upstream server. If using an encrypted protocol, this includes handshake time.

Friday, May 14, 2021 Read
Hero Image
How to use a here documents to write data to a file in bash script

How to use a here documents to write data to a file in bash script allow here-documents within shell scripts to be indented in a natural fashion using EOF<<- command <<-EOF msg1 msg2 $var on line EOF Disabling pathname/parameter/variable expansion, command substitution, arithmetic expansion with 'EOF' #!/bin/bash OUT=/tmp/output.txt echo "Starting my script..." echo "Doing something..." # No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on word. # If any part of word is quoted, the delimiter is the result of quote removal on word, and the lines in the here-document # are not expanded. So EOF is quoted as follows cat <<'EOF' >$OUT Status of backup as on $(date) Backing up files $HOME and /etc/ EOF echo "Starting backup using rsync..."

Friday, May 7, 2021 Read
Hero Image
Upgrade database failed after ugrade to Zabbix 5...

Upgrade database failed after ugrade to Zabbix 5… Upgrade Zabbix (4.0, 4.2, 4.4) to 5.0 / 5.2 | Step by Step Guide

Monday, May 3, 2021 Read
Hero Image
High Performance Go Workshop

High Performance Go Workshop

Wednesday, April 28, 2021 Read
Hero Image
Bypass X-Frame-Options with Nginx

Bypass X-Frame-Options with Nginx The X-Frame-Options HTTP response header tells the browser whether a page can be displayed inside <frame>, <iframe>, <embed>, or <object>. Sites can prevent clickjacking by ensuring their pages are not embedded elsewhere. By using Nginx as a forward proxy, we can bypass X-Frame-Options and embed a third-party page in our own page. X-Frame-Options has three possible values: deny: the page cannot be displayed in a frame, even on the same origin. sameorigin: the page can be displayed in a frame on the same origin. allow-from uri: the page can be displayed in a frame only from the specified origin. When Chrome tries to load frame content and X-Frame-Options denies it, the console shows an error like: Refuse to display 'http://192.168.20.101:8080' in a frame because it set 'X-Frame-Options' to 'deny'.

Monday, April 26, 2021 Read
Hero Image
Setting up JWT Authentication

Setting up JWT Authentication Nginx 实现 JWT 验证-基于 OpenResty 实现

Friday, April 23, 2021 Read
Hero Image
SSH failing with Error : fatal: daemon() failed: No such device

SSH failing with Error : fatal: daemon() failed: No such device /var/log/secure Oct 10 10:58:05 vps sshd[23799]: fatal: daemon() failed: No such device # rm -vf /dev/null removed `/dev/null` -bash-3.2# mknod /dev/null c 1 3 Started SSH and the SSH started responding: # service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] -bash-3.2# service sshd status openssh-daemon (pid 30608) is running…

Thursday, March 4, 2021 Read
Hero Image
Enable GitLab project integration: Mattermost slash commands

Enable GitLab project integration: Mattermost slash commands

Thursday, January 28, 2021 Read
  • ««
  • «
  • 15
  • 16
  • 17
  • 18
  • 19
  • »
  • »»
Navigation
  • About
  • Skills
  • Experiences
  • Education
  • Projects
Contact me:
  • zeyanlin@outlook.com
  • linzeyan
  • Ricky
  • Ricky