Blog

IDEA Plugin - NPM Package Version History

This article introduces the IDEA plugin for viewing NPM package version history, covering its advantages, implementation details, and related resources. These steps can help improve efficiency when working with NPM package version history.

Feb 1, 2020

Learning Retrospectives

Why our team needed regular retrospectives, a simple meeting structure, and tools that help.

Jan 31, 2020

Difference Between implements and extends in TypeScript

Clarifies how implements vs. extends behave in TypeScript and compares them with Java.

Jan 30, 2020

Refactoring (2nd Edition) — Book Notes

Highlights and personal reflections after reading Refactoring (2nd Edition).

Jan 30, 2020

Tools I Bought in 2019

This post summarizes the tools I bought in 2019, including HomePod, iPad mini 5, Bose 700, and the MacBook Pro 16, which helped improve my work and life efficiency.

Jan 23, 2020

Publishing Public Packages to npmjs

This article introduces publishing public packages to npmjs, including its advantages, implementation details, and relevant resources. These steps can help improve efficiency when publishing public packages to npmjs.

Jan 21, 2020

Applying for a U.S. Visa

Notes from a smooth U.S. visa application (B1/B2): required docs, principles, DS‑160 tips, interview, and EVUS.

Jan 18, 2020

Don't Use Yoda Conditions in Frontend

This post explains why not to use Yoda conditions in frontend code, covering scenarios and lint rules to improve code quality.

Jan 14, 2020

NPM Indirect Dependency Version Issues

This article introduces NPM indirect dependency version management, including its advantages, implementation details, and related resources, helping developers improve efficiency in handling NPM indirect dependency versions.

Jan 13, 2020

Unknown vs. Any in TypeScript

Highlights the core difference between `unknown` and `any`, with examples of type narrowing and why `unknown` is safer.

Jan 12, 2020

2019 Year-End Summary

This is the author's 2019 year-end summary, reviewing growth in a complex project, reflecting on technical learning, and sharing hopes for the future. The article expresses thoughts on time, effort, and growth, showing self-reflection and progress.

Jan 1, 2020

PUT vs. PATCH in REST APIs

Clarifies when to use PUT or PATCH, quoting HTTP/1.1 definitions, exploring practical scenarios, and discussing the trade-offs of each approach.

Dec 29, 2019

Global Exception Interception and Customized Error Handling in Axios

This article explores the implementation of global exception interception and customized error handling in Axios. Through the combination of Axios interceptors and Redux-Saga, it resolves the conflict between global interception and customized handling, achieving unified processing of common exceptions and personalized error handling for specific requests, improving the efficiency and flexibility of frontend exception handling.

Dec 29, 2019

Redux-Saga Helper Functions

Breaks down takeEvery, takeLeading, and takeLatest with behavior notes, logs from experiments, and guidance on when to use each helper.

Dec 28, 2019

Duplicate identifier LibraryManagedAttributes

This article introduces the solution to the Duplicate identifier LibraryManagedAttributes error, including the advantages, implementation details, and related resources that can help improve efficiency when dealing with this TypeScript compilation issue.

Dec 24, 2019

Read-only Nature of React Props

This article introduces the read-only nature of React Props, including its advantages, implementation details, and relevant resources. These steps can help improve efficiency when working with React Props' read-only nature.

Dec 22, 2019

Migrate to a New Mac with Time Machine

How to restore a new Mac from a Synology-based Time Machine backup, plus what still needs manual setup afterward.

Dec 21, 2019

Talking About the Axios HTTP Library

Common Axios gotchas: which status codes reject, how it differs from XHR onerror, redirects, array params, and canceled requests.

Dec 14, 2019

Improve Frontend Code Quality with Tools — Version Automation

Automating versioning and changelogs to improve frontend code quality and release reliability, with concrete tooling and workflow.

Dec 8, 2019

Publishing Frontend Packages to Private npm Registry

This article introduces publishing frontend packages to private npm registry, including usage scenarios and implementation details to improve efficiency in private package management.

Nov 17, 2019

Deploy V2Ray with Docker

Step-by-step V2Ray deployment using Docker and docker-compose: prerequisites, VPS selection, install steps, configs, and gotchas.

Nov 16, 2019

Using Alfred for Efficient Word Lookup with Eudic Dictionary

Enhancing Eudic Dictionary word lookup efficiency using Alfred workflows and AppleScript, addressing pain points like repeated manual input and lack of one-click pronunciation.

Nov 3, 2019

Google Voice Usage Guide

This article introduces the Google Voice usage guide, including its advantages, implementation details, and relevant resources. These steps can help improve efficiency when using Google Voice.

Nov 2, 2019

Transforming VSC into a Tool to Complement IDEA

How to configure VSC to complement IDEA, enhancing workflow efficiency.

Oct 27, 2019

Dictionary vs Map vs Object

This article introduces the differences between Dictionary, Map, and Object in JavaScript, including their advantages, implementation details, and related resources to help improve efficiency with data structure selection.

Oct 27, 2019