I'd heard many things about 'Pythonic' before, until during the National Day holiday I saw this video — this Python core developer really explains it well.
How to use wrk to generate HTTP payloads
There are some simple Lua scripts in the wrk repo, but sometimes we need to generate HTTP payload dynamically to test the server. This blog could help you to create your own script.
Configuring My Work Environment
The company machines are Debian-based with nothing in the default environment. SSHing in felt very uncomfortable — typing many commands by hand is terrifying, and vim wasn't configured either.
FFmpeg Live Streaming on Bilibili
Recently I wanted to live-stream Oxygen Not Included on Bilibili, tried ffmpeg, and finally decided to just use obs properly 🤣. But some ffmpeg usage is still worth sharing.
Some Practice with Python's Type System
A bit of practice with strong typing in Python.
First Steps with MongoDB
I hadn't actually used MongoDB before, but a company project happened to need it. Anyway, getting a slightly systematic understanding of MongoDB is a good thing. I'll share the problems I met at work and some solutions. I hope readers are familiar with MySQL first, then look at Join and Group by operations.
An XSS Hole I Left By Accident
Due to carelessness in my program I left an XSS vulnerability directly. Now I've written up the process, hoping friends who read it will take it as a warning: no parameter in a user-shared link should ever be rendered directly.
JSON Serialization of Custom Objects in Python
Recently while writing Python, built-in objects can be formatted directly with json.dumps, but for custom classes json.dumps falls short. Here I explore several solutions, and in the end I picked a suitable one — sharing it with everyone.
A Small Pitfall with defer in Golang
I've been writing Go recently and found my understanding of defer was a bit off. How lucky I am to have hit the problem early — sharing it so hopefully you can avoid it.
Linux Tips (III)
This article is mainly about Vim tips. It's my own fault for raising so many flags before — all those blogs and software I promised to write. Now I have to fill the holes one by one. Hope it helps.