How I Recovered My Blog After Vercel Banned 163 Email
A few days ago, I wrote a new article and deployed it to Vercel as usual, but the pipeline threw an error. At first I thought it was a build issue, and after messing around for a while I realized something was wrong — it was the Vercel account itself. The account registered with a 163 email couldn’t log in at all. Later I found out that Vercel had banned the entire 163.com email root domain. What is Vercel?If you’re into independent blogging, you’ve probably heard of or are currently using ...
Using LLM to Manage Security Development Standards - An llm-wiki Practice
When I was organizing our team’s security development standards recently, I encountered an old problem: security documentation keeps piling up, but when you actually need it, you can’t find it. Every time a new team member joins, they have to dig through various documents to piece together the complete security standards. Every time we have a security incident, the lessons learned are scattered everywhere, and we end up rediscovering the same issues next time. I’ve tried managing this with Co...
Vaadin Framework Tutorial: A Frontend Development Guide for Java Engineers
The Frontend Dilemma for Backend EngineersThe pain point of backend engineers developing frontend code is usually that it’s too tedious — you often have to spend a long time looking things up for even the smallest task. Vaadin solves this pain point well by providing backend engineers with an easy-to-learn, convenient solution for writing frontend code. Today, let’s take a look. What is VaadinHello everyone, today I’d like to introduce a tool that’s especially valuable for backend engineers...
An Easy Way to Build a Multi-Language Blog with Hexo
Common Multi-language Blog SolutionsThe simplest way to use hexo to build a multilingual website is to directly build two independent sites and make a jump link to each other. Here’s how to implement it. Solution ComparisonSuppose I now have a Chinese blog and plan to add an English site Hexo Dual-site Implementation Details Copy the entire blog directory as the English blog directory. For example, my blog root directory is called blog.source, and copy a blog.source.en. After this, if source...
Zhihu Enhancement Tool — Comment Timestamps Down to the Second
Zhihu, as a high-quality text community, often features deeply insightful comment discussions. However, Zhihu’s default comment timestamp format has a subtle but frustrating problem — it only shows relative times like “3 hours ago,” “yesterday,” or “5 days ago.” That’s fine for casual browsing, but if you’re trying to trace the timeline of a discussion or compare the order of different comments, this fuzzy time display is completely inadequate. The Problem: Limitations of Relative TimeRelat...
Kubernetes: A Practical Introduction
This tutorial will not focus on Kubernetes deployment, architecture, implementation, or other internal principles. Instead, it will introduce Kubernetes entirely from the perspective of a developer who uses Kubernetes, helping you understand how to better leverage its features. Basic IntroductionWhat is Kubernetes? A relatively official definition: Kubernetes is an open-source container orchestration platform that manages large-scale distributed containerized software applications, commonly...
How to Scientifically Browse Zhihu at Work
Everyone knows what kind of website Zhihu is. Today, let’s look at it from a different angle — I’m sharing a small tool to make “browsing Zhihu at work” safer and more efficient. The Economics of Browsing at Work: Why Zhihu?I was looking through my own Zhihu account analytics recently and noticed something quite interesting: over 40% of traffic came from the PC side. In the mobile internet era, that number is unusually high. I also learned from other sources that Zhihu’s traffic on weekends...
Book Notes: Thinking in Systems - How to Face Complex Problems in Reality
The primary purpose of this book is to teach readers how to think more effectively when facing complex problems in reality. The book itself focuses on basic systems concepts, which are actually quite easy to understand. Additionally, the author provides numerous examples. When first reading this book, you might feel that the theory and practical examples are somewhat disconnected. But gradually you’ll realize that this topic is indeed not easy to explain in a way that’s easily accessible — it...
Common Patterns in Distributed System Design
Previously, I translated an article about distributed systems (https://lichuanyang.top/posts/3914/) which received positive feedback across various platforms. So I recently reorganized the related knowledge, combined with new insights gained over the past year, and rewrote this article. First, let’s clarify what kind of distributed systems we’re discussing here. Simply put, they need to satisfy two conditions: multi-node and stateful. Multi-node is straightforward to understand. Being state...
Are High-Concurrency Solutions Really That Hard? A Casual Guide to High-Concurrency Design
Does high request concurrency always lead to high-concurrency problems? Not necessarily. Imagine an application that does nothing but in-memory computation — no matter how high the request volume, you could simply add more machines to scale linearly. There would be no “high-concurrency problem” to speak of. High-concurrency problems exist because the system has a single-point bottleneck that can’t be solved by brute-force scaling. And in over 90% of cases, that bottleneck is the database. T...













