# BlockLune's Blog > A blog about development and life, powered by Astro. URL Source: https://blocklune.cc/ Author: BlockLune ## Posts - [A very interesting VimGolf](en/posts/a-very-interesting-vimgolf): VimGolf.com is a good place for vimers to practice and improve their vim skills. This post records my experience of solving a very interesting VimGolf game -- Quicksort. Published on Sun Jan 28 2024 12:32:52 GMT+0000 (Coordinated Universal Time). Tags: vim, tool, quicksort, vimgolf - [Awesome CLI Apps](en/posts/awesome-cli-apps): This is a list of some awesome CLI (command-line interface) apps. Published on Mon Oct 09 2023 18:10:26 GMT+0000 (Coordinated Universal Time). Tags: unix, terminal, tool, cli, command-line - [const and constexpr in C++](en/posts/const-and-constexpr-in-cpp): In this blog post, I will list the various uses of const in C++. Published on Fri Mar 24 2023 21:21:42 GMT+0000 (Coordinated Universal Time). Tags: cpp, programming-language, const - [Const Correctness in C++](en/posts/const-correctness-in-cpp): This is a note for Lecture 8, CS106L, Spring 2023. Published on Thu Jun 01 2023 14:57:37 GMT+0000 (Coordinated Universal Time). Tags: const, cpp, cs106l, note, programming-language, software-engineering, stanford - [Ubuntu Installation Notes](en/posts/installing-ubuntu): This is NOT a tutorial on how to install Ubuntu. I am just documenting some problems I encountered during my installation. Published on Thu Apr 27 2023 23:41:50 GMT+0000 (Coordinated Universal Time). Tags: installation, linux, linux-setup, ubuntu, unix - [joshuto: A great file manager in terminal](en/posts/joshuto-a-great-file-manager-in-terminal): When in a terminal, sometimes it's really annoying to keep on typing in cd or something else to browse the files and directories. Can we do it just like what we do in GUI? Then joshuto may be helpful to you. Published on Wed Jul 12 2023 11:39:18 GMT+0000 (Coordinated Universal Time). Tags: terminal, tool, rust, file-manager, vim-like - [Managing Multiple Python Versions with pyenv and conda](en/posts/managing-multiple-python-versions-with-pyenv-and-conda): As a CS student, I often find myself working on projects that require different Python versions, each with its own set of dependencies and libraries. In such scenarios, having a reliable and efficient method for managing these versions becomes crucial. Inspired by pyenv 与 conda 双轨制:管理 Python 版本和环境, this blog post aims to document my experience with managing multiple versions of Python using pyenv and conda. Published on Tue Feb 20 2024 15:32:11 GMT+0000 (Coordinated Universal Time). Tags: python, tool, environment-management, pyenv, conda - [Matching IPv4 addresses with RegExp](en/posts/matching-ipv4-addresses-with-regexp): While solving the NUM3RS problem of CS50P, I was asked to match IPv4 addresses with RegExp. Published on Tue Jul 04 2023 16:03:46 GMT+0000 (Coordinated Universal Time). Tags: python, regex, software-engineering, programming-language, ipv4 - [Move Semantics in C++](en/posts/move-semantics-in-cpp): This is a note for Lecture 13, CS106L, Spring 2023. Published on Tue May 30 2023 22:14:00 GMT+0000 (Coordinated Universal Time). Tags: cpp, cs106l, move-semantics, note, programming-language, r-value-reference, special-member-functions, stanford - [My GDB Cheat Sheet](en/posts/my-gdb-cheat-sheet): The GNU debugger is a powerful tool for the debugging of (mainly) C/C++ programs. In this post I document the common operations of gdb and some useful learning resources. Published on Sat Mar 09 2024 14:16:24 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, tool, gdb, debugging, cheat-sheet - [My personal summary of Algorithms, Part I on Coursera](en/posts/my-personal-summary-of-algorithms-part-i-on-coursera): As the title says, this is my personal summary of Algorithms, Part I on Coursera. Published on Fri May 12 2023 18:27:12 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, coursera, princeton, online-course - [My personal summary of Stanford CS106L](en/posts/my-personal-summay-of-stanford-cs106l): This is CS106L, an in-depth modern C++ language course from Stanford. I enrolled in it at the beginning of April and almost finished it today. Published on Thu Jun 01 2023 23:09:45 GMT+0000 (Coordinated Universal Time). Tags: cpp, cs106l, modern-cpp, programming-language, software-engineering, stanford - [Note for Intro to Machine Learning](en/posts/note-for-intro-to-machine-learning): This is a note for the course on Kaggle: Intro to Machine Learning. Published on Sun Nov 12 2023 19:20:26 GMT+0000 (Coordinated Universal Time). Tags: python, machine-learning, decision-tree, random-forest, mean-absolute-error, note - [Notes for Algorithms, Part II: Directed Graphs](en/posts/notes-for-algorithms-part-ii-directed-graphs): This is a note for 4.2 Directed Graphs, Algorithms, Part II. Published on Sat Jul 29 2023 09:34:51 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, java, digraph, coursera, note - [Notes for Algorithms, Part II: Minimum Spanning Trees](en/posts/notes-for-algorithms-part-ii-minimum-spanning-trees): This is a note for 4.3 Minimum Spanning Trees, Algorithms, Part II. Published on Thu Aug 03 2023 21:17:06 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, java, coursera, minimum-spanning-tree, note - [Notes for Algorithms, Part II: Shortest Paths](en/posts/notes-for-algorithms-part-ii-shortest-paths): This is a note for 4.4 Shortest Paths, Algorithms, Part II. Published on Sat Feb 10 2024 13:12:59 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, coursera, graph-theory, spanning-tree, note - [Notes for Algorithms, Part II: Undirected Graphs](en/posts/notes-for-algorithms-part-ii-undirected-graphs): This is a note for 4.1 Undirected Graphs, Algorithms, Part II. Published on Thu Jul 27 2023 16:28:42 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, java, coursera, graph-theory, note - [Notes for Machine Learning](en/posts/notes-for-machine-learning): Here are my notes for course Machine Learning taught by Andrew Ng.About exercise: I didn't do the original version exercise which depends on Octave or Matlab, but a third-party Python version (See nsoojin/coursera-ml-py). Published on Fri Jul 14 2023 11:59:14 GMT+0000 (Coordinated Universal Time). Tags: ai, machine-learning, coursera, note, python, octave, linear-regression, logistic-regression - [Notes for Machine Learning Specialization: More numerically accurate code examples](en/posts/notes-for-machine-learning-specialization-more-numerically-accurate-code-examples): This is a note for the Machine Learning Specialization. Published on Mon Aug 14 2023 11:03:44 GMT+0000 (Coordinated Universal Time). Tags: ai, machine-learning, tensorflow, coursera, softmax, note - [Notes for Machine Learning Specialization: Vectorization](en/posts/notes-for-machine-learning-specialization-vectorization): This is a note for the Machine Learning Specialization. Published on Wed Aug 09 2023 10:56:35 GMT+0000 (Coordinated Universal Time). Tags: ai, machine-learning, python, vectorization, linear-algebra, note - [Notes for Matplotlib](en/posts/notes-for-matplotlib): Here are some notes for Matplotlib. Published on Thu Jun 29 2023 20:00:50 GMT+0000 (Coordinated Universal Time). Tags: python, matplotlib, data-visualization, note, tool - [Notes for Nand2Tetris: Assembler](en/posts/notes-for-nand2tetris-assembler): This is a note for Nand2Tetris Unit 6. Published on Mon Jul 17 2023 20:28:42 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, python, assembler, programming-language, software-engineering, note - [Notes for Nand2Tetris: Boolean Arithmetic and the ALU](en/posts/notes-for-nand2tetris-boolean-arithmetic-and-the-alu): This is a note for Nand2Tetris Unit 2. Published on Sat Jul 08 2023 22:17:06 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, algorithm, hardware-design, digital-logic, coursera, note - [Notes for Nand2Tetris: Boolean Functions and Gate Logic](en/posts/notes-for-nand2tetris-boolean-functions-and-gate-logic): This is a note for Nand2Tetris Unit 1. Published on Sat Jul 08 2023 15:06:35 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, note, hardware-description, boolean-logic, digital-circuits - [Notes for Nand2Tetris: Computer Architecture](en/posts/notes-for-nand2tetris-computer-architecture): This is a note for Nand2Tetris Unit 5. Published on Wed Jul 12 2023 11:57:51 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, computer-architecture, hardware-design, assembly-language, coursera, note - [Notes for Nand2Tetris: Machine Language](en/posts/notes-for-nand2tetris-machine-language): This is a note for Nand2Tetris unit 4. Published on Tue Jul 11 2023 16:49:01 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, programming-language, assembly, software-engineering, algorithm, note - [Notes for Nand2Tetris: Memory](en/posts/notes-for-nand2tetris-memory): This is a note for Nand2Tetris unit 3. Published on Sun Jul 09 2023 19:44:36 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, note, computer-architecture, digital-logic - [Notes for Nand2Tetris: Virtual Machine I: Stack Arithmetic](en/posts/notes-for-nand2tetris-virtual-machine-i-stack-arithmetic): This is a note for Nand2Tetris unit 7 (Part II, Unit 1). Published on Wed Jul 19 2023 11:25:49 GMT+0000 (Coordinated Universal Time). Tags: nand2tetris, programming-language, software-engineering, vm-abstraction, stack-machine, note - [Notes for 《tmux Productive Mouse-Free Development》](en/posts/notes-for-tmux-productive-mouse-free-development): Notes for tmux Productive Mouse-Free Development written by Brian P. Hogan. Published on Sat Aug 05 2023 11:47:53 GMT+0000 (Coordinated Universal Time). Tags: tmux, terminal, unix, productivity, shell, note - [Package Managers on Linux: A Simple Cheat Sheet](en/posts/package-managers-on-linux): What are package managers? For beginners, you can think of them as "app stores for nerds". More specifically, they are tools for automating software installation, updates, and dependency resolution. Here's a simple cheat sheet for apt (used in Debian/Ubuntu) and pacman (used in Arch Linux), which noting the most used commands. Published on Sat Mar 11 2023 14:23:18 GMT+0000 (Coordinated Universal Time). Tags: apt, linux, package-manager, pacman, tool, unix - [Permutations and Combinations in Python (itertools)](en/posts/permutations-and-combinations-in-python-itertools): Extracted from itertools — Functions creating iterators for efficient looping — Python 3.11.3 documentation Published on Sun May 28 2023 16:42:00 GMT+0000 (Coordinated Universal Time). Tags: python, algorithm, data-structure, itertools, permutations-combinations, programming-language - [Python libraries mentioned in CS50P](en/posts/python-libraries-mentioned-in-cs50p): This is a list of some Python libraries mentioned in CS50P 2022. Published on Fri Jul 07 2023 11:27:54 GMT+0000 (Coordinated Universal Time). Tags: python, programming-language, software-engineering, tool, cs50p - [Set up a blog with Hexo](en/posts/set-up-a-blog-with-hexo): This is a simple record of my further attempt to set up a blog with Hexo. I built one on GitHub Page before, using Hexo with the Icarus theme. This time I want to try something different. I also cleaned up my old blog and selectively migrated some old posts here. Published on Sat Apr 15 2023 13:16:06 GMT+0000 (Coordinated Universal Time). Tags: hexo, blog-setup, web, github-pages, next-theme - [Setting up your new machine - A simple dev environment configuration guide](en/posts/setting-up-your-new-machine-a-simple-dev-environment-configuration-guide): As developers, we interact with all kinds of machines every day. A well-configured development environment can significantly boost productivity and make coding more enjoyable. This comprehensive guide will help you set up a comfortable and efficient workspace. It's mainly for beginners, but experienced developers may also find some useful tips. Published on Mon Sep 02 2024 15:53:08 GMT+0000 (Coordinated Universal Time). Tags: unix, windows, terminal, productivity, software-engineering, configuration, tool - [Simple Git Tutorial](en/posts/simple-git-tutorial): This is mainly a simple tutorial of Git. Some info about GitHub also included. You may also read Simple GitHub Tutorial. Published on Sat Mar 11 2023 17:55:55 GMT+0000 (Coordinated Universal Time). Tags: git, version-control, software-engineering, tool, collaboration - [Simple Git Tutorial: Branching and Merging](en/posts/simple-git-tutorial-branching-and-merging): Git's powerful branching and merging capabilities can help you deal with parallel collaborative development processes. Let's take a look. Published on Mon Jan 29 2024 13:37:07 GMT+0000 (Coordinated Universal Time). Tags: git, software-engineering, version-control, branching, merging - [Simple GitHub Tutorial](en/posts/simple-github-tutorial): I wrote a tutorial on Git. In this post, I'd like to introduce the platform that is indispensable when it comes to Git: GitHub. Published on Sat Jan 27 2024 12:50:29 GMT+0000 (Coordinated Universal Time). Tags: git, software-engineering, ssh, github, version-control - [static_cast and const_cast in C++](en/posts/static-cast-and-const-cast-in-cpp): This is a note for Lecture 8, CS106L, Spring 2023. Published on Tue May 30 2023 15:44:00 GMT+0000 (Coordinated Universal Time). Tags: const, cpp, cs106l, note, programming-language, software-engineering, stanford - [Testing Typescript project with Mocha and Istanbul NYC](en/posts/testing-typescript-project-with-mocha-and-istanbul-nyc): Mocha is a popular JS test framework, and Istanbul is a popular JS test coverage tool. How to use them when it comes to Typescript? This post shows a simple demo. Published on Thu Feb 08 2024 12:00:07 GMT+0000 (Coordinated Universal Time). Tags: typescript, javascript, testing, mocha, nyc - [Two Way Binding in Vue3](en/posts/two-way-binding-in-vue3): A simple two way binding example in vue3. Published on Fri Jan 26 2024 13:24:50 GMT+0000 (Coordinated Universal Time). Tags: vue, typescript - [Type Safety and std::optional in C++](en/posts/type-safety-and-std-optional-in-cpp): This is a note for Lecture 14, CS106L, Spring 2023. Published on Wed May 31 2023 11:35:00 GMT+0000 (Coordinated Universal Time). Tags: const, cpp, cs106l, note, programming-language, software-engineering, stanford, type-safety - [Use std::cin.ignore() to keep the user typing until the input meets the requirements](en/posts/use-std-cin-ignore-to-keep-the-user-typing-until-the-input-meets-the-requirements): I used to control users' input by making the input a string and process it later. But today, my friend posed this question to me: Can we control input without a char array or string class? Published on Sat Mar 25 2023 20:12:40 GMT+0000 (Coordinated Universal Time). Tags: cpp, c, input-validation, std-cin - [用 25 个例子带您入门 Linux Bash 脚本(翻译)](zh/posts/25-common-linux-bash-script-examples-to-get-you-started): 对 25 Common Linux Bash Script Examples to Get You Started 一文的中文翻译,原作者是 Ignas R.。 Published on Mon Dec 09 2024 10:15:00 GMT+0000 (Coordinated Universal Time). Tags: translation, bash, shell, bash-script - [一个有关指针传参的问题](zh/posts/a-problem-related-to-passing-by-pointer): 这是我学习指针过程中遇到的一个问题,问过大佬才似乎懂了点,在此记录。顺便记下一句大佬说的话:注意到一点就行,指针其实也就是个存了内存地址的变量,它本身同时也具有内存地址。 Published on Thu Nov 03 2022 20:52:38 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, pointer-manipulation, memory-management, programming-language - [Arch Linux 安装笔记](zh/posts/archlinux-installation-notes): 之前我在 VMWare 中安装了 Arch Linux,最近又在实体机上尝试安装了 Windows 11 和 Arch Linux 双系统。Arch Linux 的 Wiki 写得非常好,而且中文资料很丰富,加之 AI Chatbot 的帮助,安装过程总体上还是很顺利的。这里记录一下在安装指南中需要重点关注的内容、没有直接提到的一些细节、以及后续的一些配置。 Published on Sun Dec 22 2024 19:01:16 GMT+0000 (Coordinated Universal Time). Tags: archlinux, hyprland, installation, linux, linux-setup, unix - [Windows 11 中更好的右键菜单](zh/posts/better-right-click-menu-in-win11): 当 Windows 系统迭代到 11 这个大版本后,右键菜单被完全重新设计了。"巨硬" 似乎是想让它更简单、更现代化,但是它选择如何做到这点的方法确实是相当暴力 —— 把那些有用的全藏到二级菜单!对我而言,这真的很痛苦!幸运的是,我们有办法让原来的经典菜单回来,甚至是有限地自定义它,让它更好用! Published on Thu Jun 22 2023 22:11:51 GMT+0000 (Coordinated Universal Time). Tags: windows, tool, right-click-menu, context-menu, customization - [C/C++ 格式化输入输出汇总](zh/posts/c-cpp-formatted-input-and-output): 本文汇总一下 C 语言 scanf 和 printf 的格式控制方法以及 C++ 的 库。 Published on Wed Oct 19 2022 20:19:14 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, programming-language, io - [C 语言中与(&&)和或(||)运算符的短路运算](zh/posts/c-cpp-logical-short-circuit-operation): 此篇笔记来源于下边的这个题目。 Published on Tue Oct 11 2022 21:23:55 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, programming-language, short-circuit-evaluation, logical-operators - [C/C++ 中赋值语句的返回值问题](zh/posts/c-cpp-return-value-of-return-statement): 我曾经一直以为 C/C++ 中赋值语句的返回值不是 0 就是 1 —— 成功执行赋值操作返回 1,没有成功执行就返回 0。直到今天课上的一个例子,才让我知道,原来赋值语句的返回值就是赋的值的大小! Published on Thu Oct 27 2022 19:52:56 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, programming-language, assignment-operator, loop-control - [C 语言文件操作](zh/posts/c-library-manipulate-files): 简单记录一下 C 语言的文件操作的相关内容。 Published on Thu Jan 12 2023 14:53:51 GMT+0000 (Coordinated Universal Time). Tags: c, programming-language, file-io, stdio - [C 标准库中 qsort 和 C++ STL 中 sort 的用法](zh/posts/c-qsort-and-cpp-stl-sort): 虽然到现在还是不能完全理解 qsort 和 sort 这两个函数的底层原理,但至少,先学会如何使用吧。 Published on Thu Dec 08 2022 21:41:18 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, algorithm, programming-language, sorting - [补记一个用 Vue.js 和 ElementUI 实现的在线抽奖网页](zh/posts/catch-dog-web-app): 这是一个使用 Vue2 + Element UI 写的随机点人 / 抽奖网页应用。 Published on Fri Aug 26 2022 14:58:40 GMT+0000 (Coordinated Universal Time). Tags: web, vue, javascript, element-ui - [Linux 中的权限管理](zh/posts/chmod-in-linux): 我在 Linux 中不小心运行了一个错误的 chmod 命令,然后我的 Git 突然就产生了一系列更改,我突然打不开我的文件、查看不了我的目录了!怎么办?在本文中,我将向您介绍 Linux 的权限系统,以及如何使用 chmod 命令来管理文件和目录的权限,让您在遇到类似的情况时不像我那么手忙脚乱。 Published on Thu Mar 23 2023 22:27:08 GMT+0000 (Coordinated Universal Time). Tags: terminal, linux, chmod, permission-management - [Chrome 插件推荐](zh/posts/chrome-extensions): 你可能常年使用着国产的一些浏览器,却也常年遭受着各种弹窗、全家桶的侵扰...你也可能不止一次地听过"Chrome",安装下来后却发现他空空如也,又默默地装回那些国产...那么,让这些插件来拯救你吧 Published on Sat Jul 13 2019 22:00:00 GMT+0000 (Coordinated Universal Time). Tags: chrome-extension, tool, bilibili, web, chrome - [CommonJS 和 ES Modules(翻译)](zh/posts/commonjs-vs-es-modules): 本文是对 Modules in JavaScript – CommonJS and ESmodules Explained 主要内容的中文翻译(准确而言不是完全的翻译,更像是一篇复述或阅读笔记),原作者是 German Cocca。 Published on Mon Dec 23 2024 13:13:58 GMT+0000 (Coordinated Universal Time). Tags: commonjs, es-modules, javascript, nodejs, translation, web - [C++ 中 cin 与 cout 的转进制输入输出](zh/posts/cpp-cin-cout-radix): 笔者的朋友有道输入八进制输出十进制的题目,他是使用数学方法实现的。笔者隐隐约约记得好像cin和cout有控制输入输出数字进制的方法,查找了一些资料,做一下笔记。 Published on Thu Sep 29 2022 17:30:25 GMT+0000 (Coordinated Universal Time). Tags: cpp, programming-language, octal, decimal - [补记一个用 C++ 实现的 2048 小游戏](zh/posts/cpp-game-2048): 校科协的加入有条件,面试前一步是笔试。免去笔试的方法也不是没有,可以做免试题。看了各个组的免试题,发现都好难好难,只有前端组的 2048 敢去尝试尝试。但我有没怎么学过 JS,便想着先用 C++ 实现一下逻辑,再把代码改过去。 Published on Thu Oct 06 2022 12:07:45 GMT+0000 (Coordinated Universal Time). Tags: cpp, game, algorithm, data-structure, programming-language - [C 语言中使用变量输出小数点位数](zh/posts/cpp-precision): 这事儿要从一周前讲起,有人在群里问了下面这么一道题,要求用 C 实现... Published on Sat Nov 05 2022 16:15:25 GMT+0000 (Coordinated Universal Time). Tags: c, programming-language, printf-formatting, dynamic-array - [cURL 和 httpie 常用命令速查表](zh/posts/curl-httpie-cheatsheet): cURL 是一个历史悠久、功能强大的发送和接受数据的工具,而 httpie 是一个更加现代化的 HTTP 客户端,提供了更加人性化的命令行体验。本文记录了 cURL 和 httpie 的常用命令和选项,带您快速上手。 Published on Tue Dec 03 2024 13:29:17 GMT+0000 (Coordinated Universal Time). Tags: cheat-sheet, curl, httpie, terminal, tool - [揭秘 Git 子模块(翻译)](zh/posts/demystifying-git-submodules): 对 Demystifying git submodules 一文的中文翻译,原作者是 Dmitry Mazin。 Published on Sun Jan 12 2025 11:20:58 GMT+0000 (Coordinated Universal Time). Tags: git, translation, version-control - [Docker: 是什么? 为什么? 怎么用?](zh/posts/docker-what-why-how): 作为一个喜欢折腾新玩意儿的人,在网上冲浪时,我经常会去寻找各种各样新式的软件或服务。如果您和我一样也喜欢寻找这些软件,那您可能也会注意到,在安装指南中,越来越多的软件提供了一种使用 Docker 的安装或部署方法。这是什么东西?为什么现在流行使用它?我们又能如何使用它?这篇文章,带您入门 Docker。 Published on Tue Sep 03 2024 16:35:32 GMT+0000 (Coordinated Universal Time). Tags: docker, containerization, software-engineering, tool, devops - [Edge 扩展推荐](zh/posts/edge-extensions): 2019 年 7 月写过一篇 Chrome 插件推荐的文章,那时候我还在用 Chrome 作为我的主要浏览器。一晃三年过去了,我也早已从 Google Chrome 转入全新 Chromium 内核构建的 Edge 浏览器。微软倒蛮有意思,自己从头开发的东西不咋地,在别人的平台上倒是表现得相当好。由于国内的水土不服啊,我用 Chrome 时总会遇到同步不了的情况,这点的体验在 Edge 这儿得到了很好的改善,也是我用 Edge 的主要原因吧。前些天帮很多同学做新机开荒,也推荐他们就用这款“Win11 原装”浏览器。当然一个浏览器肯定是离不开扩展的,趁着帮他们开荒这个机会,也顺便整理了我认为必备的一些浏览器扩展。 Published on Thu Aug 25 2022 21:06:12 GMT+0000 (Coordinated Universal Time). Tags: tool, chrome-extension, edge-browser, browser - [error: summary string parsing error 错误解决方法](zh/posts/fix-summary-string-parsing-error): 直接先说解决方法:在使用 clang 工具链进行编译的时候,添加编译选项 -fstandalone-debug。 Published on Wed Jan 11 2023 12:34:16 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, clang, lldb, debugging - [VS Code 中文乱码问题](zh/posts/fix-vscode-mojibake): 2023 年 1 月 12 日更新: 找到了方便地改变 Windows 中终端默认编码的方法,所以原来的改变 C/C++ 文件默认编码的方法可以淘汰了。 Published on Thu Oct 13 2022 19:33:49 GMT+0000 (Coordinated Universal Time). Tags: windows, terminal, encoding, vscode, cmd - [求解最大公约数的四种算法](zh/posts/four-algorithms-of-gcd): 这是一次计算机导论课的作业。本来对于最大公约数的求解算法,我就只知道一个辗转相除法。原来,其实还有别的一些 ... Published on Sun Dec 04 2022 19:37:17 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, cpp, gcd-algorithm, euclidean-algorithm - [使用 Netlify 边缘函数生成动态 Open Graph 图片(翻译)](zh/posts/generate-dynamic-open-graph-images-using-netlify-edge-functions): 对 Generate dynamic Open Graph images using Netlify Edge Functions 一文的中文翻译,原作者是 Sean C Davis。 Published on Mon Nov 25 2024 23:05:20 GMT+0000 (Coordinated Universal Time). Tags: open-gragh, netlify, edge-function, translation - [挖老婆矿!—— NovelAI 初试](zh/posts/generate-waifus-with-novalai): 最近一段时间,感觉突然之间,就有很多很多将现实图片二次元化啊,按照每句歌词生成一副画作啊的 AI 绘画应用的图文视频出现。和室友聊天还说是不是最近一段时间 AI 技术突破什么瓶颈突飞猛进了。后来才知道,原来是 NovelAI 泄露了... 这样一来,本地部署方便了起来,于是整了一个玩玩。由于跑 AI 嘛,GPU 比较呼啸,跟挖矿一样,我就戏称我这是在“挖老婆矿”了。 Published on Sat Oct 15 2022 20:36:02 GMT+0000 (Coordinated Universal Time). Tags: ai, novelai, waifu-generation, image-generation - [Python 中的 Getter 和 Setter(翻译)](zh/posts/getter-and-setter-in-python): Getter and Setter in Python 的中文翻译,原作者是 @adarsh_verma。 Published on Tue Oct 17 2023 16:01:54 GMT+0000 (Coordinated Universal Time). Tags: python, oop, getter-setter, property-decorator, translation - [借助面向学生的 Azure 开始您的自托管之旅](zh/posts/getting-started-with-self-hosting-with-azure-for-students): 近年来,云服务领域经历了迅猛的增长。虽然云服务最初主要面向企业用户设计,但现在各大云服务提供商也推出了针对个人用户的经济实惠方案。对于学生用户来说,更是有多种免费额度和服务优惠可供利用。伴随着以 Docker 为代表的容器化技术的迅速崛起,自托管(Self-hosting)这一曾经复杂且耗时的任务变得前所未有的简便和轻松。在本文中,我将借助面向学生的 Azure 为例,带您踏入自部署的世界。 Published on Thu Dec 05 2024 19:41:00 GMT+0000 (Coordinated Universal Time). Tags: azure, caddy, docker, memos, miniflux, rclone, self-hosting - [Git Commit 信息速查表](zh/posts/git-commit-message-cheat-sheet): 供我自己使用的 Git Commit 信息速查表,使用 ChatGPT 整理。 Published on Sat Jan 27 2024 18:09:10 GMT+0000 (Coordinated Universal Time). Tags: git, software-engineering, commit-message, cheat-sheet - [打破坏习惯,养成好习惯(翻译)](zh/posts/habit-breaking-habit-making): 对 Habit breaking, habit making 一文的中文翻译,原作者是 Drew Neil。 Published on Fri Nov 29 2024 11:52:43 GMT+0000 (Coordinated Universal Time). Tags: vim, translation - [如何在 Golang 中连接数据库](zh/posts/how-to-connect-to-a-database-in-golang): 本文以 MySQL 和 PostgreSQL 为例,介绍了如何在 Golang 中连接数据库。我将从使用 Docker 创建一个 MySQL 或 PostgreSQL 容器等准备工作开始,逐步引导您完成连接数据库的过程。我会介绍四种方法:使用 database/sql 包,使用 GORM,使用 sqlx,以及使用 sqlc。 Published on Mon Nov 11 2024 19:05:00 GMT+0000 (Coordinated Universal Time). Tags: programming-language, golang, database - [如何在 Java 中连接 S3 及其兼容服务](zh/posts/how-to-connect-to-a-s3-service-in-java): 所谓 S3,指的是 Amazon Simple Storage Service,即 “亚马逊简单存储服务”。比起直接将文件直接存储在本地,将文件存储到专门的服务中有许多优点。本文演示了如何在 Java 中连接 S3 及其兼容服务。 Published on Thu Nov 21 2024 16:19:19 GMT+0000 (Coordinated Universal Time). Tags: java, s3 - [2025 年的图床解决方案](zh/posts/image-hosting-solution-of-2025): 作为一个使用 Markdown 进行日常写作的 Blogger,我不可避免地需要使用一个图床服务。过去,我使用过像 sm.ms、路过图床 等公共图床服务,也使用过基于 GitHub 的自建方案,但这些方案都有各自的问题,包括但不限于国内外连接速度较慢、图片被和谐或丢失等。但现在,我有了一个完整的自建解决方案,它基于 Cloudflare R2、S3 Image Port 和 WebP Cloud Services。我在过去的几个月中实践了下面所要说的这个方案,它为我提供了一个稳定、高效的图床服务。一起来看看吧! Published on Tue Dec 03 2024 14:45:43 GMT+0000 (Coordinated Universal Time). Tags: cloudflare, image-hosting, s3, s3-image-port, webp-cloud-services - [JWT 与 Paseto - 基于令牌的身份验证的新时代(翻译)](zh/posts/jwt-paseto): 对 JWT vs PASETO: New Era of Token-Based Authentication 一文的中文翻译。原文对 Paseto 和 JWT 进行全面比较,并剖析了它们的核心功能、安全特性和潜在缺点。我在翻译过程中参考了其他资料并添加了一些译注,以帮助您更好地理解原文。 Published on Thu Nov 28 2024 08:44:27 GMT+0000 (Coordinated Universal Time). Tags: jwt, paseto, translation - [LaTeX 公式基础](zh/posts/latex-basic-tutorial): 用 LaTeX 写数学公式的时候,总记不住一些写法,故在此记录学习笔记。 Published on Thu Sep 15 2022 14:11:07 GMT+0000 (Coordinated Universal Time). Tags: latex, math, note, programming-language - [使用 pyenv 和 conda 管理多个 Python 版本](zh/posts/managing-multiple-python-versions-with-pyenv-and-conda): 作为一名计科专业的学生,我经常发现自己的项目需要不同的 Python 版本,每个版本都有自己的依赖关系和库。在这种情况下,拥有一种可靠而高效的方法来管理这些版本就变得至关重要。受 pyenv 与 conda 双轨制:管理 Python 版本和环境 的启发,这篇博文旨在记录我使用 pyenv 和 conda 管理 Python 多个版本的经验。 Published on Fri Nov 15 2024 11:46:00 GMT+0000 (Coordinated Universal Time). Tags: python, tool, environment-management, pyenv, conda - [博客迁移记录:从 Hexo 到 Astro](zh/posts/migrating-my-blog-from-hexo-to-astro): 终于,我决定自己写一个博客! Published on Sun Nov 10 2024 13:57:11 GMT+0000 (Coordinated Universal Time). Tags: blog-setup, hexo, astro - [阅读材料 3 - 测试 | MIT 6.005 学习笔记](zh/posts/mit-6-005-spring-2016-reading-3): MIT 6.005 Spring 2016 的 OCW 版本的学习笔记。此篇笔记涉及的内容为 Reading 3 Testing。 Published on Wed Sep 11 2024 14:56:57 GMT+0000 (Coordinated Universal Time). Tags: mit-6-005, regression-testing, software-engineering, test-coverage, testing, unit-testing - [阅读材料 4 - 代码审查 | MIT 6.005 学习笔记](zh/posts/mit-6-005-spring-2016-reading-4): MIT 6.005 Spring 2016 的 OCW 版本的学习笔记。此篇笔记涉及的内容为 Reading 4 Code Review。 Published on Wed Sep 11 2024 15:00:00 GMT+0000 (Coordinated Universal Time). Tags: code-hygiene, code-review, dry, java, mit-6-005, software-engineering - [阅读材料 5 - 规格说明 | MIT 6.005 学习笔记](zh/posts/mit-6-005-spring-2016-reading-5): MIT 6.005 Spring 2016 的 OCW 版本的学习笔记。此篇笔记涉及的内容为 Reading 5 Specifications。 Published on Sun Jun 29 2025 10:49:00 GMT+0000 (Coordinated Universal Time). Tags: software-engineering, java, mit-6-005 - [Makefile 简单笔记](zh/posts/my-makefile-note): 这是一篇笔记,原视频是 @于仕琪 老师的 《Makefile 20 分钟入门,简简单单,展示如何使用 Makefile 管理和编译 C++ 代码》。 Published on Sun Jan 08 2023 10:52:48 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, makefile, software-engineering, build-tool - [我的 Rime 配置](zh/posts/my-rime-config): Rime 是一款输入法引擎,有着开源、多平台、支持高度自定义等特点。这篇博文记录了我在 macOS 平台上基于鼠须管(rime/squirrel)、在 Arch Linux 基于 fcitx5,并使用雾凇拼音(iDvel/rime-ice)的 Rime 配置。 Published on Thu Feb 15 2024 10:41:37 GMT+0000 (Coordinated Universal Time). Tags: rime, input-method - [我的 Vim 配置](zh/posts/my-vim-config): 本文记录了我的 Vim 配置。 Published on Sat Apr 22 2023 10:27:09 GMT+0000 (Coordinated Universal Time). Tags: vim, neovim, ide, text-editor, terminal, configuration - [Zsh 简明配置指南](zh/posts/my-zsh-config): 作为计算机爱好者,我们每天会花大量时间和 Shell 打交道,一个配置得足够好的 Shell 会让您觉得更加得心应手。这篇博文记录了我的 Zsh 配置。本来,这篇文章只是作为我自己的笔记,所以写得比较随意;同时出于练习英语写作的目的,写成了英文。但后来发现我的朋友们也会参考,所以我将其重置为中文的,并修改完善了一些内容。 Published on Fri Jan 26 2024 12:14:40 GMT+0000 (Coordinated Universal Time). Tags: terminal, zsh, oh-my-zsh, configuration - [NextJS 笔记](zh/posts/notes-for-nextjs): 这是一篇课堂笔记,课程为 Udemy React - The Complete Guide 2024。该笔记包含了该课程中有关 NextJS 的部分内容。 Published on Fri Sep 06 2024 11:35:57 GMT+0000 (Coordinated Universal Time). Tags: nextjs, react, full-stack, web-development, server-components, note - [《tmux Productive Mouse-Free Development》阅读笔记](zh/posts/notes-for-tmux-productive-mouse-free-development): tmux Productive Mouse-Free Development 的阅读笔记。这本书的作者是 Brian P. Hogan。 Published on Sat Aug 05 2023 11:47:53 GMT+0000 (Coordinated Universal Time). Tags: tmux, terminal, unix, productivity, shell, note - [OSTEP 笔记](zh/posts/ostep-notes): Operating Systems: Three Easy Pieces(简称 OSTEP)是一本免费的在线操作系统书籍。我从南大蒋炎炎教授的操作系统课上听说了这本书,又找到了中文翻译出版的 《操作系统导论》,读起来的感觉非常不错。在此记录下读这本书时的一些笔记。 Published on Fri Sep 13 2024 21:15:51 GMT+0000 (Coordinated Universal Time). Tags: operating-system, ostep, note - [进程的基本概念 - OSTEP 笔记](zh/posts/ostep-notes-process): 这是我的 OSTEP 系列笔记的一部分,此篇主要包含了进程基本概念的理解,以及 Unix 进程 API。 Published on Fri Sep 13 2024 21:15:51 GMT+0000 (Coordinated Universal Time). Tags: note, operating-system, ostep, process - [进程调度 - OSTEP 笔记](zh/posts/ostep-notes-process-scheduling): 这是我的 OSTEP 系列笔记的一部分,此篇主要包含了进程调度的相关知识,包括调度指标和各种调度策略的说明。 Published on Wed Dec 25 2024 18:59:00 GMT+0000 (Coordinated Universal Time). Tags: note, operating-system, ostep, process, process-scheduling - [值传递、指针传递、引用传递](zh/posts/pass-by-value-pointer-and-reference): 接上文《一个有关指针传参的问题》,打算结合一些简单的例子系统地梳理一下 C/C++ 中的值传递、指针传递和 C++ 中特有的 引用传递。 Published on Sat Nov 05 2022 14:48:31 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, programming-language, parameter-passing, function-arguments - [RLCraft 新手教程](zh/posts/rlcraft-tutorial): 这是一篇关于 RLCraft 的入门教程。RLCraft 是一个著名的 Minecraft 整合包,以高难度著称。我在游玩过程中记录下这篇入门教程,主要原因在于我没有在网上找到比较好的中文 RLCraft 文字教程,所以希望记录下自己的游玩发现,也供未来又开坑的自己参考。 Published on Fri Aug 26 2022 19:40:18 GMT+0000 (Coordinated Universal Time). Tags: game, minecraft, rlcraft - [Sass 笔记](zh/posts/sass-notes): Sass 是 Syntactically Awesome StyleSheets(语法强大的样式表)之意,是 CSS 的拓展,提供了一些在基本 CSS 中没有的功能,允许您使用变量、嵌套、混合(mixins)、导入等特性来编写更简洁、模块化和可维护的样式表。本文是一篇学习笔记。 Published on Mon Dec 23 2024 12:48:09 GMT+0000 (Coordinated Universal Time). Tags: css, sass, web - [简明开发环境配置指南](zh/posts/setting-up-your-new-machine-a-simple-dev-environment-configuration-guide): 作为开发者,我们每天都会使用各种机器。一个配置良好的开发环境可以显著提高生产力,让编码变得更加愉快。本指南将指导您配置一个舒适且高效的工作空间。此文主要面向初学者,但经验丰富的开发者也可能受到启发。 Published on Sat Nov 09 2024 16:23:00 GMT+0000 (Coordinated Universal Time). Tags: unix, windows, terminal, productivity, software-engineering, configuration, tool - [简单 CMake 例子](zh/posts/simple-cmake-examples): 一些简单的 CMake 例子,记录以供复习查阅。 Published on Sun Dec 03 2023 12:30:07 GMT+0000 (Coordinated Universal Time). Tags: c, data-structure, cmake, software-engineering, build-system - [初探深度优先搜索(DFS)和广度优先搜索(BFS)](zh/posts/simple-dfs-and-bfs): 深度优先搜索(DFS,Depth First Search)和广度优先搜索(BFS,Breadth First Search),我从来没弄明白过。是时候努力去好好理解一下了。 Published on Tue Nov 22 2022 14:25:21 GMT+0000 (Coordinated Universal Time). Tags: algorithm, data-structure, graph-traversal, stack-queue - [简明 Git 教程](zh/posts/simple-git-tutorial): 本文是一篇面向初学者的 Git 的教程,也可以当作一篇 Git 基础命令的备忘录。此文也包括了一些关于 GitHub 的信息,但如果您想更深入了解,请阅读《简明 GitHub 教程》。 Published on Tue Nov 12 2024 08:20:00 GMT+0000 (Coordinated Universal Time). Tags: git, version-control, software-engineering, tool, collaboration - [简明 Git 教程:分支与合并](zh/posts/simple-git-tutorial-branching-and-merging): Git 强大的分支与合并功能可以应对并行协作的开发情形。一起来看看吧! Published on Mon Nov 25 2024 14:58:00 GMT+0000 (Coordinated Universal Time). Tags: git, software-engineering, version-control, branching, merging - [简明 GitHub 教程](zh/posts/simple-github-tutorial): 我之前写了一篇关于 Git 的教程。在这篇文章中,我将介绍 GitHub 这个与 Git 密不可分的平台。 Published on Tue Nov 12 2024 08:58:00 GMT+0000 (Coordinated Universal Time). Tags: git, software-engineering, ssh, github, version-control - [西方忘记了如何制造,现在正忘记如何写代码(翻译)](zh/posts/the-west-forgot-how-to-make-things): 对 The West Forgot How to Make Things. Now It’s Forgetting How to Code 一文的中文翻译,原作者是 Denis Stetskov。 Published on Sat Jul 04 2026 11:15:00 GMT+0000 (Coordinated Universal Time). Tags: translation, ai - [Tmux 快速入门(翻译)](zh/posts/tmux-quick-start): 对 How to Install and Use Tmux 一文的中文翻译,原作者是 @l9c。 Published on Fri Aug 04 2023 23:05:19 GMT+0000 (Coordinated Universal Time). Tags: terminal, tool, unix, productivity, translation - [使用 Vue 和 @vueuse/motion 制作带动画的模态框](zh/posts/use-vue-motion-to-make-an-animated-modal): 本文介绍了如何使用 Vue 和 @vueuse/motion 创建一个带有动画的模态框。你可以在 这里 找到最终代码。 Published on Thu Oct 17 2024 17:06:23 GMT+0000 (Coordinated Universal Time). Tags: vue, typescript, javascript, web, modal-animation - [VS Code 中设置显示最大列数边界线](zh/posts/vscode-set-max-width-ruler): 很多时候我们会避免一行代码过长,常见的限制有 80 字符、120 个字符等。我希望能在 VS Code 中显示一条边界线来提醒我已经到达这个限制了,需要换行。下边是设置的方法。 Published on Fri Jan 13 2023 10:30:04 GMT+0000 (Coordinated Universal Time). Tags: tool, vscode, configuration - [VS Code 的安装与配置基础 C/C++ 开发环境](zh/posts/vscode-setup-c-cpp-environment): 我以前学习 C++ 的时候,使用的是 DevCpp 。这个软件让我这个初学者比较舒服的点是,我不用太过详细地考虑编译的过程——新建一个 cpp 文件,写一点小程序,按下 F11,程序运行。我不需要管选择编译器啊、配置编译命令啊啥啥的。但是到 VS Code 这边,这都要我自己做了,对于新手并不是那么友好。这里记录一下我配置 VS Code 的 C/C++ 环境的完整过程,希望对你有所帮助。需要注意的是:学习一下基本的编译链接指令还是很有必要的! Published on Sat Sep 17 2022 13:13:18 GMT+0000 (Coordinated Universal Time). Tags: vscode, cpp, windows, tool, configuration - [二维数组到底是啥啊...](zh/posts/what-is-two-dimensional-array): 一维数组还是比较容易理解的,但是二维数组,我始终没弄清楚这玩意儿是按照什么规则从二维的样子转成一维然后存起来的,也因此常常犯下下标写反了的错误。我觉得是时候详细地理一理这玩意儿到底是个啥了... Published on Wed Nov 16 2022 20:28:15 GMT+0000 (Coordinated Universal Time). Tags: cpp, data-structure, multidimensional-array, programming-language - [当形参、实参是指针变量...](zh/posts/when-parameters-and-arguments-are-pointers): 接《一个有关指针传参的问题》,再理一理这里边的一些问题... Published on Wed Nov 16 2022 14:46:44 GMT+0000 (Coordinated Universal Time). Tags: c, cpp, pointer-passing, function-parameters - [为什么说三进制是效率最高的进制?](zh/posts/why-is-trinary-the-most-efficient-system): “有人说,三进制被证明是理论上效率最高的进制。” 在一次计算机导论课中,老师将此问题作为课后作业留了下来。为什么有这种说法?一起来看看吧! Published on Sun Nov 20 2022 19:26:03 GMT+0000 (Coordinated Universal Time). Tags: math - [使用 Rust 写一个简单的线程池](zh/posts/write-a-simple-thread-pool-with-rust): 线程池是一种多线程处理形式,它通过将任务分配给事先创建好的线程以进行重用,提高了并发性能。本文是一篇阅读笔记,原材料为 Rust 语言圣经 - 进阶实战 1 实现一个 Web 服务器。 Published on Thu Oct 17 2024 13:03:29 GMT+0000 (Coordinated Universal Time). Tags: rust, concurrency, thread-pool, web-server, software-engineering, programming-language ## Thanks Powered by 🚀 [Astro](https://astro.build/)& ❤️ [AstroDraculaBlog](https://github.com/BlockLune/astro-dracula-blog/)