Blog

Setting Up the Android Environment for Ionic Development

Setting up an Android development environment for Ionic can be tricky. This guide provides a straightforward process for macOS users to get up and running with physical device debugging.

Jul 27, 2020

Package.json Usage Tips and Tricks

Advanced usage tips for package.json beyond basic dependencies, including version enforcement, custom fields, and practical configuration techniques.

Jul 26, 2020

Keep Translating

Using Crowdin to contribute technical translations daily; thoughts on quality, learning, and tooling.

Jul 19, 2020

Two‑Way Data Binding

How two‑way binding works (Angular as example): API sugar, dirty checking, view updates, and alternatives (defineProperty/Proxy).

Jul 12, 2020

The Road to Upgrading and Downgrading Apple’s New OS

This article shares the author's experience upgrading and downgrading Apple's new system, covering key points and tips for a smoother process.

Jul 10, 2020

Understanding Closures

Clarifying what closures are, why they matter in JavaScript, and practice problems that cement the idea.

Jul 6, 2020

Lazy Loading Principles

This article introduces lazy loading principles, including usage scenarios and implementation details, to improve efficiency in understanding lazy loading principles.

Jul 5, 2020

Fancy Console

Discover how to create fancy console outputs with colorful styles and ASCII art to make your webpage console more engaging.

Jul 4, 2020

HTML Space Display Issues

This article discusses HTML space display issues, including usage scenarios and implementation details, to make handling HTML spacing more efficient.

Jul 3, 2020

Native Browser Support for JS Base64

This post walks through browser-native JS Base64 support, covering use cases and implementation details to help you work with Base64 more efficiently.

Jul 2, 2020

Failed to load response data

This article introduces "Failed to load response data," including its advantages, implementation details, and related resources. These steps can help improve the efficiency of handling "Failed to load response data."

Jun 30, 2020

ESLint Shared Configuration

This article introduces ESLint shared configuration, including its advantages, implementation details, and related resources that can help improve efficiency when working with ESLint shared configurations.

Jun 27, 2020

Common Algorithm Problems

Practicing common algorithm problems: array deduplication, bubble sort, and prime number finding with various methods (trial division, Sieve of Eratosthenes) and performance comparisons.

Jun 27, 2020

Software Metrics - Cyclomatic Complexity

Why cyclomatic complexity matters, how to calculate it, recommended thresholds, and how ESLint/Checkstyle enforce it.

Jun 27, 2020

Assertion Practices in JS Development and Debugging

This post discusses assertion practices in JS development and debugging, including concepts, use cases, and references.

Jun 25, 2020

KSA Model

This post introduces the KSA model, its meaning, and my thoughts on applying it to learning.

Jun 22, 2020

Internet Access Solutions

This article introduces internet access solutions, including usage scenarios and implementation details to improve connectivity efficiency.

Jun 20, 2020

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, implementation details, and relevant resources to help improve efficiency when working with P tags.

Jun 17, 2020

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.

Jun 16, 2020

The Deprecated componentWillReceiveProps

This article introduces the deprecated componentWillReceiveProps, including usage scenarios and implementation details, to improve efficiency in understanding the deprecated componentWillReceiveProps.

Jun 15, 2020

react-intl v3 Upgrade

This article introduces the react-intl v3 upgrade, including its advantages, implementation details, and relevant resources. These steps can help improve efficiency when upgrading to react-intl v3.

Jun 13, 2020

Learn to Ask Better Questions

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

Jun 12, 2020

Implementing WebSocket in Projects — Cluster Scenarios

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

Jun 3, 2020

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 connecting Bluetooth devices, implementation details, and related resources. These steps can help improve the efficiency of connecting Bluetooth devices.

Jun 1, 2020

First Time Developing a Chrome Extension

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

May 31, 2020