Blog

Why Block-Level Elements Cannot Be Contained Within P Tags

This article explains why block-level elements cannot be contained within P tags, including the advantages, …

· 2 min
HTML

Bought AirPods (2nd Gen)

Why I upgraded from AirPods Gen 1, who should buy them, Gen 2 vs. Gen 1/Pro, battery life, and resale options.

· 3 min
Apple Ecosystem硬件设备

The Deprecated componentWillReceiveProps

This article introduces the deprecated componentWillReceiveProps, including usage scenarios and implementation details, …

· 2 min
React

react-intl v3 Upgrade

This article introduces the react-intl v3 upgrade, including its advantages, implementation details, and relevant …

· 3 min
React

Learn to Ask Better Questions

Reflections on the X-Y Problem and why clear, thoughtful questions save everyone time.

· 1 min
Personal Notes

Implementing WebSocket in Projects — Cluster Scenarios

How we used Redis pub/sub to fan out WebSocket messages across clustered Spring Boot instances.

· 2 min
WebSocketRedis

Implementing One-Click Bluetooth Device Connection with Alfred

This article introduces how to implement one-click Bluetooth device connection using Alfred, including the advantages of …

· 2 min
Productivity Tools

First Time Developing a Chrome Extension

Notes from building my first Chrome extension for JD.com coupon automation—key capabilities, workflow tips, and …

· 3 min
Chrome

Switching Blog Search to Algolia

Migrated from Swiftype/local search to Algolia on Hexo + NexT: account setup, keys, theme and site config, indexing, and …

· 2 min

Implementing One-Click Evernote Search in Alfred

This article explains how to implement one-click Evernote search in Alfred, including why it is useful, the …

· 1 min
Productivity Tools

Implementing One-Click OCR Screenshot Text Recognition with Alfred

This article introduces implementing one-click OCR screenshot text recognition with Alfred, including OCR advantages, …

· 1 min
Productivity Tools

Web Page Font Flickering Issues

Diagnosing custom font flicker and practical fixes: CSS extraction, font preloads, file formats, font-display strategy, …

· 4 min
Frontend DevelopmentChrome

Implementing One-Click OpenConnect VPN Login with Alfred

This article introduces how to implement one-click OpenConnect VPN login using Alfred, including the advantages of …

· 2 min
Productivity ToolsNetwork Tools

No Nested Ternary

This article introduces the no-nested-ternary rule, including its advantages, implementation details, and relevant …

· 1 min
Code QualityJavaScript

Reading the Alibaba Java Development Manual

Thoughts after reading Alibaba’s Java Development Manual (Taishan Edition) and how to internalize the conventions.

· 2 min
Code Quality

Architecture Decision Records — ADR

An introduction to Architecture Decision Records (ADRs): why teams need them, how to use them, and a template to start.

· 1 min
Architecture

TypeScript Decorator Practice

Overview of TypeScript decorators, how to enable them, and a practical example transforming Redux action types.

· 2 min
TypeScript

Google Engineering Practices — CR and MR

Takeaways from Google’s engineering practices on changelists (CLs), merge requests (MRs), and code reviews (CRs).

· 2 min
Code Quality

Site Security - CSP

Why CSP matters for site security, how to configure it via headers or meta tags, and common policies worth enabling.

· 2 min
Network Security

Emoji Explained (Simple Guide)

What emojis are (characters, not images), encoding basics, why JS string length varies, and practical notes.

· 3 min

Keyboards Explained (Simple Guide)

A quick primer on keyboard terminology: modifier keys, zones, layouts, and customization tools.

· 2 min
Hardware Devices

Migrating from TSLint to ESLint

TSLint is deprecated—here’s why you should migrate, what the roadmap says, and both automated and manual steps to switch …

· 2 min
Code Quality

Migrating from ts-loader to babel-loader

Why I switched from ts-loader to babel-loader, sample configuration, performance notes, and common questions.

· 1 min
TypeScript

Improving Redux Saga Error Readability

This article introduces improving Redux Saga error readability, including usage scenarios and implementation details to …

· 1 min
React

关于PayPal的使用

本文介绍关于PayPal的使用,包括使用场景、实现细节等,以提高关于PayPal的使用的效率。

· 2 min