在MacOS/Linux终端中快速启动Visual Studio Code,提升工作效率

近几年Visual Studio Code(后文简称VSCode)凭借其丰富的扩展和广泛的社区支持,在软件开发业内赢得了极佳的口碑。但作为一款轻量级编辑器,VSCode同样存在一些不便,例如打开文件功能无法打开文件夹,如果打开文件夹只能启动一个新的VSCode窗口。此外实际开发过程中我们经常需要重复打开若干个文件夹,或是在终端(用于Debug或构建)和VSCode中来回切换。那么有没有更高效的方式呢?本文将为读者介绍一种提高VSCode使用效率的方式,即在终端中快速启动VSCode。

继续阅读 在MacOS/Linux终端中快速启动Visual Studio Code,提升工作效率

拒绝千篇一律的“最佳实践”——利用MySQLTuner精准优化MySQL数据库性能

MySQL数据库的易用性和弹性使其在各行业都得到了广泛应用,大部分知名网站(如淘宝、Facebook、哔哩哔哩等)发展早期都使用过MySQL作为其数据库。相信大部分读者都使用过MySQL数据库,如果提到MySQL数据库的优化,可能我们脑中都会不约而同的想到一些『最佳实践』。但是这些最佳实践真的有效吗?换而言之,它们真的适用于所有规模的数据库吗?本文将为读者介绍一个可以对MySQL进行精准性能优化的实用工具MySQLTuner,并详细讲解其背后的工作机制。

继续阅读 拒绝千篇一律的“最佳实践”——利用MySQLTuner精准优化MySQL数据库性能

一行Golang代码引发的血案——全网最详细分析2020年3月Let’s Encrypt证书吊销事故

Let’s Encrypt作为一家免费提供SSL证书的组织,旨在推进互联网向更安全的HTTPS迁移,受到了大量小型网站的支持和认可。然而很多站长在3月3日收到了来自Let’s Encrypt名为ACTION REQUIRED: Renew these Let's Encrypt certificates by March 4的邮件,警告站长尽快更新证书。那么为什么需要更新证书?不更新证书有什么危害?如何更新证书?本文将为读者分析本次Let’s Encrypt证书漏洞事故的真相。

继续阅读 一行Golang代码引发的血案——全网最详细分析2020年3月Let’s Encrypt证书吊销事故

为CentOS/RHEL等发行版中的systemd服务配置ulimit限制

近年来,几乎所有现代Linux发行版都将service替换成了systemd以实现更完善的服务管理,而随之变化的是相关用户策略的变化。可能不少读者都遇到过systemd服务提示打开文件数过多,但设置ulimit无效的问题,尤其是对于数据库这种并发数较大的业务。本文将为读者讲解如何正确地为systemd的服务配置ulimit限制。

继续阅读 为CentOS/RHEL等发行版中的systemd服务配置ulimit限制

巧解国内网络环境下部分yum源下载速度过慢的问题

众所周知,CentOS下的大部分软件源服务器都在海外,因此使用这些软件源下载软件速度会非常慢,甚至完全下载不了。对于官方源我们可以使用Tuna等国内镜像加快速度,但对于DockerMySQLRemi等非官方源则无能为力。本文将介绍一个巧妙解决这一问题的方法,以便加快非官方源安装速度。

继续阅读 巧解国内网络环境下部分yum源下载速度过慢的问题

浅谈setTimeout与setInterval函数『不为人知』的第三个参数

提到JavaScript下的setTimeout()setInterval()函数,接触过JavaScript的读者一定非常熟悉:两个函数都接收一个函数和一个延时两个参数,前者用于设置超时,后者用于设置定时执行。但其实这两个函数除了以上两个参数外还有第三个参数。

继续阅读 浅谈setTimeout与setInterval函数『不为人知』的第三个参数

[源码级解析]解决Aegisub3.2.2 MacOS版本音量/缩放滑块无法使用的BUG

Aegisub是一款简单好用的开源字幕制作软件,广受字幕制作者欢迎。但Aegisub官方最新版本是2014年更新的3.2.2版本,距今已有6年历史,存在着大量未修复的BUG与兼容性问题。其中MacOS下的Aegisub存在一个致命的BUG,即波形视图右侧的音量/缩放滑块无法正常使用,只能在0%和100%两者间调整,导致要么看不到波形(听不到音频),要么波形爆满(严重削波)。本文将分析该问题存在的原因,并给出一个修复该问题的编译版本,便于字幕制作者正常使用。

继续阅读 [源码级解析]解决Aegisub3.2.2 MacOS版本音量/缩放滑块无法使用的BUG

进程间信号简述及使用Python响应进程间信号

在软件开发,尤其是命令行软件开发过程中,我们经常会遇到需要响应用户中止热键的情况:如Ctrl+C(中止程序)、Ctrl+Z(Shell下发送SIGTSTP信号)等,这些热键最终会以进程间信号的方式通过操作系统传递给进程。一个完善的软件应该能通过合适的方式处理各种信号,并执行用户所需的任务,以Python为例,它提供了signal模块便于我们捕获、处理信号,本文将为读者介绍常见的进程间信号与Python下使用signal响应进程间信号的方法。

继续阅读 进程间信号简述及使用Python响应进程间信号

我的2019

在2019年的最后一天,我起了个大早,为下午的操作系统考试做准备。没想到的是,就算是在跨年的这一天也会有考试;更没想到的是,这可能是我学生时代剩余不多的五六场考试之一。小学、初中、高中、大学……十六年学生生涯即将结束,我真的做好准备了吗?

继续阅读 我的2019

逐步深入解决DS3617xs黑群晖提示『您所指定的页面不存在』的故障

群晖的家用、商用NAS因其易用性与稳定性饱受好评,但众所周知买系统送主机的群晖NAS价格高昂.对于不想花那么多钱的用户,我们有第三方Bootloader:Jun’s Mod来实现所谓的『黑群晖』。Jun’s Mod V1.02b中存在一个BUG,会导致DSM系统文件损毁,故障表现为可以ping通,ssh可以连接,但无法打开网页控制面板,提示『您所指定的页面损坏』。本文将给出在保留用户数据情况下解决该故障的一种方法。

继续阅读 逐步深入解决DS3617xs黑群晖提示『您所指定的页面不存在』的故障