压缩 VirtualBox 虚拟卷文件的方法及原理

作为一个 Linux 开发者,部分程序无法或者我们不愿意让它们在自己的系统上运行时,我们会用到虚拟机,比如我使用 VirtualBox,并且安装了许多基于 XP 的虚拟机用来跑各类不可信任的国产软件,但是随着使用时间的增加,会发现一个奇怪的现象,那就是从虚拟机内部 (Guest OS) 看到的大小和实际占用磁盘的大小相差越来越大。 这样对于虚拟机文件的备份、存储和转移而言就非常不利,所以我们需要对 VDI 文件进行 “压缩”. Met

Laravel 使用 UUID 作为用户表主键并使用自定义用户表字段

最近在用 Laravel 5.6 做一个项目,涉及到用户表的自定义字段和 UUID 作为主键,各种 Google 花了我很长时间,所以本篇文章用来记录一下实现思路,以防后人踩坑。 Schema用 php artisan make:auth 出来的用户表使用的自增的 id 作为主键,验证时使用 email 字段作为用户的 “登录名”,然而我并不希望使用一个自增的 id,而是使用 UUID 作为用户主键,user_email 作为 “登录名

使用 GitHub Pages 托管静态网站

本文灵感的来源是我校 Web 相关课程作业提交的难题,学生提交的大量的 HTML 文件没有一个合适的托管方案,导致每到收作业的时候数以百计的压缩包丢过来对于教师而言是一个很大的难题,在需要为之打分的时候尤其如此,在我开发出相关平台前,还是推荐使用 GitHub 暂时做一个托管和展示的平台,虽然我知道: 对于防止大量压缩包的问题可以通过学生一个个当场答辩的方式解决 这么做可能会给 GitHub 带来很多垃圾代码 但是对于一些初学者而言

用树莓派快速搭建一个有 WebUI 的 LED 灯光控制

谢邀! Allen 同学一直说想做智能家居方向的东西,但是半个学期过去了也不见他有什么起色,遂从他那儿偷了两根杜邦线,自己来玩玩。 连接信息:GPIO(4) -> 电阻 -> LED -> GPIO(5)(GND)用 PHP 弄了个简易的 WebUI,按了按钮之后就调用同目录下的 Python 脚本 led4on.py Python GPIO Controllerled4on.pyfrom gpiozero impor

修复 Jupyter Notebook 导出 PDF 中文无法显示的问题

对于写实验报告的需求,我一直使用的 Jupyter Notebook,但是在导出为 PDF 的时候经常出现问题,首先如果使用自带的 PDF Export 的话,会出现中文无法显示的问题,截图如下: 但是如果使用 Firefox 自带的 Print to file 通过 Print 自带预览页面的话,会出现奇怪的问题 (页面断开,出现空白页面,文字显示不全),截图如下: 这个是自带的 Preview这个是 Print 出来的效果 参考了

如何保护我们的隐私——我们能相信谁

我们进入了互联网时代后,信息泄漏变得越来越普遍,可能此时此刻你的个人信息已经被掌握在各式各样的人中并且随时可以用来给你带来灾难。而关于如何保护自己的隐私现在网络上可以找到很多优秀且精辟的文章 (或 ZhiHu 回答),由于我并不是一个安全从业者,出于不重复发明轮子的思路考量,我尝试分部分地从各个角度来讨论这件事情。 在考虑如何按照网上的回答构建自己的假身份,加密网盘内容,删社交网络动态前,我们首先需要考虑的一个问题是,我们能相信谁?因为

我和 YunLoad 的故事——YunLoad 开发上线 5 个月以来的所见所闻所想

本来想的是在 YunLoad 成功处理了 1K 次提交的时候写一篇文章来对 YunLoad 的诞生和发展进行一个回顾,但是那段时间现实生活中遇到了诸多不愉快的麻烦事,便一直拖着,直到最近稍微空闲一点才得以有空可以写点 YunLoad 的故事。 YunLoad 从 2017 年 12 月开始构建,第一个版本发布于 2018 年 2 月 18 日。作为一个统一的作业提交平台,旨在将作业的提交过程便捷化,减少教师和同学在专有平台提交作业时不

Solve RealTek RTL8821CE driver problem on Linux(Fedora)

BriefRecently one of my friends has bought a ThinkPad X1 Carbon 5Gen on TaoBao and found that the Network controller might has been altered by the seller. He found this problem after the installation of Fedora 27 and fou

在 Laravel 5.5 框架中使用计划任务

最近在用 Laravel 5.5 做的 YunLoad 项目中需要有一个提交任务自动截止功能需要用到计划任务,任务逻辑是在每天凌晨检查一次添加的提交任务是否已经过期,若已过期则自动将提交任务标记为 “已过期”.Google 了很久也没能发现一个完整的教程,Laravel 相关文档也写得含糊其词,遂记录一下我的操作过程。 创建 Command作为计划任务,我们需要的是 command(而不是网上说的 console),相关命令如下:$ p

挂载 Google Storage 到 VPS 文件系统

本文简要地记录了如何将 Google Cloud Platform 中的 Storage 作为文件系统挂载到自己的 VPS 上。 什么是 FUSE用户空间文件系统(Filesystem in Userspace,簡稱 FUSE)是一个面向类 Unix 计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。目前 Linux 通过内核模块对此进行支持。一些文件系统如 ZFS、glusterfs 和 lustre