explaingit

youngwind/blog

4,658Audience · developerComplexity · 4/5Setup · easy

TLDR

Personal Chinese-language front-end dev blog (2015, 2018) by Liang Shaofeng, published as GitHub Issues. Deep-dive series on Vue.js internals, webpack internals, JavaScript async patterns, browser mechanics, Node.js, and mobile web development.

Mindmap

mindmap
  root((repo))
    What it covers
      Vue.js internals
      webpack internals
      JavaScript async
      Browser mechanics
    Node.js topics
      MySQL and MongoDB
      Express middleware
      CLI tools
    Mobile Web
      Offline storage
      Native bridge comms
    Format
      GitHub Issues blog
      Chinese language
      Read-only articles
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Learn how Vue.js works under the hood by following a Chinese developer's source-code walkthrough series.

USE CASE 2

Understand webpack internals, including how loaders and code splitting work.

USE CASE 3

Study JavaScript async patterns, ES6 generators, and module loading concepts through in-depth articles.

USE CASE 4

Explore browser caching, Service Workers, HTTPS inspection, and the History API explained from first principles.

Tech stack

Vue.jswebpackJavaScriptES6Node.jsExpressMySQLMongoDB

Getting it running

Difficulty · easy Time to first run · 5min

No code to run. Browse articles by visiting the GitHub Issues tab or clicking links in the README. Click Watch to follow new posts.

No license stated. This is a personal blog, content is read-only and not intended to be forked or reused.

In plain English

This repository is the personal blog of a Chinese front-end developer named Liang Shaofeng, running from 2015 through 2018. The blog posts are written in Chinese and stored as GitHub Issues rather than as a traditional website. Readers who want to follow new posts are advised to click Watch on the repository rather than Fork. The articles cover front-end web development in considerable depth. Topics include how Vue.js works internally, with a multi-part series reading through Vue's early source code to explain list rendering, conditional rendering, computed properties, component communication, and data binding. There is also a multi-part series on webpack's internals, including how loaders work and how code splitting is implemented. Beyond those two series, the posts explore a wide range of JavaScript subjects: callbacks and async patterns, ES6 generators and the co library, iterators, mixin patterns, and how to implement a simple module loader similar to RequireJS. Several articles examine browser mechanics, including HTTPS inspection with Charles, browser caching alongside Service Workers, and the browser history API. The blog also covers Node.js topics such as working with MySQL, MongoDB, and Redis, building Express middleware, and writing command-line tools. A smaller collection of articles addresses mobile web development, covering offline resource storage in hybrid apps and bridge communication between web code and native app code. The repository is read-only in the sense that it contains no runnable code. It is purely a list of linked articles, each pointing to a GitHub Issue where the full post lives.

Copy-paste prompts

Prompt 1
I'm reading Liang Shaofeng's Vue.js source-code series. Explain how Vue handles list rendering and conditional rendering internally, as if I've never read a framework's source code before.
Prompt 2
Based on the webpack internals articles in this blog, explain in plain English how webpack loaders transform files and how code splitting actually works at runtime.
Prompt 3
Explain how ES6 generators and the co library solve JavaScript callback hell, using simple analogies for someone who mostly writes frontend HTML and CSS.
Prompt 4
I want to understand browser caching and Service Workers. Summarise how they work together and when a browser decides to use a cached file versus fetch a new one.
Prompt 5
Explain the bridge communication pattern between web code and native mobile app code (as covered in hybrid app development), and why it's needed in a simple step-by-step way.
Open on GitHub → Explain another repo

← youngwind on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.