- Categories · 教程-

2018

Make|自动生成依赖关系

Make 一般是在 Unix 环境下使用的自动化编译工具。他本身不是编译器,而是将众多 C/C++源文件组织起来,确定其编译方式和编译顺序的工具。一旦我们写好的 Makefile 配置文件,那么无论多么复杂的工程我们都可以用一条 make 命令来解决。事实上,尽管通常和 C/C++搭配起来使用,make 也能应用到其他的编程语言之中。

在使用 make 过程中的第一个核心问题是处理文件依赖的问题。例如:

1
2
foo.o : foo.c defs.h       # foo模块
cc -c -g foo.c

这里 foo.o 依赖于 foo.cdefs.h 。当后面两个文件发生变化时,make 会自动运行 cc -c -g foo.c 命令更新 foo.o 文件。但是,随着项目扩大。这种文件之间的依赖关系会变得非常复杂,一个小的改动可能会涉及到众多依赖关系的修改。因此有必要在项目的开始就引入自动构建依赖关系的工具链。

Dec 03
macOS绕过SIP安全机制限制的一种办法

SIP(System Security Protection)是苹果在 OSX EI Capitan 及其后版本的操作系统中引入了一种新的安全机制。望文生义就可以看出,这个安全机制是用来维持系统的完整性,保护系统免收恶意软件的篡改。具体来说,SIP 限制了 root 账户的权限范围,限制了 root 用户在对一些系统保护目录即其中文件的操作能力。但是任何对于安全性加强都意味着对灵活性的削弱

Nov 21
Shadowsocks 上手配置

Shadowsocks 配置的一个非常便利之处在于,Shadowsocks 支持将配置信息导出成二维码再在其他机器上导入。这节约了很多沟通成本。所以在开始这篇教程之前,你需要有一个 Shadowsocks 的配置信息。可以是具体参数,或者是一个配置二维码。

Nov 20
开源对象存储服务(OSS) Minio 及其在Hexo中的使用

研究对象存储服务(OSS)是因为考虑到将来可能会有在博客上放出一些可供分享的文件下载的服务需求,直接使用现有图床,容易混杂乱。因此我考虑重新建立一个独立 OSS 存储服务。直接 Google 搜到了Minio这个框架,10k+的 Star,就决定选择这个了。Minio 框架有如下几个优势:

  • 可以 Docker 部署,非常省事
  • 文档完善
  • 全面的平台支持
  • 多种客户端语言支持(有完善的 JS SDK)
Nov 16
Shadowsocks:多用户账号独立,并限制用户连接数

自己搭建了一个 SS 服务器以后,自然而然的会同身边的朋友共享。自然,身边的朋友一起用,大部分服务器配置都可以毫无压力的支撑。但倘若一传十十传百,最后成百上千的人一起用一个服务器,那就撑不住了。 当然你可以隔一段时间换一次密码,但是后面的麻烦事也不少(要同步更新不同设备上的设置,身边的朋友来问你新设置)。 几天我研究了一下,为 ss 服务器增加了多用户即为每个用户设置独立的连接数限制的方法,这样能够比较完美的解决同朋友共享服务器的问题了。

Nov 13
自建图床: Lychee

Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.

Nov 13
这个博客是如何建立起来的

在博客问题上我可是折腾了很多回了,先是尝试了 wordpress(来来回回很多次),不过 wordpress 使用起来,感觉还是太“重”,很多东西配置起来非常麻烦(包括主题设置,甚至是 Markdown 支持)。后来迁移到简书上面,被国家政策教做人(一篇关于 Shadowsocks 的文章被屏蔽了,有种吃苍蝇的感觉)。思前想后,还是自己 host 自己的博客好。

Nov 05